Architektur

Computermuseum der Fakultät Informatik

Architektur des intel 8008

c8008

Allgemeines Entgegen anderslautender Gerüchte ist der i8008 weder eine 'Verdop- pelung' des 4-Bitprozessors i4004, noch ist er vom PDP8 inspiriert. Das einzige, was gegenüber dem 4004 verdoppelt war, ist die Breite der Datenpfade. Ansonsten hat der 4004 eine Harvard-Architektur, der 8008 ist ein vonNeumann-Rechner. Der 4004 hat 16 Datenregister, der 8008 nur 7. Daß die Firma Intel in ihren alten Datenbüchern für beide Prozessoren das gleiche Blockdiagramm verwendete, und sich beide nur durch die Beschriftung unterscheiden, beweist nur wieder, daß der Spruch: Ein Bild sagt mehr als 1000 Worte dumm und falsch ist. Bilder tragen i. A. wenig zur Information bei. Zurück zum i8008: Der Prozessor besitzt 7 für den Programmierer sichtbare Register: A, B, C, D, E, H und L. A ist ein Akkumulator, B-E sind Scratchpad- register zur Aufnahme von Zwischenwerten, H und L sind zwei Register mit Hilfe derer der Speicher adressiert werden kann. Die einzige Möglichkeit, Daten im Speicher zu erreichen, besteht darin, H und L als doppeltlanges Indexregister zusammenzufassen, und ein achtes virtuelles Register M anzusprechen, welches das Byte im Speicher darstellt, das durch HL adressiert wird. Eine direkte Speicheradressierung ist nicht möglich, für jeden Zugriff muß erst wenigstens das L-Register explizit geladen werden! Der Stack ist auf dem Chip, er besitzt acht Ebenen. Zugriff darauf ist nur durch CALL und RETURN-Befehle möglich. Es ist auch nicht möglich, z. B. bei einem Interrupt, den Prozessorstatus irgendwo abzuspeichern, genausowenig wie es möglich ist, alle Register zu retten. Um irgendeinen Registerinhalt retten zu können, muss ja wenigsten der Inhalt des L-Registers verändert werden. Dieses, und die umständliche Speicheradressierung über (HL) oder M machen den 8008 für allgemeine Anwendungen ziemlich ungeeignet. Befehlssatz Intel hat für den 8008 zwei Assemblerbefehlssätze definiert. Der binäre Maschinencode blieb natürlich bei beiden gleich. Der ältere Befehlssatz ist so konstruiert, daß der Assembler möglichst einfach wird: Alle Registeradressen sind im OPC enthalten, der stets aus drei Buchstaben besteht. Man kann drei Großbuchstaben in 16 Bits kodieren, was das Durchsuchen der OPC-Tabelle vereinfacht und beschleu- nigt. Außerdem gab Intel in den alten Beschreibungen den Maschinencode Oktal an, was dadurch gerechtfertigt war, daß die meisten Befehle zwei mit drei Bits kodierte Registeradressen beinhalten. Dadurch wird Hand- assemblieren und Disassemblieren des nackten Codes etwas erleichtert.

zurück
zur Homepage des Computermuseums