Mikroprozessor

RCA1802

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Der RCA 1802 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

[Bearbeiten] Anwendungen

Schon vom 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 den Voyager, Viking und Galileo-Missionen 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.

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

[Bearbeiten] 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 der selben 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 Programmcouters erreicht werden.

[Bearbeiten] Weblinks

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.