ARCHIV 1999-2006

ARCHIV :: # 2207

IBM spricht über den Power970

Eine Menge interessanter Infos

Autor: kai - Datum: 22.07.2003

John "Hannibal" Stokes, der CPU-Spezialist von Ars Technica hat wieder was sehr sehr feines für uns: Ein Interview mit zwei IBM-Mitarbeitern über den P970, und zwar nicht irgendwer, sondern Peter Sandon, der "Vater" des P970 und David Edelsohn, der für Compiler und Optimierung für den P970 aka G5 zuständig ist.
Hier die wichtigsten Highlights zusammengefasst: 1) Mysteriöse Pipelinestages: Die Fetch/Decode-Pipeline des P970 ist einen Stage länger als die des Power4. Peter Sandon bestätigt, dass diese aus Cache-Timing-Gründen eingefügt wurde. Desweiteren gibt es jeweils eine extra Stage vor und nach der Altivec-Einheit. Hannibal vermutete, dass dies damit zu tun hat, dass die Altivec-Einheit auf dem Chip zu weit weg ist und dass die Stage aus Timing-Gründen eingefügt wurde damit das Signal Zeit hat, sich über den ganzen Chip zu verteilen (der Pentium4 verwendet solche Stages, von Intel "Drive-Stages" genannt!). Wie Mr.Sandon bestätigt wurde es aus Timing-Gründen getan, aber nicht wegen des Weges, den das Signal zurücklegt sondern wegen der doppelt so breiten (im Vergleich zu den nicht-Vektor-Registern) Register.

2) Die VMX/Altivec-Einheit: Sie ist ein gutes Stück besser als von Hannibal in seiner prä-WWDC P970-Analyse vermutet: Es können nicht nur 2 Vektor-Instruktionen pro Zyklus an die zwei Vector-Issue-Queues für maximal 3 der 4 Units dispatched werden sondern deren vier, in einer x-beliebigen Kombination, hier das überarbeitete Diagramm.
Die Altivec-Einheit des G4e zwar ist immer noch besser, da sie überhaupt nicht mehr zwischen Permutes und ALU-Instruktionen unterscheidet, aber der P970 wird dadurch erheblich besser geeignet für Altivec als ursprünglich vermutet. Warum IBM eine Altivec-Unit verwendet, die der des originalen G4 eher ähnelt als Motorolas Aktueller ist übrigens wohl leicht zu beantworten ohne gross rätseln zu müssen (Hannibal stellt eine entsprechende Frage): IBM und Motorola haben schliesslich den 7400 noch zusammen designt und dann trennten sich erst die Wege. IBM hatte also die Pläne für die Altivec-Implementierung des 7400 noch in der Schublade, also haben sie das als Ausgangsbasis genommen, da sie so nichts von Motorola lizensieren mussten.
Auf die Nachfrage, ob IBM die Implementierung ähnlich der des G4e verbessern wird äusserte sich Peter Sandon optimistisch.

3) Energiesparmassnahmen: Es wurde nach der möglichen CPU-Takt/Bus-Ratio gefragt. Da Apple eine 2:1 Ratio verwendet wollte Hannibal wissen, ob auch andere möglich sind, und ja, der P970 unterstützt auch 3:1, 4:1 und 6:1, was seine Eignung für stromsparendere Implementierungen die einfach keinen GHz-Bus betreiben können verbessert. Auch gut für Notebooks: Ja, der P970 unterstützt Power-Management-Features: doze/nap/sleep-Modi in denen Teile des Chips abgeschalten werden sind unterstützt. Desweiteren ist eine Diode direkt auf dem Chip mit der das OS die Temperatur messen kann und den Chip entsprechend runterregeln kann

4) Der System-Controller: Der Chip ist wirklich, wie von Apple behauptet ihr eigenes Design, und IBM fertigt ihn nur. Das wirft die Frage auf, welche Chipsätze IBM in ihren eigenen P970-Workstations und -blades verbauen will. Amüsanterweise weiss Peter Sandon keine Antwort auf die Frage! ;-)

5) Compilerfragen: IBM arbeitet sehr stark mit Apple zusammen was P970-optimierende Compiler angeht, sagt Compiler-Experte David Edelsohn. Scheinbar redet er "nur" von GCC und nicht von IBMs VisualAge-Compilern, denn er erwähnt, dass sie alles an die FSF zurückgeben werden (so sie es denn akzeptieren - Stallman hat schon in der Vergangenheit Redhat Apple vorgezogen!). Apple und IBM mussten übrigens den GCC ziemlich umschreiben, da sein Scheduler nicht ideal für eine CPU wie den P970 geeignet ist. Statt für den GCC allgemein die CPU in ihren Eckdaten zu beschreiben und den GCC die Optimierung erledigen lassen wie es eigentlich der Ansatz hinter dem GCC ist verlegt man sich an vielen Stellen darauf ihm zu sagen, was er hier am besten für Code generiert. Dieser Ansatz hat sich für das ungewöhnliche Design des P970 als wesentlich performanter erwiesen. Leider keinerlei Information über VisualAge für OS X bzw. Optimierung dessen auf P970 und über autovektorisierende Compiler (welche Peter Sandon jedoch an anderer Stelle (Embedded Processor Forum) versprochen hat, jedoch traf er da keine Aussage ob GCC oder VisualAge!).

6) Cache-Latencies: Lange hat man gerätselt, wie schnell die Caches des P970 denn nun sind. Hier die Antwort: Die L1-Cache-Latency des P970 ist 2 Zyklen und die L2-Latency 11 Zyklen.

7) Die "Fünfergrüppchen": Der Power4/P970 bearbeitet Instruktionen nicht einzeln sondern in Gruppen von jeweils 5 Befehlen. Laut Peter Sandon hat IBM diesen unorthodoxen Weg gewählt weil es die beste Lösung war um alle In-Flight-Instructions (über 200) zu verwalten. Müsste man jede Instruktion einzeln behandeln wäre der Verwaltungsaufwand des Chips zu gross. Die Server-Abteilung, die den Power4, in dem diese Technik erstmals zum Einsatz kam erfunden hat war jedenfalls hochzufrieden mit den Ergebnissen und wie es in der Realität funktioniert.

8) Die Zukunft: Natürlich konnten die beiden keine konkreten Details preisgeben über die Pläne für die Zukunft, nur soviel wurde versichert: Der P970 ist keine Eintagsfliege sondern der Anfang einer grossen Roadmap. Zitat: "Wir können leider nichts über die Roadmap sagen ausser, dass es eine gibt". Immerhin konnte Hannibal ihnen die folgende Aussage bezüglich SMT und einem on-Chip Memorycontroller abringen: Man wäre reichlich von gestern wenn man sich solche Techniken nicht anschauen und forcieren würde... Tja, auch keine Zusage kann manchmal eben eine sein. Nur über den Zeitpunkt können wir uns jetzt die Köpfe zerbrechen! ;-)

Kommentare

danke kai...

Von: mattin | Datum: 22.07.2003 | #1
ich versteh zwar nur bahnhof aber deine zusammenfassung ist wenigstens in deutsch ;)

Schöne Aussichten ...

Von: M@rkus | Datum: 22.07.2003 | #2
... ich freu mich vor allem auf die Powerbooks. Brauchen nicht einmal Dualprozzi-Books zu sein, um mir (hoffe ich doch stark) endlich stichhaltige Argumente zu liefern, weshalb ich mein betagtes, aber immer noch recht flottes 'Pismo' meinen Kids zum Spielen überlassen sollte ... ;-)

Es sieht wirklich verdammt gut aus zur Zeit.

Was mich am meisten erstaunt ist,

Von: ks | Datum: 22.07.2003 | #3
dass der G5 jetzt doch ne Stromsparfunktion hat :D

Was mich verwirrt ist, warum der PPC970 dann nicht in den Books verbaut werden kann :confused:

Bei 1.2GHz verbraucht er 19W bei 1.1V, Bus Ratio 2:1?
Vielleicht läuft der PPC970 jetzt sogar bei 1V stabil, dann noch mit einem Bus ratio von 3:1 und er verbraucht so viel wie der MPC7457 bei 1.33GHz.

Ich will ein G5 Powerbook, biiitteee!
Dann kann ich so richtig doll ANGEBEN :D

Gruss
Kalle

@ks

Von: Rüdiger Goetz | Datum: 22.07.2003 | #4
Hallo,

Es könnte am Chipsatz liegen. Der müsste immerhin einiges an Takt aushalten. Bisher waren es max. 133 mHZ SDR, Beim 970 wären es selbst bei sog. 3;1 (d.h 6:1 DDR) immer noch 200MHz Takt (bzw. 400 MHz Datenrate). Kann sein dass dabei der Chipsatz für ein Book zu warm wird.

Bis dann

R"udiger