Hardware Reference
In-Depth Information
Ausführungseinheit für Speicherzugriffe
1. Stufe
2. Stufe
Adressberechnung
Speicherzugriff
Abbildung 5.1.
Zwei-stufige Pipeline fur Speicherzugriffe. In der ersten Stufe wird die
Adresse berechnet. In der zweiten Stufe findet der Zugriff auf den Speicher statt
Die Schlusselworter fur die Befehlsgruppen, fur die sich Pipeline-Tiefen kon-
figurieren lassen, sind in Tabelle 5.2 zusammengefasst. Es werden zwei Kenn-
großen fur Pipelines angegeben, um ihr Verhalten zu charakterisieren: Unter
Latenzzeit
versteht man die minimale Durchlaufzeit eines einzelnen Befehls
durch eine Pipeline. Demgegenuber beschreibt der
Durchsatz
die Anzahl Be-
fehle, die pro Takt maximal fertig werden konnen. Der Kehrwert des Durch-
satzes wird oft als
Durchsatzzeit
bezeichnet. Wird die Ausfuhrungseinheit
fur die Division etwa durch
div 20 20 20
beschrieben, so hat sie eine La-
tenzzeit von 60 und eine Durchsatzzeit von 20. Das bedeutet, der Abstand
zwischen zwei Befehlen, die diese Pipeline verlassen, betragt minimal 20 Takt-
zyklen. Die Pipeline
div 10 10 10 10 10 10
weist demgegenuber zwar die
selbe Latenzzeit auf, hat aber einen hoheren Durchsatz bzw. eine niedrigere
Durchsatzzeit von zehn.
Ubung 5.1.1
Bestimmen Sie Durchsatzzeit und Latenz fur folgende Konfigu-
rationen:
1.
sadd 10
2.
sh111
3.
sh123
4.
div16323
5.1.1
Ubung
5.1.2
Informieren Sie sich im Internet, uber welche Ausfuhrungsein-
heiten der Athlon-64-Prozessor
San Diego
verfugt. Erstellen Sie daraus eine
Konfigurationsdatei fur den Pipeline-Simulator.
5.1.2
5.1.3 Der Umsortierpuffer
Beim Umsortierpuffer (Reorder Buffer) spielen drei Parameter eine Rolle:
1. Die Anzahl der Eintrage, die in dem Puffer Platz haben:
reorderbuffer
.
Die Große dieses Puffers bezeichnet man oft als
Fenster
(englisch:
In-
struction Window
). Denn dieser Parameter beschreibt, wie viele Befehle
maximal spekulativ ausgefuhrt werden konnen.