Information Technology Reference
In-Depth Information
kann. Aus diesem Grund verfügt z.B. der PowerPC 970 von IBM und der Itanium 2
von Intel nur über einen inversen Subtraktionsbefehl [67, 75, 78].
Bemerkung. Ein 3-Adressbefehl adressiert Operanden und Ergebnis registerdirekt oder unmittel-
bar. Natürlich muss es möglich sein, auch Inhalte im Hauptspeicher zu verarbeiten. Die beschriebe-
nen Prozessoren verfügen deshalb über spezielle Befehle, mit denen meist indirektindiziert ein
Operand aus dem Hauptspeicher in den Registerspeicher geladen bzw. der Inhalt eines Registers in
den Hauptspeicher geschrieben werden kann. Die entsprechenden Befehle werden als Lade- (load)
bzw. Speicherebefehle (store) bezeichnet. Prozessoren die ausschließlich über Lade- und Speichere-
befehle auf den Hauptspeicher zugreifen, werden Lade-Speichere-Architekturen ( load store
architectures ) genannt.
2-Adressbefehle
Nach den bisherigen Ausführungen ist es von Vorteil, Befehle möglichst kompakt
zu codieren. In dyadischen 2-Adressbefehlen sind deshalb statt drei nur zwei Adres-
sen codiert, wobei die Ziel- und eine Quelladresse zu einer einzelnen Adresse
zusammenfasst werden. Eine weitere Reduzierung der Bitzahl ist erreichbar, indem
man die Befehle mit unterschiedlichen Breiten codiert. So lässt sich die Addition
von Registerinhalten beim Pentium 4 in 16 Bits und die Addition eines Registerin-
halts und einer unmittelbaren 16-Bit-Zahl in minimal 24 Bits codieren [81]. Zum
Vergleich: Beim UltraSPARC III Cu sind die Befehle einheitlich 32 Bit breit, unab-
hängig davon, ob eine fünf Bit breite Registeradresse oder eine 13 Bit breite unmit-
telbare Zahl addiert werden soll [172].
Wegen der unterschiedlich breiten 2-Adressbefehle, ist es i.Allg. nicht erforderlich,
die erlaubten Adressierungsarten auf registerdirekt und unmittelbar zu beschränken
(man sagt: der Prozessor besitzt eine Speicher-Speicher-Architektur ). Allerdings
darf meist mit nur einer der im Befehl codierten Adressen auf den Hauptspeicher
zugegriffen werden, und zwar deshalb, weil die zu verarbeitenden Operanden mög-
lichst parallel gelesen werden sollen, Zugriffe auf den Hauptspeicher jedoch nur
seqentiell möglich sind. Der zweite Operand wird daher i.Allg. unmittelbar oder
registerdirekt adressiert.
Da 2-Adressbefehle einen direkten Zugriff auf Hauptspeicherinhalte erlauben, müs-
sen Operanden nicht durch separate Befehle in Register geladen oder in den Haupt-
speicher übertragen werden, wie dies mit den im vorangehenden Abschnitt beschrie-
benen, nach dem Lade-Speichere-Prinzip arbeitenden Architekturen der Fall ist.
Eine 2-Adressarchitektur (mit der Befehle verarbeitet werden können, in denen
maximal zwei Adressen explizit codiert sind), benötigt deshalb auch eine geringere
Anzahl an Registern als eine 3-Adressarchitektur (in deren Befehlen maximal drei
Adressen explizit codiert sind).
So verfügt der Pentium 4 von Intel z.B. über 8 Arbeitsregister, auf die über 3 Bit
breite Registeradressen zugegriffen wird, der der Athlon64 von AMD sowie der
Xeon mit EM64T Erweiterung über 16 Register, von denen sich die ersten 8 über 3-
Bit- bzw. alle 16 Register über 4-Bit-Registeradressen ansprechen lassen und der
ColdFire MFC5206 von Motorola über 8 Daten- und 8 Adressregister, auf die
jeweils über 3-Bit-Registeradressen zugegriffen werden kann, wobei hier implizit
 
Search WWH ::




Custom Search