Prozessorgeflüster

i-Tüpfelchen von der I-SSCC und dem I-DF

Trends & News | Prozessorgeflüster

Zwei wichtige Ereignisse in der Prozessorbranche prägten die zwei Wochen vor der CeBIT. Die International Solid State Circuit Conference (ISSCC) der IEEE, auf der traditionell die Entwickler neue Technologien vorstellen, und das mit dreitausend Teilnehmern gut besuchte Intel Developer Forum, für das Intel immer ein besonderes Bonbon in der Tasche hält, diesmal eins namens Willamette.

Zur ISSCC in San Francisco entsandten wir unsere Silicon-Valley Korrespondentin Dr. Sabine Cianciolo, die die wichtigsten Vorstellungen auf dieser Konferenz im hintenstehenden Kasten kurz zusammengefasst hat.

Höhepunkt auf dem anschließenden IDF in der kalifornischen Wüste von Palm Springs war natürlich der Nachfolger des Pentium III, der 32-bittige Willamette, den Intels ehemaliger CEO Andy Grove zusammen mit dem Chef der Mikroprozessorabteilung Albert Yu vorführte. (Für Sprachbegeisterte: Willamette, benannt nach einem Fluss in Oregon, wird mit der Betonung auf dem a ausgesprochen.)

Der erst vor einem Monat fertig gestellte Willamette-Prototyp lief zunächst mit 1450 MHz, um dann über ein paar Zwischenstufen auf 1500 MHz Takt zu beschleunigen. Erstes Silizium gab es zwar schon im November 99, das arbeitete aber noch nicht ganz nach Plan. Doch vom zweiten Schuss soll bereits der erste zufällig ausgewählte Chip mit 1,5 GHz losgelaufen sein (also keine Auswahl aus einer Million Kandidaten ...)

Anders als auf mancher Website misstrauisch gemutmaßt, wurde dabei der Prozessor nicht flüssig, sondern normal mit Luft gekühlt, wobei er allerdings mit seinen 60 bis 80 W thermischer Leistung neue, gut ein Pfund schwere Kühlkörper mit dicker Kupferplatte und zwei kräftigen 60-mm-Lüftern sowie zusätzliche Gehäuselüfter benötigt und damit am oberen Ende der per Konvektion machbaren Skala rangiert.

Gerade mal vor einem Jahr auf dem IDF Spring 99 hatte Albert Yu in seiner Roadmap den ‘Next Generation iA32-Chip’ erst für 2002 in 0,13 µm-Kupfertechnik in Aussicht gestellt. Doch seit AMD performance- und marktmäßig mit dem Athlon massiv Druck auf Intel ausübt, hat Chipzilla (© Mike Magee) alles in die Waagschale geworfen und mit einer Gewaltanstrengung den bestehenden 0,18-µm-Prozess bis an die physikalischen Grenzen ausgereizt und das neue iA32-Design gut eineinhalb Jahre nach vorne verlagert. Im vierten Quartal will Intel mit der Auslieferung von Willamette-Systemen (vermutlich ab 1,3 GHz) beginnen.

Dieser Leistung gebührt große Anerkennung, wiewohl AMD mit einer gewissen Bauernschläue in einem Nachbarhotel nicht nur auf der ISSCC, sondern auch unmittelbar neben dem Kongresszentrum in Palm Springs sein Gegenstück, den Athlon-Thunderbird mit 1,1 GHz präsentierte. Und dieser Chip aus der Dresdener Schmiede steht erst am Anfang der Lernkurve eines noch entwicklungsfähigen 0,18-µm-Kupferprozesses.

Im Unterschied zum jetzigen Athlon hat der Thunderbird den L2-Cache (vermutlich 256 KByte) als Full-Speed-Cache integriert. Über den Daumen gepeilt wird ein 1,1-GHz-Thunderbird bei vorhandener Software in der gleichen Performanceregion wie ein 1,3-GHz-Willamette rangieren. Die neue ISSE-2-Einheit könnte den Willamette aber bei neukompilierter Software insbesondere im Gleitkommabereich auf ungeahnte Höhen schießen lassen - da wird sich AMD noch was einfallen lassen müssen.

Möglich wird der mit 1,5 GHz bislang höchste Takt in der Geschichte der Mikroprozessoren durch die bislang längste Pipeline in nämlicher Geschichte. Mit 20 Stufen Basislänge ist sie gut doppelt so lang wie bei der P6-Architektur des Pentium II/III.

Doch die 1,5 GHz Takt sind noch nicht alles: die beiden vorhandenen Integer-Einheiten (ALUs: Arithmetical Logical Units) lassen bereits nach einem halben Takt das Nachschieben einer nächsten Instruktion zu (‘Dual pumped’). Man könnte das nun so darstellen, als ob jetzt die beiden ALUs mit 3 GHz ‘Durchsatztakt’ liefen. Besser ist es jedoch, von einer virtuellen Verdopplung der beiden ALUs zu reden. De facto hat Willamette damit vier parallele Integer-Einheiten, jede davon rast mit 1,5 GHz Takt. Beim Pentium III mussten sich die ALUs noch die Nachschubwege (Ports) vom Scheduler mit vielen anderen Einheiten (MMX, SSE, AGU) teilen, bei Willamette erfreuen sie sich hingegen eigener Ports, was den Grad der möglichen Parallelisierung erhöht.

ALUs
Vergrößern
Die beiden ALUs können bereits nach einem halben Takt einen neuen Befehl nachschieben, sodass sie sich wie vier parallele ALUs verhalten.

Etliche längerdauernden Rechenoperationen (etwa Shift, Multiply) verbrauchen allerdings bei Willamette mehr Takte als beim P6, sodass ein Teil der höheren Taktrate wieder aufgefressen wird. Andererseits erleidet Willamette keine Strafzeiten mehr bei partiellen Registerzugriffen.

Gemäß Willamettes Blockschaltbild verfügt der Prozessor wie zuvor der Pentium III über eine FPU, die auf zwei Ports verteilt ist (FP move & store und FMul, FAdd etc). MMX ist dem Bild zufolge von früher zwei auf eine Einheit zurückgestuft, sodass bestehende MMX-Applikationen trotz 1,5 GHz Takt langsamer laufen könnten als beim 800 MHz Coppermine. Zum Ausgleich bietet Willamette erhebliche Erweiterungen in der SSE-Einheit, wiewohl deren Nutzung eine Modifikation des Sourcecodes samt Neukompilation erfordert.

Willamettes Hyperpipeline hat viele kleine und dadurch schnelle Stufen. Die Decoderstufen sind hier, anders als beim P6, allerdings noch gar nicht dabei. Willamettes Hyperpipeline
Vergrößern

Diese SSE-2-Einheit kann jetzt nämlich, ähnlich wie Motorolas AltiVec, 128bittig mit Integer-SIMD arbeiten, maximal also 16fach parallel mit acht Bit Daten oder achtfach parallel mit 16 Bit, vierfach parallel mit 32 Bit oder zweifach parallel mit 64 Bit (einen 128-Bit-Integertyp hat Intel noch nicht eingeführt). Theoretisch sind bei gleichzeitigem MMX- und SSE2-Betrieb 24fach parallele Operationen und mithin 32 GTOPs möglich (Giga Theoretical Operations per Second), was mal wieder die amerikanischen Ausführbestimmungen bezüglich bestimmter Länder sprengt.

SSE-2
Vergrößern
SSE-2 kennt 144 neue Befehle und sechs neue Datentypen.

Aber SSE2 kann noch mehr, nämlich mit zwei doppeltgenauen Gleitkommazahlen gleichzeitig umgehen. Parallel dazu lässt sich außerdem noch die gute alte stackbasierte und langsame FPU einsetzen.

Der externe Bus des gesockelten Willamette läuft mit dem gleichen Transaction-Protokoll wie beim P6 und nur mit 100 MHz Takt, ist aber ‘quad pumped’. Pro Takt schickt er gleich vier Quadwords (à 64 Bit) auf die Reise und erzielt so maximal 3,2 GByte/s, gerade richtig, um zwei Rambus-Kanäle zu versorgen. Wie gut dass der einzige vorgesehene Chipsatz Tehama nur für zweikanaligen Rambus ausgelegt ist.

Eine Pipeline kann man sich wie eine Art Fließband vorstellen. Stehen doppelt so viele Arbeiter (Stufen) zur Verfügung, muss jeder Arbeiter nur noch die Hälfte an Aufgaben erfüllen und das Fließband lässt sich zur Freude des Unternehmers dann schneller betreiben (höherer Takt).

Der Nachteil einer superlangen Pipeline ist vor allem, dass sie empfindlich auf Programmverzweigungen reagiert. Steht das Sprungziel jedoch fest, kann der Prozessor schon im Voraus beim Dekodieren die nächsten Daten von der neuen Adresse einlesen, was die Pipeline fast ungestört im Fluss hält. Wird die Adresse aber erst zur Laufzeit berechnet oder hängt sie von Konditionen ab, so versucht der Prozessor die wahrscheinliche Zieladresse vorherzusagen. Liegt er mit seiner Vorhersage allerdings falsch, so muss er alles, was sich in der Pipeline befindet als Fehlspekulation verwerfen, die Daten von der neuen Adresse einlesen und die Pipeline neu starten. Das zieht dann eine lange Verzögerung von mindestens der Pipelinelänge, also 20 Takte, nach sich.

Eine gute Vorhersagetechnik ist also das A und O bei Prozessoren mit langer Pipeline. Willamette hat daher eine gegenüber P6 erheblich verbesserte Sprungvorhersage und speichert 4096 Zieladressen im Branch Target Buffer (BTB) ab. Er kann viel tiefer spekulieren (über 100 Instruktionen) und bis zu 48 Loads und 24 Stores im Zwischenspeicher halten.

Eine weitere Neuerung ist der Execution Trace Cache. Während der P6 die Bytes der x86-Instruktionen nach klassischer 4-Wege-Technik im 8-KByte-Instruction-Cache undekodiert abspeichert und für die übersetzten internen Befehle (µOPs) nur 20 Einträge in der Reservation Station zur Verfügung stellt, verzichtet Willamette auf den x86-Instruction-Cache. Stattdessen speichert er in einem Cache eine Vielzahl bereits übersetzter Befehle (also hinter den Decodern) in der Reihenfolge ihres Auftretens ab. Dieser Trace-Cache ist eine Art Ring-Puffer, in dem neue Instruktionen die ältesten Einträge überschreiben - sofern die neuen Instruktionen nicht bereits im Cache residieren (Trace Cache hit). Letzteres herauszufinden ist allerdings etwas schwieriger als bei klassischen Mehrwege-Caches. Hierfür fasst man zusammenhängende, nicht durch Verzweigungen unterbrochene Bereiche zu kontinuierlichen Blöcken zusammen und muss dann nur noch die diversen Blockadressen mit der aktuellen Adresse auf Hit oder Miss vergleichen - und genau das tut ja freundlicherweise bereits der für die Sprungvorhersage ohnehin nötige BTB. Der große Vorteil des Trace-Caches besteht darin, dass er bei bedingten Sprüngen auch beide Sprungziele abspeichern kann.

Wie der Trace-Cache prinzipiell funktioniert und welche Performance-Vorteile er bietet, hat Intel bereits vor vier Jahren veröffentlicht [[#lit1 1]]: Bei gleichgroßen Caches sind es bei SPEC92 etwa 28 Prozent und nach [[#lit2 2]] bei SPEC95 etwa 21 Prozent. Diese Veröffentlichungen gingen von einem Trace-Cache mit x86-Code aus. Willamettes Execution Trace Cache speichert jedoch nicht den x86-Code, sondern bereits übersetzte µOPs. Bei einem Treffer im T-Cache verkürzt sich dann die Gesamt-Pipeline um die Decoder-Stufen. Die obige Basic-Pipeline von 20 Stufen geht bereits von einem T-Cache-Hit aus, ist also ohne die möglicherweise zahlreichen Decoder-Stufen aufgeführt.

Das Abspeichern von µOPs statt x86-Codes bedingt allerdings einen erheblich größeren Platzbedarf. Ein µOP des P6 beispielsweise ist immer 118 Bit breit, ein x86-Befehl hingegen oftmals nur 8 Bit. Außerdem erfordert ein x86-Befehl laut Intel etwa 1,5 bis 2 µOPs. Im Schnitt bläht sich so der Code auf das Sechs- bis Achtfache auf. Vermutlich kann Willamettes Trace-Cache 4K-µOPs abspeichern, was rund 64 KByte Speicherplatz erfordert, der dann bezüglich Hitrate äquivalent zu etwa 8 KByte Instruction-Cache ist.

Neben dem Willamette brachten Intel und Partner in diversen Keynotes, Tracks und Ausstellungen noch eine Fülle von Neuerungen unters Volk. Dazu gehörten Demonstrationen von USB 2.0, Bluetooth, Home-PNA, Funknetzen sowie neue Spezifikationen - etwa SMB 2.0 oder Serial-ATA (software-kompatibel zu bestehenden Treibern mit 150 MByte/s und später 600 MByte/s). Ferner hat Intel mit den Grafikkartenfirmen eine geheimnisvolle BeyondAGP-Initiative gegründet, zu der aber nichts weiter zu erfahren war. Microsoft war erstmals auf einem IDF auch in der begleitenden Ausstellung zu finden, mit einemVC++-Compiler für iA64.

Zu Itanium gab es gegenüber der ISSCC wenig Neues, acht ‘first Tiers’ aus der Server- und Workstation-Branche stellten ihre Systeme vor, die auch auf der CeBIT öffentlich zu sehen sind (die Workstations von IBM, HP und Fujitsu Siemens sehen sich übrigens beeindruckend ähnlich)

Timna, Intels neuer Vorstoß in den Low-Cost-Bereich (CPU mit integrierter 3D-Grafik und Northbridge) kommt nun im Sommer zwar mit einem Rambus-Anschluss, aber mit SDRAM-Konverter (MTH) und nur für SDRAM-Bestückung ausgelegt und getestet auf den Markt. Intel hat inzwischen wohl erkannt, dass Rambus und Low-Cost derzeit noch krasse Gegensätze sind. Ansonsten hält Intel aber treu an der Rambus-Linie für Desktops fest, was die Rambus-Aktienkurse wieder hochschnellen ließ. Für Willamette etwa wird es nur einen Rambus-Chipsatz geben, bei Servern will Intel aber auch DDR-SDRAM einsetzen.

Und schließlich gab es auch zum ersten Mal eine Preisverleihung auf dem IDF - nein, nicht für den bissigsten Journalisten (den Preis hätte wohl Mike Magee vom britischen www.theregister.co.uk verdient), sondern für den schönsten und easyesten Concept PC.

And the Winners are ... der Toaster von Compaq (Presario EZ2000) und der kleine Darth Vader von Dell (WebPC).

[1] Rotenberg, Bennett, Smith: Trace Cache, A Low Latency Approach to High Bandwidth Instruction Fetching, Intel 1996

[2] Yale N. Patt: ACAL- Research Briefs

[#anfang Seitenanfang]


Die ersten drei Vorträge zum Auftakt der hochtechnischen International Solid State Circuit Conference (ISSCC) standen unter dem mehr angewandten Motto ‘ICs für das 21. Jahrhundert’ und befassten sich mit dem Fortschritt in der Automobil-Industrie, bei mobilen Netzwerken und beim IC-Design.

Vor rund 30 Jahren wurden zum ersten Mal Mikroprozessoren für die Steuerung von Automotoren eingesetzt. Seitdem hat sich der Einsatzbereich und die Komplexität von integrierten Schaltkreisen ungemein ausgedehnt. Laut Naoki Noda von Toyota enthält ein Wagen der Luxusklasse derzeit mehr als 40 Mikroprozessoren im Gesamtwert von rund 2000 US-$. Dieser Trend setzt sich in den nächsten Jahren ohne Zweifel fort.

Im mobilen Bereich sieht Günter Weinberger von Infineon nicht nur eine ‘digitale Konvergenz’ aller Kommunikationskanäle und -Services, sondern auch die Verschmelzung von PC und mobilem Telefon in ein drahtloses Mehrzweck-Terminal. Laut Weinberger wird dieser Markt die Automobil-Industrie nicht nur in Bezug auf das Umsatzvolumen überholen, er wird ebenfalls die meisten Angestellten haben.

Wie Mark Pinto von Lucent Technologies ausführte, ist man sich bei der zukünftigen Entwicklung von integrierten Schaltkreisen immer noch nicht klar, wie die Grenze des Machbaren letztendlich aussieht, ob sie mehr im physikalischen oder eher im ökonomischen Bereich liegt, ob Produktionsprobleme oder die Komplexität des Designs als Schranken auftreten - oder eine Kombination aus allem. Optische Lithografie ist beispielsweise inzwischen nahezu ausgereizt und wird schon bald die erforderliche Auflösung nicht mehr liefern können. Doch hier ist Abhilfe in Sicht: etwa die Elektron-Projektions-Lithografie (SCALPEL). In Experimenten des Bell-Labs wurden damit bereits Gate-Längen von 50 nm hergestellt.

Die größte Aufmerksamkeit erregten Vorträge über 1-GHz-Prozessoren Nur acht Jahre nach der Vorstellung des ersten 100-MHz-Prozessors scheint die 1-GHz-Grenze nun endgültig durchbrochen. Intel präsentierte ein Verfahren, wie man mit herkömmlichem 0,18-µm-Aluminiumprozess Coppermine-Prozessoren auf 1 GHz Takt beschleunigt. Auch Alpha Processor Inc., eine Tochtergesellschaft von Compaq und Samsung, wartete mit einem kupferfreien 1-GHz-Prozessor auf. Das 13,1 x 14,7 mm2 große Alpha-Die ist mit 15,2 Millionen Transistoren bestückt, verwendet 0,18-µm-CMOS mit sieben Aluminium-Ebenen und Flip-Chip-Verpackung. Der Prozessor enthält zwei 64 KByte große Caches für Instruktionen und Daten, läuft mit 1,65 Volt und verbraucht 65 Watt.

Schließlich überschreitet auch ein 64-bittiges PowerPC-Design von IBM die 1-GHz-Grenze, obwohl es die Pipeline verkürzt, statt sie wie beim Willamette zu verlängern. Der mehr als Studie gedachte, einfach gestrickte ‘single issue’-Prozessor enthält lediglich eine Integer- und eine Gleitkommaeinheit sowie zwei 64 KByte große Caches. In nur vier Stufen erledigt er Integer-Aufgaben, Gleitkomma benötigt sechs Stufen. Der Chip enthält 19 Millionen Transistoren und wird noch im älteren CMOS7S-Kupferprozess mit 0,22-µm-Technologie hergestellt. Er erreicht dennoch bis zu 1,15 GHz (schluckt dann aber 112 W und wird über 100 °C heiß).

Kurz vor der hauseigenen Entwicklerkonferenz IDF enthüllte Intel noch einige neue Details über ihren 64-Bit-Itanium-Prozessor. Die ersten Chips sollen zunächst in 733- und 800-MHz-Versionen Mitte dieses Jahres auf den Markt kommen. Itanium enthält nur 25 Millionen Transistoren (weniger als der Coppermine), was auf einen kleinen L2-Cache von 128 KByte schließen lässt. Dafür bietet er einen über 128-Bit-Bus (12,8 GByte/s) angekoppelten großen L3-Cache von 4 MByte auf dem Modul: Vier Bausteine à 1 MByte, die insgesamt nahezu 300 Millionen Transistoren benötigen. Der Front-Side-Bus ist mit einer Bandbreite von 2,14 GByte/s (DDR mit 133 MHz) doppelt so schnell wie derzeitige 133-MHz-Busse in IA-32-Prozessoren (aber deutlich langsamer als Willamette mit seinen 3,2 GByte/s).

Der Chip ist für den Highend-Server-Markt ausgelegt und kann in Konfigurationen mit bis zu 512 Prozessoren implementiert werden. Itanium benötigt allerdings 64-Bit-Anwendungen, um seine Fähigkeiten voll zum Einsatz zu bringen. Bei 32-Bit-Applikationen erreicht er nur die Performance von durchschnittlichen IA-32-Prozessoren. (Dr. Sabine Cianciolo)

Kommentare

Anzeige
Anzeige