Hardware Reference
In-Depth Information
weiteres Byte, das den Opcode spezifiziert. Andernfalls folgt der erste Ope-
rand. Diese komplizierten Regeln muss der Decoder berucksichtigen. Beim
Laden der Befehle aus dem Speicher und beim anschließenden Decodieren
mussen auch die Grenzen zwischen den Befehlen festgestellt werden. Dazu
ist es erforderlich, den Befehlscode zu kennen. Da dessen Lange variabel ist,
ist bereits dieser Schritt aufwandig.
Diese Komplexitat des Befehlsformats ist ein weiteres Argument, das gegen
den Einsatz von derartigen CISC-Befehlssatzen spricht.
Ubung 1.3.3
Fassen Sie kurz die Unterschiede zwischen RISC- und CISC-
Befehlssatzen zusammen.
1.3.3
1.3.7 Befehlstypen
An dieser Stelle soll keine Auflistung aller moglichen Befehle in allen bislang
implementierten Befehlssatzen erfolgen. Hier gehen wir lediglich auf Beson-
derheiten und wichtige Spezialbefehle ein. Nicht separat abhandeln wollen wir
insbesondere folgende - als bekannt vorausgesetzten - Arten von Befehlen:
Arithmetische und logische Befehle fur ganze Zahlen (bei
MMIX
gehoren
dazu Befehle wie
ADD
,
SUB
,
AND
etc.).
Gleitkommabefehle fur Arithmetik mit Gleitkommazahlen (
FADD
,
FMUL
etc.).
Befehle fur den Speicherzugriff (dies sind etwa
LDO
,
LDB
oder
STO
und
STB
bei
MMIX
).
Bedingte und unbedingte Sprungbefehle (dazu gehoren
JMP
,
BZ
oder
PBNZ
bei
MMIX
, ebenso wie dessen Befehle zum Aufruf von Unterprogrammen:
PUSHJ
und
POP
).
MMIX
dient hier lediglich als Beispiel und die genannten Befehle stehen stell-
vertretend auch fur die Befehle anderer Prozessoren.
Im Folgenden listen wir einige Klassen von Befehlen auf, die in Grundlagen-
vorlesungen nicht unbedingt besprochen werden, denen aber dennoch eine
große Bedeutung zukommt.
Bedingte Befehle
In modernen Befehlssatzen finden sich zunehmend so genannte
Bedingte Be-
fehle
. Darunter versteht man Befehle, die in Abhangigkeit von einer Be-
dingung ausgefuhrt oder nicht ausgefuhrt werden. Als Befehle fur bedingte
Sprunge (
BZ
,
BEV
etc.) sind solche Befehle selbstverstandlich in jedem Be-
fehlssatz vorhanden. Hier sind Befehle in der Art gemeint, wie:
”
addiere, falls