Archiv verlassen und diese Seite im Standarddesign anzeigen : Diskussion zu: Erste AMD-Benchmarks zu Llano und Bulldozer
Leonidas
2011-05-04, 20:52:19
Link zum Artikel:
http://www.3dcenter.org/artikel/erste-amd-benchmarks-zu-llano-und-bulldozer
Gray Sky
2011-05-04, 21:54:43
Ich bin etwas verwirrt. In der ersten Tabelle schreibt ihr dass ein AMD Llano A6 ein 3-Kerner ist. In der untersten Tabelle hingegen werden die A6 als 4-Kerner mit beschnittenem Grafikteil dargestellt, was ist jetzt richtig?
Gruß
GS
Der Llano müßte sich doch aber wenigstens mit den K10.5's anlegen können, hat zwar keinen L3, aber dafür wohl überarbeitete Kerne und Nb und schnelleren RAM.
Dieser PCMark Vantage profitiert nicht wirklich von mehr als zwei Kernen, oder? (und ist außerdem nicht wirklich ein CPU-Benchmark) Dann müßten die Llanos niedriger getaktet sein.
Ist alles ziemlich dünn.
y33H@
2011-05-04, 22:23:46
Die L3-losen Athlon II schlägt er pro Takt und Kern ja auch dank doppeltem L2 etc. Aber eben keinen "echten" Phenom II (840er also außen vor). PCMark nutzt mehr als zwei, sogar einen Tick mehr als vier Kerne (Gulftown trotz weniger Takt und IPC ein bisschen vor SNB 4C/8T).
Nevermore4ever
2011-05-04, 22:42:25
Sollte man bei Bulldozer wirklich von einem "echten" Achtkerner sprechen? Da sich je zwei Kerne eine FPU teilen, ist es doch eigentlich wie ein stark aufgebohrtes HyperThreading, eine Art Ein-Dreiviertel-Kern.
Exxtreme
2011-05-04, 22:45:05
Ist ein 8-Kerner mit schlechter FPU-Leistung pro Kern. :freak:
Ronny145
2011-05-04, 22:55:46
Bei der reinen CPU-Performance kann sich ein Achtkern-Bulldozer in diesem von AMD angestellten Benchmark (PCMark Vantage) knapp vor einen Core i7-2600K setzen
Das stimmt so nicht ganz. Die Grafikleistung spielt im PCMark Vantage Gesamtergebnis auch marginal eine Rolle. Das Bulldozer System mit dedizierter Grafikkarte hätte einen kleinen Vorteil.
Ist ein 8-Kerner mit schlechter FPU-Leistung pro Kern. :freak:
Wohl kaum, die FPU hat mehr als die doppelte Leistungsfähigkeit der Phenom2-FPU. Die FPU so zusammenzulegen und zwischen beiden Kernen zu teilen verbessert die Ausnutzung der Hardware wenn die beiden Threads unterschiedlich FPU-lastig sind (oder auch nur nicht exakt gleichzeitig FPU-lastig).
Die L3-losen Athlon II schlägt er pro Takt und Kern ja auch dank doppeltem L2 etc. Aber eben keinen "echten" Phenom II (840er also außen vor). PCMark nutzt mehr als zwei, sogar einen Tick mehr als vier Kerne (Gulftown trotz weniger Takt und IPC ein bisschen vor SNB 4C/8T).
Laut Whitepaper (http://www.futuremark.com/pressroom/companypdfs/PCMark_Vantage_Whitepaper_v1.0_%28PDF)gibts keine Test mit mehr als 4 Threads, eventuell kommt das Plus bei den 6Kernern vom Grafiktreiber und ein GPU Tests ? Oder sonstigen Hintergrundprozesschen ?
Auf CB gibts nen komischen Effekt, dass der 2600K durch SMT nur mit aktiviertem Turbo magere 2% gewinnt (ohne Turbo sinds 0), während ein AMD X6 1075 mit 3 GHz deutlich um 9% vor nem X4 970 mit 3,5 Ghz liegt. Irgendwie ein komischer Test (Link: http://www.computerbase.de/artikel/prozessoren/2011/test-intel-sandy-bridge/29/ ).
Wie auch immer, sollten die Werte stimmen, bin ich damit zufrieden, denn 8 Threads laufen sicher nicht. Das hieße BD würde sich mit Teillast gut gegen den 2600K, was auf gute single-thread Leistung deuten würde ( IPC bzw. funktionierede Turbo Modi), ist doch was. Bei Volldampf @Cinebench oder sonstigen 100% Last Benches sollte dass dann für nen Vorsprung reichen.
Sollte man bei Bulldozer wirklich von einem "echten" Achtkerner sprechen? Da sich je zwei Kerne eine FPU teilen, ist es doch eigentlich wie ein stark aufgebohrtes HyperThreading, eine Art Ein-Dreiviertel-Kern.Naja, "echter" als Hyperthreading halt :freak: Zumindest sind echte INT Einheiten vorhanden, die jeder Thread exklusiv für sich hat. Wenn Front-End und FPU aufgebohrt wurden ist das schon ne gute Idee. Ob mans echt oder dreiviertel-echt nennen will ist ein philosophisches Thema. Hauptsache die Leistung passt :)
Interessant fände ich wie sich ein Buldozermodul gegen einen gleich getakteten sandybringe 2 Kerner ohne HT anstellen würde. Bzw würde mich interessieren wie viele Transistoren die jeweilige Lösung hat.
Leonidas
2011-05-04, 23:31:10
Ich bin etwas verwirrt. In der ersten Tabelle schreibt ihr dass ein AMD Llano A6 ein 3-Kerner ist. In der untersten Tabelle hingegen werden die A6 als 4-Kerner mit beschnittenem Grafikteil dargestellt, was ist jetzt richtig?
Gruß
GS
Die untere Tabelle ist richtig, da hab ich mich mit den drei Kernen einfach vertan (alte Gewohnheit bei AMD mit 2-3-4 Kernen, aber eben nicht mehr bei Llano). Wird gleich korrigiert.
die Bench Tests sehen doch recht vielversprechend aus,
hoffentlich gibt es das entlich auch mal zu kaufen
Ich denke auch, dass man AMDs Bulldozer nicht als 8-Kern-CPU bezeichnen sollen. Dadurch, dass nicht nur die FP-Einheit gemeinsam benutzt wird, sondern auch Decode-Einheit und nicht zuletzt L2-Cache geteilt wird, ist die Rechenleistung von einem Bulldozer-Modul nicht mit der Leistung von zwei dedizierten Kernen vergleichbar.
AMD wollte mit Bulldozer auch eine Architektur kreieren, welche mit möglichst wenig Aufwand und Fertigungskosten möglichst viel Multithread-Performance realisiert. Sprich: möglichst viel Leistung pro Takt bei niedrigst möglicher Die-Größe. Dabei soll der Singlethread-Performance möglichst nicht zu kurz kommen.
Diese Modul-Bauweise ist eben AMDs Konter auf Intels Hyper-Threading Technology, die Intel bereits zur Netburst-Zeiten vorgestellt wurde. Die Hyper-Threading in aktuellen Sandy Bridge ist, insbesondere in Vergleich zu damalige HT in Pentium 4, schon sehr ausgereift. Trotzdem wird der Core i7-2600K nicht als 8-Kern-CPU bezeichnet.
Von daher macht es, gerade weil weder die Rechenleistung noch der Fertigungsaufwand mit zwei echten Kernen vergleichbar ist, wenig Sinn, ein Bulldozer mit 4 Modulen als 8-Kern-CPU zu bezeichnen.
Die Hyper-Threading in aktuellen Sandy Bridge ist, insbesondere in Vergleich zu damalige HT in Pentium 4, schon sehr ausgereift. Trotzdem wird der Core i7-2600K nicht als 8-Kern-CPU bezeichnet.
Der "Reifegrad" ändert nichts an der grundlegenden Technik, dass der zweite Thread nur Beifahrer in den Rechenwerken ist. Das ist bei AMD anders, zumindest in den INT Cluster ^^
Von daher macht es, gerade weil weder die Rechenleistung noch der Fertigungsaufwand mit zwei echten Kernen vergleichbar ist, wenig Sinn, ein Bulldozer mit 4 Modulen als 8-Kern-CPU zu bezeichnen.
Naja "wenig" ist relativ, zufrieden bin ich damit auch nicht, aber auf Fälle ist es besser als bei Intel. Bei Intel gibts ~30% SPeedup, bei AMD angeblich +80%-90% SpeedUp.
Nur 10-20% zu Unterschlagen ist für ne Marketingmaßnahme ja schon recht ehrlich :freak:
Von daher macht es, gerade weil weder die Rechenleistung noch der Fertigungsaufwand mit zwei echten Kernen vergleichbar ist, wenig Sinn, ein Bulldozer mit 4 Modulen als 8-Kern-CPU zu bezeichnen.
Nach der Logik ist ein Atom eine 0-Kern CPU ;)
Die CPU kann in einem Takt 8 Jumps ausführen, also ist sie eine 8-Kern CPU.
Nach der Logik ist ein Atom eine 0-Kern CPU ;)
Ich dachte Atom ist ein Ein-Kern-CPU mit Hyper-Threading, also kann das Ding zwei Threads "gleichzeitig" ausführen. Oder habe ich das falsch in Erinnerung? ^^
Der "Reifegrad" ändert nichts an der grundlegenden Technik, dass der zweite Thread nur Beifahrer in den Rechenwerken ist. Das ist bei AMD anders, zumindest in den INT Cluster ^^
Nun, Hyper-Threading bewirkt, dass der CPU-Kern besser ausgelastet wird. Durch diesen einfachen Trick steigt die Leistung pro Takt bei minimaler Aufwand. Genau das will AMD durch Bulldozer auch erreichen.
Naja "wenig" ist relativ, zufrieden bin ich damit auch nicht, aber auf Fälle ist es besser als bei Intel. Bei Intel gibts ~30% SPeedup, bei AMD angeblich +80%-90% SpeedUp.
Nur 10-20% zu Unterschlagen ist für ne Marketingmaßnahme ja schon recht ehrlich :freak:
Nicht zu vergessen: die 80-90% ist auch nur AMDs Marketing. Kann sein, dass sie schon bei den Prozentzahlen kräftig "aufgerundet" haben. Am Ende kann sogar nur 50 bis 60% in der Realität ankommen. :freak: ;)
Nun, Hyper-Threading bewirkt, dass der CPU-Kern besser ausgelastet wird. Durch diesen einfachen Trick steigt die Leistung pro Takt bei minimaler Aufwand. Genau das will AMD durch Bulldozer auch erreichen.
Nur in der FPU, die INT Kerne laufen wie besagt getrennt, das ist was Anderes.
Leonidas
2011-05-05, 02:51:26
Gerade im Sinne einer CPU - sprich, wilder, uneinheitlicher Programmcode - ist Bulldozer klar ein Achtkerner. Denn das läuft nun einmal fast ausschließlich auf den Integer-Einheiten. Nur wenn es etwas wiederkehrendes zu berechnen gibt, kommen doch FPU/SSE zum Einsatz. Zu 486er-Zeiten war die FPU sogar nur ein Co-Prozessor und vorher gab es die gar nicht, die ist also für eine CPU nicht zwingend notwendig - die Integer-Einheiten sind das, was eine CPU ausmachen.
Bulldozer ist halt ein Achtkerner mit halbiertem Co-Prozessor. Passt zu AMDs Zukunftskonzept, wo man den integrierten Grafikchip als Co-Prozessor verbraten will. Kann sogar sein, daß AMD in ein paar Generationen ganz auf die dedizierte FPU verzichtet und dafür nur noch die Recheneinheiten des Grafikchips bemüht. Dann würde es auch Sinn machen, so relativ viele Shader-Einheiten (gegenüber Intel) zu verbauen. Man stelle sich vor, die 400 SE eines Llano wären jetzt schon für FPU-Berechnungen nutzbar ...
...Man stelle sich vor, die 400 SE eines Llano wären jetzt schon für FPU-Berechnungen nutzbar ...
Das ist aber jetzt noch nicht möglich und auch in naher Zukunft mit dem jetzigen Llano (Ontario?^^) nicht?
Bulldozer ist halt ein Achtkerner mit halbiertem Co-Prozessor.
Halbiert ist die FPU beim Bulldozer sicher nicht. Man hat die 2 FPUs in eine Einheit zusammengelegt und so kann dann CPU1 wenn nötig beide FPUs nutzen.
Gerade im Sinne einer CPU - sprich, wilder, uneinheitlicher Programmcode - ist Bulldozer klar ein Achtkerner. Denn das läuft nun einmal fast ausschließlich auf den Integer-Einheiten. Nur wenn es etwas wiederkehrendes zu berechnen gibt, kommen doch FPU/SSE zum Einsatz. Zu 486er-Zeiten war die FPU sogar nur ein Co-Prozessor und vorher gab es die gar nicht, die ist also für eine CPU nicht zwingend notwendig - die Integer-Einheiten sind das, was eine CPU ausmachen.
Halbiert ist die FPU beim Bulldozer sicher nicht. Man hat die 2 FPUs in eine Einheit zusammengelegt und so kann dann CPU1 wenn nötig beide FPUs nutzen.
Man muss hier aber auch die Architektur von Bulldozer etwas genauer angucken. Es ist absolut richtig, dass zwei Integer-Einheiten in einem Modul vorhanden sind. Aber auch wenn in der offiziellen Graphik zum Bulldozer mutig vier Pipelines eingezeichnet wurden, sind pro Integer-Einheit nur zwei ALUs und zwei AGUs vorhanden. Zum Vergleich: Selbst der AMD K10 hat pro Integer-Einheit jeweils drei ALUs und AGUs. Wenn ich mich richtig daran erinnere, hat Intel in einer Integer-Einheit sogar jeweils vier ALUs und AGUs eingebaut. Das heißt, dass letztendlich eine Bulldozer-Integer-Einheit höchstwahrscheinlich weniger leistungsstark sein wird als ein, sagen wir, Core-i-Integer-Unit.
Zur Bulldozer-FPU: Es ist ebenfalls absolut korrekt, dass der FPU in einem Takt zwei 128-Bit-SSE-Befehle ausführen können. Aber es wurde nicht gesagt, dass die zwei Befehle aus zwei Threads kommen dürfen. Schlimmstenfalls kann sich der 256-Bit breite FPU sich nicht in zwei eigenständige, 128-Bit breite FPU aufteilen. Sprich: Der FPU könnte dann pro Takt nur einen einzigen Thread ausführen. Das würde natürlich die Effizienz schon nach unten drücken, wie viel es sich auswirken würde, wissen wir noch nicht. Ich hoffe jetzt mal, dass diese Worst-Case nicht eintritt.
Wie man auch aus der Graphik erkennen kann, nicht nur der FPU wird gemeinsam benutzt, sondern auch so ziemlich das gesamte Frontend plus L2-Cache. Es ist hier die Frage, ob dieses Frontend die zwei Integer-Units und die FPU gleichzeitig versorgen kann. Meines Wissens nach hat weder AMD noch Intel bisher versucht, mit einem Frontend drei Execution Units zu versorgen. Es könnte durchaus sein, dass die Ausführungseinheiten verhungern. Auf jeden Fall ist das ein weiterer limitierender Faktor.
http://images.anandtech.com/reviews/cpu/amd/hotchips2010/bulldozermodule.jpg
Zum Vergleich: Selbst der AMD K10 hat pro Integer-Einheit jeweils drei ALUs und AGUs. Wenn ich mich richtig daran erinnere, hat Intel in einer Integer-Einheit sogar jeweils vier ALUs und AGUs eingebaut. Das heißt, dass letztendlich eine Bulldozer-Integer-Einheit höchstwahrscheinlich weniger leistungsstark sein wird als ein, sagen wir, Core-i-Integer-Unit.
Was soll das denn nun ? Du vergleichst die INT Kerne des K10 mit Bulldozer, unterschlägst die Scheduler-Neuerungen und schlussfolgerst dann auf Core-i ... :freak:
Es könnte durchaus sein, dass die Ausführungseinheiten verhungern. Auf jeden Fall ist das ein weiterer limitierender Faktor.
Heureka, da haben die AMD Ingenieure aber ganz schön was übersehen ... die müssen schön dumm sein :freak:
Es ist ebenfalls absolut korrekt, dass der FPU in einem Takt zwei 128-Bit-SSE-Befehle ausführen können. Aber es wurde nicht gesagt, dass die zwei Befehle aus zwei Threads kommen dürfen.
Hab wieder vergessen wo ich es gelesen hab, aber der FP-Scheduler kann jeweils in einem Takt nur Befehle von einem Thread annehmen. Beim Ausführen ist der Herkunftsthread egal und da es ein OoO-Scheduler ist, ist die Reihenfolge des Einreichens auch egal.
Hab wieder vergessen wo ich es gelesen hab, aber der FP-Scheduler kann jeweils in einem Takt nur Befehle von einem Thread annehmen. Beim Ausführen ist der Herkunftsthread egal und da es ein OoO-Scheduler ist, ist die Reihenfolge des Einreichens auch egal.
Sieht man hier:
http://www.abload.de/img/bulldozerhotchips_augumkig.jpg
Das FP Frontend ist auch noch vertical multithreaded, also ein Takt Thread1, zweiter Takt Thread2. Danach, wie Du richtig sagst OoO, also SMT like.
ciao
Alex
Was soll das denn nun ? Du vergleichst die INT Kerne des K10 mit Bulldozer, unterschlägst die Scheduler-Neuerungen und schlussfolgerst dann auf Core-i ... :freak:
Heureka, da haben die AMD Ingenieure aber ganz schön was übersehen ... die müssen schön dumm sein :freak:
Ich habe vielleicht ziemlich durcheinander argumentiert, sorry dafür. Ich wollte damit eigentlich meine Meinung begründen, warum ich Bulldozer nicht als 8-Kern-CPU ansehe, sondern als 4-Kern 8-Thread CPU. Dabei habe ich auf die Architektur und prinzipieller Aufbau von Bulldozer geguckt und angeschaut, was für Unterschiede es zwischen einem Bulldozer-Modul und zwei echte Kerne gibt. Also: die abgespeckten Int-Einheiten (zwei statt drei ALUs); gemeinsam benutztes Frontend und damit unter Umständen möglicher Limitierung; geshartes FPU; geringere Die-Größe und damit geringere Fertigungskosten.
Über die exakte Leistungsfähigkeit von einer Bulldozer-CPU wollte ich und kann ich nicht aussagen. Denn keiner, außer AMD selbst und vielleicht ihre Boardpartner, weiß momentan, ob die architektonischen Unterschiede überhaupt eine Auswirkung haben, und wenn ja, welcher Änderung wie stark die Performance limitieren.
Hab wieder vergessen wo ich es gelesen hab, aber der FP-Scheduler kann jeweils in einem Takt nur Befehle von einem Thread annehmen. Beim Ausführen ist der Herkunftsthread egal und da es ein OoO-Scheduler ist, ist die Reihenfolge des Einreichens auch egal.
Danke an euch zwei für die Aufklärung, das wusste ich vorher nicht. :up:
Also: die abgespeckten Int-Einheiten (zwei statt drei ALUs); gemeinsam benutztes Frontend und damit unter Umständen möglicher Limitierung; geshartes FPU; geringere Die-Größe und damit geringere Fertigungskosten.
Das ist schon mal ganz gut, Du hast Unterschiede gefunden. Aber jetzt musst Du noch festlegen, wie sie ins Gewicht fallen.
Z.B: gibts Aussagen, dass das 3te AGU/ALU Päärchen nur +5% brachte.
Demgegenüber gibts Aussagen, dass MacroOp Fusion (~10%) und Memory Disambiguate (max. bis zu +40%) einbringen. Beides hat BD.
Dazu dann noch der unified Scheduler. Bisher war es so, dass Instruktionen nach dem Dispatch auf sein Pipeline-Päärchen festgelegt war, erschwert OoO, jetzt wird das effizienter gehandhabt.
Kurz: Ja es ist 1 Paar weniger, aber die 2 verbliebenen Paare, die keine Paare mehr sind, werden viel besser genutzt. Die simple 1.Klass Rechnung 3-1 = 2 gilt nicht, CPUs sind "etwas" komplexer ;-)
FPU: Das waren bisher 3 Pipelines: 1xAdd/1xMul/1xMisc, jetzt gibts 2xFMAC+FMISC+"MMX".
Natürlich wird da am Ende kaum +200% Leistung bei 2 Threads rauskommen, aber in der Praxis hat man auch keine 100% FPU Last. Mal schauen, was die Benchmarks am Ende ausspucken. Irgendwo gabs mal die Meldung, dass selbst FP lastiger Code nur ~50-60% der FPU beanspruchen würde ... wäre dann ja ebenfalls nicht soo schlimm. Nimmt man Intels SMT Werte dann kann man wohl mit ~130% rechnen, wäre doch auch ok, v.a. sind 100% BD Leistung sicherlich mehr, als 100% K10 FPU Leistung.
ob die architektonischen Unterschiede überhaupt eine Auswirkung haben, und wenn ja, welcher Änderung wie stark die Performance limitieren.Aber man kann das schon etwas besser abschätzen als Du es tust, zumindest wenn man aktuelle Infos hat ;-)
V.a. sollte man nicht glauben, dass die AMD Entwickler blöd wären ;-)
Wenn die was machen, dann gibts auch nen Grund dafür.
Danke an euch zwei für die Aufklärung, das wusste ich vorher nicht. :up: Bitte :)
Aber man kann das schon etwas besser abschätzen als Du es tust, zumindest wenn man aktuelle Infos hat ;-)
V.a. sollte man nicht glauben, dass die AMD Entwickler blöd wären ;-)
Wenn die was machen, dann gibts auch nen Grund dafür.
Ich habe nie gesagt, dass die Ingenieure bei AMD Idioten sind. Ebenfalls bin ich nie davon ausgegangen, dass Bulldozer gravierende Designfehler enthält. In Gegenteil, ich hoffe, dass der Bulldozer sowohl in Endanwendermarkt als auch in Servermarkt ein Erfolg wird. Wie performant ein Prozessor genau wird, hängt aber davon ab, wie der Prozessor „ausbalanciert“ ist. Wie viele Takte die einzelnen Pipelineschritte brauchen; wie die Pipeline auf verschiedene Situationen, z.B. Misprediction, reagieren; wie die Funktionen, z.B. Memory disambiguation, konkret realisiert wurden und noch vieles mehr. Eine schlecht ausbalancierte CPU ist beispielsweise, so weit ich mich richtig daran erinnere, die erste Version von Netburst-Architektur, Willamette.
Aber eigentlich geht es mir nicht darum, wie schnell ein Bulldozer ist, sondern darum, dass man ein 4-Modul-Bulldozer nicht als 8-Kern-CPU bezeichnet sein sollte. Ich bin der Meinung, dass man künftig Prozessoren nicht nach deren Kernanzahl klassifizieren sollen, sondern nach der Anzahl der gleichzeitig ausführbaren Threads einordnen sollen. Also: ein Core i7 2600 ist eine 8-Thread-CPU; ein Bulldozer mit vier Modulen wäre ebenfalls ein 8-Thread-Prozessor.
Das erfordert sicherlich eine Umgewöhnung, aber da man seit Langem versucht, die Leistungsfähigkeit (unter anderem) dadurch zu steigern, in dem die Prozessoren immer mehr Threads gleichzeitig ausführen, ist es meiner Meinung nach notwendig, sie anders zu klassifizieren.
sloth9
2011-10-15, 21:58:49
Sollte man bei Bulldozer wirklich von einem "echten" Achtkerner sprechen? Da sich je zwei Kerne eine FPU teilen, ist es doch eigentlich wie ein stark aufgebohrtes HyperThreading, eine Art Ein-Dreiviertel-Kern.
Nach den ersten, imho vernichtenden Benchmarks, ja!
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.