Information Technology Reference
In-Depth Information
z.B. der ARM7TDMI von ARM ltd. [10] oder der Itanium bzw. Itanium 2 von Intel
[75, 78] die sog. Prädikation (predication) erlauben, bei der beliebige Operationen
bedingt ausgeführt werden können. Eine im Befehl codierte Bedingung hat dabei die
Wirkung, dass die jeweilige Operation ausgeführt wird, wenn die Bedingung erfüllt
ist und nicht ausgeführt wird, wenn die Bedingung nicht erfüllt ist. Der Befehl, in
dem die Bedingung und die Operation codiert sind, wird jedoch grundsätzlich aus-
geführt, ggf. mit der Wirkung eines NOPs.
1.3.2 Operanden und Ergebnisse
Neben wenigstens einer ausgezeichneten Operation sind in einem Befehl die Adres-
sen der jeweils zu verarbeitenden Operanden und der zu erzeugenden Ergebnisse
codiert. Die Gesamtzahl der Operanden und Ergebnisse ist abhängig von der auszu-
führenden Operation und variiert zwischen Null und einer vom Prozessor abhängi-
gen Obergrenze (oft Drei). Von besonderer Bedeutung sind die sog. monadischen
(z.B. die Negation) und dyadischen Operationen (z.B. die Addition), die einen bzw.
zwei Operanden verarbeiten und wenigstens ein Ergebnis erzeugen.
Die für den Zugriff auf die Operanden oder Ergebnisse benötigten Adressen können
explizit im Befehl codiert sein oder implizit in der jeweiligen Operation. Letzteres
ist z.B. der Fall, wenn das Ergebnis einer Operation immer in einem fest vorgegebe-
nen Register abgelegt wird. Eine Mischform zwischen impliziter und expliziter
Adressierung liegt vor, wenn eine explizit im Befehl codierte Adresse für den
Zugriff auf mehrere Operanden bzw. Ergebnisse verwendet wird. Die Anzahl der
explizit in einem Befehl codierten Adressen dyadischer Operationen wird zur Klas-
sifikation von Befehlen und Prozessoren verwendet. Die Anzahl variiert zwischen
Drei, wenn alle Adressen explizit codiert sind, und Null, wenn alle benötigten
Adressen implizit in der Operation codiert sind.
Bemerkung. Die in realen Prozessoren verfügbaren monadischen und dyadischen Operationen
erzeugen oft zwei Ergebnisse, und zwar das eigentliche Ergebnis der Operation, z.B. die Differenz
zweier Zahlen, und ein Bedingungsergebnis (siehe Abschnitt 1.1.7). Das Bedingungsergebnis wird
entweder grundsätzlich oder optional erzeugt und i.Allg. in ein implizit adressiertes Spezialregister
geschrieben. Im Folgenden wird dieses zusätzliche Ergebnis nicht berücksichtigt.
3-Adressbefehle
Eine dyadische Operation verarbeitet zwei Operanden zu einem Ergebnis. Im Prin-
zip können die Orte der Operanden und des Ergebnisses beliebig sein, so dass es
naheliegend ist im jeweiligen Befehl drei Adressen zu codieren. Der hohen Flexibi-
lität einerseits stehen Nachteile der Realisierung entgegen. Sollen z.B. Operanden
und Ergebnis im Datenspeicher direkt adressiert werden können, müssen drei
wenigstens 32 Bit, möglicherweise sogar 64 Bit breite Adressen im Befehl codiert
sein. Insgesamt resultiert dies in einer Befehlsbreite von mehr als 96 Bits und einem
damit verbundenen hohen Befehlsspeicherbedarf.
Bezogen auf den Hauptspeicher ist dies zwar kein Problem, jedoch für die in ihrer
Kapazität deutlich begrenzten eng mit den jeweiligen Prozessor gekoppelten
Search WWH ::




Custom Search