Hardware Reference
In-Depth Information
1.3
1.3 Befehlssatze
Der Befehlssatz eines Prozessors ist sein markantestes von außen wahrnehm-
bares Merkmal. Alle Programme mussen auf die moglichen Befehle zuruck-
greifen. Zur Beschreibung eines Befehlssatzes ist es wichtig, die verfugba-
ren Register des Prozessors zu kennen sowie die einzelnen Befehle und wie
sie die Registerinhalte manipulieren. Die Gesamtheit aus Befehlssatz und
verfugbaren Registern nennt man
Programmiermodell
.
1.3.1 Grundlegende Eigenschaften von Befehlssatzen
Register sind die schnellsten speichernden Elemente eines Prozessors. Jedes
Register kann eine bestimmte Anzahl an Bits speichern, im Extremfall nur
ein einzelnes. An nahezu allen Operationen eines Prozessors ist wenigstens
ein Register beteiligt. Fruhere Prozessoren verfugten uber sehr wenige Regis-
ter. Ursprunglich wurden so genannte
Akkumulatormaschinen
gebaut. Diese
haben fur alle arithmetischen und logischen Operationen nur ein Register zur
Verfugung, den
Akkumulator
. Dieses Register ist implizit immer ein an einer
Operation beteiligter Operand sowie Ziel fur das produzierte Ergebnis. Der
zweite Operand ist entweder ein Direktoperand oder ein Speicheroperand
(siehe Abbildung 1.4). Davon ausgehend hat sich eine Vielzahl von unter-
schiedlichen Strukturen entwickelt. Um Befehlssatze verstehen zu konnen,
mussen wir uns mit folgenden Punkten beschaftigen:
Uber welche Register ein Prozessor verfugt und wie diese verwendet wer-
den.
Woher ein Befehl seine Operanden bezieht und wohin er das Ergebnis
schreibt.
Uber welche Adressierungsarten ein Prozessor verfugt, d.h. woraus sich
die Adressen fur Speicherzugriffe ergeben und wie diese gebildet werden.
Wie die einzelnen Befehle aussehen.
Diese Fragen werden in den folgenden Abschnitten behandelt.
1.3.2 Registersatze und Programmiermodell
Gegenuber den Akkumulatormaschinen verfugen moderne Prozessoren uber
eine Vielzahl von Registern. Diese konnen meist auch wesentlich universeller
verwendet werden als der Akkumulator.
Grundsatzlich sind allgemein verwendbare Register zu unterscheiden und sol-
che, die einem bestimmten Zweck dienen oder bestimmten Aufgaben vorbe-
halten sind. Allgemein verwendbare Register heißen auch
General Purpose
Register
,kurzGPR.Bei
MMIX
gehoren dazu die Register
$0
bis
$255
.Das
Register
$255
wird dazu gezahlt, obwohl es dazu dient, Parameter an Be-