- RCA1802
-
Der RCA 1802[1] ist 1974 als erster CMOS-Mikroprozessor auf den Markt gekommen. Er kann mit einer Betriebsspannung von bis zu 10 V und einer Taktfrequenz von maximal 6,4 MHz betrieben werden. Bei niedrigen Spannungen entsprechend weniger. Der interne Aufbau und die Befehle sind sehr einfach gehalten.
Inhaltsverzeichnis
Anwendungen
Schon von Anfang an wurde der 1802 auch als Silicon on Sapphire-Variante gefertigt. Diese Bauart verlieh dem Mikroprozessor einen gewissen Grad Resistenz gegenüber Strahlung und elektrostatischer Entladung. Im Zusammenspiel mit seiner Fähigkeit bei extrem tiefen Spannungen zu arbeiten machte dies den 1802 äußerst geeignet für die Raumfahrt (Außerdem waren zu dieser Zeit nur sehr wenige, wenn überhaupt, Prozessoren auf dem Markt, die gegenüber Strahlung ähnlich unempfindlich waren). Der 1802 wurde in der Galileo-Mission der NASA eingesetzt und war ein beliebter Mikroprozessor für Satelliten.
Eine Anzahl von Mikrocomputern basierten auf dem 1802, einschließlich des COSMAC ELF, COSMAC VIP, ELF II, SuperELF und dem jugoslawischen Pecom 32, wie auch die RCA Studio II Spielkonsole.
Interner Aufbau
Datenbusbreite 8 Bit, Adressbusbreite 16 Bit gemultiplext, I/O-Adressen 7
Neben dem Akkumulator verfügt der Prozessor über sechzehn 16-Bit-Register, die auch achtbitweise genutzt werden können. Dazu gibt es zwei Register (X, P) mit vier Bit, die festlegen, welche der 16-Bit-Register als Datenpointer und Programmcounter arbeiten. Zum Akku gibt es nur ein Carry-Flag. Ein Zero-Flag ist nicht erforderlich. Es gibt ein Ausgangssignal, das per Programm gesetzt werden kann. Vier EF-Leitungen können per Programm abgefragt werden. Der Adressbus wird als zweimal acht Bit gemultiplext. Die Zykluszeit beträgt ein Achtel der Taktfrequenz. Fast alle Befehle benötigen zwei, nur wenige drei Zyklen.
Befehlsstruktur
Der einfache Aufbau der Hardware setzt sich bei den Programmbefehlen fort.
So braucht es z.B. 4 Befehle um eins der 16 Register zu laden:
----------------------------------------------------------------------------------------- LDI n1 ; LOAD IMMEDIATE 1. Byte in den Akku PLO 1 ; PUT LOW den Akkuinhalt in das niederwertige Byte des Registers R1 LDI n2 ; LOAD IMMIDIATE 2. Byte in den Akku PHI 1 ; PUT HIGH den Akkuinhalt in das höherwertige Byte des Registers R1
Es gibt auch Sprungbefehle, die zwar nur 2 Zyklen und 2 Bytes brauchen, deren Ziel aber innerhalb derselben Seite liegen, d.h. die höheren 8 Bit der Adresse dürfen sich nicht ändern. Einen direkten Unterprogrammaufruf ( CALL ) gibt es nicht, eine ähnliche Funktion kann durch das Wechseln des Programmcounters erreicht werden.
Anmerkungen
- ↑ RCA = Radio Corporation of America
Weblinks
Wikimedia Foundation.