Information Technology Reference
In-Depth Information
eine verzweigende Sprungoperation ausgeführt, der separierte Programmpfad also verlassen wird.
Solange dies nicht der Fall ist, lässt sich der Startzustand der jeweiligen VLIW-Befehlsfolge bezo-
gen auf den Hauptspeicher jederzeit wieder herstellen, indem sämtliche Speichereaufträge im
Schreibpuffer gelöscht werden.
Damit sich auch die Inhalte von Registern in den zu Beginn der Bearbeitung einer VLIW-Befehls-
folge bestehenden Zustand zurück versetzen lassen, werden im Prinzip sämtliche Registerinhalte
zunächst in einen Hintergrundspeicher übertragen und im Bedarfsfall daraus in die korrespondie-
renden Arbeitsregister zurückkopiert. Problematisch daran ist, dass für das einschrittige Kopieren
des gesamten Registerspeichers jeweils ein Port pro Register benötigt wird.
In Nemesis X kommt deshalb ein Verfahren zum Einsatz, bei dem man nicht die Inhalte von Regis-
tern kopiert, sondern nur deren Benamung verändert. Bei geringem Realisierungsaufwand ermög-
licht dies ein schnelles Wiederherstellen des zu Beginn einer VLIW-Befehlsfolge bestehenden
Zustands und ermöglicht außerdem das Übertragen beliebig vieler Inhalte von Schattenregistern in
die assoziierten Arbeitsregister, wie es die set-Operation bewirkt. Die prinzipielle Vorgehensweise
hierbei ist, dass aktuelle Registerinhalte zwar gelesen werden können, jedoch Schreiboperationen
auf eine zweite Registerbank wirken. Die Funktionsweise soll an Bild 4.16 erläutert werden.
PBS
CBS
Bank 0
Bank 1
Bank 2
1
1
r0
0
0
r1
2
2
r2
b
0
0
r3
2
1
1
1
next
1
1
1
r4
r5
r6
r4
0
0
0
0
0
0
r7
r8
r9
1
1
r10
2
2
r11
a
1
1
r12
0
0
r13
2
2
r14
1
1
r15
Bild 4.16. Verwaltung der Registerbänke im Nemesis X. Das Auswahlregister CBS (current bank
select) legt jeweils fest, in welcher Bank sich ein Arbeitsregister befindet
Das Auswahlregister CBS (current bank select) legt hierzu jeweils fest, in welcher Registerbank ein
Arbeitsregister aktuell gespeichert ist. Zur Sicherung sämtlicher Registerinhalte wird CBS zunächst
nach PBS (previous bank select) kopiert. Solange nur lesend auf die Arbeitsregister zugegriffen
wird, adressiert man jeweils die mit CBS selektierten Registerbänke. Zum Beispiel befindet sich
das Arbeitsregister r10 wegen des im Auswahlregister CBS in Bild 4.16 mit a markierten Inhalts
aktuell in Bank 1. Bei einem Schreibzugriff wird nun vor Modifikation des Arbeitsregisters jeweils
die „nächste“ von PBS selektierte Registerbank in das Auswahlregister CBS kopiert (wobei auf
Bank 2 Bank 0 folgt). Befindet sich z.B. r4 wie dargestellt in Bank 1, so wird mit dem ersten
Schreibzugriff zuerst der Inhalt des mit b markierten Feldes im Auswahlregister CBS modifiziert
und auf diese Weise dafür gesorgt, dass das Ergebnis nicht den zu sichernden Inhalt von r4 in
Bank 1, sondern in Bank 2 speichert. Da das Auswahlregister PBS nicht weiter verändert wird,
beziehen sich alle weiteren Lese- und auch Schreibzugriffe auf das Arbeitsregister r4 in Bank 2. -
Um zum anfänglichen Zustand des Registerspeichers zurückzukehren, müssen nur noch die alten
Registerinhalte wieder sichtbar gemacht werden, was sich durch einfaches Kopieren von PBS nach
CBS erreichen lässt.
 
Search WWH ::




Custom Search