Information Technology Reference
In-Depth Information
•B im Switch-on-load-Verfahren , verursacht die Ausführung einer Ladeoperation
einen Kontextwechsel. Dies ist deshalb sinnvoll, weil vertikale Verluste zu einem
großen Teil durch Lesezugriffe auf den Hauptspeicher verursacht werden. Nach-
teilig hieran ist, dass verzögerungsfreie Zugriffe auf den Cache unnötigerweise
ebenfalls einen Kontextwechsel auslösen.
Das als Gegenstück zu nennende Switch-on-store-Verfahren ist weniger geeignet,
vertikale Verluste zu vermeiden, und zwar deshalb, weil sich Speicherebefehle
durch den Einsatz von Schreibpuffern (Abschnitt 2.3.1) in vielen Fällen verzöge-
rungsfrei bearbeiten lassen.
Aus einem ähnlichen Grund ist auch das Switch-on-branch-Verfahren , also das
Auslösen von Kontextwechseln bei Sprungoperationen, meist nicht sinnvoll, da
viele Prozessoren über eine Einheit zur Sprungvorhersage verfügen und daher
die durch Kontrollflusskonflikte verursachten Verzögerungen nur selten auftre-
ten.
Verbreiteter als die statischen sind die dynamischen Verfahren zum Auslösen eines
Kontextwechsels. Weil die entsprechenden Ereignisse i.Allg. in einer der hinteren
Fließbandstufen erkannt werden, sind dabei deutlich mehr Befehle zu verwerfen als
bei einem statischen Verfahren. Zur Vermeidung der damit verbundenen Zeitstrafen
ist es jedoch möglich, sämtliche Befehle, die auf den den Kontextwechsel auslösen-
den Befehl im Fließband folgen, in einem prozessorinternen Puffer zu sichern. Falls
die Bearbeitung der suspendierten Befehlsfolge zu einem späteren Zeitpunkt fortge-
setzt wird, muss dessen Inhalt lediglich in die Fließbandregister zurück kopiert wer-
den. Als Konsequenz wird so die Zeit für das Leeren und Neuladen der Fließbandre-
gister eingespart. - Einige besonders verbreitete Verfahren zum dynamischen Aus-
lösen von Kontextwechseln sind in [195, 194] beschrieben:
•B im Switch-on-cache-Miss ist hierfür ein Lesezugriff auf einen nicht im Daten-
cache befindlichen und aus dem Hauptspeicher (oder L2-Cache) zu ladenden
Zelleninhalt verantwortlich.
Dies ist ähnlich wie beim Switch-on-Use , bei dem der Kontextwechsel jedoch
verzögert ausgelöst wird, wenn ein aus dem Hauptspeicher zu lesender, jedoch
noch nicht verfügbarer Wert verarbeitet werden soll 1 .
•B im Switch-on-Signal ist ein synchrones oder asynchrones Ereignis, wie z.B.
eine Unterbrechung, der Empfang einer Nachricht, der Abschluss eines Befehls
einer suspendierten Befehlsfolge usw. für das Auslösen eines Kontextwechsels
verantwortlich.
Als letztes noch zu nennendes Verfahren ist das Conditional-Switching zu nen-
nen, bei dem eine explizit auszuführende Operation abhängig von einer Bedin-
gung einen Kontextwechsel auslöst.
1.
Um dies zu erkennen, werden die als Ziel einer Ladeoperation verwendeten Register als ungül-
tig gekennzeichnet, bis der Zugriff abgeschlossen ist (siehe hierzu auch die Beschreibungen
zum Scoreboarding in Abschnitt 3.2.2).
Search WWH ::




Custom Search