Hallo mal wieder! kann mir jemand sagen, welche Mikrokontrollertypen multitasking-Eigenschaft haben? Vielen Dank.
es sei denn, du willst wirklich echtes Multitasking haben (also tatsächlich mehrere Task parallel) da wirst im gesamten Controllermarkt nichts finden. Multitasking ist eigentlich immer ein timesharing, d.h. verschiedenen Prozessen werden kleine Zeitabschnitte zur Verfügung gestellt, so daß scheinbar alles gleichzeitig läuft. Die Kunst ist es, die Zeitsegmente rationell zu verteilen, evtl Prioritäten zu verteilen, Ressourcen dynamisch zu verwalten, die einzelnen Tasks so zu entkoppeln, daß evtl Fehler der einen Task die anderen nicht beeinträchtigt usw. Das alles erfordert einen erheblichen Verwaltungs/RAM/ROM-Aufwand, der schnell die Grenzen üblicher Controller sprengt.
ein fertiges System ist z.B. µC/OSII, dafür gibt es auch jede Menge Ports für diverse Controller
@crazy horse: theoretisch gibt (oder gab) es was. Und zwar sogenannte Transputer. Das sind Prozessoren, die man vernetzen konnen und somit parallelisieren. Ich weiß allerdings nicht, ob es die überhaupt noch gibt. Intel hat mit der neuesten Generation des P4 die sog. Hyper Threading eingeführt. Dort werden zwei virtuelle Prozessoren simuliert. Ich weiß, das ganze ist am Thema vorbeigeschossen, aber vielleicht interessierts ja jemanden. Einfach mal bei Google nach Transputer suchen. Anscheinend gibts da noch was, denn es gibt jede Menge Material zu dem Thema. Gruß Markus
Wie schon crasy Horse sagte, es ist eine reine Softwarefrage. Die Branche versteht unter Multitasking eigentlich das zeitlich versetzte, oder in Zeitscheiben verschachtelte Abarbeiten von Aufgaben, die quasi gleichzeitig abzuarbeiten sind. Für den Betrachter geht das quasi gleichzeitg. Das geht mit jedem Prozessor mehr oder weniger gut. Einige Prozessoren sind vielleicht besser dazu geeignet, weil sie das Unterbrechen und W iederaufnehmen von Programmteilen eleganter abhandeln. Siegfried
Wenn es nur multithreding sein soll dan empfehle ich die C-Control (gibt's bei Conrad).
@markus, ich weiß schon, was Transputer sind :-) Aber auch das hat primär nichts mit Multitasking zu tun, Transputer sind eigentlich entwickelt, um EIN Programm teilweise parallel zu verarbeiten und dadurch die Verarbeitungsgeschwindigkeit zu steigern. Natürlich muß das Programm so compiliert werden, daß überhaupt Parallelverarbeitung möglich ist. Wenn 31 CPUs darauf warten, daß die 32. ein Ergebnis liefert, um weiterarbeiten zu können, ist der Sinn der Sache verfehlt. Aber solche Abhängigkeiten lassen sich natürlich niemals ganz vermeiden, es geht dann darum, die Aufteilung zu optimieren. Aber eigentlich gehts um Multitasking bei MCs, da sind mir keine bekannt, die irgendwas in der Art implementiert haben, weder als Hardware, noch als Schutzeinrichtung, noch als besondere Befehle, die das unterstützen.
@ crazy horse: ich sag ja, ich hab am Thema vorbeigeschossen. Multitasking o.ä. geht immer nur per Software. "Echte" Hardwareunterstützung für sowas kenne ich eigentlich erst seit Hyper Threading. @ MaBl: Multithreading bei der CC???? Gibts ein neues Weltwunder oder was? ;)
CC2. Der Nachteil ist, dass man in irgendeinem C-Dialekt programmiert der nur zu sich selbst kompatibel ist.
Ich hatte mal die Gelegenheit mit der C-Control 2 zu spielen und bin nicht begeistert davon. Einen Thread verwendete ich für die Kommunikation über RS-232 und der andere machte Berechnungen und A/D-Wandlungen. Die Folge waren unberechenbare Abstürze mit einem "stack underflow" Error (nach 5 min oder erst nach 1h). Nach Aussagen auf der CC2-Seite kann sowas vorkommen bei der Verwendung von Threads. Daher würde ich die Finger von der C-Control lassen. Wahrscheinlich gibt es schon verbesserte OS-Versionen zum downloaden. ABER prinzipiell finde ich einen µC mit windows-ähnlichem Betriebssystem einfach nur gruselig ... Christian
Desshalb finde ich den AVRco Pascal Compiler von E-Lab so genial. Multitasking ist da kein großes Problem. Eine 4k Demo gibts bei http://www.e-lab.de, eine Version für den Mega8 gibts für 25,- bei http://www.katalog.embedit.de/. Gruß Markus
Hallo alle Zusammen War letzte Woche an der Electronica. Am REP3000-Stand hat man mich kurz auf den Vasp-4096 aufmerksam gemacht. Der soll einen grossen und 4000 kleine Prozessoren enthalten. Wird verwendet in der digitalen Bildverarbeitung. Der Grosse verteilt die Arbeit und die kleinen führen sie aus. Da kann Intel mit seinen 2 Prozessörchen gleich einpacken. Wens interessiert: http://www.aspextechnology.com/ Bis die Tage Stefan
@ Christian K. Man kann die Threads synchronisieren, dann greifen sie nicht gleichzeitig auf die IOs zu. MfG MaBl
Check mal den ipc@chip von BECK 80x86 Proz. FTP Server WEB Server Multitasking DOS Derivat nicht schlecht die kiste
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.