AMDs Bulldozer bzw. was kommt nach dem K10

Status
Für weitere Antworten geschlossen.
Eigentlich müsste man das M(C)ST = MultipleCore Singlethreading oder so nennen :d.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Auch eine Definition von SMT:
Laut wikipedia.org
Hiermit stellt SMT eine Form des hardwareseitigen Multithreadings dar.
Also genau dass, was aus sicht eines einzelnen Cores bei AMDs SMT auch zutrifft.
Selbst eine einzelne X86_64 Anweisung, ausgeführt auf einem Core, ist ein Thread(!). Ob der Programmiere dies geplant/gewollt hat, spielt dann hier keine rolle mehr. Programmiere werden bald ohnehin nicht mehr vernünftig Multithreading einsetzen können, schon alleine weil die Core Anzahl sehr stark steigen wird.
Wenn man AMDs Technik heute einordnen/bennen müsste, dann kann man dies eigentlich nur als SMT bezeichnen/unterordnen.
 
Ich frag mich wirklich wen du was auf Biege und Brechen beweisen willst...

Wenn man möchte kann man quasi immer so lange etwas hindrehen bis es irgendwie in die eigene Definition oder Argumentation passt. Das ändert aber hier trotzdem nichts daran, dass AMDs Ansatz genau gegenteilige Intentionen verfolgt, wie das was man gewöhnlich unter SMT versteht.
 
Zuletzt bearbeitet:
Auch eine Definition von SMT:

Also genau dass, was aus sicht eines einzelnen Cores bei AMDs SMT auch zutrifft.
Aus der Sicht eines einzelnes Cores siehst Du bei AMDs Ansatz nur nen halben Thread, Du müßtest dass also eher SHT nennen:
"Simultaneous Half Threading" :xmas:
Zweimal die Hälfte = ein Thread :) Aber wirklich "Multi" ist da nicht wirklich was, ausser den Kernen, siehe HOTs Kürzel ^^
Selbst eine einzelne X86_64 Anweisung, ausgeführt auf einem Core, ist ein Thread(!)
Wo hast Du das denn her ? Genausogut kannst Du sagen ein Tropfen Wasser ist das Gleiche wie der Amazonas.

Ein Befehl ist ein Befehl, nichts weiter. Wenn 2 aufeinanderfolgende Befehle *eines* seriellen Threads nichts miteinander zu tun haben, dann könnte die AMD Logik Befehl 1 auf Core1 rechnen und Befehl 2 auf Core 2. Sowas ist möglich, les die Patente bzg. Map Unit / Thread Synchronization Logic.

Bei SMT würden beide Befehle schön brav hintereinander gerechnet werden, ist ja nur ein einziger Thread. Solange der Programmierer sich nicht die Mühe macht einen 2ten Thread zu coden, bringt SMT genau 0,0.
Ich seh da wirklich 0 Zusammenhang. Wenn ich so die andren Kommentare sehe, dann bist Du da auch ziemlich in der Minderheit.

Das solle jetzt zu mir zum SMT Thema gewesen sein, wenn Du weitere, grundlegene SMT /Anti-SMT Fragen hast, dann stell die besser im noch vorhandenden SMT Thread, dann steht da auch wieder was :)

Hier gehts um Bulldozer Spekulationen / und nicht um das kleine SMT 1x1.

ciao

Alex
 
Zuletzt bearbeitet:
Die zusätzliche Pipelines sind schon vorhanden und zwar auf den anderen Cores.
Ja, und mittels SMT kommen eben zusätzliche Pipelines PRO KERN hinzu.

AMDs SMT wird im wesentlichen ein Core (wohl virtuell), der seine Register usw auf andere Cores abbilden/einblenden kann und somit quasi Multicore zu Singlecore macht.
Und natürlich ist das SMT.
Nein, ist es nicht. Das sagt schon der Name, Simultaneous Multithreading. Und EIN Thread ist eben kein Multithreading.

Ein Thread ist nur solange ein Thread solange er nur in/als eine Instanz läuft. Was aber bei AMDs SMT dann nicht mehr der fall ist, da er ja durchaus ECHT parallel ausgeführt werden kann.
Ein Thread ist immer ein Thread. Und dieser wird von der Software, genauer gesagt dem Maschinen- bzw Mikrocode, bestimmt, und nicht von der Hardware.

Selbst eine einzelne X86_64 Anweisung, ausgeführt auf einem Core, ist ein Thread(!).
Nein, ist es nicht. Und bevor du hier noch mehr gefährliches Halbwissen verbreitest, nimm doch bitte erstmal eine gute Lektüre zur Hand und lese nach, was Threads sind.

Eigentlich müsste man das M(C)ST = MultipleCore Singlethreading oder so nennen :d.
Wie wäre es mit SST, Simultaneous Singlethreading?
 
Das was ein Thread ist wird bei AMDs SMT eben nicht mehr nur durch den Programmierer bestimmt. In Zeiten von Multicores UND MPP (GPU) ist dies nicht mehr zu halten.
Aber bitte, warten wir auf AMDs SMT, dann werden wir es sehen. ;)
 
Zuletzt bearbeitet:
Das was ein Thread ist wird bei AMDs SMT eben nicht mehr nur durch den Programmierer bestimmt. In Zeiten von Multicores UND MPP (GPU) ist dies nicht mehr zu halten.
Aber bitte, warten wir auf AMDs SMT, dann werden wir es sehen. ;)
Ein Thread hat eine fixe Definition. Und die wird sich auch nicht ändern, egal was AMD letztendlich macht. Threads werden weiterhin durch die Programmierung bestimmt. Punkt.
Und jetzt lass langsam mal gut sein, hier noch weiter Halbwissen zu verbreiten. Das haben dir mittlerweile mehrere Leute mehrfach nahegelegt. Da braucht man nicht stur irgendetwas zu zerreden, nur der Rechthaberei wegen. ;)
 
Ein Thread ist eine Teilaufgabe, die ein Programmierer beim Entwickeln des Codes festlegt und mit anderen Teilaufgaben synchronisiert. Ein Programm besteht aber immer mindestens aus einem Thread. Diese Threads werden durch den Windows-Schedular auf die verfügbaren Rechenkerne verteilt - da gibts nichtmal irgendeine Chance für irgendeine Unklarheit. Die einzige Möglichkeit, die Threads auf einem Rechenkern gleichzeitig laufen zu lassen, besteht durch SMT. Reverse SMT würde jetzt einfach keinen Programmierer benötigen, der den Code in Threads aufteilt, sondern einen Thread nehmen und diesen selbsttätig in Hardware aufteilen, um die Recheneinheiten besser auszulasten. Man würde also SMT zwar im Prinzip nutzen mit einer Vorstufe, die die Threadingprogrammierung des Menschen ersetzt. Das wäre der ganze Trick und das ist das, was Schlapp eigentlich meint (denk ich mal). Das könnte ein gangbarer Weg zu einer besseren Auslastung und grösserer Paralellität im Kern selber sein, halte ich aber höchst schwierig umzusetzen, wenn das effektiv sein soll. Wichtiger wäre es eigentlich erstmal, SMT zu nutzen und die Recheneinheiten flexibler zu gestalten, so wie es im BD ja gemacht werden soll.
 
Zuletzt bearbeitet:
@schlapp
[HOT] hat ja eigentlich schon gut erklärt, was ein Thread ist. Ich würde dir wirklich empfehlen, wenn es dich interessiert, tiefer in die Materie einzulesen, anstatt andere für dumm zu verkaufen.

Reverse SMT würde jetzt einfach keinen Programmierer benötigen, der den Code in Threads aufteilt, sondern einen Thread nehmen und diesen selbsttätig in Hardware aufteilen, um die Recheneinheiten besser auszulasten. Man würde also SMT zwar im Prinzip nutzen mit einer Vorstufe, die die Threadingprogrammierung des Menschen ersetzt. Das wäre der ganze Trick und das ist das, was Schlapp eigentlich meint (denk ich mal).
Das ist ja richtig. Nur reden wir dann nicht mehr von SMT. Die Kritik an schlapp bezog sich ja lediglich auf diesen Begriff. Threads in dem Sinne gibt es in Hardware einfach nicht. Die Frage ist letztendlich, wie (Software-)Threads in Hardware abgebildet werden. Und SMT, unabhängig von der Implementierung der Hardware, setzt eben mehrere (Software-)Threads voraus. Das ist bei "Reverse SMT" nicht der Fall.

Man sollte sich diesbezüglich vielleicht einfach mal die Historie etwas genauer anschauen. Der klassische Prozessor besteht aus einem Kern. "Reverse SMT" hat dort also nie Sinn gemacht. Es gibt schliesslich keine weiteren Ressourcen, die ein Thread nutzen könnte. SMT machte allerdings schon Sinn, da mit zusätzlichen Pipelines mehr Threads abgebildet werden konnten. Mit aufkommendem Multi Core, wo ein Kern mehrfach dupliziert wird, hat sich an SMT nichts geändert. Es skaliert einfach nur. Die Notwendigkeit für "Reverse SMT" ist nun aber gegeben, da die Kerne praktisch nie sinnvoll vernetzt wurden. Mit einem Thread liegen also viele Ressourcen brach.
SMT und "Reverse SMT" sind faktisch einfach zwei unterschiedliche Konzepte, die man nicht in einen Topf werfen sollte. Man kann mit dem einen die Zielsetzung des anderen nicht umsetzen. Egal wie man die Technologie letztendlich auch nennt.

Und nach bisherigen Informationen sieht es so aus, dass man sich bei Bulldozer der Zielsetzung von "Reverse SMT" angenommen hat und nicht SMT.
 
Nur mal so eine reine Verständniss Frage. Die Spekulationen drehen sich hier um die These, ob es AMD schafft, dass ein Programm alle Rechenkerne als quasi ein Kern behandelt um sie alle auszulasten ?
 
Und nach bisherigen Informationen sieht es so aus, dass man sich bei Bulldozer der Zielsetzung von "Reverse SMT" angenommen hat und nicht SMT.
Endlich mal wieder was zum Thema :)
Da geb ich auch wieder was zum Besten.
Die neuesten Patente von 2007/2008 gehen wieder in ne andre Richtung.

Erstmal sieht das ganze am Front-End wie SMT aus, man benötigt 2 Software Threads, die teilen sich Fetch & DECoder bis das ganze dann in die FUs kommen.

Dort gibts jetzt 2x2issue INT Cluster und eine FPU.

Wurden 2 Threads eingelesen, werden die beiden Threads "normal" auf die beiden INT Cluster verteilt.
[Exkurs: Sind einem die Cluster egal, und man betrachtet das Ganze nur als eine CPU, kann man in dem Fall von SMT sprechen, 2 Threads teilen sich die Resourcen einer CPU, wobei die beiden Threads aber fest zugeordnete Resourcen haben).

Wenn jetzt nur 1 Thread kommt, dann wird der erstmal nur an INT Cluster 1 geschickt. Cluster 2 dreht Däumchen. In dem Paper steht aber auch was zu spekulativer Ausführung, dazu gibts noch mehr, seperate Patente, die ich noch nicht angesehen habe. Da ist dann wohl davon auszugehen, dass man den 2ten Cluster zur Spekulation nützt. Könnte dann ähnlich wie die Scout Threads bei Suns Rock Prozessor ausschauen.

Unterschied ist dann wieder nur der bereits oben erwähnte, der Scout Thread bei Rock ist ein klassischer SMT-Thread und behindert im schlimmsten Fall den Hauptthread, da er diverse Piplinestufen belegt, bei AMDs Clusteransatz kann einem das nicht passieren.

@daysleeper83:
Ja.

ciao

Alex
 
Richtig, die Diskussion dazu verfolge ich ja auch. Ich denke, man könnte sogar sagen, dass sich die Techniken hervorragend ergänzen. Die CPU wird mit CMT breiter, man braucht also um so mehr einen reverse-SMT-Ansatz um öfter auf volle Auslastung zu kommen. Dank CMT aber sind sich die FUs bei reverse-SMT nicht mehr im Wege, was wohl das grösste Manko an SMT ist. Wenn man da jetzt mit einem flexiblen reverse-SMT-Frontend bedienen könnte wäre das phantastisch, was man damit erreichen könnte auf recht wenig Die-Fläche. Der nächste Schritt wäre dann die totale Integration und das Monster-Frontend. Seit der Einführung des RISC/CISC-Hybriddesigns mit Nexgen/6x86 bzw. AMD K6 und PentiumPro hat sich nicht mehr soviel geändert am CPU-Design.

Btw: Ich finde diese Diskussionen unheimlich spannund und finde es toll, dass hier soviele kreative Koryphäen am Werk sind :d.
 
Zuletzt bearbeitet:
Ziemliches Chaos, so wie ich das mitbekommen habe. Da passt AMD seine Spezifikationen nun schon auf AVX an, und Intel ändert wieder einiges grundlegend. Ich will jetzt nicht gleich von Wettbewerbsverzerrung sprechen, aber das ist nun wirklich ziemlich schwach Intel. :rolleyes:
Na ja, noch dürfte die Entwicklung von Bulldozer nicht abgeschlossen sein. Mal schauen, was sich da noch machen lässt.
 
Ziemliches Chaos, so wie ich das mitbekommen habe. Da passt AMD seine Spezifikationen nun schon auf AVX an, und Intel ändert wieder einiges grundlegend. Ich will jetzt nicht gleich von Wettbewerbsverzerrung sprechen, aber das ist nun wirklich ziemlich schwach Intel. :rolleyes:
Na ja, noch dürfte die Entwicklung von Bulldozer nicht abgeschlossen sein. Mal schauen, was sich da noch machen lässt.

Ich denke der Bulldozer wird gegen den Core i7 konkurrieren, der Phenom 2 konkurriert aktuell gut gegen die Core 2 Quad CPUs, der Bulldozer sollte schon gegen den Core i7 mithalten oder besser werden, AMD hatte schonmal Vorsprung bei den CPUs, hoffen wir das es so wird
 
Schwer zu sagen, wogegen er konkurrieren wird.
 
Ich denke der Bulldozer wird gegen den Core i7 konkurrieren, der Phenom 2 konkurriert aktuell gut gegen die Core 2 Quad CPUs, der Bulldozer sollte schon gegen den Core i7 mithalten oder besser werden, AMD hatte schonmal Vorsprung bei den CPUs, hoffen wir das es so wird
Ich weiss zwar nicht, was das konkret mit dem zitierten Beitrag zu tun hat, aber Bulldozer wird nicht mit Nehalem konkurrieren, falls du das meinst. Dafür sind es 2 zu unterschiedliche Konzepte. Bulldozer wird vermutlich mit der zweiten Generation von Sandy Bridge konkurrieren.
 
Bulldozer wird vermutlich mit der zweiten Generation von Sandy Bridge konkurrieren.

Die Sandy-Bridge-CPUs sollen 300 Prozent mehr Performance pro Watt liefern als aktuelle Core 2 Modelle, die beiden neuen Mikroarchitekturen Nehalem und Sandy Bridge werden parallel von zwei getrennten Teams entwickelt.

Quelle: http://www.tecchannel.de/test_technik/news/467605/idf_neue_mikroarchitektur_sandy_bridge_2010/

Quelle: http://www.computerbase.de/news/hardware/prozessoren/intel/2007/april/idf_gesher_sandy_bridge/

Dann müsste der AMD Bulldozer auch das 3 fache wie ein aktueller Quad bringen....
 
Zuletzt bearbeitet:
Auch wenns wieder OT ist, hast du gründlich gelesen? 3 mal mehr Leistung (pro Watt) als Merom bzw. Core 2-Modelle. Das ist recht allgemein gefasst und klingt anno 2007 eher nach Dual-Cores als zusammengeklebter Quads. Abgesehen davon war das auf 65nm Modelle bezogen.
 
Zuletzt bearbeitet:
@mr.dude:
Ja das AVX Update ist schon ein Witz .. sieht so aus, als ob das mit heißer Nadel gestrickt war, um möglichst schnell was gegen SSE5 zu haben ... danach haben sie wohl festgestellt, dass der Prozessor die 4op instr. wohl nicht so gut verkraftet und es wieder gestrichen ... andres kann ichs mir nicht erklären.

Die Sandy-Bridge-CPUs sollen 300 Prozent mehr Performance pro Watt liefern als aktuelle Core 2 Modelle, die beiden neuen Mikroarchitekturen Nehalem und Sandy Bridge werden parallel von zwei getrennten Teams entwickelt.
Hmm ja, ich denke mr.dude gings um den Umstand, dass die SSE5 Befehle, die jetzt intel-konform u.a. FMA heißen, bei Intel erst mit der 2ten Generation kommen. FMA ist quasi AVX 2.0.
Eventuell kann sich AMD dann doch mit dem alten Intel Ansatz durchsetzen, da sie das frühere Silizium haben, und M$ das dann so unterstützt :fresse:

Dann müsste der AMD Bulldozer auch das 3 fache wie ein aktueller Quad bringen....
Wieso nicht ? Doppelt soviel Kerne bessre IPC .. schon bist Du bei Faktor 3. Das geht schnell ^^

ciao

Alex

P.S: Ja was hat das mit dem zitierten Absatz zu tun .. gute Frage :)
 
Zuletzt bearbeitet:
@duplex
Du hast vermutlich übersehen, dass als Basis der 65 nm Core 2 Duo herhalten musste. Da verblassen 300% ziemlich schnell. Bis Westmere dürften das doch schon fast 250% sein.
 
Zuletzt bearbeitet:
@duplex
Du hast vermutlich übersehen, dass als Basis der 65 nm Core 2 Duo herhalten musste. Da verblassen 300% ziemlich schnell. Bis Westmere dürften das doch schon fast 250% sein.

hab es festgestellt sry, 250% sind auch gut, Westmere soll mit 32nm mehr Cache bekommen, daher wird der auch besser als die aktuellen Core i7. Ich bin auf den Bulldozer und Sandy-Bridge sehr gespannt.
 
Ich habe mir jetzt die Entwicklungen zu AVX mal etwas genauer angeschaut. Vielleicht noch mal eine etwas ausführlichere Zusammenfassung für alle Interessierten.

Grundsätzlich wird es keine SSE5 Implementierung wie geplant in Bulldozer geben. Man adoptiert AVX, um einen einheitlichen Standard zu fördern. Was den Softwareentwicklern, und damit letztendlich dem Markt, natürlich zugute kommt.

Trotzdem wird man die Vorteile von SSE5 nicht verwerfen, sondern als AVX Erweiterung implementieren. AMD fasst diese Erweiterungen unter dem Begriff XOP (extended operations) zusammen. Dazu gehören vor allem Integer und FP16 (half precision) Instruktionen, die bei bisherigen SSE Befehlssatzerweiterungen deutlich zu kurz kamen.

Einen Unterschied gibt es zudem bei FMA (fused multiply/add). Ursprünglich hatte Intel diese Instruktionen mit non-destructive four-operand Syntax spezifiziert. Seit der letzten Revision hingegen ist es eine destructive three-operand Syntax. Da die Entwicklung von Bulldozer aber weitgehend abgeschlossen zu sein scheint, hat sich AMD dazu entschlossen, das aktuelle FMA erstmal wegzulassen, und später, wenn die AVX Spezifikationen stabil sind, nachzureichen. Dennoch wird es natürlich fused multiply/add Instruktionen in Bulldozer geben. Nur werden diese auf den älteren AVX Spezifikationen basieren. AMD nennt dies FMA4 (four-operand FMA) und wird durch ein separates CPUID Bit signalisiert.

Letztendlich gefällt mir ganz gut, was AMD aus dieser doch etwas verfahrenen Situation macht. Die direkte Umstellung auf AVX und die Einarbeitung der bei AVX fehlenden SSE5 Features ist praktisch das Optimum. FMA4 passt auch besser in das Schema der non-destructive Instruktionen als FMA. Bleibt zu hoffen, dass wir in naher Zukunft erste Samples von Bulldozer zu sehen bekommen. Eventuell ja noch dieses Jahr.
 
Heißt das die Befehle von SSE5 werden in AVX oder XOP später integriert? Der Bulldozer soll doch gegen den Intel Sandy Bridge konkurrieren oder wird er doch gegen Intel Westmere (Nehalem shrink 32nm Nachfolger) antreten.
 
XOP ist eine AMD spezifische Erweiterung zu AVX. XOP wird also auch den vollen Umfang der mit AVX eingeführten 256 Bit Register nutzen können. Und XOP soll direkt bei der ersten Bulldozer Generation enthalten sein.

Zu Westmere, nein, der wird noch vor Bulldozer auf dem Markt sein. Bulldozer sollte weiterhin in einem ähnlichen Zeitrahmen wie Sandy Bridge erscheinen.
 
XOP ist eine AMD spezifische Erweiterung zu AVX. XOP wird also auch den vollen Umfang der mit AVX eingeführten 256 Bit Register nutzen können. Und XOP soll direkt bei der ersten Bulldozer Generation enthalten sein.

Zu Westmere, nein, der wird noch vor Bulldozer auf dem Markt sein. Bulldozer sollte weiterhin in einem ähnlichen Zeitrahmen wie Sandy Bridge erscheinen.

ist interessant zu wissen, das AMD zusätzlich eigene Erweiterungen im Design integriert.

AMD wollte eig. den Bulldozer 2009 schon releasen, wurde aber für 2011 verschoben, schade, dann würde jetzt der Core i7 durch den Bulldozer bedroht sein....

Ich hoffe auch das der Leistungsunterschied groß sein wird, AMD wollte ja keine K10 Technologie mehr weiterentwickeln, es muss was neues um zurück zu kommen!
 
Zuletzt bearbeitet:
Wobei der für 2009 geplante Bulldozer wohl nur noch bedingt etwas mit dem aktuellen Bulldozer gemein haben dürfte. Ich finde es eigentlich gar nicht verkehrt, wenn man sich Zeit lässt. Eine gute Mikroarchitektur bzw ein gutes Design schüttelt man nicht einfach so aus dem Ärmel. Das braucht seine Zeit. Und in dieser Zeit muss man auch auf Veränderungen am Markt reagieren. Man sollte sich nur nicht zu viel Zeit lassen. Zwischen ursprünglichen und aktuellen Planungen liegen etwa 1-1,5 Jahre. Das ist noch akzeptabel.

Und zurück ist AMD mit den 45 nm Modellen doch schon. Istanbul sollte für Server ebenfalls ausreichend sein. Die Frage ist vielmehr, was man gegen Intels 32 nm Modelle im nächsten Jahr stellt. Wobei ich nicht davon ausgehe, dass es ähnlich deutlich wie zwischen 2,6 GHz Agena und 3 GHz Yorkfield sein wird.
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

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