CW-Kontroverse: Die HP-Intel-Allianz: Chips fuer das naechste Jahrtausend

21.07.1995

Von Arndt Bode*

Als vor etwas mehr als einem Jahr Intel und Hewlett-Packard (HP) ihre Zusammenarbeit fuer die Entwicklung einer neuen Super-CPU- Generation ankuendigten, schienen sie so ziemlich alle gueltigen Marktregeln - insbesondere die fuer Mikroprozessoren - ignorieren zu wollen. Intel, dominanter Anbieter von PC-Prozessoren, tat sich mit einem der wesentlichen Hersteller von Prozessoren fuer Workstations zusammen, um einen neuen PC-Prozessor-Typ zu entwikkeln. Fazit: Der radikale Bruch ist durchaus naheliegend, die Partner koennten sich gut ergaenzen.

HP und Intel wollen den x86-Maschinenbefehlssatz, der fuer die Ewigkeit gemacht schien, ersetzen. Dabei soll die in allen CPU- Architekturen (RISC und CISC) gaengige dynamische Technik zur parallelen Ausfuehrung von Befehlen aus einem Befehlsstrom - also die superskalare Architektur - durch statische Techniken ersetzt oder zumindest ergaenzt werden. Solche Implementierungen bezeichnet man als VLIW-Architektur (Very Long Instruction Word). Schliesslich wird die Wollmilchsau auch noch Eier legen koennen: Die neue CPU soll voellig objektcodekompatibel sein zum Intel-x86- und zu HPs Precision-Architecture-(PA-)Befehlssatz. Zu allem Ueberfluss haben Intel und HP strikt mit der Tradition gebrochen, technische Details lange vor der Existenz des ersten Siliziums preiszugeben.

Die enormen Fortschritte der Halbleitertechnologie bezueglich der Integration einer grossen Anzahl von Transistorfunktionen auf einem integrierten Schaltkreis haben die Architekturen von Mikroprozessoren in zwei Richtungen wesentlich beeinflusst: Einerseits wird die Ausfuehrung der einzelnen Maschinenbefehle aus einem Befehlsstrom durch superskalare Rechenwerke und entsprechende Steuerungstechniken feinkoernig parallelisiert. Andererseits reduziert sich durch die Integration immer groesserer Cachespeicher die Anzahl der Zugriffe auf den langsameren externen Hauptspeicher.

Beide Massnahmen erhoehen zwar die Ausfuehrungsgeschwindigkeit der Prozessoren, sie erfordern aber viele Transistorfunktionen. Bei Intels Pentium-Nachfolger "P6" fuehrt dies zu einer ungewoehnlichen Implementierung: Ein 256 KB grosser sekundaerer Cache-Speicher wird neben dem eigentlichen CPU-IC (mit zirka fuenf Millionen Transistorfunktionen) auf einem zweiten IC und beide zusammen auf einem gemeinsamen Traeger aufgebracht.

Intel betont zwar immer wieder, dass die neueren Mikroprozessoren der x86-Familie intern nach RISC-Prinzipien aufgebaut sind. Doch die unangenehmen CISC-Eigenschaften des Befehlssatzes - hier vor allem die komplizierten Adressierungsarten - legen eine aufwendige Implementierung des Leitwerks nahe.

Vergleicht man etwa die Leistung des P6 mit einem typischen Vertreter der RISC-Architekturen, dem "R10000" von Mips , so laesst sich sagen: Die in Specfp92 und Specint92 gemessene Power der Mips-CPU uebertrifft die des P6 deutlich. Dies gilt trotz vergleichbarer Technologie, also aehnlichem Prozess und aehnlicher Strukturbreite, Anzahl der Transistorfunktionen sowie der Architektureigenschaften.

Das liegt an zwei Gruenden: Erstens koennen die Transistorfunktionen fuer das komplexe Leitwerk des P6 beim R10000 eingespart und dafuer in einen groesseren Cachespeicher investiert werden. Zweitens kann man den einfachen Befehlssatz des R10000 problemlos in kleinere, durch Pipelining gleichzeitig ausfuehrbare Grundoperationen zerlegen.

So kann dieser Prozessor bei niedrigerer Pipelinetiefe mit hoeherer Taktrate arbeiten. Fazit: Trotz aller Architekturtricks gibt es gute Gruende, vom x86-Befehlssatz abzugehen.

Die weitere Rechenbeschleunigung durch superskalare Rechenwerke, die in RISC- und CISC-Architekturen gleichermassen eingesetzt werden, findet ihre Grenze in den Parallelisierungsmoeglichkeiten. Diese ergeben sich aus dem einzelnen Maschinenbefehlsstrom. So steigert man beispielsweise die Leistung einer CPU mit acht parallelen Rechenwerken im Vergleich zu einem Prozessor mit einem Rechenwerk nur selten um deutlich mehr als den Faktor zwei.

Parallelisierungspotential laesst sich nicht nutzen

Grund hierfuer ist, dass die dynamische Parallelisierung zur Laufzeit nur auf einen sehr beschraenkten Ausschnitt eines auszufuehrenden Progamms anwendbar ist (beschraenkt durch die Groesse des Rueckordnungspuffers auf heute maximal etwa 50 Befehle). Damit laesst sich aber das theoretisch in grossen Programmen gegebene Parallelisierungspotential nicht annaehernd nutzen. Hier kann nur der Uebergang zu statischen Analysetechniken Abhilfe schaffen.

Erreicht wird das, indem ein Compiler mit Superoptimierer zur Uebersetzungszeit das gesamte Programm auf sein Parallelisierungspotential hin analysiert und einen Code generiert, der jeweils eine grosse Anzahl gleichzeitig ausfuehrbarer Maschinenbefehle beinhaltet: eben die VLIWs. Diese werden dann parallel den einzelnen Rechenwerken des Prozessors zur Ausfuehrung zugewiesen. Natuerlich sind im Prinzip dynamische und statische Techniken kombinierbar. Sie konkurrieren allerdings wieder um das Transistorbudget. (wird fortgesetzt)

*Arndt Bode ist Professor am Institut fuer Informatik, Lehrstuhl fuer Rechnertechnik und Rechnerorganisation an der Technischen Universitaet Muenchen.