Registerfenster

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Schema eines Registerfensters

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.

Aufbau[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Mit relativ wenigen Registern ermöglicht man es vielen Prozessen, parallel zu arbeiten, ohne aufwendig die Inhalte der Register ein- bzw. auszulagern.

Nachteile[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Die SUN UltraSPARC II benutzte 32 64-Bit-Register nach obigem Prinzip.

Quellen[Bearbeiten | Quelltext bearbeiten]

  • Andrew S. Tanenbaum, James Goodman: Computerarchitektur, 4. Auflage, 2001

Siehe auch[Bearbeiten | Quelltext bearbeiten]