Transmeta Crusoe im Detail

24.01.2000 von NICO ERNST 
Nach viereinhalb Jahren geheimer Entwicklung ist Transmetas Crusoe-Konzept fertig. Der Prozessor arbeitet mit einer raffinierten Software, die beliebige Befehlssätze nachbilden kann. Wie das im einzelnen funktioniert, zeigt der folgende Artikel.

Vieles wurde in das erste Produkt der Firma Transmeta hineingeheimst - doch der "Crusoe-Prozessor" ist kein Grafikchip, kein Java-Prozessor, sondern als ganz "normaler" Prozessor für mobile Geräte gedacht. Zwar soll Crusoe auch mit x86- also Intel-Code- umgehen können. Der Weg, das zu erreichen, ist jedoch völlig neu.

Auch wenn Transmeta es nicht gerne hört: Im Prinzip arbeitet Crusoe wie eine hardware-unterstützte Software-Emulation eines anderen Prozessors. Mit seinem eigenen, sehr spartanischen Befehlssatz bildet Crusoe einen anderen Befehlssatz nach. Dadurch ist das Konzept sehr flexibel, auch wenn derzeit nur x86-CPUs und beispielsweise noch keine PowerPCs emuliert werden. Die Idee hinter Crusoe lässt sich aber leicht weiterentwickeln und auch von Fehlern bereinigen. Linus Torvalds drückte sich auf der Vorstellung am 19. Januar so aus: "Wenn uns so etwas wie Intels FDIV-Bug passieren sollte, können wir einfach einen Patch per Internet zur Verfügung stellen." Davon hätte Intel 1994 sicher geträumt, als man weltweit CPUs wegen eines Rechenfehlers zurückrufen musste.

Bisherige PC-Prozessoren erreichen mehr Geschwindigkeit durch die Realtime-Optimierung des x86-Compiler-Codes in Hardware. Dadurch werden die Prozessoren immer komplexer: Schon ohne den L2-Cache hat der Kern eines Pentium III 9,5 Millionen Transistoren. Mit welchen Tricks die Hersteller bei diesen CPUs arbeiten, zeigt der Artikel CPU-Grundlagen.

Crusoe geht einen anderen Weg: Die Hardware wird so einfach wie möglich gehalten, und die Optimierung muss eine spezielle Software übernehmen.

Die Code-Morphing-Software

Warum sich Transmeta den Ausnahme-Programmierer und Linux-Erfinder Linus Torvalds ins Team geholt hat, ist ganz klar: Die meiste Intelligenz des Crusoe steckt in der Code-Morphing-Software. Damit wird zur Laufzeit der gesamte Code einer Rechner-Architektur auf die eigentliche Hardware umgesetzt. Nur die Code-Morphing-Software selbst hat Zugriff auf den Prozessor, wie Bild 2 zeigt.

Diese Software wird beim Einschalten des Geräts von einem Flash-ROM ins RAM geladen und dieser Bereich dann schreibgeschützt. Von 16 MByte Größe der Code-Morphing-Software wird gemunkelt. Erst danach kann das Rechner-BIOS gestartet werden, es läuft bereits über die Prozessor-Emulation. Zur Laufzeit wird das System immer schneller, da das Crusoe-Konzept versucht, jede Befehlskette nur einmal zu übersetzen. Dazu dient der Translation Cache, den die Bilder 3 bis 5 veranschaulichen. Die Code-Morphing-Software unterteilt die x86-Programme selbstständig in funktionale Blöcke, die sich gut übersetzen und dabei optimieren lassen.

Das Beispiel besteht aus einer Schleife, wie sie bei x86-Programmen häufig vorkommen. Die ersten beiden Blöcke dieser Schleife wurden bereits abgearbeitet, und stehen im Translation Cache. Der dritte Block ist der Code-Morphing-Software neu, und wird in Bild 3 übersetzt.

Jetzt erst beginnt das Crusoe-System mit der Ausführung, wie in Bild 4 zu sehen. Danach wird der übersetzte Code aber nicht weggeworfen, sondern im Prozessor selbst gehalten.

Nun kehrt die Schleife in Bild 5 wieder an ihren Beginn zurück. Da nichts mehr übersetzt werden muß, kann die Prozessor mit seiner vollen Geschwindigkeit arbeiten.

Die Anzahl der Einträge in diesem Translation Cache ist jedoch nicht unbegrenzt, und über ihre genaue Menge schweigt sich Transmeta noch aus. Das Funktionsprinzip ist jedoch klar: Je länger ein Programm läuft, umso schneller soll es das auf dem Crusoe auch tun. Ähnlich der Out-of-Order-Exection von modernen x86-Prozessoren optimiert beim Crusoe also die Code-Morphing-Software die ihr vorgesetzten Programme.

Der VLIW-Prozessor

Die Hardware, auf der Crusoe seine Berechnungen abwickelt ist ein recht einfacher VLIW-Prozessor. Diese "very long instruction words" können bei Crusoe bis zu 128 Bit breit sein. In diesen 128 Bit können bis zu vier unabhängige Befehle a 32 Bit verpackt sein. Diese 128-Bit-Pakete nennt Transmeta ein "molecule", die einzelnen Befehle "atoms". Das Konzept ähnelt den Mikro-Ops, wie Intel das Aufteilen von x86-Code in kleinere RISC-ähnliche Häppchen nennt. Das Verfahren ist in Bild 6 zu sehen.

Durch die Aufbereitung per Code-Morphing-Software stehen die atoms schon für die Ausführungseinheiten des Crusoe bereit. Bild 7 zeigt den Idealfall der Parllelisierung: Vier atoms in einem 128-Bit-Molecule bedienen jeweils eine der Ausfühungseinheiten des Crusoe, die in "echter" Hardware gebaut sind.

Ein etwas gewagter Vergleich lässt sich damit zwischen dem Crusoe und Intels erstem 64-Bit-Prozessor Merced ziehen. Intel gab nämlich auf dem letzten Microprocessor Forum auch schon an, dass Merced ganz massiv auf die Unterstützung eines Compilers angewiesen ist, der die Parallelisierung vornehmen soll. Bei Crusoe übernimmt diese Funktion die Code-Morphing-Software.

Die weitere Hardware des Prozessors selbst ist unspektakulär. Auf dem Blockschaltbild in Bild 8 fällt lediglich noch die integrierte Northbridge auf: Schnittstellen für DDR-SDRAM, SDRAM und PCI bringt Crusoe schon mit. Damit lässt sich für die angepeilten mobilen Geräte der Platzbedarf und Stromverbrauch reduzieren.

Zwei CPUs: TM 3120 und TM 5400

In zwei Versionen hat Transmeta den Crusoe vorgestellt. Der TM 3120 läuft mit bis zu 400 MHz, verfügt über einen 96 KByte grossen L1-Cache und ist ab 65 Dollar zu haben. Die für ihn vorgesehene Code-Morphing-Software arbeitet vollständig in 32-Bit und soll vor allem mit einem "mobile Linux" eingesetzt werden. Überflüssig zu erwähnen, welcher der Transmeta-Angestellten das entwickelt hat.

Der TM 3120 ist für "mobile Internet Devices" gedacht. Als Beispiel stellte Transmeta-Chef David Ditzel am 19. Januar ein tastaturloses Web-Pad vor, auf dem ein Netscape-Browser mit zahlreichen Plugins für Multimedia-Wiedergabe lief. Es ist zu vermuten, dass es sich dabei um einen Prototypen des Web-Pads handelt, das S3 zwei Tage später ankündigte.

Das kleinste derartige Gerät der Präsentation war ein Web-Pad von der Größe eines Taschenbuchs. Lösungen für Mobiltelefone oder PDAs "wie den PalmPilot" wolle Transmeta aber nicht entwickeln, so Ditzel. Die Keywords für Suchmaschinen im Quelltext der Homepage von Transmeta enthalten aber auch "pda" - eine Planänderung bei Transmeta ist also nicht ganz ausgeschlossen.

Für klassische Notebooks ist der TM 5400 gedacht. Er läuft mit bis zu 700 MHz, hat 128 KByte L1-Cache und 256 KByte L2-Cache auf dem Die. Der TM 5400 soll ab 119 Dollar kosten. Die Software für diese Version des Crusoe soll auch mit 16-Bit-Code umgehen können und somit Windows 98 zum Laufen bringen. Das konnte Transmeta auch schon demonstrieren, indem Torvalds und ein anderer Transmeta-Mitarbeiter das in Deutschland indizierte Quake auf der Transmeta-CPUs spielten. Torvalds freilich unter Linux, sein Kollege mit Windows 98.

Leistungsaufnahme und Grösse

Crusoe ist besonders für mobile Anwendungen gedacht und soll daher wenig Strom verbrauchen. Daß weniger Transistoren weniger Energie benötigen, liegt auf der Hand. Von Transmeta selbst stammen die Angaben in Tabelle 1, die zeigen, wievielweniger ein Crusoe bei DVD-Wiedergabe unter Windows 98SE verbrauchen soll. Als Referenzplattform kam ein nicht näher benanntes Notebook mit einem mobilen Pentium III mit 500 MHz zum Einsatz, dessen Stromsparfunktionen per ACPI eingeschaltet waren. Über ACPI verfügt auch das Gerät des TM 5400, zusätzlich schwankte bei diesem Gerät dank des Mechanismus "LongRun" die Taktfrequenz zwischen 266 und 533 MHz, dazu auf der nächsten Seite mehr.

Tabelle 1: Crusoe und mobiler Pentium III bei DVD-Wiedergabe laut Transmeta.

PIII 500 MHz

TM3120 400 MHz

TM5400 266-533 MHz

Leistung

6,78 W

2,87

2,17

L1-Cache

32 KByte

96 KByte

128 KByte

L2-Cache

256 KByte

0 KByte

256 KByte

Prozess

0,18 Mikron

0,22 Mikron

0,18 Mikron

Die-Grösse

106 qmm

77 qmm

73 qmm

Die Ergebnisse dieser Tabelle sprechen eine deutliche Sprache: Der mobile Pentium III braucht bei DVD-Wiedergabe bis zu dreimal soviel Strom. In die Ergebnisse des Intel-Notebooks fliest bei der Leistungsaufnahme auch die Northbridge ein, die beim Crusoe schon in den Chip integriert ist.

Die oft zitierten "ein Watt Leistungsaufnahme" erreicht der Crusoe nach Transmetas Daten im übrigen nur bei weniger anspruchsvollen Aufgaben, etwa einem unbeschäftigten Windows-Desktop. Außerdem soll der Pentium III beim DVD-Test an seiner Oberfläche maximal 105,5 Grad Celsius heiß geworden sein, der TM 5400 nur 48,2 Grad - das vereinfacht die Kühlmaßnahmen, macht Notebooks kleiner und leichter.

Stromsparen mit LongRun

Besonders modern zeigt sich Crusoe, wenn es ums Stromsparen geht. Das bisher schlauste Konzept eines PC-Prozessors, Intels SpeedStep, kann die CPU lediglich zwischen zwei Taktraten und Spannungspegeln umschalten. Das bringt etwa 20 Prozent mehr Laufzeit, wie ein Test im tecChannel-Labor nachgewiesen hat.

Bei SpeedStep muss die CPU zum Umschalten von Takt und Spannung aber jedes Mal kurz angehalten werden. Crusoes "LongRun" getauftes Konzept schafft zum einen mehrere Abstufungen von Takt und Spannung, die zudem ohne Unterbrechung gewechselt werden können.

Unter der Kontrolle der Code-Morphing-Software kann das System aus Software und Hardware selbst entscheiden, wann wie viel Leistung gebraucht wird - und zwar abhängig von der Auslastung. Mit LongRun ist vorerst nur der TM 5400 gesegnet.

Die einzelnen Stufen von LongRun zeigt die folgende Tabelle:

Tabelle 2: Spannung und Takt eines TM 5400 mit LongRun.

Taktfrequenz

Spannung

700

1,65

667

1,65

633

1,60

600

1,60

566

1,55

533

1,55

500

1,50

466

1,50

433

1,45

400

1,40

366

1,35

333

1,30

300

1,25

266

1,20

233

1,15

200

1,10

Um beim Beispiel der DVD-Wiedergabe zu bleiben: Laut Transmeta benötigt die Software-Dekodierung zwischen 333 und 400 MHz. Von 700 MHz und 1,65 Volt ausgehend, kann Crusoe also je nach Komplexität eines DVD-Frames die Spannung zwischen 25 und 41 Prozent senken.

Performance-Abschätzungen

Eine arge Blöße gab sich Transmeta, als man auch auf hartnäckiges Nachfragen keinerlei Leistungsdaten mit Industrie-Benchmarks wie der BapCo-Suite, die auch tecChannel verwendet, herausrücken wollte. Durch die heftigen Sprünge zwischen den Funktionen der darin enthaltenen Anwendungen, die kein normaler Anwender je machen würde, würde Crusoe recht langsam aussehen, war zu hören.

Da diese Tests auch nicht die Akku-Laufzeit mit einbeziehen, wurden sie von Transmeta schlicht für realitätsfremd erklärt. Von Linley Gwennap, langjähriger Analyst des renommierten Branchen-Newsletters "Microprocessor Report", brachte dieses Verhalten freilich Spott ein: "Wenn jemand sagt, dass Standard-Benchmarks nicht zu den eigenen Produkten passen, so heißt das meist, dass seine Produkte damit nicht besonders gut aussehen." Was Crusoe in puncto Performance/Laufzeit wirklich bringt, müssen unabhängige Tests erst zeigen.

Von anderer Seite war aber zu hören, dass ein TM 5400 mit 667 MHz sich unterm Strich auf dem Niveau eines mobilen Pentium III mit 500 MHz bewegen soll. Dank der proprietären Linux-Umgebung fallen ähnliche Vergleiche beim TM 3120 noch schwer. Sollten sich die Zahlen bewahrheiten, so ist Crusoe bei den ersten Notebooks, die für Mitte 2000 erwartet werden, sicherlich kein Rennpferd. Auch der schon auf 700 hochgesetzte Takt, der zuerst nur mit 500 MHz erwartet worden war, darf als Zugeständnis ans Marketing gelten. Versprochen sind mit Crusoe aber auch zwei Stunden DVD-Wiedergabe oder ein ganzer Arbeitstag mit Büro-Anwendungen bei nur einer Akku-Ladung - und bei solchen Aussichten tritt die Performance vielleicht einmal in den Hintergrund.

Fazit

Klein, stark, schnell - dieses Fazit hätte Transmeta wohl gerne. Doch ohne unabhängige, in der Branche anerkannte Benchmarks lassen sich die Chancen des Crusoe schwer beurteilen. Beindruckend ist jedoch schon jetzt, was Transmeta im Stillen auf die Prozessor-Beine gestellt hat. Gegenüber anderen Chip-Ankündigungen konnte man immerhin funktionierende Computer mit dem neuen Prozessor zeigen, und nicht nur totes Silizium oder gar Papier-Ware.

Gefertigt wird der Chip von IBM, vielleicht auch bald mit 0,15 Mikron und Embedded DRAM. Falls niemand den Crusoe für Notebooks haben will, scheint ihm für "Internet-Appliances" eine aussichtsreiche Zukunft bestellt. Doch da muss er sich mit Intel, Hitachi, NEC und anderen Herstellern von Mini-Prozessoren messen. Immerhin ist Crusoe aber der einzige Chip, der sich vergleichsweise einfach an anderen Code anpassen lässt. Und so bleibt es nur der Fantasie und dem Willen der Geräte-Hersteller überlassen, wo man den Transmeta-Prozessor bald überall finden wird. (nie)