Information Technology Reference
In-Depth Information
Datencachezeile zu laden, bevor ein Zugriff darauf erfolgt oder der Hauptspeicher
ist ansprechbar, ohne dabei den Inhalt des Datencaches zu verändern (das sog. Stre-
aming). Mit Lade- bzw. Speicherebefehl kann auf einen aus insgesamt 2 32 Adress-
räumen zugegriffen werden, was sich z.B. nutzen lässt, um unterschiedlichen Pro-
zessen unterschiedliche Adressräume zuzuordnen. Ein adressraumübergreifender
Zugriff ist natürlich nur in den privilegierten Betriebsmodi erlaubt.
Arbeitsregister. Zu jedem Zeitpunkt kann wahlfrei auf eines von 15 Arbeitsregis-
tern zugegriffen werden ( r0 bis r14 ). Die Arbeitsregister r0 bis r7 sind lokal in
einem Stapel organisiert, dessen obere Positionen auf dem realen Registerspeicher
und dessen untere Positionen auf dem Hauptspeicher in einer für den Benutzer
transparenten Weise abgebildet sind. Dies gilt ähnlich auch für die Arbeitsregister r8
bis r14, die sich zusätzlich jedoch auch global benutzen lassen, wobei hier mehrere
Registersätze zur Verfügung stehen, die automatisch mit dem Betriebsmodus bzw.
der Unterbrechungspriorität sowie manuell mit Hilfe eines Spezialregisters ausge-
wählt werden.
Zur Codierung einer Arbeitsregisteradresse in den Befehlen sind einheitlich 4 Bit
erforderlich. Die Registeradresse 0xf (sie würde dem nicht direkt zugreifbaren
Arbeitsregister r15 entsprechen) hat eine vom Befehl und den Operanden bzw. dem
Ergebnis abhängige Bedeutung. In zahlreichen Befehlen darf sie nämlich verwendet
werden, um, je nach Operandenposition, die unmittelbaren Werte 0 und 1 zu codie-
ren oder um ein Ergebnis zu ignorieren.
Prozessorabstraktionsschicht. Neben den Arbeitsregistern sind nur noch die den
Spezialregistern zuzurechnenden vier Bedingungsregister cr0 bis cr3 in allen
Betriebsmodi explizit sowie implizit zugreifbar. Die restlichen zur Steuerung bzw.
Statusabfrage vorgesehenen Spezialregister lassen sich nach dem Reset explizit nur
in den höherprivilegierten Betriebsmodi ansprechen, d.h. im Supervisor- oder im
PAL-Modus.
Des Weiteren können Zugriffe auf Spezialregister durch eine programmierte Konfi-
guration auf den PAL-Modus eingeschränkt werden. Dies lässt sich nutzen, um von
den Eigenarten einer Implementierung der Prozessorarchitektur Nemesis zu abstra-
hieren. So ist es für ein nicht im Supervisor-Modus laufendes Programm, wie z.B.
dem Betriebssystem, nicht direkt möglich, auf Spezialregister zuzugreifen, sondern
nur über Systemaufrufe, die von der zur Prozessorarchitektur gehörenden sog. Pro-
zessorabstraktionsschicht (processor abstraction layer, PAL) bereitgestellt werden.
Prozessorabstraktionsschichten sind u.a. für die Prozessorarchitekturen IA-64 von
Intel und HP sowie Alpha von Compaq bzw. DEC verfügbar. Der Abstraktionsgrad
ist hier jedoch geringer, als er mit der Nemesis-Architektur erreicht wird, die z.B.
durch eine statische Binärübersetzung sogar von Ausnahme- und Unterbrechungs-
programmen abstrahiert. Vorteilhaft an einem solchen Vorgehen ist, dass sich Aus-
nahmen und Unterbrechungen unpräzise verarbeiten lassen, was die Hardware bei
Wahrung kurzer Latenzzeiten vereinfacht. Eine schnelle Reaktion auf Ereignisse
jedweder Art wird außerdem durch den in Hardware realisierten und transparent im
Datenspeicher fortgeführten sog. Systemstapel erreicht, der den Kontext eines
unterbrochenen Programms aufnimmt.
Search WWH ::




Custom Search