Pipelining wurde aber doch nicht wegen der "quasi paralleler" Abarbeitung eingeführt, am Ende ist es ja immer noch seriell und es purzelt nur ein Befehl aus der Pipeline. Der Grund war es einfach den Takt zu erhöhen. Sonst hätten wir wohl immer noch CPUs mit ein paar MHz.
Gegenfrage, woraus interpretierst du nun bitte raus, dass ich irgendwas gegen sequenzielle Abarbeitung der Befehle geschrieben hätte? Oder hängst du dich hier nur am Wörtchen "um" auf, weil du unbedingt den Grund der Nutzung von Pipelining hören willst? Nur kurz soviel, die Ausführung hatte keinen Anspruch auf Vollständigkeit. Das Pipelines nur zu Taktsteigerung genutzt werden, halte ich zudem für ein Gerücht. Denn dir ist sicher durchaus bekannt, dass Pipelines den Durchsatz steigern können auch ohne den Takt anzuheben. Mal ganz davon ab, sollte die Ausführung auch gar nicht das Warum vollends beleuchten.
Wenn im ersten Takt ein IF(1), im Zweiten ein ID(1) und IF(2), im Dritten ein EX(1), ein ID(2) und ein IF(3) und im Vierten ein WB(1), EX(2), ID(3) und IF(4) verarbeitet werden, benötigt dieses fiktive Beispiel einer vierstufigen Pipeline vier Takte für die erste Anweisung, im fünften Takt (WB(2), EX(3), ID(4) und ggf. IF(5)) wäre die zweite Anweisung fertig usw... Ohne Pipelining hättest du aber im 1:1 Vergleich acht Takte benötigt. -> Die Abkürzungen stehen dabei für "instruction fetch", "instruction decode", "execute" und "write back". Die Zahlen in Klammern stehen für die einzelnen Anweisungen im Durchläuft der Pipeline.
Das erzeugt einen höheren Durchsatz ganz ohne Taktsteigerung... problematisch sind Sprünge oder Abhängigkeiten. Aber wollen wir gerade mal ausklammern.
Für mich ist das klar ein Mittel um eine gewisse Art Parallelisierung in den Prozessor zu bekommen. Oder was ist an idealerweise gleichzeitigem IF, ID, EX und WB im fiktiven Beispiel NICHT parallel? Und was hätte Leerlauf ohne Pipelining für einen Vorteil?
Wenn du das anders siehst, wäre eine Erklärung nicht schlecht oder sollte es dir wirklich nur um das Aufhängen an den genutzten Wörtern gehen?? Ich habe nämlich immer noch nicht verstanden, womit du genau nun nicht konform gehst?
Irgendwie wurde nur wieder viel Text erzeugt, die Ersten kommen auch schon und können mit dem Technikzeug nix anfangen, aber im Endeffekt bleibt es weiterhin dabei, dass Pipelining keine Eigenart vom Bulldozer ist, sowohl bei Intel als auch AMD ewig schon benutzt wird und wir hier eigentlich genau gar nix erreicht haben...
Und "um eine gewisse Art Parallelisierung in die Prozessoren zu bekommen" gibt es Superskalarität.
Nur ging es doch überhaupt nicht um die gleichzeitige verteilte Ausführung auf bspw. mehreren Funktionseinheiten wie den x ALUs in einem Prozessor(core)...