Hallo,
Das Eine hat mit dem Anderen nichts zu tun.
- Beim Mikrocontroller ist einfach alles auf einem Chip, CPU, RAM, ROM, Und die ganze Peripherie (Ports, Timer, UART usw.).
Der Mikrocontroller ist ein, ohne zusätzliche externe Chips, voll funktionsfähiger Computer.
- Bei der klassische CPU ist nur die CPU auf dem Chip, evtl. noch die Takterzeugung, Memory Management, DMA und Cache. An Eingängen gibts es nur Reset, NMI, IRQ und noch welche um den Bus Freizuschalten und für WAITs.
Hier benötigt man noch jede Menge zusätzliche Hardware um einen Computer zu haben.
- Die Intel Quark sind SoC (Systen on Chip).
Da ist ein ganzer PC auf dem Chip, also fast alles was sich normalerweise auf dem Mainboard befindet.
Allerdings benötigt man noch externen Speicher um einen funktionierenden Computer zu erhalten.
Beim Intel Galileo wird ein Intel Quark SoC X1000 verwendet.
Welche CPU bei den 3 Varianten verwendet wird, ist grundsätzlich egal.
Praktisch ist das Ganze nur eine Kostenfrage. Kosten verursacht hauptsächlich die Chipfläche und der verwendete Prozess. Je nach Strukturgrösse bekommt man eine bestimmte Anzahl Transistoren auf 1mm2 unter.
Nun muss man halt entscheiden ob man mit den Transistoren lieber RAM und ROM macht und eine einfache CPU oder halt umgekehrt.
Bei der RISC-Idee ging es eigentlich darum, eine CPU mit wenig Transistoren zu haben. Mit einem Teil der gesparten Transistoren konnte man dann noch zusätzliche Register spendieren.
Bei der Analyse von RISC-Programmen hatte sich gezeigt, dass viele der komplexen Befehle nur selten gebraucht werden, aber natürlich jede Menge Transistoren zur Implementierung benötigen. Um Transistoren bei CISC einzusparen, verwendete man µCode. Jeder CPU-Befehl wurde als kleines internes Programm auf der CPU ausgeführt, was natürlich mehrere Taktzyklen zur Ausführung benötigt. Bei RISC werden die meisten Befehle in einem Takt ausgeführt.
Der erste RISC-µP war eigentlich der 6502.Die Idee der ehemaligen 6801-Entwickler war es, mit möglichst wenigen Transistoren, und somit kleinem Chip, einen günstigeren Prozessor zu entwickeln. Es gab anfänglich einen 6501, welcher pinkompatibel zum 6801 war, der wurde dann aber gerichtlich verboten.
Der 6502 brauchte dann im allgemeinen für die Befehlsabarbeitung einen Takt pro Speicherzugriff. Da die Adressberechnung nur mit 8-Bit durchgeführt wurde, musste ein interner Takt eingefügt werden, wenn sich ein Übertrag vom LSB zum MSB ergab. Wegen der einfacheren Logik, machte die CPU einfach einen Dummy-Lesezugriff mit dem Zwischenresultat der Adressberechnung.
Dieses Verhalten bedingte dann ein Umdenken bei den Peripherie-Bausteinen. Bis dahin war es üblich, beim lesen eines Statusregisters, dieses dabei gleich zurück zusetzen. Beim 6502 konnte dies dann aber durch einen Dummy-Zugriff versehentlich geschehen
Also musste man zum Zurücksetzen extra einen Schreibzyklus verwenden.
MfG Peter(TOO)
Lesezeichen