Information Technology Reference
In-Depth Information
Nach vollständiger Ausführung der Schleife leitet der in Zeile 6 codierte Befehl den Epilog ein, und
zwar mit Übertragung der letzten noch aus dem Hauptspeicher geladenen Vektorelemente zur Mul-
tiplikationseinheit und - sobald verfügbar - Transport des endgültigen Akkumulationsergebnisses
in das Register r0. Die Auflösung aller harten Verkettungen geschieht mit der Zuweisung in Zeile 7,
wobei die in den Operandenregistern der Verarbeitungseinheiten noch gespeicherten Werte als Sei-
teneffekt gelöscht werden. Zusammenfassend lässt sich feststellen, dass innerhalb der Schleife im
Durchschnitt pro Takt sechs herkömmliche dyadische Operationen (eine pro explizit nutzbaren
Bus) zur Ausführung kommen. Für das gesamte Programm wird dabei nur ein einzelnes Register,
nämlich für das Endergebnis, benötigt.
Ausnahmebehandlungen
Prozessoren mit kontrollflussgesteuertem Datenfluss sind, den Umgang mit syn-
chronen oder asynchronen Ausnahmeanforderungen betreffend, sehr kompliziert.
Anders als bei herkömmlichen Prozessoren wird der zu sichernde Kontext nämlich
nicht vollständig in den Arbeitsregistern, sondern zusätzlich auch in den Verarbei-
tungseinheiten, u.a. den Operandenregistern und Ringpuffern, gehalten. Solange
Ausnahmeprogramme ( exception handler ) selbst nicht unterbrechbar sein müssen,
ist es am einfachsten, die Inhalte aller technischen Register und Puffer im Bedarfs-
fall in sog. Schattenregistern zwischenzuspeichern, erstere anschließend in den Ini-
tialzustand zu versetzen und die Ausnahmebearbeitung schließlich zu beginnen. Der
ursprüngliche Zustand lässt sich wieder herstellen, indem man die gesicherten
Inhalte in die Originalregister bzw. Puffer zurückkopiert. Falls auch der Inhalt des
Befehlszählers mit der Ausnahmeanforderung in einem Schattenregister gesichert
wurde, ist auf diese Weise sogar der Rücksprung aus dem Ausnahmeprogramm mit
dem Wiederherstellen des ursprünglichen Programmzustands durchführbar.
Dieses ähnlich z.B. auch im MC88100 von Motorola realisierte Verfahren [122] ist
insbesondere geeignet, korrigierbare Fehler, die durch die reguläre Befehlsausfüh-
rung verursacht werden, zu bearbeiten. So kann bei einem Seitenfehler innerhalb
des Ausnahmeprogramms die fehlende Seite geladen, mit dem Rücksprung erneut
der in den Schattenregistern gespeicherte Zustand des unterbrochenen Zugriffs akti-
viert und damit der Zugriff auf die geladene Seite fehlerfrei wiederholt werden.
Komplizierter ist der Umgang mit Ausnahmesituationen, wenn das Ausnahmepro-
gramm selbst unterbrechbar sein muss, wie z.B. bei einem Prozesswechsel . Hierbei
sind nämlich die in den Schattenregistern gespeicherten Zustände explizit, also
befehlsgesteuert innerhalb des Ausnahmeprogramms, in den Hauptspeicher zu über-
tragen. Natürlich ist vor dem Rücksprung in das unterbrochene Programm für die
Wiederherstellung der Zustände in den Schattenregistern zu sorgen, was ebenfalls
explizit z.B. durch Ladezugriffe auf den Datenspeicher geschehen kann.
3.2 Dynamische Operations- bzw. Befehlsparallelität
Bei den im vorangehenden Abschnitt beschriebenen, statischen Verfahren werden
die Operationen durch den Übersetzer parallelisiert. Selbstverständlich ist es mög-
lich, die dabei zum Einsatz kommenden Techniken auch in Hardware zu realisieren
 
Search WWH ::




Custom Search