Grundlagen der Technischen Informatik

Grundlagen der Technischen Informatik Grundlagen der Technischen Informatik

28.05.2013 Aufrufe

Registerfenster fester Grösse • Vergrösserung des Registerspeichers • Strukturierung • Beispiel: SPARC – Jedem Unterprogramm ist ein Ausschnitt (Fenster, window) mit 24 Registern zugänglich – insgesamt 136 Register: 8 globale Register, 8 Fenster à 16 Register – CWP: current window pointer • save dekrementiert CWP • restore inkrementiert CWP • Schreiben von PC und der Eingangsparameter in Out • Window-Overflow-Trap: Auslagern der Fenster Torsten Braun, IAM, Universität Bern: GTI, WS 00/01 382 vorangehendes Fenster In n+1 globale Register Local n+1 Out n+1 In n CWP restore aktuelles Fenster Local n save nachfolgendes Fenster Out n In n-1 Local n-1 Out n-1

Registerfenster variabler Grösse • basisrelative Adressierung • Fenster mit frei wählbaren Basisadressen im Registerspeicher • Beispiel: Am29000 – 128 lokale Register – 64 globale Register • Überlappung der Fenster für Parameterübergabe • Local-Bereich für lokale Variable Torsten Braun, IAM, Universität Bern: GTI, WS 00/01 383 Basis A Basis B (aktuell) Local Out In vorangegangenes Fenster r0 r1 r2 ... Local Out aktuelles Fenster r0 r1 r2 ...

Registerfenster fester Grösse<br />

• Vergrösserung des<br />

Registerspeichers<br />

• Strukturierung<br />

• Beispiel: SPARC<br />

– Jedem Unterprogramm ist<br />

ein Ausschnitt<br />

(Fenster, window) mit 24<br />

Registern zugänglich<br />

– insgesamt 136 Register:<br />

8 globale Register,<br />

8 Fenster à 16 Register<br />

– CWP:<br />

current window pointer<br />

• save dekrementiert CWP<br />

• restore inkrementiert CWP<br />

• Schreiben von PC und <strong>der</strong><br />

Eingangsparameter in Out<br />

• Window-Overflow-Trap:<br />

Auslagern <strong>der</strong> Fenster<br />

Torsten Braun, IAM, Universität Bern: GTI, WS 00/01 382<br />

vorangehendes<br />

Fenster<br />

In n+1<br />

globale<br />

Register<br />

Local n+1<br />

Out n+1 In n<br />

CWP<br />

restore<br />

aktuelles<br />

Fenster<br />

Local n<br />

save<br />

nachfolgendes<br />

Fenster<br />

Out n In n-1<br />

Local n-1<br />

Out n-1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!