Information Technology Reference
In-Depth Information
0-Adressarchitektur
Das Datenwerk eines Prozessors mit 0-Adressarchitektur ist in Bild 2.9d dargestellt.
Statt eines Registerspeichers oder einzelner Register ist ein Stapel vorhanden, von
dem man implizit die zu verarbeitenden Operanden liest und das erzeugte Ergebnis
schreibt. Die drei Aktionen „Operanden holen“, „Operanden Verknüpfen“ und
„Ergebnis schreiben“ sind normalerweise einschrittig bearbeitbar. Mit Ausführung
einer dyadischen Operation werden z.B. die obersten im Stapel befindlichen beiden
Operanden zur ALU geführt und dort verknüpft. Das Ergebnis überschreibt dann
den obersten Stapeleintrag TOS (top of stack). Gleichzeitig werden alle Einträge
unterhalb von TOS -1 um eine Position nach oben verschoben, wobei der alte Inhalt
von TOS -1 verloren geht.
Die Anzahl der Einträge des in Hardware realisierten Stapels ist i.Allg. begrenzt.
Zum Beispiel fasst der Stapel im Transputer T9000 nur drei [84] im picoJava-II von
Sun 64 Einträge [177] (siehe auch [175, 176]). Beim picoJava-II wird der Stapel
jedoch für den Benutzer transparent im Datenspeicher fortgesetzt. Wächst der Sta-
pel, so werden die jeweils in den unteren Positionen gespeicherten Einträge bei
Bedarf automatisch in den Datenspeicher geschrieben. Wird der Stapel kleiner, wer-
den die im Datenspeicher gesicherten Werte automatisch in die unteren Positionen
des Stapels zurückgeladen. Das Verfahren erhöht die Komplexität des Datenwerks
erheblich.
Die im Bild hervorgehoben gezeichneten Verbindungen sind notwendig, um einen
Wert aus dem Datenspeicher auf den Stapel zu laden. Dabei wird vorausgesetzt, dass
in Lade- oder Speicherebefehlen eine direkte Adresse codiert sein darf, was eigent-
lich dem 0-Adressprinzip widerspricht. Aus Geschwindigkeitsgründen werden sol-
che Ausnahmen in realen 0-Adressarchitekturen jedoch oft vorgesehen. Zunächst
wird die im Befehl codierte Adresse über den mit a markierten Multiplexer zur ALU
und unverändert weiter zum Datenspeicher transportiert (die ALU führt keine echte
Operation aus, sondern fungiert als Schalter). Der im Datenspeicher gelesene Wert,
wird anschließend über die mit b markierte Verbindung und den Multiplexer zum
Stapel transportiert und darauf abgelegt. Bemerkenswert ist, dass bei einem indirek-
ten lesenden Zugriff auf den Datenspeicher, die Adresse einen anderen Weg durch
die ALU nimmt als bei einem indirekten schreibenden Zugriff, nämlich von der Sta-
pelposition TOS über den oberen ALU Eingang zum Ausgang auf den Datenspei-
cher.
2.1.7 Befehlsdecoder
Wie in Abschnitt 2.1.1 beschrieben, besteht ein Prozessor aus einem Datenwerk und
einem Leitwerk , die sich jeweils wechselseitig beeinflussen. Das Leitwerk enthält
mindestens einen Befehlszähler, Befehlsspeicher, Befehlsdecoder und einige einfa-
chere Einheiten, die meist in einer zu Bild 2.3 (links) vergleichbaren Weise mitein-
ander verschaltet sind. Das Leitwerk verschiedener Prozessoren unterscheidet sich
vor allem in der Realisierung des Befehlsdecoders.
Search WWH ::




Custom Search