0 Daumen
590 Aufrufe

Ausgangspunkt des Pipelining ist die Aufspaltung einer Instruktion in Stufen. Das Pipelining setzt voraus, dass für die zugrundeliegende Befehlsarchitektur eine Folge von Teilschritten gefunden wird, die für alle Befehle gleich ist. Für die folgende Aufgabe wird angenommen, dass alle Befehle in den folgenden fünf Stufen bearbeitet werden:
1. Instruction Fetch (IF): Befehl holen
2. Instruction Decode (ID): Befehl dekodieren und gleichzeitig die Quelloperanden aus dem
Registerblock lesen
3. Execute (EX): Führe eine arithmetische bzw. logische Operation mit den Operanden aus
4. Memory Access (MEM): Daten holen (LOAD) oder Speichern (STORE)
5. Write Back (WB): Ergebnis in einem prozessorinternen Register speichern
In der unten stehenden Tabelle sind die Rechenzeiten für die einzelnen Stufen der Pipeline angegeben.


     IF          ID          EX        MEM       WB
110 ps   130 ps     90 ps     120 ps     70 ps


Wie lange braucht die Pipeline-Architektur, um ein Programm mit 50 Instruktionen ohne Abhängigkeiten und Sprünge auszuführen? Wie groß ist der Speed-up im Vergleich zur Ausführung auf einer Einzeltakt-Architektur?

Avatar von

Wo genau liegt Dein Verständnisproblem? Was sind Deine Ansätze?

1 Antwort

+1 Daumen

Gehe vor wie in den Musterlösungen der Fernuni Hagen zu genau diesen Aufgaben:

https://www.fernuni-hagen.de/FACHSCHINF/1609/1609HK2010.pdf (Klausur)

https://www.fernuni-hagen.de/FACHSCHINF/1609/1609HK2010ML.pdf (Lösung)

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community