ProzessorgeflĂĽster

Sommerzeit, samt Regenwetter und wenig Neuigkeiten zu den Prozessoren – da kann man ja mal einen ferneren Blick auf die Vektorerweiterungen zukünftiger Prozessoren werfen, zumal die hierfür wichtige Konferenz, die Siggraph 2009, vor der Tür steht.

vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 6 Min.
Von
  • Andreas Stiller

Bei der 256-bittigen Advanced Vector Extension AVX für Intels nächste Prozessorgeneration läuft alles nach bewährtem Muster ab. Schon lange vor der Einführung stellte Intel bei dieser für Allzweckprozessoren gedachten Erweiterung, ebenso wie einst bei MMX und SSE, die grundlegende Architektur und den kompletten Instruktionssatz vor, samt Emulator und Tools. Trickreich und mächtig ist bei AVX das Kodier-Schema mit dem VEX-Prefix, das bis zu fünf Operanden Platz bietet und das dank einer Art Komprimierung sogar einige alte SSE-Befehle etwas zu verkürzen vermag.

Als AVX auf dem IDF in Schanghai im April 2008 offiziell das Licht der Welt erblickte, fand man noch am selben Tag die komplette Dokumentation auf der Intel-Website beziehungsweise auf der dafür neu gegründeten „Visual Adrenaline“. Kurze Zeit später folgte Intels Software Development Emulator, sodass man mit den Assembler-Erweiterungen für GAS, YASM und NASM sowie C-Intrinsics schon richtig loslegen konnte. Mit den neuen Intel-11.1- und den noch in Entwicklung befindlichen GCC-4.4-Compilern (ab Revision 143117) kann man nun auch direkt für AVX optimiert kompilieren und den Code über den Emulator ausprobieren.

Nichts von alledem bei Larrabee, der zwar ein Jahr früher als AVX-Prozessoren kommen, dessen Programmierung aber den Spezialisten vorbehalten bleiben soll. So gab es zwar für Grafiksoftware- und Spieleentwickler und für die ein oder andere Uni schon eine Beta-Version des Entwicklungssystems, aber für die Öffentlichkeit nur ein paar Brosamen. Nach einem groben Überblick auf der Siggraph 2008 gaben die Larrebee-Architekten Tom Forsyth und Michael Abrash im Frühjahr auf der Game Developer Conference in San Francisco einen ersten Eindruck vom neuen Larrebee-Instruktionssatz (LRBni), unter anderem mit Code-Beispielen zum unverwüstlichen Apfelmännchen. Bei dieser Gelegenheit wurden denn auch ein paar kleinere Details festgeklopft, die vorher nur vage durchgedrungen waren, etwa die Zahl der Vektor-Register mit 32. Man erfuhr auch, dass die VPU als Datentypen nur int32, float32 und float64 verarbeitet, alle entsprechend in die 512 Bit breiten Register gepackt. Allerdings gibt es leistungsfähige Befehle, die beim Laden und Speichern in die anderen DirectX/OpenGL-Datentypen wandeln können. Hinzugekommen sind ferner nützliche Bit-Einschieb-, Lösch- und Interleave-Befehle. Auf Intels Website fand man dann immerhin eine C++ Larrabee Prototype Library, mit der man schon mal mit den Larrabee-Intrinsics spielen kann. Die Befehle werden dabei mit Hilfe der SSE-Einheit emuliert.

Doch statt nun endlich die komplette Dokumentation über den Instruktionssatz auf die Website zu bringen, schrieb Michael Abrash einen „First-Look“-Artikel in Dr. Dobb’s. Okay, wenn es Intels neue Strategie ist, die Chip-Dokumentationen über Zeitschriften zu veröffentlichen, kann uns das ja nur Recht sein. Immerhin führt Intels Sergey-Bubka-Taktik dazu, dass man auf allen Konferenzen die Latte etwas höher hängen und mit ein paar weiteren Neuigkeiten brillieren kann – so stehen „SIMD Programming with Larrabee“ und „Preparing for Larrabee“ auch auf der Tagesordnung der nächsten Siggraph 2009, die Anfang August in New Orleans stattfindet.

AMD wird sich sicherlich mit Intel einigen und AVX für die nächste Prozessorgeneration namens Bulldozer übernehmen. Ob dieser dabei wirklich mit 256 Bit breiten Registern arbeiten oder AVX auf zweimal 128 Bit aufteilen wird, ist noch unklar. Ähnlich hatte AMD ja bei SSE auch zunächst mit zwei 64-Bit-Happen gearbeitet und erst mit dem K10 auf volle 128 Bit Breite ausgedehnt. AMD überlegt derzeit zudem, ob man die ursprünglich geplante – und komplett veröffentlichte – eigene 128-bittige SSE5-Erweiterung zusätzlich anbieten soll. Der Aufwand wäre gering, der Nutzen aber vermutlich auch.

Sandy Bridge, so der Intel-Codename der ersten Prozessorgeneration mit AVX, der fürs erste Quartal 2011 eingeplant ist, soll nach Darlegung der französischen Website CanardPC im Juni Tapeout gefeiert haben. Die Enten-PCler veröffentlichten auch schon ein – wenn auch recht unscharfes – Die-Foto, das vier Kerne (3 bis 3,8 GHz Takt, 256 KByte L2) einen Grafikkern (mit 1 bis 1,4 GHz) und 8 MByte L3-Cache mit Ring-Architektur sowie die Northbridge mit PCIe 2.0 zeigt. Doch ein paar Tage später verschwand es wieder von der Website …

Sandy Bridge wird aber wohl mit einem abgespeckten AVX-Satz ins Rennen gehen. Ausgerechnet der mächtigste Befehl, Fused Multiply Add (FMA) mit vier Operanden, wird ihm, so wie es ausschaut, fehlen. Und seine 256 Bit breiten Register bieten auch nicht nur Vorteile, jedenfalls in der Übergangsphase. Alter SSE-Code wird nämlich zumeist langsamer laufen und insbesondere der Mischbetrieb von 128- und 256-Bit-Befehlen dürfte mit Performance-Verlusten kämpfen. Sollte AMD tatsächlich etwa zeitgleich den Bulldozer auf den Markt bringen, könnte der in Bezug auf Altsoftware und gesegnet mit FMA dem Sandy Bridge vielleicht sogar überlegen sein.

Und zunehmend wirds für den Benutzer immer schwerer zu entscheiden, welchen Prozessor er nun braucht. Der eine kann dies und das, aber jenes nicht, der andere hat hier große Nachteile, kann da allerdings brillieren und so weiter. Und wie viele Kerne sind denn nun überhaupt sinnvoll? AMDs Marketing-Chef Ian McNaughton hat diese Verunsicherung in seinem Blog aufgenommen: „Finding the Processor that fits you“. Für Spiele allein – so McNaughton – reichen meist zwei Kerne. Da dürfte er Recht haben, denn viele Spiele können derzeit mit vielen Kernen wenig anfangen. Ein schneller getakteter Zweikerner ist oftmals einem langsameren Vierkerner überlegen.

Apropos Takt: In einem anderen Blog-Beitrag kann man McNaughton zusehen, wie er eine spezielle Phenom-TWKR-Version mit flüssigem Stickstoff traktiert und den Takt auf 6,2 GHz hochzwiebelt, versehen mit dem Hinweis „Bitte nicht zu Hause nachmachen“. Den aktuellen Übertakter-Rekord halten übrigens Mitarbeiter der oben erwähnten CanardPC-Website mit 7 GHz. (as)