Registerfenster

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.
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]

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]

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

Nachteile[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]

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

Quellen[Bearbeiten]

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

Siehe auch[Bearbeiten]