|
|||||||
| Portal | Registrieren | Extras | Chat | Benutzerliste | Interessengemeinschaften | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
LinkBack | Themen-Optionen |
|
|
#1 (permalink) |
|
Gold Member
Lieblingsprojekt: Milkyway
Ort: Aachen
Beiträge: 1.546
Für Beiträge bedankt: 12 52 Danke für 7 Themen ![]() ![]() ![]() |
Hi ihr,
vor kurzem hat AMD erste konkrete Details zur kommenden CPU-Generation preisgegeben. Meiner Meinung nach sieht das Teil sehr beeindruckend aus, auch wenn es nicht jeden klassischen Benchmark gewinnen wird. AMD geht hier neue Wege und bereitet sich auf die mittel- bis langfristige Zukunft vor. Was eine x86 CPU bisher alles möglichst schnell bearbeiten können musste: (1) ein thread integer mit "ekligem" code, d.h. vielen Sprüngen, Bedingungen und Verzweigungen (2) viele dieser threads parallel (3) einzelne floating point threads, vielleicht auch mit Verzweigungen und Sprüngen, vielleicht aber auch sehr regelmäßiger, "einfacher" code (4) viele fp-threads parallel, hier dann meist sehr regelmäßiger, "einfacher" code Profil (1) ist das, wofür unsere CPUs traditionell entwickelt wurden. Die Geschwindigkeit hier bestimmt, wie schnell praktisch alle interaktiven Programme auf Nutzereingaben reagieren -> gefühlte Geschwindigkeit. Um hier schnell zu werden, braucht man sehr flexible, clevere und relativ komplexe ALUs (integer-Ausführungseinheiten). Da AMD und Intel damit langjährige Erfahrung haben, kann ihnen hier auch keiner so schnell das Wasser reichen. Für Profil (2) reicht es, möglichst viele der klassischen CPUs parallel arbeiten zu lassen, eventuell unterstützt durch multi-threading innerhalb der Kerne (Hyperthreading bei Intel). In der BOINC-losen Natur kommen solche Profile hauptsächlich bei Servern vor. Profil (3) verlangt nach einer sehr leistungsfähigen FPU (floating point unit), die in doppelter Präzision (64 Bit) rechnen kann. Da man nur einen thread hat, sollte sie möglichst hoch getaktet sein. Passende Anwendungen gibt es wie Sand am Meer. In Profil (4) sind erstens die fp-Operationen parallelisierbar (das ist nicht immer der Fall, je nach zu lösendem Problem und Algorithmus) und zweitens hat auch jemand die Anwendung parallel programmiert. Um das zu realisieren, gibt es verschiedene Möglichkeiten: (I) Die Daten können vektorisiert sein, d.h. der gleiche Befehl kann auf vielen Daten angewendet werden. (I a) Hierfür kann jede FPU verbreitert werden, so dass sie z.B. (momentan) pro Takt 2 64 Bit (oer 4 32 Bit) Daten in die pipeline schicken kann. Intel plant hier, mit neuen SSE-Befehlen auf 256 Bit = 4x64 Bit zu gehen. Anfangs würden hier sicher 2 x 128 bit SSE-Operationen in zwei aufeinaderfolgenden Takten benutzt und so die Befehlsdecodierung effizienter gestaltet werden (wurde bei SSE2 mit 128 Bit auch erst so gemacht), bevor mittelfristig ein 256 Bit-Vektor in einem Takt in die pipeline geschickt wird. (I b) Es könnte eine größere Menge mehr oder weniger unabhängiger FPUs zum Einsatz kommen. Das beißt sich mit dem klassischen CPU-Aufbau und der Befehlsdekodierung. Wenn man das jedoch effizient umsetzt, bekommt man etwas wie die Shader-Prozessoren eines modernen Grafikchips mit vielen FPUs und "rudimentärer" Kontrolllogik, (II) Oder die Abarbeitung kann über mehrere threads parallelisiert werden -> Multicore-CPUs wie wir sie kennen. (I) und (II) können natürlich auch kombiniert werden, wenn es der Programmierer hinbekommt. Und um wieder zum Bulldozer zurückzukommen: da FPUs groß und "teuer" sind, also viel Chipfläche beanspruchen, und weil die Optimierung auf Anwendungsprofil (4) mit klassischen CPUs recht mühsam ist, überlässt man dieses Feld den Grafikkarten, oder besser gesagt zukünftigen Co-Prozessoren. Diese können dann durchaus als Teile in heterogene CPUs integriert werden - wie genau das aussehen wird, ist an dieser Stelle egal. Um das mit einer paar Zahlen zu verdeutlichen: eine aktuelle CPU mit 2 x 64 Bit pro Takt und FPU bei 2 parallel nutzbaren FPUs pro Kern und 4 Kernen ungefähr schafft ungefähr 16 parallel ausgeführte fp-Operationen pro Takt. Ein RV870 schafft mit seinen 320 5D-Shadern pro Takt maximal 640 64 Bit Operationen bei vergleichbarem Stromverbrauch! Deshalb überlässt Bulldozer diesen Bereich den Spezialisten und konzentriert sich auf die Bereiche (1) bis (3). Jeder Bulldozer-Kern verfügt über 4 "Integerpipelines". Was genau AMD damit meint (nur ALUs oder auch AGUs?), ist meines Wissens nach noch nicht klar, aber für Anwendungen aus Bereich (1) soll er deutlich schneller sein als Phenom II (sagt AMD). Der wirklich außergewöhnliche Teil kommt, wenn man die FPUs betrachtet: hier teilen sich 2 eng gekoppelte Kerne 2 FPUs. Ich nehme an, es wird sich um sehr leistungsfähige, breite FPUs handeln, so dass man im Bereich (3) punkten kann. Laufen auf allen Kernen fp-threads, so hat jeder Kern immerhin noch eine dedizierte FPU zur Verfügung. Das ist weniger als in aktuellen CPUs, aber: ein thread lässt normalerweise nicht die Nutzung einer beliebigen Anzahl von parallelen Ausführungseinheiten zu. Im Integer-Bereich erreicht man typischerweise 0.3 bis 1.3 Befehle pro Takt (IPC), selbst mit 3 ALUs und 3 AGUs und 3 dekodierten Befehlen pro Takt (Athlon). Im fp-Bereich sieht es oft besser aus, da der Code regelmäßiger ist und z.B. falsch vorhergesagte Sprünge seltener vorkommen. Aber auch hier gilt: manchmal muss ein thread halt auf Daten aus dem Cache oder RAM warten. In dieser Zeit sollten dem anderen Kern des gekoppelten Paares beide FPUs für 3 (L1 Cache) bis 150 Takte (RAM mit 50 ns Latenz bei einer 3 GHz CPU) zur Verfügung stehen. Man könnte sagen, dass die Kerne sich die FPUs ähnlich teilen wie 2 threads bei Intel durch Hyperthreading (mit dem Unterschied, dass die Kerne im Bulldozer eigene L1 Caches haben). Wir haben jetzt also gesehen, dass Bulldozer im Bereich (1) und (3) stark sein sollte und Bereich (4) zumindest nicht sehr viel schlechter als aktuelle CPUs. Wie sieht's jetzt im Bereich (2) aus? Kurz: Sehr gut! Der Punkt ist, dass Bulldozer die FPUs nur so groß wie nötig auslegt, ALUs aber verhältnismäßig billig (=wenig Transistoren) sind. Dadurch sollte ein Bulldozer Kern-Paar kaum größer werden als ein jetziger Phenom II-Kern. Dadurch kann man bei vergleichbarem Stromverbrauch locker die doppelte Anzahl an Kernen in's Rennen werfen und im Anwendungsbereich (2) richtig abräumen! Intel gewinnt hier bei typischen Serveranwenungen durch HT respektable ~30% Geschwindigkeit. Ein Bulldozer Kern-Paar sollte dagegen auf 80 - 90% der Geschwindigkeit eines einzelnen Kerns kommen. Insgesamt ist man also für die Anwendungsbereiche (1), (2) und (3) (vorraussichtlich) hervorragend aufgestellt, versucht dafür aber gar nicht erst, in Gebiet (4), den massiv-parallelen fp-Anwendungen, mitzuhalten. Die CPU wird dafür ausgelegt, dass diese Anwendungen von genau auf diesen Zweck ausgelegter spezialisierter Hardware übernommen werden. Und wie uns die aktuellen Grafikchips zeigen, könnte das auch schon heute Realität sein - wenn da nicht die Hürde der Programmierung wäre. Das ist allerdings ein ganz grundlegendes Problem, das die gesamte Industrie betrifft: wenn ich effizient werden will, brauche ich spezialisierte Hardware. Aber wie programmiere ich die ohne riesigen Aufwand (ala CELL)? Für BOINC sieht der Bulldozer also aufgrund der zurückhaltenden FPU-Bestückung eher uninteressant aus, es sei denn man rechnet nur ABC. Ich finde das Design aber trotzdem.. wegweisend ![]() Gruß, MrS
__________________
ExtraTerrestrial Apes - Scanning for our furry friends since Jan 2002 |
|
|
|
| Folgende 24 Benutzer sagen Danke zu [ETA]MrSpadge für den nützlichen Beitrag: |
aendgraend (07.12.2009), AgentSchatten (05.12.2009), akl (27.08.2010), Ardruin@WCG (04.09.2010), Arkturus (27.08.2010), BiancaW (05.12.2009), CR62 (30.08.2010), Dominik S. (05.12.2009), Dude (05.12.2009), GER_Moki (05.12.2009), Grubix (05.12.2009), Hoshione (08.12.2009), Lord Crazy Ivan (07.12.2009), lost68er (12.09.2010), Major (05.12.2009), Nullinger (27.08.2010), PoHeDa (05.12.2009), Priester (05.12.2009), proteino.de (08.12.2009), schensi (05.12.2009), SDI (06.12.2009), SoEinWahnsinn (06.12.2009), taurec (06.12.2009), Vec (05.12.2009)
|
|
|
#3 (permalink) |
|
BOINC Maniac
Lieblingsprojekt: ABC, SIMAP, WCG
Ort: in the near of Berlin
Beiträge: 905
Für Beiträge bedankt: 15 6 Danke für 1 Thema ![]() |
Danke für den umfassenden Beitrag!
AMDs Ziele klingen recht interessant. Bis dahin vergeht aber noch reichlich Zeit und ich warte sehnsüchtig auf den Phenom X6 für AM3. Die seit Monaten erhältliche Alternative auf Dual-Sockel-Servermainboard kostet mir selbst bei nur einem 2.2-GHz-Prozessor irgendwie doch noch etwas zu viel, zumal man dafür meist auch noch ECC-RAM benötigt. Die Auswahl ist da bis heute nicht wirklich groß und man kann nur bei wenigen Anbietern überhaupt derartige Sachen bestellen, ohne dabei ein lautes 19"-Zoll-Komplettsystem erwerben zu müssen. Ähnlich wird es sicherlich auch dann wieder aussehen: die ersten Monate werden nur ein paar Hersteller wie Dell etc. reine Serverlösungen anbieten. Im Desktopbereich wird der Bulldozer dann vermutlich auch erst wieder 1 Jahr später ankommen ... |
|
|
|
|
|
#4 (permalink) |
|
Gold Member
Lieblingsprojekt: Milkyway
Ort: Aachen
Beiträge: 1.546
Für Beiträge bedankt: 12 52 Danke für 7 Themen ![]() ![]() ![]() |
Vor kurzem hat AMD neue Details zum Bulldozer rausgerückt: link @ Anandtech
Einiges hat sich bestätigt, neues ist hinzugekommen und ich glaube, grundlegend geändert hat sich nichts. In einem Bulldozer-Modul werden 2 "Integer-Kerne" stecken, die dem Betriebssystem auch als 2 erscheinen und die sich 2 128 Bit FPUs teilen. Ein Chip wird anfangs aus bis zu 4 Modulen bestehen, für Server wird's auch 2 davon in einem Gehäuse geben. Das sind dann die "16 Kerne", die schon in roadmaps auftauchten. AMD hat wirklich sehr viel geändert, so dass man ihn im Gegensatz zu K8 und K10 (Athlon 64, Phenom) tatsächlich als komplette Neuentwicklung bezeichnen kann. Selbst die L1 Caches, die seit dem Ur-Athlon (K7, 250 nm Technologie, Slot A, 512k externer L2 cache, 500 - 700 MHz) unverändert waren, hat AMD angefasst: die beiden Kerne eines Bulldozer-Moduls haben jeweils eigene 16 kB L1 Daten-Caches. Für Befehle sind weiterhin insgesamt 64 kB zuständig. Dazu kommt ein L2 pro Modul (vermutlich 512 kB) und bei Bedarf ein L3 für den gesamten Chip. Eine neue Information ist, dass der Schritt von einem auf 2 Integer-Kerne pro Modul das Modul gerade mal um 12% vergrößert hat. D.h. das ist etwas, das man sich durchaus leisten kann. Beim Northwood P4 hatte Intel eine Vergrößerung um 5% für Hyper Threading angegeben. Die FP-Ausführungseinheiten in einem Modul scheinen denen des Phenom II zu entsprechen. D.h. im schlechtesten Fall wird ein Bulldozer-Modul hier pro Takt genauso schnell sein. Es sollte in multi-thread FP Code aber auch oft der Fall sein, dass die Einheiten durch die 2 Threads pro Modul besser ausgenutzt werden können. Unter'm Strich sollte sich ein Bulldozer-Modul hier wie ein (imaginärer) Phenom II mit Hyper Threading verhalten. Die Integer-Einheiten pro Kern werden auf den oberflächlichen Bildern gern als 4 dargestellt. Schaut man genauer hin, sieht man, dass es sich um 2 ALUs (Integer-Ausführungseinheiten) und 2 AGUs (adress generation units) handelt. Seit dem K7 hatte AMD hier 6 Einheiten zur Verfügung: 3 ALUs und 3 AGUs, wovon maximal 3 pro Takt benutzt werden konnten. Ein einzelner Kern ist hier also nominell erstmal schwächer als bisher. Allerdings gibt AMDs an, dass die 3. AGU kaum benutzt werden konnte und die 3. ALU relativ selten. Daher will man mit 2 & 2 Einheiten und Verbesserungen an anderen Stellen unter'm Strich trotzdem schneller werden. Zum Beispiel kann der Befehlsdecoder für beide Kerne jetzt 4 Befehle pro Takt losschicken (wie Intel) stat vorher 3. Davon können alle 4 zu einem thread (-> zu einem Kern) gehören. Außerdem kann AMD jetzt auch einige Befehle zu einem zusammenfassen und als einen weiter durch den Chip schicken. Dadurch kann die hardware manchmal effektiv "breiter" werden als die 4 Befehle pro Takt. Intel macht das schon seit dem ersten Pentium M und fügt eigentlich mit jeder neuen Generation ein paar neue Befehle hinzu, für die das geht. Für einen einzelnen Integer thread ist der Bulldozer also etwas schwächer als die jetzigen i7 aufgestellt: 2 ALUs, 2 AGUs und 4+ Befehle Pro Takt. Intel bietet hier 3 ALUs, 3 AGUs und ebenfalls 4+ Befehle pro Takt. Interessant wird es jetzt, wenn ein Bulldozer-Modul an 2 threads arbeiten kann: jetzt stehen den threads insgesamt 4 ALUs und 4 AGUs zur Verfügung, während sie sich beim i7 die gleichen Einheiten wie vorher teilen müssen. Hinzu kommen bei AMD die FP-Einheiten, während beim i7 die 3 Ausführungseinheiten entweder integer oder FP ausführen können. Das sollte gerade im Server-Bereich eine ziemlich harte Nuss für Intel werden! Also mir gefällt der Bulldozer und ich bin gespannt, was er in der Praxis wird leisten können. Auch wenn er kein FP-Monster wird ![]() Edit: unter der Haube des Nehalem / Core ix MrS
__________________
ExtraTerrestrial Apes - Scanning for our furry friends since Jan 2002 |
|
|
|
|
|
#5 (permalink) |
|
Junior Member
|
not before next year?? (Bulldozer) Zambezi ohne GPU bei AMD soll doch erst Mitte nächtstes Jahr erscheinen und LLano (32 Nanometer-Prozessor mit GPU "K10-Architektur") soll (Konjunktiv) "bald" erhältlich sein? Bis dahin hat wohl "Sandy Bridge" die Nase vorn
isn´t it?
|
|
|
|
|
|
#6 (permalink) |
|
Junior Member
|
Tag Leute,
mal sehen, ob AMD den Sprung zurück an die Spitze schafft. Wenn man sich überlegt, wie überlegen AMD-CPUs gegenüber Intel-CPUs vor einigen Jahren noch gewesen sind, und die heutige Situation betrachtet, isses ja echt fast schon zum Heulen ;-) Gruß, Marcel
__________________
"Zwei Dinge erfüllen das Gemüt mit immer neuer und zunehmender Bewunderung und Ehrfurcht, je öfter und anhaltender sich das Nachdenken damit beschäftigt: Der gestirnte Himmel über mir und das moralische Gesetz in mir", Immanuel Kant |
|
|
|
|
|
#7 (permalink) |
|
Gold Member
Lieblingsprojekt: Milkyway
Ort: Aachen
Beiträge: 1.546
Für Beiträge bedankt: 12 52 Danke für 7 Themen ![]() ![]() ![]() |
Jep, AMD hat sich noch nicht festgelegt, in welchem Halbjahr von 2011 der Bulldozer kommt. Deshalb gab's jetzt auch erstmal "nur" Architektur statt Chips zu sehen. Sandy Bridge wird bis dahin da sein - allerdings sollte man von ihm keine zu großen Sprünge erwarten, solange die 256 Bit AVX-Befehle nicht genutzt werden. Dafür ist der Nehalem einfach schon zu gut
![]() Und was ich noch vergessen hab: Bulldozer wird auch Kerne komplett abschalten können, also von der spannungsversorgung abklemmen, so dass kein Leckstrom mehr fließen kann. Durch diese Maßnahme kommt der i7 zu seiner überragenden Leistungseffizienz im Leelauf und Teillastbereich - sehr wichtig für alle nicht-BOINC'er, Server und notebooks. Außerdem will man das halbwegs nutzlose "Trubo Core" ordentlich aufgebohrt haben, so dass es wesentlich näher an Intels Turbo Mode rankommt. Ich würde sagen, das ist heutzutage fast schon eine Grundvorraussetzung für ne gute CPU mit mehreren Kernen und nicht genau festgelegter Software! MrS
__________________
ExtraTerrestrial Apes - Scanning for our furry friends since Jan 2002 |
|
|
|
|
|
#8 (permalink) | |
|
Junior Member
|
Zitat:
|
|
|
|
|
|
|
#9 (permalink) |
|
Gold Member
Lieblingsprojekt: Milkyway
Ort: Aachen
Beiträge: 1.546
Für Beiträge bedankt: 12 52 Danke für 7 Themen ![]() ![]() ![]() |
Was meinst du damit? Genau so machen es die OS doch schon seit langem. Die einzelnen Threads können sie allerdings nicht aufteilen, das ist mit heutigen CPUs unmöglich. Das kann ja nicht mal der Compiler, der den Quellcode vor der Nase hat
![]() EDIT Oder genauer: er kann's nicht mit beliebigem Code. MrS
__________________
ExtraTerrestrial Apes - Scanning for our furry friends since Jan 2002 |
|
|
|
![]() |
| Stichworte |
| bulldozer |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| DX11 - neue Grafikkarten-Generation im Anmarsch... | McCarron | Hardware - Probleme, Tuning, Benchmark usw. | 44 | 04.11.2009 23:05 |
| Top-Thema: Das DC-Team der nächsten Generation | plat | Das Hauptforum | 367 | 29.01.2009 07:14 |
| Frische Oger der nächsten Generation | Saenger | Yoyo | 11 | 18.01.2009 14:08 |
| Neue CPU-Generation von Intel | Terminator | Hardware - Probleme, Tuning, Benchmark usw. | 7 | 07.09.2007 00:33 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 Uhr.



![[ETA]MrSpadge ist ein sehr geschätzer Mensch](http://www.seti-germany.de/forum/images/reputation/reputation_pos.gif)














isn´t it?



