Hardware Reference
In-Depth Information
triebssystemaufrufe zu ubergeben. In der Praxis sind nicht immer alle Re-
gister, die als General Purpose Register bezeichnet werden, auch wirklich
vollkommen universell verwendbar. Oft wird zwischen Registern fur ganz-
zahlige Werte und solchen fur Gleitkommawerte unterschieden, gelegentlich
auch solche fur Adressen. Dennoch zahlen diese zu den GPR. Bei
MMIX
kann
jedes Register sowohl fur ganze Zahlen als auch fur Gleitkommazahlen und
fur Adressen verwendet werden.
Die Menge aller moglichen Spezialregister aufzuzahlen ist unmoglich und auch
nicht sonderlich interessant. Es sollen hier Moglichkeiten genannt werden, die
haufig vorkommen:
Ein
Befehlszahler
(Program Counter, kurz PC) muss immer vorhanden
sein. Er wird indirekt von jedem Befehl beeinflusst. Die Sprungbefehle
uberschreiben ihn explizit.
Um Unterprogrammaufrufe realisieren zu konnen, muss immer ein Stack
vorhanden sein. Haufig verfugen Prozessoren uber ein oder mehrere spe-
zielle Register, so genannte
Stackpointer
, die das aktuelle Ende des Stack
anzeigen. Diese Register konnen oft indirekt uber spezielle Push- und
Pop-Operationen beeinflusst werden.
In einem
Statusregister
gibt jedes Bit Auskunft uber einen bestimmten
Aspekt des aktuellen Prozessorzustands.
Manche Prozessoren verfugen uber spezielle
Indexregister
die ausschließ-
lich fur Adressrechnungen verwendet werden konnen.
Ubung
1.3.1
1. Wie kann der Befehlszahler von
MMIX
ausgelesen werden?
2. Welche der obigen speziellen Registertypen kommen bei
MMIX
vor und wel-
che nicht?
1.3.1
1.3.3 Unterscheidung von Befehlss
¨
atzennachRegisterbreite
Haufig findet man eine Unterscheidung von Prozessoren anhand der Breite
ihrer Register vor: 32 und 64-Bit-Prozessoren (fruher auch acht- und 16-
Bit-Prozessoren). Allgemein besitzen
n
-Bit-Prozessoren Register mit je
n
-
Bit Breite. Damit besitzen sie in der Regel auch ebenso breite Daten- und
Adressbusse. Sie konnen damit 2
n
Byte Speicher adressieren und transferieren
in jedem Speicherzugriff maximal
n
Bits.
Der Ubergang von 16 auf 32 Bit hat sich Anfang bis Mitte der 1980er Jahre
vollzogen. Der Ubergang von 32 zu 64 Bit lauft etwa seit Anfang der 1990er
Jahre. Hauptnachteil der 32-Bit-Prozessoren ist der beschrankte Adressraum
von vier Gigabyte adressierbarem Speicher.