Hardware Reference
In-Depth Information
3 Pipelining
Es hat sich bereits sehr fruh durchgesetzt, den Befehlszyklus wie ein Fließ-
band zu organisieren. Das Fließband wurde von Henry Ford im Jahr 1913 zur
e zienten Produktion von Autos eingefuhrt. Dabei wird die Montagearbeit in
mehrere kleine Schritte zerlegt, von denen jeder sehr einfach auszufuhren ist
und durch eine kleine spezialisierte Einheit ubernommen wird. Das Produkt
wird nach Abschluss des Arbeitsschritts von einer Einheit zur nachsten weiter
gereicht. Autos verlassen das Fließband so in einem bestimmten Takt. Diese
Vorgehensweise vermeidet, dass jeder Mechaniker uber alle Arbeitsschritte
Bescheid wissen und alle Werkzeuge zur Verfugung haben muss.
Als Beispiel zur Veranschaulichung wollen wir die Beschaffung des Mittages-
sens von Studierenden betrachten. Eine Moglichkeit ist die Wurstchenbude
um die Ecke. Dort gibt man seine Bestellung beim Besitzer auf. Der stellt das
Menu zusammen und kassiert anschließend, bevor er den nachsten Kunden
bedient. Alternativ konnen Studierende auch in die Mensa gehen. Im Gegen-
satz zur Wurstchenbude arbeitet die Mensa nach dem Fließbandprinzip: Die
Studierenden warten zunachst diszipliniert in einer Schlange vor der Essens-
ausgabe. Jeder Studierende nimmt ein Tablett mit Besteck. An der nachsten
Station erhalt er von einem Bediensteten eine Hauptspeise und an einer wei-
teren Station optional eine oder mehrere Beilagen. Schließlich bezahlt er das
Essen an der Kasse.
Die Mensa ist in der Lage, mit weniger Aufwand in der gleichen Zeit mehr
Studierende zu versorgen als die Wurstchenbude 1 .
3.1
3.1 Die klassische Funf-Stufen-Pipeline
Auf die Prozessortechnik ubertragen heißen die Fließbander Pipelines .Die
Abarbeitung jedes einzelnen Befehls wird in mehrere Phasen eingeteilt (man
spricht daher auch oft von Phasen-Pipelining ). Jeder Phase entspricht eine
Pipeline-Stufe in der Hardware. Wir wollen uns zunachst mit der klassischen
Einteilung in funf Phasen beschaftigen. Diese funf Phasen sind gemaß [17]:
1. Holen des Befehls (fetch, kurz F).
2. Dekodieren des Befehls (decode, kurz D). In dieser Phase werden auch die
Operanden aus Registern bereitgestellt.
3. Ausfuhren des Befehls (execute, kurz X) auf der Ausfuhrungseinheit. In
dieser Phase wird ggf. auch die Adresse fur einen Speicherzugriff berechnet.
Fur bedingte Sprungbefehle wird hier die Bedingung gepruft und fur alle
1 Das Essen ist folglich in der Wurstchenbude auch etwas teurer (krasser tritt die-
ser Unterschied zutage, wenn wir die Mensa mit einem Lokal vergleichen wurden).
Search WWH ::




Custom Search