Pipelining Aufgabe?
Keine weiteren Angaben sind in der Aufgabe vorhanden. n ist die Anzahl der Befehle.
k ist die Anzahl der Pipeline-Stufen. Setzte ich dies in die Formel ein und löse auf
(15 * k) / (15 + k - 1) = 5 (Speedup) so kommt für k = 7 heraus.
Die Pipeline hat somit 7 Stufen.
Das Ergebnis soll aber 5 Stufen sein?
2 Antworten
10k=70 sieht in der Tat eher nach 7 Stages aus.
also „Beschleunigung um Faktor“ und „Speedup“ soll wohl das Gleiche sein... also:
, wobei n für „Anzahl der Befehle“ und k für „Stufen der Pipeline“ stehen mag... oder umgekehrt... wegen Kommtativität der Punkt und Plus Operation...
also: nach k aufgelöst... und n einsetzen... und fertig... oder?
Also ich komme dann auf 7 Stufen... komisch...
hab wohl was falsch verstanden... oder die „Lösung“ ist gar keine....
aber 5 Stufen könnte na klar auch hinkommen... man hat ja „immer“ 5 Befehle gleichzeitig drin... allerdings geht das nur für n gegen unendlich... komisch...
In der Aufgabe steht halt nichts dabei. Die Formel habe ich hinzugefügt, da ich es so gemäß dieser berechnet hätte.
dann stellen wir uns mal ganz dumm... die Pipeline sei also leer... und es stehen 15 MOV-Befehle zur Ausführung an, deren Eingabeparameter bereits alle bereitstehen, und die paarweise verschiedene Zielregister habeni... ohne Pipeline dauert das 15 Takte...
Stufe#1 #2 #3 #4 #5
Takt#1: Cmd#1
Takt#2: Cmd#2 #1
Takt#3: Cmd#3 #2 #1
das sieht total falsch aus für mich.... aber auch mit 7 Stufen wird es nicht in 3 Takten fertig...
Mit 5-fachem Hyperthreading wird es auch nix, weil ja die ALU unbeteiligt ist...
Mit 5 Cores wird es in 3 Takten fertig... aber das wäre dann schwachsinnig, weil die Register dan iwi zufällig sind...
das ist ne blöde Aufgabe...
So wird es vllt was:
Stufe#1 #2 #3 #4 #5
Takt#0: Cmd#5 #4 #3 #2 #1
Takt#1: Cmd#6 #5 #4 #3 #2
Takt#2: Cmd#7 #6 #5 #4 #3
Takt#3: Cmd#8 #7 #6 #5 #4
Takt#4: Cmd#9 #8 #7 #6 #5
Also 5 Pipeline Takte und 4 Befehle purzeln hinten raus... und 1 CPU Takt sind dann wohl 5 Pipeline Takte...
aber wie man da die 15 Befehle durchkriegen soll, weiß ich nicht...
Hätte ich auch gesagt. Komisch!