Information Technology Reference
In-Depth Information
Besonders leistungsfähig sind Prozessorarchitekturen, die dyadische Operationen
alternativ als 0- oder 1-Adressbefehle ausführen können, wie z.B. der heute nicht
mehr gefertigte Transputer T9000 von Inmos [84]. Es sei angemerkt, dass ein Pro-
zessor wie der T9000 oft auch als Stapelmaschine ( stack machine ) bezeichnet wird,
was korrekter ist, als von einer 0-Adressarchitektur zu sprechen. Im Folgenden wird
jedoch zur besseren Abgrenzung von den 1-, 2- oder 3-Adressarchitekturen weiter-
hin der Begriff der 0-Adressarchitektur verwendet.
Stapel vor der Addition
Stapel nach der Addition
12
34
46
9 9 9 99
9 9 9 99
Bild 1.18. Inhalt eines Stapels vor und nach Ausführung einer 0-Adressaddition
Mit jedem 0-Adressbefehl in dem eine dyadische Operation codiert ist, vermindert
sich die Anzahl der Einträge auf dem Stapel um Eins, weil zwei Operanden vom
Stapel entfernt werden, jedoch nur ein Ergebnis erzeugt wird. Deshalb muss zu jeder
dyadischen Verknüpfung im Durchschnitt ein Ladebefehl ausgeführt werden, der
einen neuen Eintrag auf dem Stapel erzeugt. Indem man Verknüpfungs- und Lade-
befehl zu einer Einheit zusammenfasst, ist zwar ein Befehl einsparbar, trotzdem
muss im Durchschnitt zu jeder dyadischen Operation eine Adresse codiert sein, wes-
halb sich ein Programm für eine 0-Adressarchitektur nicht kompakter codieren lässt
als ein funktionsgleiches Programm für eine 1-Adressarchitektur. Tatsächlich sollte
der Befehlsspeicherbedarf einer 0-Adressarchitektur sogar größer als der einer 1-
Adressarchitektur sein, weil nämlich der Befehlssatz einer 0-Adressarchitektur, die
sowohl 1- als auch 0-Adressbefehle ausführen kann, umfangreicher und daher weni-
ger kompakt codierbar ist als der Befehlssatz einer 1-Adressarchitektur, die aus-
schließlich 1-Adressbefehle verarbeitet.
Die Breite der in den Befehlen einer 0-Adressarchitektur codierten Adressen ist ähn-
lich wie bei 1-Adressarchitekturen verminderbar, indem Variablen nicht im Haupt-
speicher, sondern in Arbeitsregistern oder einem Arbeitsspeicher gehalten werden.
Wegen der geringen Anzahl von Arbeitsregistern bzw. der geringen Kapazität eines
Arbeitsspeichers müssen die Adressen für Zugriffe darauf nur wenige Bits breit
sein. So verfügt der bereits erwähnte T9000 z.B. über einen Arbeitsbereich ( work-
space ) mit 16 jeweils 32 Bit breiten Einträgen, auf den über vier Bit breite Adressen
zugegriffen werden kann. Zum Vergleich: Auf den Hauptspeicher des T9000 muss
über 32 Bit breite Adressen zugegriffen werden.
Selbstverständlich lassen sich Variablen nicht nur im Arbeitsbereich, sondern auch
direkt auf dem Stapel speichern. Dabei muss jedoch berücksichtigt werden, dass der
Aufbau des Stapels sich fortlaufend ändert und es daher erforderlich sein kann, den
Inhalt einer Variablen vor Ausführung eines Verknüpfungsbefehls auf dem Stapel
Search WWH ::




Custom Search