Amir
Pipeline-Formel-Fehler?
November 08, 2003 04:09PM
Kann es sein, dass die Formel um die Ausführungszeit eines Programmes dass über Pipelining realisiert wird falsch ist?
Formel
T=(k+m-1)(t/k) wobei k Anzahl der Pipe-Stufen,m Anzahl der Befehle und t die Ausführungsdauer eines Befehles ist.
Genau wie die Formel
T=t+(m-1)t/k

Nimmt man jetzt das Beispiel, des Profs.
(Waschmaschine,Trockner...) Pipeline mit 4 Stufen, 16 Befehle, Zeit für einen Befehl (30 Min)
T=(4+15)(30/4)=142,5 oder
T=30+(15)(30/4)=142,5
Was aber nicht der Lösung von 3,5 Stunden entspricht.

Ich habe mir jetzt selber eine Formel hergeleitet:
T=kt+(m-k)(t/k) für die dann auch ein richtiges Ergebiss herauskommen würde.
Nur wenn dass so stimmt dürfte die Speedupberechnung ja auch nicht mehr richtig sein!
Wer kann helfen oder sieht einen Logik/Denkfehler meinerseits?
Re:
November 09, 2003 11:23PM
Hi,

ich hab' mir die Formel folgendermaßen hergeleitet (wobei wichtig: Ich rechne in der Einheit "Befehl" und nicht "Takt"!):

Der Erste Befehl muss ausgeführt werden.
jeder weitere (also alle m-1 Befehle) verlängern die Laufzeit aber nur um 1/Pipl.Stufe - da ja alle 1/Pipl.Stufe ein neuer Befehl reingeschoben wird - und somit auch fertig ist.

Also: 1 + (m-1)/s

(Der Autor übernimmt keinerlei Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder Qualität der bereitgestellten Informationen und ist für Schäden die insbesondere durch Nutzung oder Unterlassen selbiger entstehen nicht verantwortlich ;)

Daniel
Re:
January 07, 2004 04:54AM
is zwar schon alt, aber für evt. andere, die das gleiche problem habe: es sind nur 4 Befehle, nicht 16! Aber ich nehm an, da bist du selber bereits drauf gekommen.
Gruß!
Sorry, you do not have permission to post/reply in this forum.