AW: Bulldozer zu spät? Gerüchte mehren sich
Moin zusammen
ich verfolge die Informationen zur neuen AMD Bulldozer Architektur nun schon eine ganze weile, da ich bei mir den nun schon über 3 Jahre laufenden Intel Q6600 adäquat aufrüsten möchte. Grundsätzlich sehe ich es dabei so, dass die Designidee die AMD mit dem BD verfolgt ein logischer Schritt ist um die Performance einer Desktop oder Server CPU zu beschleunigen und dabei die Kosten und den Stromverbrauch unter heutigen Gesichtspunkten im erträglichen Maß zu halten. Um zu erklären, warum ich das so sehe, möchte ich ein wenig in die Vergangenheit abschweifen.
Bis Ende der 80´er Anfang der 90´er Jahre war der reine Kernvergleich einer CPU noch vollkommen in Ordnung, da der Aufbau einer CPU klassischen Struktur aus Befehlsregister, Steuerwerk und "Integer"-Rechenwerk entsprach. In einigen Fällen gesellte sich dazu ein Co-Prozessor für die Floating-Point-Arithmetik, was die Berechnung von nicht Ganzzahligen Werten erheblich beschleunigte. Die Performance einer CPU ließ sich in der Regel dadurch ableiten, wie viele Takte für eine Berechnung benötigt wurde und wie schnell die CPU getaktet war. Hierbei war zu der Zeit der CPU-Takt auch noch gleich dem BUS-Takt auf dem ganzen Rechnersystem, abgesehen von externen Schnittstellen. Frühzeitig gesellten sich zu der CPU noch diverse Caches um CPU-Externe zugriffe, z.B. auf den Arbeitsspeicher oder auf den Co-Prozessor, zu beschleunigen. Die Gleichheit des CPU-Taktes zum BUS-Takt wurde im weiteren Verlauf der Geschichte aufgehoben , wobei sich dich dann das BUS-System beim Zugriff auf bestimmte Caches und den Co-Prozessor als Flaschenhals erwies. Die logische Konsequenz war, das der Co-Prozessor als Floating-Point-Unit und der L2-Cache mit auf den Die der CPU integriert wurde und somit für alle Systeme auf dem Die untereinander mit dem CPU-Takt kommunizieren und im CPU-Takt die Berechnungen verarbeiten konnten. Selbst mit weiteren danach eingeführten Verbesserungen wie zusätzlichen "Spezial-Einheiten" wie MMX und deren Nachfolgern sowie die Einführung einer Pipeline bei der Berechnung konnte man die Performance einer CPU immer noch an dem CPU-Takt und Anzahl der Takte pro Berechnung fest machen. Dies galt jedoch immer mehr nur für die reine Single-Thread-Verarbeitung. Bei der seit Mitte der 90´er immer mehr aufkommenden Multi-Thread-Verarbeitung erwiesen sich bestimmte Verbesserungen, da sich unter anderem der CPU-Takt sich nicht wie gewünscht steigern ließ, als hinderlich. Im Fall des Pentium 4 war es die zu lange unflexible Pipeline, die ihn bei Multi-Thread-Anwendungen deutlich hinter die damaligen AMD Prozessoren mit den kürzeren flexibleren Pipelines und effizienteren Befehlen zurückfallen ließ. Der Pentium 4 war dabei für ganz andere Taktfrequenzen designt worden und sollte ursprünglich Richtung Mitte 2000 einen Takt von 10 GHz erreichen. Schnell war jedoch im Verlauf der Geschichte klar, dass Intel sich hier verzettelt hatte und Taktraten über 4 GHz bei preislich vertretbaren Kühlungen nicht möglich war und der Stromverbrauch ins unermessliche stieg. AMD war zu der Zeit mit seiner Architektur besser aufgestellt, da ihnen ähnliche Taktraten möglich waren und die AMD-Architektur bei Multi-Threading- Verarbeitung flexibler und effizienter, oder einfach besser, war. Den "Makel" konnte Intel nur mit einer "Rolle Rückwärts" zur für Notebooks entwickelten Core-Architektur lösen, was dann aber die Marketing-Leute von Intel vor Probleme stellte, die gerade die Taktzahlen als Index für die Geschwindigkeit eines Prozessors beworben hatten. Ein "Centrino"-Prozessor (Centrino stand für einem Gesamtsystem eines Notebooks aus Prozessor, Chipsatz, Grafikeinheit und WLAN-Karte. Daher der Begriff Centrino in Hochkommatas) mit 1,6 GHz war nun ähnlich schnell im Multi-Threading Bereich wie ein 3 GHz Pentium 4.
Da sich nun ca. 4 GHz als Grenze für die Taktrate bei einer einfachen Luftkühlung und vertretbaren Stromverbrauch darstellte und die einzelnen "Prozessoren" schon recht effizient und flexibel bei Multithreading waren, war der nächste Verbesserungsschritt, neben der Einführung der 64Bit-Architektur, das man in ein System mehrere Prozessoren verbaute, wie es schon frühzeitig in der PC-Geschichte bei Servern und später bei Workstations üblich war. Des weiteren wurden dabei dann auch eingebracht, die einem Physischen Prozessor-Kern einen "Virtuellen" Prozessorkern zur Seite stellen um sich Latenzzeiten zunutze zu machen und auf einen Kern zwei Threads "gleichzeitig" verarbeiten zu können. Bei der Vermehrfachung der Prozessoren wurden jedoch immer ganze Systeme aus Befehlsregister, Steuerwerk, Rechenwerk, Co-Prozessor, Zusatzeinheiten wie MMX, SSE 1-4 und so weiter mehrfach geklont und auf ein Prozessor-Die oder Tray verbaut.
AMD geht hier nun mit der Bulldozer-Architektur nun wie bereits einleitend gesagt einen neuen Weg, den ich bei vielen zukünftigen Designs sogar noch verstärkt erwarte. Es werden nicht mehr vollständige "Kerne" wie wir sie bisher kannten verbaut , sondern es werden nur Teilbereiche mehrfach verbaut und andere Komponenten und Funktionen werden geteilt. Der gedankliche Ansatz für ein solches Design besteht darin, dass ein Thread nicht oder selten alle Funktionen einer bis daher bekannten CPU benötigen. Es werden daher nicht alle Bereiche im gleichen Maße vermehrfacht, sondern in unterschiedlichen Mengen auf ein "Modul" zusammengefasst, auf dem dann jede einzelne bisher aus einer CPU bekannten Komponente mindestens einmal vorhanden ist. Das ganze muss dabei in der Balance sein und sich an der Typischerweise genutzten Software und deren Ressourcenverbrauch orientieren um eine Leistungssteigerung zu erreichen.
Argumentativ bekommt man bei diesem Ansatz natürlich bei dem Begriff "Prozessorkern" wie wir ihn bisher gebraucht haben ein Problem. Ein Bulldozer-Modul ist mehr als ein Kern, jedoch weniger als 2 Kerne nach heutiger Sicht. Er kann jedoch 2 Threads echt parallel verarbeiten und nicht nur virtuell wie z.B. bei HyperThreading. Er verhält sich quasi wie ein echter 2 Kern-Prozessor, ist es jedoch zum Teil auch nicht, weil sich Komponenten geteilt werden müssen. AMD spricht daher bei der Angabe der Performance eines Bulldozer-Moduls auf den mir bekannten Veröffentlichungen daher davon, dass ein Bulldozer-Modul 80% der Performance eines virtuellen 2 Kern Bulldozer erreicht, bei dem alle Komponenten einmal vorhanden sind. man erreicht somit bei kleinerer Fläche und weniger Stromverbrauch annähernd die gleiche Leistung eines "echten" 2-Kern Prozessors. Wobei dieser Vergleich von AMD auch hinkt. Bei Paraellelen Threads die von allen Komponenten Gebrauch machen annähernd nur die Geschwindigkeit von einem Vergleichbaren Kern übrig bleibt, und in anderen Fällen wo nur ein Thread eventuell alles benötigt sogar annähernd eine Verdoppelung der Geschwindigkeit gegenüber einem Kern zu erwarten ist und man sich somit auf dem Niveau eines 2-Kern Prozessors bewegt. Es kommt hiermit sehr stark auf die eingesetzte Software an und welche Art man von Software man parallel nutzt. Es bleibt dabei dann auch abzuwarten, in wie weit sich die verlängerten Pipelines bei der dieser Architektur negativ bemerkbar machen, die bei höheren Frequenzen sicherer bei der Verarbeitung der Befehle sind, oder ob dieser Nachteil der P4-Architektur durch die massive Parallel-Verarbeitung kompensiert wird.
Der Ansatz den AMD hier betreibt ist daher aus meiner Sicht genau der Richtige und Zukunftsweisende Ansatz, wenn man dann auch ein wenig über den Tellerrand einer CPU hinwegsieht und GPGPU-Recheneinheiten bei bestimmten Server mit in die Gedanken mit einbezieht. Die Performance einer Heutigen CPU kann daher nicht mehr rein damit angegeben werden, wie viel Berechnungen man pro Takt erzielt und Takte für einen Rechenschritt nötig sind, sondern wie viel Takte für ein Ergebnis nötig sind und wie viele Ergebnisse parallel zur Verfügung stehen. Das ganze muss dabei dann jedoch auch noch in Relation zu der genutzten Die-Fläche und dem Stromverbrauch gesetzt werden. Klar könnte man nun auch die Strukturen verkleinern, was natürlich auch die Die-Fläche Verkleinert und den Stromverbrauch reduziert. Aber eine Strukturverkleinerung wird zunehmend immer komplizierter und hat auch irgendwann ein Ende. Somit steht AMD mit Bulldozer aus meiner Sicht recht gut da und hat aus meiner Sicht den zukunftsweisenden Architekturansatz erstellt, den auch Intel über kurz oder lang gehen muss. Wobei es dabei auch Zukünftig auf die Software ankommen wird und wie ein Rechner genutzt wird. Ein einzelner Thread wird bei der Bearbeitung kaum noch an Geschwindigkeit zulegen können nur sehr viele parallel laufende Threads erfahren einen Geschwindigkeitsschub mit solchen Prozessor "Monstern" wie Bulldozer oder Sandy-Bridge. Vielleicht gibt es jedoch zukünftig immer mehr Software auf den heimischen PC, die nur sehr wenige Threads benötigen (siehe z.B. IPhone 1 das nur einen User-Thread ausführen kann). Vielleicht sieht die Zukunft auch so aus, das alles nur noch extern auf Servern berechnet wird und man Zuhause nur noch ein "Anzeigegerät" ("dummen" Terminal) stehen hat.
Aus heutiger Sicht sehe ich es jedoch so, dass der Zambezi mit seiner AMD-Bulldozer Architektur das System ist, was meinen Intel Q6600 ersetzen wird, da er aus meiner Sicht unter den heutigen Ansprüchen durchdachter ist. Klar brennt es dabei einen eingefleischten Bastler wie mich unter den Nägeln und man möchte ein System so früh wie Möglich neu zusammenstellen. Aber auch halt die Kosten und den Nutzen sollte man dabei nie außer Acht lassen. Klar bekommt man heute schon Systeme die schneller als der Q6600 sind und wenn man sich heute einen Prozessor kauft gibt es Morgen schon einen schnelleren. Ich hoffe das der Zambezi noch im Juni kommen wird, jedoch kann ich auch noch mit einem späteren Release leben. Man kann niemals über einen längeren Zeitraum das Beste haben, sondern es kommt immer einer mit einem noch besseren System daher. Der Zeitpunkt wann man sich entscheidet und wie man sich entscheidet ist der wichtige.
Ich habe mich dazu entschieden, das ich dies Jahr meinen Rechner mit AMD-Zambezi aufrüsten werde und da bin ich voll noch im Zeitraum, selbst wenn sich der Release-Termin noch verschieben sollte. Wobei dies aus meiner Sicht noch nicht einmal so klar ist, da bei den ganzen "Gerüchten" zur Verschiebung auch immer von anderen Bezeichnungen für die Prozessoren gesprochen werden, als die die ursprünglich für den Release im Juni genannt waren.
Es bleibt daher nur abzuwarten was kommt und für den einen oder anderen auch wann er kommt. Eine Entscheidung wird jeder treffen müssen. Bleibe ich bei meinem System was ich habe, hol ich mir ein Intel oder AMD Prozessor und so weiter. Keiner wird dabei die falsche Entscheidung treffen, außer er lässt sich die Entscheidung von anderen abnehmen. Jeder entscheidet sich aus dem Moment unter bestimmten Voraussetzungen heraus. Daher ist es erst einmal zum Glück egal, da es eine Kongruenz gibt, ob man sich für Intel oder AMD entscheidet. Es kommt nur darauf an, welcher der Richtige Prozessor für einen selbst ist und da zählt nicht immer die reine Marketing oder in einem Synthetischen Benchmark errechnete Performance, sondern auch immer der Preis den man ausgeben möchte und wie viel Performance man bei der täglichen Nutzung unter seinen Anwendungen erreichen kann.
Also warten wir einfach ab, welche neuen Gerüchte bis zum Offiziellen Statement zum Release von AMD noch erscheinen und wann Release-Termin nun endlich sein wird.
Gruß
Napo