Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : längere Pipeline - höhere Taktfrequenz, warum?


Gast
2006-11-24, 12:30:04
Hallo,

der P4 konnte ja meines Wissens vor allem durch die längere Pipeline die sehr hohen Taktfrequenzen erreichen.
Kann mir jemand erklären (wenn es stimmt), warum dies Prozessortechnisch so ist?

SavageX
2006-11-24, 12:31:28
Grob (sehr grob) gesagt hat jede Stufe "weniger zu tun", kann also in kürzerer Zeit die ihr zugeschobene (kleinere) Aufgabe übernehmen.

Android
2006-11-24, 13:06:07
Hallo,

der P4 konnte ja meines Wissens vor allem durch die längere Pipeline die sehr hohen Taktfrequenzen erreichen.
Kann mir jemand erklären (wenn es stimmt), warum dies Prozessortechnisch so ist?

Lies dir das mal durch:
http://www.3dcenter.de/artikel/2002/04-24_a.php

Warum nochmal erklären, wenn Leo und aths das schon gemacht haben. ;)

Mfg
Android

BlackBirdSR
2006-11-24, 13:07:31
Wobei ganz ehrlich: Diesen Artikel würde ich eher ad acta legen und nicht mehr beachten.
Damals wusste man einfach zu wenig und hatte ungenaue Vorstellungen

rpm8200
2006-11-24, 13:09:06
Ich denke der Schluss "weil P4 ne lange Pipe hat konnte er höher takten" ist falsch.

Meines Wissens wird so ein Schuh draus:

Der P4 hatte ne lange Pipe und deswegen musste er höhere Takte fahren um noch Performance zu bringen.

Kleinere oder größere Kommandos haben damit nix zu tun (IMO). Wenn eine Pipe gefüllt wird, ist das Risiko, dass die getätigten Berechnungen zu einem bestimmten Zeitpunkt aufgrund eines Sprunges in einen anderen Programmteil wertlos werden höher (für den Totalverlust der bisher erbrachten Leistung) als wenn man kurze Pipes verwendet, die zwar bei einem unvorhergesehenen Sprung auch gelehrt werden (bisherige Ergebnisse verworfen), dann aber auch schnell wieder gefüllt sind. Beim P4 mit 23(???) Stufen kam da eben unter bestimmten konstellationen viel später wieder was raus als beim A64 mit 16 (???). (Mit der Stufenanzahl bin ich nimmer sicher, dachte an Fliesskommaergebnisse).

Meines Wissens zieht der Core - Core (Mann Mann Mann, ich HASSE diesen Namen, der eigentlich eine Bezeichnung ist...!) einen großen Teil seiner Performance aus einer unglaublich guten Forecast/ Branch Prediction was Sprünge angeht, sodass wenig berechnete Ergebnisse verworfen werden müssen (Effektivität ist gewachsen, größere "Pro MHz Leistung").

<EDIT>Ooops... war zu langsam. Scheinbar gibts schon was zu dem Thema</EDIT>

SavageX
2006-11-24, 13:18:02
Ich denke der Schluss "weil P4 ne lange Pipe hat konnte er höher takten" ist falsch.

Meines Wissens wird so ein Schuh draus:

Der P4 hatte ne lange Pipe und deswegen musste er höhere Takte fahren um noch Performance zu bringen.



Na, nur weil ein Prozessor höher takten müsste, um gute Leistung einzufahren, heisst es ja noch lange nicht, dass er das auch kann.

Tendenziell scheinen lange Pipelines schon einen hohen Takt begünstigen zu können - oder andersherum: Hoher Takt braucht lange Pipelines (wenn man den Takt nicht mit mit einen super-duper Fertigunsprozess anders hinbekommt). Der P4 hat z.B. einige Stufen, die nichts tun und nur als Buffer dienen, um die Daten rechtzeitig von einem Ende des Chips zum nächsten zu schaffen.

Gast
2006-11-24, 13:32:48
der P4 konnte ja meines Wissens vor allem durch die längere Pipeline die sehr hohen Taktfrequenzen erreichen.
Kann mir jemand erklären (wenn es stimmt), warum dies Prozessortechnisch so ist?

in einer rechenpipeline muss jede stufe der pipeline am ende des taktes fertig sein.

wenn eine pipelinestufe schneller fertig wird als der nächste takt ankommt macht das nichts, wenn eine pipelinestufe jedoch nicht rechtzeitig fertig wird ist das ergebnis nicht mehr vorhersehbar, rechenfehler sind die folge.
die maximal erreichbare taktfrequenz eines prozessors hängt also von seiner langsamsten pipelinestufe ab.
wenn man nun die langsamste pipelinestufe identifiziert kann man diese in 2 oder mehrere schritte aufteilen, wovon jeder natürlich schneller ist als der eine auwändige schritt --> die taktbarkeit verbessert sich.

Gast
2006-11-24, 13:39:44
Ich denke der Schluss "weil P4 ne lange Pipe hat konnte er höher takten" ist falsch.

Meines Wissens wird so ein Schuh draus:

Der P4 hatte ne lange Pipe und deswegen musste er höhere Takte fahren um noch Performance zu bringen.


eine lange pipeline führt nicht zwangsläufig zu einer geringen leistung/takt.
es gibt mittel etwaige performancekritische stellen zu überbrücken (stichwort forwarding etc.) um auch mit einer langen pipeline hohe leistungen zu erreichen.

von dothan über yonah und conroe hat sich die pipeline auch jeweils verlängert, die leistung/takt allerdings vergrößert.

BlackBirdSR
2006-11-24, 13:54:29
Ganz grob kann man es sich so vorstellen:

MHz heißt Schläge pro Sekunde. Bei x GHz darf jede Stufe nur so und so viele pico-sekunden benötigen. Braucht ein Signal innerhalb der Stufe länger als das, läuft die CPU nicht stabil und der Takt muss gesenkt werden.

Bei einer CPU mit weniger Stufen sind die Berechnungsschritte auf Signal-ebene komplexer und benötigen mehr Zeit. Der maximal mögliche Takt liegt niedriger.

Allerdings ist das nur einer von vielen einfließenden Faktoren und schon lange nicht mehr der alleinig bestimmende.

Edit: Zu langsam ;)

Soundwave1983
2006-11-24, 14:03:18
Da gibts auch ne lustige Apple Präsentation zu (bei YouTube), natürlich Marketingtechnisch voll zugunsten des damals "aktuellen" PPC G4 gedreht, aber dennoch ganz unterhaltsam:

KLICK (http://www.youtube.com/watch?v=PKF9GOE2q38)

Gast
2006-11-24, 14:19:52
Die lange Pipeline ist aber gar nicht das eigentliche Problem des Pentium 4.

Soundwave1983
2006-11-24, 14:22:11
Die lange Pipeline ist aber gar nicht das eigentliche Problem des Pentium 4.

Ja wie gesagt, hab die Präsi auch nur des Unterhaltungswertes wegen gepostet....und weils so 1A zum Thema passte. :smile:

Gast
2006-11-24, 16:08:19
Die lange Pipeline ist aber gar nicht das eigentliche Problem des Pentium 4.

sondern?

Gast
2006-11-24, 16:10:00
sondern?

Leckströme. Takt war nie das Problem, der hat ja momentan noch über 7 GHz im oc-Wettbewerb erreicht, aber zu welchem Preis.... 200,300 W Verlustleistung.


Bei dieser ganzen Diskussion sollte man vielleicht berücksichtigen, das der Core 2 beispielweise mit ZWEI Kernen bereits einen oc-Rekord von 5,7 GHz erreicht hat! Also Pipelines sind nicht alles...

Gast
2006-11-24, 16:45:39
sondern?

du kannst den inhalt der präsentation genauso auf die pipeline umlegen, genauso wie gilt MHz!=performance gilt auch lange pipeline!=schlechte performance.

im extremfall muss eine lange pipeline nicht mal für eine gute taktbarkeit sorgen, nämlich dann wenn eine stufe trotzdem sehr langsam ist. das wäre natürlich ein extrem dämliches design ;)

als beispiel sollte wieder mal der core2 dienen, jener hat eindeutig die beste leistung/MHz aller x86-prozessoren, ist mit 15 pipeline-stages aber garnicht mehr so weit vom P4-northwood entfernt.

zudem stellt die präsentation das ganze auch nicht ganz richtig dar.
erstmals wird der taktvorteil der längeren pipeline nicht gezeigt, beide pipelines laufen hier auf dem gleichen takt. das füllen der pipeline am anfang ist in der praxis mehr oder weniger irrelevant, denn hier hat man nicht 100 befehle, sondern millionen, da fällt das ganze nicht mehr ins gewicht (bei 1,7GHz ist das maximal ein nachteil von ~10^-8s).
weiters erwischt der instruction-fetch selbst ohne sprungvorhersage in 50% der fälle den richtigen befehl, mit sprungvorhersage in >95% der fälle. von den sprungbefehlen, die in der praxis ~5-10% des gesamten codes ausmachen führen also gerade mal 5% zu einem pipeline-stall. wenn wir von 10% sprungbefehlen ausgehen, führen also insgesamt gerade mal 0,5% der befehle zu einem stall, während dafür die restlichen 99,5% dafür schneller abgearbeitet werden können.
schwierig wird der vergleich natürlich mit bubbles die beispielsweise durch load/use-delays entstehen, hier ist es bei einer langen pipeline natürlich vor allem wichtig dass einerseits der compiler geschickt arbeitet, andererseits die hardware auch mit entsprechenden forwarding-einheiten ausgestattet sind.

stav0815
2006-11-24, 17:12:48
Leckströme. Takt war nie das Problem, der hat ja momentan noch über 7 GHz im oc-Wettbewerb erreicht, aber zu welchem Preis.... 200,300 W Verlustleistung.


Bei dieser ganzen Diskussion sollte man vielleicht berücksichtigen, das der Core 2 beispielweise mit ZWEI Kernen bereits einen oc-Rekord von 5,7 GHz erreicht hat! Also Pipelines sind nicht alles...

Die Pipeline des Conroe ist auch länger als z.B. die des K8. Das Problem ist halt, dass sie dabei auch noch effizienter ist.

Gast
2006-11-24, 17:58:19
naja ausgangspunkt is eigentlich das ich sagte eine längere pipeline sorgt für bessere taktbarkeit und unser informatikprof. das garnichtso recht glauben konnte bzw keine physikalische erklärung gefunden hat

Gast
2006-11-25, 01:55:57
Das muss man immer differenziert sehen. Die lange Pipeline nutzte dem P4 nichts, weil zuvor die Verlustleistung ins unermeßliche stieg.

Was bringt mit eine 30+ stufige Pipeline, wenn ich trotzdem bei 4 bis 5 GHz hängen bleibe, weil da schon 150 W verbraten werden?

Der Core 2 hat bis dato alles richtig gemacht. Er hat eine kurze Pipeline spendiert bekommen und weist gleichzeitig eine geringe Verlustleistung auf. Das ist sein Erfolgsrezept.

Ich könnte mir gut vorstellen, das die 45 nm Modelle ähnlich gut skalieren werden und dann vielleicht sogar in Regionen von 7 bis 8 GHz vorstoßen, sofern die 3,5 bis 4 GHz Version mit um die 50 W auskommt.

stav0815
2006-11-25, 12:39:40
Das muss man immer differenziert sehen. Die lange Pipeline nutzte dem P4 nichts, weil zuvor die Verlustleistung ins unermeßliche stieg.

Was bringt mit eine 30+ stufige Pipeline, wenn ich trotzdem bei 4 bis 5 GHz hängen bleibe, weil da schon 150 W verbraten werden?

Der Core 2 hat bis dato alles richtig gemacht. Er hat eine kurze Pipeline spendiert bekommen und weist gleichzeitig eine geringe Verlustleistung auf. Das ist sein Erfolgsrezept.

Ich könnte mir gut vorstellen, das die 45 nm Modelle ähnlich gut skalieren werden und dann vielleicht sogar in Regionen von 7 bis 8 GHz vorstoßen, sofern die 3,5 bis 4 GHz Version mit um die 50 W auskommt.

Nochmal: Eine kurze Pipeline hat auch der Conroe nicht.

Gast
2006-11-25, 18:04:26
Nochmal: Eine kurze Pipeline hat auch der Conroe nicht.

Auch wenn du es hundertmal behauptest, richtiger wird es dadurch nicht.
Er hat eine kurze Pipeline. Vorallem wenn wir im Vergleich zu etwas anderem reden ...

Gast
2006-11-25, 18:52:25
Auch wenn du es hundertmal behauptest, richtiger wird es dadurch nicht.
Er hat eine kurze Pipeline. Vorallem wenn wir im Vergleich zu etwas anderem reden ...

im vergleich zu vielen anderen ist die pipeline recht lang.

Gast
2006-11-25, 21:02:20
im vergleich zu vielen anderen ist die pipeline recht lang.Anstatt von nebelösen Dingen wie "vielen anderen" zu reden, könntest du - wenn du schon den Vergleich zu anderen ziehst - diese auch nennen, mitsamt deren Pipelinelängen. Dann kann sich jeder selbst ein Bild machen, ob die Pipe des Conroes nun lang ist oder nicht.

Gast
2006-11-25, 22:45:19
Anstatt von nebelösen Dingen wie "vielen anderen" zu reden, könntest du - wenn du schon den Vergleich zu anderen ziehst - diese auch nennen, mitsamt deren Pipelinelängen. Dann kann sich jeder selbst ein Bild machen, ob die Pipe des Conroes nun lang ist oder nicht.

hätte ich auch gemacht, wenn du geschrieben hättest mit was du denn conroe vergleichen willst ;)

aber bitte: K8, K7, yonah, dothan, P3 haben alle eine kürzere pipeline.

um genau zu sein fällt mir im moment keine x86-cpu die nicht von der netburst-technologie abstammt ein, die eine längere pipeline haben soll.

RavenTS
2006-11-26, 02:31:14
Auch wenn du es hundertmal behauptest, richtiger wird es dadurch nicht.
Er hat eine kurze Pipeline. Vorallem wenn wir im Vergleich zu etwas anderem reden ...

Und hier kann man ja wohl nur vergleichend debattieren, es gibt ja schließlich kein Naturgesetz, was sagt wie lang eine "kurze" Pipeline ist... ;)