Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie lang sind die Piplines des Pentium 1, 2, 3, 4, Core2Duo, Athlon, Athlon XP u K10?
Der Atom soll ja 16 Pipelinestufen haben, aber wieviele haben die anderen, insbesondere auch das Urdesign des Atom, der Pentium 1 im Vergleich?
Und wie sieht es mit dem 286, 386, und 486er aus?
reunion
2009-05-18, 07:21:08
Atom 16? Ich dachte der hat gerade mal 3 oder 4.
AnarchX
2009-05-18, 07:29:14
Es sind schon 16:
http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3276&p=11
BlackBirdSR
2009-05-18, 08:39:02
Atom 16? Ich dachte der hat gerade mal 3 oder 4.
Atom hat mit der traditionellen Pipeline des Pentium nicht viel gemeinsam. Das Teil ist eher ein abgespecktes P6-Derivat.
Der Pentium ist auch kein Ur-Atom. Die beiden sind völlig unterschiedlich.
@Gast:
286,386,486 und Pentium müssten alle 5 Stufen besitzen.
PentiumMMX = 6
PentiumPro/2/3 wird von 10 bis 14 angegeben. ( Da scheinen sich einige zu verzetteln, liegt IMO bei 12 Stufen)
Pentium4 als Willamette/Northwood 20/28 (je nach Zählung)
Pentium4 als Prescott 31/39 (je nach Zählung, eventuell nur 31)
PentiumM/Core = 14?
Core2 = 14?
Atom 16
K7 = 10
K8/10 = 12
Alles ab PentiumPro wird etwas unsicher von der Zählungsweise. Angegeben ist immer die Anzahl Stufen für einfache Integerbefehle.
SavageX
2009-05-18, 09:12:07
@Gast:
286,386,486 und Pentium müssten alle 5 Stufen besitzen.
Ich denke nicht, dass das Zeug vor dem 486er gepipelined war.
BlackBirdSR
2009-05-18, 09:17:36
Ich denke nicht, dass das Zeug vor dem 486er gepipelined war.
1. 486 hatte Pipelining
2. Pipelining hat erstmal nichts mit der Anzahl an Stufen zu tun.Auch ein 386 kann die anfallende Arbeit nicht in 1 Takt erledigen. Die traditionelle RISC-Pipeline besteht auch aus 4 Stufen.
SavageX
2009-05-18, 09:22:08
1. 486 hatte Pipelining
Habe ich nie bestritten.
2. Pipelining hat erstmal nichts mit der Anzahl an Stufen zu tun.Auch ein 386 kann die anfallende Arbeit nicht in 1 Takt erledigen. Die traditionelle RISC-Pipeline besteht auch aus 4 Stufen.
Nö, Pipelining hat etwas damit zu tun, mehrere Befehle gleichzeitig in unterschiedlichen Bearbeitungsphasen zu halten, um im Optimalfall pro Takt einen oder mehrere Befehle (superskalar) nachschieben zu können. Da bin ich mir beim 386 nicht sicher.
BlackBirdSR
2009-05-18, 09:30:50
Nö, Pipelining hat etwas damit zu tun, mehrere Befehle gleichzeitig in unterschiedlichen Bearbeitungsphasen zu halten, um im Optimalfall pro Takt einen oder mehrere Befehle (superskalar) nachschieben zu können.
Hab ich irgendwas bestritten? (habe bei 486 "vom" statt "vor" gelesen, sorry)
Beim Rest hast du wahrscheinlich recht und Intel hat bei 286 und 386 alles in einem Durchgang erledigt.
Shink
2009-05-18, 09:30:53
Nö, Pipelining hat etwas damit zu tun, mehrere Befehle gleichzeitig in unterschiedlichen Bearbeitungsphasen zu halten, um im Optimalfall pro Takt einen oder mehrere Befehle (superskalar) nachschieben zu können. Da bin ich mir beim 386 nicht sicher.
Hmm... also ich bin mir ziemlich sicher dass das bereits der 286er konnte.
Allzu groß ist der Unterschied zwischen 386 und 486 Cache- und FPU-bereinigt eigentlich nicht.
Ich denke aber 286 bis 486 haben nicht gleich viele Pipelinestufen. Werde mal meine alten Bücher rauskramen, ist ja erstaunlich wie schwierig man heute an diese Infos kommt (Wikipedia, hallo?)
Außerdem denke ich mich erinnern zu können dass Pentium M nochmal weniger Stufen hatte als Core 1/2.
BlackBirdSR
2009-05-18, 09:35:27
Hmm... also ich bin mir ziemlich sicher dass das bereits der 286er konnte.
Allzu groß ist der Unterschied zwischen 386 und 486 Cache- und FPU-bereinigt eigentlich nicht.
ALso ich bin mir ziemlich sicher, dass ein großer Teil der zusätzlichen Integerperformance des 486 durch die Pipeline, Pipelining und den L1-Cache kommen. Der Unterschied ist durchaus ordentlich.
Ja, der 486 hatte als erster Pipelines, 286 und 386 nicht.
BlackBirdSR
2009-05-18, 09:45:46
Intel gibt an:
http://ftinetti.googlepages.com/art_2.pdf
dass 286, 386, 486 und 586 alle eine gleiche Anzahl an Pipelinestufen hatten.
Und bitte: Pipelines=! Pipelinestufen.
Wenn du null Stufen hast kannst du wohl kaum von einer Pipeline reden.
Beim 486er ist die Pipeline IIRC 5-stufig.
Shink
2009-05-18, 10:16:14
dass 286, 386, 486 und 586 alle eine gleiche Anzahl an Pipelinestufen hatten.
Hmm... ich lese da:
"286, Intel386™, Intel486™ and Pentium® (P5) processors had similar pipeline depths"
Hat irgendeiner eine Quelle für die "Pipelining erst ab 486"-Vermutung? So leicht geb ich mich nicht geschlagen. Alles was ich bisher gelesen hab ist dass das Pipelining beim 486er verbessert wurde.
Ich denke nicht, dass das Zeug vor dem 486er gepipelined war.
Hallo, der 486 war der erste Intel mit einer Pipeline.
mfg
SavageX
2009-05-18, 11:24:04
Hallo, der 486 war der erste Intel mit einer Pipeline.
mfg
Hallo, genau lesen.
Shink
2009-05-18, 11:24:47
Hallo, der 486 war der erste Intel mit einer Pipeline.
mfg
Ja, der 486 hatte als erster Pipelines, 286 und 386 nicht.
Kann man diesen Mist nicht mal löschen? "Eine Pipeline" hatten sie ganz sicher, auch laut dem hier verlinkten Intel-PDF.
Ich denke, man sollte eher deine Postings hier löschen. Am besten liest du mal das Buch "PC Hardware" von Hans Messmer.
http://www.amazon.de/PC-Hardwarebuch-Aufbau-Funktionsweise-Programmierung/dp/3827320143
SavageX
2009-05-18, 11:36:33
Kann man diesen Mist nicht mal löschen? "Eine Pipeline" hatten sie ganz sicher, auch laut dem hier verlinkten Intel-PDF.
Wenn die da von "pipeline depth" reden, dann werden die da mit einiger W'keit einfach die Unterteilung in Abarbeitungsphasen meinen - und die ist (egal ob man die Phasen tatsächlich zu einer Pipeline zusammenhängt) relativ "konstant klassisch" (instruction fetch, instruction decode, execute, memory access, write back - redeten wir über MIPS). Was dieses Paper laut meiner *Interpretation* sagen will ist "wir haben das vieeeeel feiner unterteilt, um das Teil hoch takten zu können" - Hauptzweck des Papers ist nicht die ollen Kamellen ins Detail zu besprechen.
Nö, Pipelining hat etwas damit zu tun, mehrere Befehle gleichzeitig in unterschiedlichen Bearbeitungsphasen zu halten, um im Optimalfall pro Takt einen oder mehrere Befehle (superskalar) nachschieben zu können.
Pipelining und superkalarität sind zwei unterschiedliche dinge.
Pipelining dient erstmals nur dazu, eine aufgabe in mehrere einfachere schritte aufzuteilen und damit höhere frequenzen zu ermöglichen.
Mehrere befehle kann man damit trotzdem nicht pro takt ausführen, es sind zwar ständig mehrere befehle gleichzeitig in arbeit, diese allerdings in unterschiedlichen stufen. Es kann deshalb pro takt trotzdem immer nur 1 befehl in die pipeline eintreten und einer die pipeline verlassen.
Um wirklich mehrere befehle gleichzeitig auszuführen, so dass nach einem takt auch mehr als 1 ergebnis ausgegeben werden kann reicht pipelining nicht, dafür müssen teile der pipeline mehrfach vorhanden sein.
Shink
2009-05-18, 12:55:58
Pipelining und superkalarität sind zwei unterschiedliche dinge.
Pipelining dient erstmals nur dazu, eine aufgabe in mehrere einfachere schritte aufzuteilen und damit höhere frequenzen zu ermöglichen.
Mehrere befehle kann man damit trotzdem nicht pro takt ausführen, es sind zwar ständig mehrere befehle gleichzeitig in arbeit, diese allerdings in unterschiedlichen stufen. Es kann deshalb pro takt trotzdem immer nur 1 befehl in die pipeline eintreten und einer die pipeline verlassen.
Um wirklich mehrere befehle gleichzeitig auszuführen, so dass nach einem takt auch mehr als 1 ergebnis ausgegeben werden kann reicht pipelining nicht, dafür müssen teile der pipeline mehrfach vorhanden sein.
So hätt ich das auch gesehen: Pipelining benötigt man in erster Linie um durch kürzere "Durchlaufzeiten" der Befehle die Taktrate zu erhöhen.
Und eben das hatte nicht erst der 486er. Entsprechend änderte sich die Taktrate von 286 zu Pentium eher aufgrund der Fertigungstechnologie und nicht der Architektur: 386, 486 und Pentium erlaubten keinen wesentlich höheren Takt als deren mit vergleichbarer Technik gefertigte Vorgänger.
Wenn ich mich richtig erinnere:
286-P54: 5
P55: 6
P6: 14
C2/i7:14
Willamette/Nortwood: 20
Prescott/Presler: 31
Atom: 16
K5: 6
K6: 6 (FP non-pipelined, NexGen Design)
K7: 10 (Int) und 15 (FP)
K8/10: 12 (Int) und 17 (FP)
SavageX
2009-05-18, 14:04:31
Pipelining und superkalarität sind zwei unterschiedliche dinge.
Ja.
Pipelining dient erstmals nur dazu, eine aufgabe in mehrere einfachere schritte aufzuteilen und damit höhere frequenzen zu ermöglichen.
Mehrere befehle kann man damit trotzdem nicht pro takt ausführen, es sind zwar ständig mehrere befehle gleichzeitig in arbeit, diese allerdings in unterschiedlichen stufen. Es kann deshalb pro takt trotzdem immer nur 1 befehl in die pipeline eintreten und einer die pipeline verlassen.
Schon klar dass superskalare Prozessoren das nicht mit nur einer Pipeline hinbekommen.
Um wirklich mehrere befehle gleichzeitig auszuführen, so dass nach einem takt auch mehr als 1 ergebnis ausgegeben werden kann reicht pipelining nicht, dafür müssen teile der pipeline mehrfach vorhanden sein.
Und wo genau sind wir unterschiedlicher Meinung? :-)
SavageX
2009-05-18, 14:14:06
So hätt ich das auch gesehen: Pipelining benötigt man in erster Linie um durch kürzere "Durchlaufzeiten" der Befehle die Taktrate zu erhöhen.
Die "Durchlaufzeit" eines einzelnen Befehls profitiert nicht (unbedingt) vom Pipelining, eher der Durchsatz.
Vielleicht geraten wir auch nur einfach an Begrifflichkeiten auseinander. Für mich hat ein Prozessor erst dann eine Pipeline, wenn (falls nicht stalls durch falsche Sprünge oder Datenabhängigkeiten dazwischenkommen und nicht z.B. die execution-phase für mehrere Takte blockiert - sprich wenn mal alles gut läuft) jede Stufe zu jedem Takt was (an unterschiedlichen Befehlen) zu tun bekommt.
Die pure Unterteilung in verschiedene Ausführungsphasen reicht (mir) da nicht, das "machen ja sowieso alle".
http://books.google.de/books?id=qjwesMxfkA8C&pg=PA320&lpg=PA320&dq=interger+pipeline+i386&source=bl&ots=FEvMFZ-C4E&sig=YmpTSG2AKTUZ0ro3gw-hXvOaaJI&hl=de&ei=TVURSp-BI8WC_Aa7_cixBA&sa=X&oi=book_result&ct=result&resnum=1#PPA319,M1
Ich hoffe der Link geht, ist die Google Vorschau auf oben erwähntes PC-Hardware Buch.
S. 319, letzter Abschnitt im Text.
Shink
2009-05-18, 15:05:16
Danke!
Ich denke eine alte Version dieses Buches hatte ich mal.
Hmm... Kapitel 4, Seite 106: Pipelining beim 286
Seite 119: Pipelining beim 386
Die von dir beschriebene Seite 319 beschreibt wiederum dass der 386 doch kein Pipelining unterstützt.
OK, das heißt wir müssen nun unterscheiden zwischen Adresspipelining und Befehlspipelinig:
In gewisser Weise können auch beim 286 und 386 Teile mehrerer Befehle zur gleichen Zeit in unterschiedlichen Bereichen abgearbeitet werden:
"Der 80386 kann also dem Adressdekoder bereits die nächste Adresse geben, während die Datenübertragungslogik noch mit dem Lesen und Schreiben von Daten beschäftigt ist. Die Dekodierlogik und die Adresspuffer können daher schon im Vorraus arbeiten."
Atom hat mit der traditionellen Pipeline des Pentium nicht viel gemeinsam. Das Teil ist eher ein abgespecktes P6-Derivat.
Der Pentium ist auch kein Ur-Atom. Die beiden sind völlig unterschiedlich.
Der Atom basiert laut offiziellen Aussagen von Intel auf dem Pentium.
Intel hat lediglich die Pipeline zwecks höherer Takte verlängert und um den Mangel der fehlenden Out Of Order Einheit auszugleichen.
Darüberhinaus wurde der Atom noch P6 kompatibel gemacht, in dem man ihm alle wichtigen SSE, MMX usw. Einheiten spendierte.
Aber grundsätzlich basiert sein Design auf dem Pentium 1.
Der Atom basiert laut offiziellen Aussagen von Intel auf dem Pentium.
Intel hat lediglich die Pipeline zwecks höherer Takte verlängert und um den Mangel der fehlenden Out Of Order Einheit auszugleichen.
Darüberhinaus wurde der Atom noch P6 kompatibel gemacht, in dem man ihm alle wichtigen SSE, MMX usw. Einheiten spendierte.
Aber grundsätzlich basiert sein Design auf dem Pentium 1.
Noch etwas.
Der Pentium Pro war die erste CPU mit Out of Order Aufbau, deswegen war er für die Entwicklung des Atoms nicht zu gebrauchen.
Für Intel war es einfacher den Pentium 1 zu nehmen, die Pipline zu verlängern, die SSE und MMX EInheiten dranzupfanschen, den L1 Cache zu vergrößeren, einen L2 Cache hinzuzufügen und die Stromsparfunktionen des Pentium M einzubauen und fertig war der superschlankge Atom mit extrem wenigen Transistoren im Vergleich zum Core2Duo.
Intel hat lediglich die Pipeline zwecks höherer Takte verlängert und um den Mangel der fehlenden Out Of Order Einheit auszugleichen.
Durch OOOE wird die pipeline eher länger als kürzer und nicht umgekehrt.
Eine längere pipeline gleich hier auch nichts aus, ganz im gegenteil, je länger die pipeline desto schlimmer werden stalls bestraft und ohne OOOE werden stalls deutlich wahrscheinlicher.
einen L2 Cache hinzuzufügen und die Stromsparfunktionen des Pentium M einzubauen und fertig war der superschlankge Atom mit extrem wenigen Transistoren im Vergleich zum Core2Duo.
Der Atom hat keine speziellen stromsparfunktionen, er wurde natürlich auf möglichst geringen energieverbrauch designt, spezielle stromsparfunktionen gibt es dafür aber nicht.
Der Atom hat keine speziellen stromsparfunktionen, er wurde natürlich auf möglichst geringen energieverbrauch designt, spezielle stromsparfunktionen gibt es dafür aber nicht.
Falsch, er hat sogar den Schlafmodus 6, etwas was der Pentium M gar nicht hatte.
Falsch, er hat sogar den Schlafmodus 6, etwas was der Pentium M gar nicht hatte.
PS: Und dieser Tiefschlafmodus wurde extra für den Atom eingeführt.
BlackBirdSR
2009-05-18, 23:00:08
Der Atom basiert laut offiziellen Aussagen von Intel auf dem Pentium.
Intel hat lediglich die Pipeline zwecks höherer Takte verlängert und um den Mangel der fehlenden Out Of Order Einheit auszugleichen.
Darüberhinaus wurde der Atom noch P6 kompatibel gemacht, in dem man ihm alle wichtigen SSE, MMX usw. Einheiten spendierte.
Aber grundsätzlich basiert sein Design auf dem Pentium 1.
Das glaube ich nicht. Wenn du mir den Link zeigst und diese Aussage beweist, bekommst du einen Preis. Intel hat das nicht gesagt.
Gründe:
Der Atom arbeitet mit µOps, der Pentium nicht.
Atoms Frontend ähnelt dem PPro, nicht dem Pentium.
Die ISA des Atom ist der des PentiumPro + SIMD, nicht der des Pentium.
Ich warte mal auf den Link, man kann sich ja immer irren. Intels HP redet von einer neuen µArch...
Der Pentium Pro war die erste CPU mit Out of Order Aufbau, deswegen war er für die Entwicklung des Atoms nicht zu gebrauchen.
Für Intel war es einfacher den Pentium 1 zu nehmen, die Pipline zu verlängern, die SSE und MMX EInheiten dranzupfanschen, den L1 Cache zu vergrößeren, einen L2 Cache hinzuzufügen und die Stromsparfunktionen des Pentium M einzubauen und fertig war der superschlankge Atom mit extrem wenigen Transistoren im Vergleich zum Core2Duo.
Auch hier die Frage nach Beweisen?
Der PentiumPro hat ein Out of Order Backend, das Frontend und Retire sind InOrder, wie beim Atom. Atom arbeitet im Frontend wie PPro. Man hat die P5-Pipelines nicht verlängert, weil es nicht die gleichen Arbeitsschritte sind. Atom ist inkompatibel zum P5 befehlsformat, da µops.
Das Backend des Atom ist nicht mit dem des Pentium vergleichar.
Für mich spricht nichts für ein Design, dass auf dem P5 basiert. Nur weil das Ding InOrder ist und 2-Issue ist? Ist die PPE im Cell und XBox360 dann auch ein P5-Design?
Verwechselt der ein oder andere das nicht mit Larrabee?
stickedy
2009-05-19, 00:00:52
Manchmal hilft Wikipedia trotzdem weiter:
Bereits der 486er führte einfache Befehle in einer Art Pipeline aus. Im Gegensatz zum Pentium waren dessen Pipelinestufen aber eher geschickt zusammengeschaltete Funktionsgruppen, wie man sie bereits vom 386er kannte. So konnten das Befehlholen (instruction fetching, fetch), die Befehlsdekodierung (decode) und die Befehlsausführung (execute) zwar weitgehend parallel ablaufen, es war aber nicht möglich, die an der Befehlsausführung beteiligten Funktionseinheiten besser auszulasten, indem man sie einfach parallel arbeiten ließ, wenn die Befehlsabfolge es erlaubte.
http://de.wikipedia.org/wiki/Intel_Pentium
Wegen der Pipeline-Tiefe / Stufen, würde ich mal Sandpile.org glauben
Intel:
P5/P54: 2 (Shared) plus 2x 3 (Dual Pipeline) Stages
P55: 3 (Shared) plus 2x 3 (Dual Pipeline) Stages
P6: 12 (In-order) plus 2 (Out-of-order) Stages
P7 180 & 130 nm: 20 Stages
P7 90 & 65 nm: 31 Stages
Core: 14 Stages
AMD:
K5: 3 (In-order) plus 3 (Out-of-order) Stages
K6: 6
K7: 10 (Integer), 15 (FP)
K8: 12 (Integer), 17 (FP)
Cyrix:
M1: 1 (Shared) plus 2x 4+2 In-/Out-of-order (Dual Pipeline) Stages, 4x FP plus 4x FP Store Queue
M2: 1 (Shared) plus 2x 4+2 In-/Out-of-order (Dual Pipeline) Stages, 4x FP plus 6x FP Store Queue
Joshua: 1 (Shared) plus 2x 4+2 In-/Out-of-order (Dual Pipeline) Stages, ???x FP plus ???x FP Store Queue
Centaur:
C6/C6+: 4 Stages
Samuel 1/2 & Ezra: 12 Stages (includes 7 RISC Stages for Execution), 6 additional Stages for FPU Instructions, 8 Instruction Integer-to-FP FIFO Queue (0.15 µm and 0.13 µm)
Nehemiah & Esther: 16 Stages (includes 9 RISC Stages for Execution), 6 additional Stages for FPU Instructions, ??? Instruction Integer-to-FP FIFO Queue
Rise mP6: 8 Stages
Transmeta und NexGen hab ich mal weggelassen ;)
Das glaube ich nicht. Wenn du mir den Link zeigst und diese Aussage beweist, bekommst du einen Preis. Intel hat das nicht gesagt.
Gründe:
Der Atom arbeitet mit µOps, der Pentium nicht.
Atoms Frontend ähnelt dem PPro, nicht dem Pentium.
Die ISA des Atom ist der des PentiumPro + SIMD, nicht der des Pentium.
Ich warte mal auf den Link, man kann sich ja immer irren. Intels HP redet von einer neuen µArch...
PC Games Hardware Ausgabe 3/2009 Seite 116-119
BlackBirdSR
2009-05-20, 00:28:17
PC Games Hardware Ausgabe 3/2009 Seite 116-119
Leider sind die Ausführungen von Nero hier nicht ganz eindeutig und in vielen Punkten bin ich strikt gegen den Artikel.
z.B.
Zusätzlich verzichtete Intel
beim Atom auf sämtliche Features, die mit der Nachfolgegeneration des Pentium, dem Pentium Pro, eingeführt wurden
Die von dir angesprochene Referenz beläuft sich indes nur auf diesen Satz:
In seiner Kern-Architektur ähnelt der Atom dem letzten Intel-Pentium Prozessor, wie er 1993 vorgestellt wurde. Wie dieser besitzt auch der Atom lediglich zwei Pipelines, die von einem Zweifach-Dekoder mit Instruktionen gefüttert werden.
Wie gesagt: Ein PPE oder ein Cyrix ist auch kein Pentium, weil er diesem auf abstrakter Ebene ähnelt. Atom hat mit dem Ur-Pentium nahezu nichts zu tun. Der Artikel ist in dieser Hinsicht leider zu oberflächlich, er enthält keinereli Zitate von Intel dazu und meine Argumente bleiben:
µOps, Frontend, Pipeline, ISA, Features...
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.