- Registerfenster
-
Registerfenster sind eine Organisationsform der prozessorientierten Register. Diese ermöglichen das schnelle Hin- und Herschalten zwischen verschiedenen Prozessen (auch als Multithreading bezeichnet) ohne aufwändiges Neuladen der Registerinhalte, da das Register auf den vom aktiven Prozess benötigten "Fenster" umgeschaltet werden kann.
Inhaltsverzeichnis
Aufbau
Die vorhandenen Register werden in drei Abschnitte (Fenster) geteilt: In, Out und Local. Ein Current Window Pointer (CWP) zeigt auf das aktuell aktive Fenster. Wechselt nun der Prozess (durch Starten eines neuen oder Beenden eines alten Prozesses), so wird der CWP inkrementiert (erhöht) bzw. dekrementiert (vermindert), um auf das nächste Fenster zu zeigen. Die bisher benutzten Registerfenster stehen dem neuen Prozess nach dem Umbenennen der Register nach wie vor zur Verfügung, allerdings unter neuen Namen.
Vorteile
Mit relativ wenigen Registern ermöglicht man es vielen Prozessen, parallel zu arbeiten, ohne aufwändig die Inhalte der Register ein- bzw. auszulagern.
Nachteile
Bei stark verschachtelten Prozeduraufrufen kann der Vorteil der Registerfenster nicht ausgenutzt werden, da ab einer gewissen Anzahl von aktiven Prozessen eine Sättigung eintritt, abhängig von der Anzahl der Registerfenster.
Implementierung
Die SUN UltraSPARC II benutzte 32 64-Bit-Register nach obigem Prinzip.
Quellen
- Andrew S. Tanenbaum, James Goodman: Computerarchitektur, 4. Auflage, 2001
Siehe auch
Wikimedia Foundation.