RCA1802

aus Wikipedia, der freien Enzyklopädie
CPU RCA1802

Die Radio Corporation of America (RCA) brachte 1974 den RCA 1802 als ersten CMOS-Mikroprozessor auf den Markt. Er kann mit einer Betriebsspannung von bis zu 10 V und einer Taktfrequenz von maximal 6,4 MHz betrieben werden, bei niedrigeren Spannungen entsprechend weniger. Der interne Aufbau und die Befehle sind sehr einfach gehalten.

Anwendungen

Schon von Anfang an wurde der 1802 auch als Silicon-on-Sapphire-Variante gefertigt. Diese Bauart verlieh dem Mikroprozessor einen gewissen Grad an Resistenz gegenüber ionisierender Strahlung und elektrostatischer Entladung. Gleichzeitig sinken die Leckströme, so dass mit wesentlich niedrigerem Stromverbrauch gearbeitet werden kann. Im Zusammenspiel mit seiner Fähigkeit, bei extrem niedrigen Spannungen zu arbeiten, machte das den 1802 äußerst geeignet für die Raumfahrt. Außerdem waren zu dieser Zeit nur sehr wenige Prozessoren auf dem Markt, die gegenüber Strahlung ähnlich unempfindlich waren. Der 1802 war ein beliebter Mikroprozessor für viele Satelliten und wurde z. B. bei der Galileo-Mission der NASA sowie den OSCAR-Amateurfunksatelliten der AMSAT eingesetzt. Auch in der Militärtechnik fand er starke Verbreitung, was auch seine bis heute andauernde Produktion erklärt.

Eine Anzahl von Mikrocomputern basierten auf dem 1802, einschließlich des COSMAC ELF, COSMAC VIP, ELF II, SuperELF und des jugoslawischen Pecom 32, wie auch der RCA-Studio-II-Spielkonsole. In der Schachcomputerwelt kam der 1802 in den frühen 1980er-Jahren im Mephisto I, II und III der Münchner Elektronikherstellers Hegener + Glaser zum Einsatz.

Interner Aufbau

Datenbusbreite 8 Bit, Adressbusbreite 16 Bit gemultiplext, sieben I/O-Adressen

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. vier Befehle, um eines 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 IMMEDIATE  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 zwei Zyklen und zwei Bytes brauchen, deren Ziel aber innerhalb derselben Seite liegen muss, d. h. die höheren acht 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.

Weblinks