RCA1802

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
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 niedrigen Spannungen entsprechend weniger. Der interne Aufbau und die Befehle sind sehr einfach gehalten.

Anwendungen[Bearbeiten]

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 sowie den Amateurfunksatelliten OSCAR der AMSAT eingesetzt und waren 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. In der Schachcomputerwelt kam der 1802 in den frühen 1980er Jahren im Mephisto I, Mephisto II und Mephisto III der Münchner Elektronikherstellers Hegener & Glaser zum Einsatz.

Interner Aufbau[Bearbeiten]

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[Bearbeiten]

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.

Weblinks[Bearbeiten]