Was hat AMD mit Bulldozer falsch gemacht ?

Naja, man hat die "Resultate" halt nicht parallel, sondern immer nur ein einziges in einem Taktschritt (zumindest bei CPUs mit solch gradlinigen Pipelines wie dein Beispiel).

Ja, das stimmt, was mich aber hier permanent so massiv ankotzt, das wurde auch nirgends behauptet! Weder in die eine noch die andere Richtung. Warum muss hier immer irgendwas interpretiert werden, was da nicht steht?? Es nervt einfach tierisch immer diese Erklärungen so möglichst wasserdicht abzugeben, dass man es nicht missinterpretieren KANN.

Und wetten da kommt gleich der Nächste und ningelt wegen der Textlänge...
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ja, das stimmt, was mich aber hier permanent so massiv ankotzt, das wurde auch nirgends behauptet! Weder in die eine noch die andere Richtung. Warum muss hier immer irgendwas interpretiert werden, was da nicht steht?? Es nervt einfach tierisch immer diese Erklärungen so möglichst wasserdicht abzugeben, dass man es nicht missinterpretieren KANN.

Du hast doch behauptet, dass man Pipelining implementiert um eine art Parallelität zu bekommen und das ist halt quatsch.
Ist ungefähr genauso wie zu behaupten, man hat den Otto-Motor erfunden um Benzin zu verbrennen. Das ist beides nur Mittel zum Zweck aber nicht der Grund.

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?

Wenn man das Wort "um" nutzt dann beschreibt man nun mal den Grund, das hab ich nicht erfunden, nennt sich Grammatik.

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.

Nein das wären dann 2 Takte, warum sollte ich denn Zwischenergebnisse puffern/die Ausführungseinheit unterteilen, wenn ich nicht pipelining nutzen will? Dann kann ich IF, ID, EX und WB auch in einem Takt ausführen.

Das erzeugt einen höheren Durchsatz ganz ohne Taktsteigerung... problematisch sind Sprünge oder Abhängigkeiten. Aber wollen wir gerade mal ausklammern.

Nein der Durchsatz bleibt gleich, bzw. sinkt sogar, wenn man die Pipeline-Flushs mit rein rechnet.
Erst durch den Höheren Takt, der durch die Teilschritte möglich ist, wird das ganze schneller.

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?

Ist im Prinzip halt immer noch seriell, nur wartest du halt nicht, bis hinten ein Ergebnis rausgeflogen ist, wenn du es nicht brauchst. Sieht zwar parallel aus, ist es aber nicht, ist ähnlich einem Scheduler mehrere Tasks auf einer Singlecore CPU ausführt.

Ich habe nämlich immer noch nicht verstanden, womit du genau nun nicht konform gehst?

Deine Aussage war halt einfach falsch.


..., 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...

Da stimme ich dir zu, das ist noch größerer Schwachsinn als deine Erklärung von Pipelining. :d
 
Nein das wären dann 2 Takte, warum sollte ich denn Zwischenergebnisse puffern/die Ausführungseinheit unterteilen, wenn ich nicht pipelining nutzen will? Dann kann ich IF, ID, EX und WB auch in einem Takt ausführen.

Nur ist die Taktzeit bei nonpipelined Architekturen länger als bei solchen mit pipeline.
 
Du behauptest aber, der Grund für Pipelining ist eine Erhöhung des Taktes. Das ist schlichtweg falsch. Ziel von Pipelining ist es, den Durchsatz zu erhöhen. Wenn in einem Taktzyklus weniger abzuarbeiten ist, steigt der Takt automatisch.
 
Hm, ich dachte bisher, dass AMD da wohl versucht hat, eine einzige Architektur zu basteln, die dann für alle Einsatzbereiche eingesetzt werden soll.
 
Aber nicht mit Bulldozer. Da lief ja parallel Cat für die kleineren Segmente. Zen ist schon eher dafür designed, möglichst viele Einsatzbereiche abzudecken. Der wird sowohl Bulldozer als auch Cat ablösen.
 
Zen ist schon eher dafür designed, möglichst viele Einsatzbereiche abzudecken.
Modularer Aufbau. Waren es 2 Kerne Pro Modul oder 4? (Und nein, Bulli Modul hat damit nix zutun)- Ich mein es waren zwei... so gäbe es neben 8/16 eventuell auch gleich einen 4/8er und 6/12er... deckt 3 Bereiche gut ab, wobei nichts näheres bekannt ist, ob neben dem AM4 noch etwas höheres kommen könnte, ähnlich wie es Intel tut, was ich aber stark bezweifel... ich fände son 6/12er nicht schlecht... und hat ohne Board wechsel gleich die Möglichkeit, bei Bedarf auf einen 8/16er zu gehen oder vom 4/8er aus... hat schon seine Reize ohne Board wechsel....
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh