Bericht - Weblearn
Transcription
Bericht - Weblearn
Bericht Fachbereich Technische Informatik Labor für Rechnerstruktur Transmeta Crusoe Prozessoren 1. Revision Dozent: Prof. Dr. Risse Semester: I8I Name: Andre Ritterhoff Ralf Ramaker Datum: 18. März 2003 Labor Rechnerstruktur Inhaltsverzeichnis Inhaltsverzeichnis....................................................................................................................... 2 Einführung.................................................................................................................................. 3 Allgemeines................................................................................................................................ 3 Beziehung zwischen CMS und Prozessor.............................................................................. 4 Transmeta-Patente.................................................................................................................. 6 Hardware .................................................................................................................................... 7 Blockdiagramm des Crusoe Prozessors (Modell TM5400) ................................................... 7 Der 128-bittige VLIW -Kern des Crusoe-Prozessors (Modell TM5400) .............................. 8 Register................................................................................................................................... 9 Translation Lookaside Buffer (TLB) ................................................................................... 10 Alias Hardware..................................................................................................................... 11 Gated Store Buffer ............................................................................................................... 12 Prozessorübersicht................................................................................................................ 13 Benchmarks.......................................................................................................................... 14 LongRun-Technologie ............................................................................................................. 17 ‘CoolRun’-Technologie ........................................................................................................... 19 Zukunftsvisionen der Transmeta-Ingenieure ........................................................................... 21 Weitere Zukunftsaussichten bei Transmeta:TM6000 .......................................................... 23 Code – Morphing – Software (CMS).................................................................................... 24 Literatur und Quellenangabe.................................................................................................... 28 Anhang A ................................................................................................................................. 29 Anhang B.................................................................................................................................. 31 Anhang C.................................................................................................................................. 33 Anhang D ................................................................................................................................. 34 Anhang E.................................................................................................................................. 37 Transmeta Shows New TM8000 Astro................................................................................ 37 Astro to propel Transmeta's comeback ................................................................................ 39 Andre Ritterhoff & Ralf Ramaker 2 Labor Rechnerstruktur Einführung Im Jahre 1995 wurde die Firma Transmeta von David Ditzel in Santa Clara im Bundesstaat Kalifornien (USA) gegründet. Zur Herstellung der Prozessorfamilie „Crusoe“ dient die Chipschmiede IBM. Zielmarkt der Crusoe – Prozessoren ist das Mobilsegment, wie z.B. Notebooks, PDA, etc. Im Januar 2000 stellte die Firma Transmeta erstmalig den Crusoe – Prozessor vor. Der Crusoe – Prozessor besteht aus einer Hardware – CPU und aus einer umgebenden Software – Schicht. Der Prozessorkern ist eine einfache 128 Bit very long instruction word (VLIW) – CPU, die bis zu vier Operationen parallel in einem Taktzyklus abarbeiten kann. Die Software – Schicht, auch genannt Code Morphing Software (CMS), setzt komplexe x86 – Befehle in einfachere VLIW – Befehle um. Diese Befehle besitzen keine Ähnlichkeit zum x86 – Code und sind Transmeta – spezifisch. Der Crusoe stellt einen verhältnismäßig schnellen und stromsparenden Prozessor dar, der einem x86 – Programm, mit Hilfe der Code – Morphing – Software, suggeriert, auf einem x86 – kompatiblen Plattform zu laufen. Die stromsparende Eigenschaft basiert auf der Ersetzung / Reduzierung der Anzahl der Transistoren durch Software. Wie man aus den c’t – Berichten [1] und [2] und den veröffentlichen Transmeta – Patenten [3] schließen kann, besteht der Crusoe nur etwa zu einem Viertel aus Hardware und zu drei Vierteln aus Software. Allgemeines Die Code – Morphing – Software übersetzt zur Laufzeit komplexe x86 – Befehle in einen Strom einfacher VLIW – Befehle (Atome), die in einem Translation – Buffer im Speicher vorrätig gehalten werden. Um einen hohen Grad an Parallelisierung zu erreichen, ist eine Bündelung der Atome in ein so genanntes long instruction word (Molekül) notwendig. Ein Molekül kann aus zwei bzw. vier Atomen bestehen. Durch die Aufbereitung per Code – Morphing – Software stehen die einzelnen Atome eines Moleküls schon für die Ausführungseinheiten des Crusoe bereit. Das folgende Bild zeigt den Idealfall der Parallelisierung. Vier Atome in einem 128 – Bit – Molekül bedienen jeweils eine der Ausführungseinheiten des Crusoe, die in "echter" Hardware gebaut sind. Der Prozessor besteht aus 5 Funktionseinheiten, zwei Integer-, eine Floating Point - , eine Load/Store und eine Branch - Einheit, wobei zur Laufzeit der Code – Morphing – Software maximal vier dieser Einheiten zur Verfügung stehen. Andre Ritterhoff & Ralf Ramaker 3 Labor Rechnerstruktur Quelle: www.tecChannel.de In der nachfolgenden Abbildung ist die Beziehung zwischen der Code – Morphing – Software und dem Crusoe – Prozessor dargestellt. Nur die Code – Morphing – Software selbst hat Zugriff auf den Prozessor. Beziehung zwischen CMS und Prozessor Quelle: Transmeta „The Technology behind Crusoe Processor“ Andre Ritterhoff & Ralf Ramaker 4 Labor Rechnerstruktur Beim Einschalten des Geräts wird die Code – Morphing – Software von einem Flash – ROM (512 KByte) ins RAM geladen und entpackt (2 MByte), zusätzlich kommen noch 6 – 14 MByte Zwischenspeicher (Translation – Cache) für übersetzte Sequenzen hinzu. Diese Bereiche sind schreibgeschützt. Erst danach kann das Rechner – BIOS gestartet werden, es läuft bereits über die Prozessor-Emulation. Während der Laufzeit wird das System immer schneller, da das Crusoe – Konzept versucht, jede Befehlskette nur einmal zu übersetzen. Dazu dient der Translation – Cache. Die Code – Morphing – Software unterteilt die x86 – Programme selbstständig in funktionale Blöcke, die sich gut übersetzen und dabei optimieren lassen. Je nach Optimierungstiefe kann dann die Software bündelweise x86-Befehle zusammenfassen und umorganisieren. So wird beim ersten Durchlauf eines Programms lediglich nur übersetzt und bei späteren Durchläufen dann immer weiter und filigraner optimiert (dynamisch). Transmeta belegt dies an einem Beispiel einer typischen kleinen C-Schleife, die aus zehn komplexen x86 – Befehlen besteht. Nach vielen Optimierungsschritten kann man sie auf vier einfache VLIW – Befehle reduzieren. Im Abschnitt „Code – Morphing – Software“ wird näher auf dieses Beispiel eingegangen. Andre Ritterhoff & Ralf Ramaker 5 Labor Rechnerstruktur Transmeta-Patente US5958061/WO9903037 Host microprocessor with apparatus for temporarily holding target processor state US5926832/WO9813740 Method and apparatus for aliasing memory data in an advanced microprocessor US5905855/WO9838575 Method and apparatus for correcting errors in computer systems US5832205 Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed WO9908188 A memory controller for detecting a failure of speculation of a component being addressed WO9838575 Method and apparatus for correcting errors in computer systems WO9908191 Translated memory protection apparatus for an advanced microprocessor WO9859292 Improved microprocessor WO9828689 A gated store buffer for an advanced microprocessor US: USPTO, WO: PCT [1] Andreas Stiller „Zu neuen Ufern“ c’t 3/2000 Seite:66 ff [2] Andreas Stiller „Robinsons Patente“ c’t 25/1999 Seite: 26 ff [3] PCT-Patent ( http://pctgazette.wipo.int/) sowie auf dem IBM-Patentserver ( http://www.ibm.com/patents) Andre Ritterhoff & Ralf Ramaker 6 Labor Rechnerstruktur Hardware Das nachstehende Blockdiagramm verdeutlicht schematisch den internen Aufbau des Crusoe Prozessors (Modell TM5400), mit seinen verschiedenen Anbindungen an den CPU – Kern (VLIW – Kern). Es stehen jeweils 64 KByte L1 – Cache für Daten und für Instruktionen zur Verfügung, sowie ein 256 KByte großer L2 – Cache. Der Translation Lookaside Buffer ist mit 256KByte dimensioniert. Für die externe Speicheranbindung, etc. bietet der Crusoe diverse Controller an, die über die Busschnittstelleneinheit (Bus Interface) angeschlossen sind. Alle Caches und der Translation Lookaside Buffer (TLB) sind satzassoziativ aufgebaut. Blockdiagramm des Crusoe Prozessors (Modell TM5400) Quelle: http://www.transmeta.com/technology/specifications/tm5400.html Auf der nächsten Seite befindet sich eine detaillierte Übersicht des 128 bittigen VLIW – Kerns des Crusoe – Prozessors (Modell TM5400). Auf den anknüpfenden Seiten wird noch ausführlicher auf die Caches, den TLB und die Controller eingegangen. Andre Ritterhoff & Ralf Ramaker 7 Labor Rechnerstruktur Der 128-bittige VLIW -Kern des Crusoe-Prozessors (Modell TM5400) Quelle: c't 3/2000, S. 32: Prozessoren und c't 25/99, S. 66: Prozessoren Oberhalb der rot gestrichelten Line ist der interne Aufbau des CPU – Kerns zu sehen, unterhalb ist die Anbindung der verschiedenen Controller über die Bus Interface Unit dargestellt. Am oberen Bildrand des CPU – Kerns befinden sich die Register und die „zusätzliche“ Hardware, die nachfolgend noch näher erklärt werden. Darunter sind die fünf Funktionseinheiten angeordnet. Es gibt fünf verschieden Funktionseinheiten: Da wären zum einen zwei ALU’s, welche die normalen (integer) Berechnungen ausführen, dann eine Load-/Store-Einheit, welche für den Speicherzugriff zuständig ist, eine Branch – Einheit für die Verzweigungen und eine Gleitkommazahlen – Einheit, welche die Gleitkommazahlen berechnet, sich aber auch um die MMX – Befehle(kein 3DNow, SSE oder SSE2) zu kümmern hat. Die arithmetischen Einheiten (ALU0 und ALU1) besitzen jeweils eine 7 stufige Pipeline. Für die Berechnung von Gleitkomma – Zahlen (FPU / Media) steht dem Prozessor eine 10 stufige Pipeline zur Verfügung. Andre Ritterhoff & Ralf Ramaker 8 Labor Rechnerstruktur Für die Load / Store – Einheit musste ein Gated Store Buffer eingeführt werden, damit Instruktionen spekulativ ausgeführt werden können, dazu später mehr. Unterhalb der Funktionseinheiten befinden sich die diversen Caches, welche die Daten und Instruktionen speichern. Ebenso sind dort Controller enthalten, die dafür sorgen, die Daten und Instruktionen in die richtige Reihenfolge zu bringen. Damit der Crusoe performancemäßig nicht zu stark einbricht, benötigt er große Caches und zusätzlich lokalen Speicher im Kern. Transmeta hat ihn dazu mit insgesamt 384 KByte (TM5400) Cache (64 KByte L1 Instruction Cache + 64 KByte L1 Data Cache + 256 KByte L2 WB [Write Back soll laut Transmeta eine Performance-Steigerung durch eine Verbesserung der effektiven Speicherbandbreite bringen] Cache) versorgt, zu denen sich 8 KByte Local Data Memory (LDM) und 8 KByte Local Programm Memory (LPM) gesellen. Am unteren Bildrand sind die verschiedenen Controller zu erkennen, die zwar noch mit auf dem Prozessorchip integriert sind, aber nicht zum eigentlichen Kern gehören. So verfügt der Prozessor über eine Northbridge, die für den PCI – Bus zuständig ist. Diese besteht aber nicht nur aus Hardware, sondern auch zum Teil aus Software. Des weiteren befinden sich Controller für den Arbeitsspeicher mit auf den Chip, diese können SDR und DDR-SDRAM mit einer Frequenz von 100 oder 133 MHz ansprechen. Zu guter letzt ist dort auch das Powermanagement (LongRun wird später noch erklärt) angesiedelt, welches eigentlich softwaremäßig gelöst wird. Register Die Register kann man noch einmal aufteilen in die Allzweck-Register (GPU) und die Gleitkomma-Register (FPU), die aufgrund der Wirkungsweise der CrusoeProzessoren jeweils doppelt vorkommen (Schattenregister/Shadow-Register). Es gibt 64 Allzweck-Register und 32 Gleitkomma-Register mit ihrem jeweiligen Schattenregister. Die 64 Allzweckregister werden durch die Code Morphing Software für verschiedene Aufgaben verwendet. So enthalten einige Register x86Statusinformationen, andere enthalten interne Systemstatusinformationen und wiederum andere werden als temporäre Register benutzt. Der Zusammenhang zwischen den sogenannten Working-Registern und den Schatten-Registern wird später noch behandelt. Andre Ritterhoff & Ralf Ramaker 9 Labor Rechnerstruktur Translation Lookaside Buffer (TLB) Einen wichtigen Anteil an der Arbeit übernimmt der Unified TLB (das Unified bedeutet, dass dieser TLB die selben Protection Bits und das gleiche Address Mapping benutzt wie TLB’s in x86-CPU’s). Er cacht nicht nur wie beim x86 die Übersetzungstabelle von physischen zu linearen Adressen, sondern markiert auch die Seiten, die bereits übersetzt wurden (T-Bit-Buffer) und gibt Auskunft über die Speicherattribute, als ob es sich um normalen Speicher oder um eine als Speicher angesprochene I/O-Komponente (Memory mapped I/O) handelt. Eine variable (wahrscheinlich konfigurierbare) Optimierungsstrategie kann dafür sorgen, dass der Code umso besser optimiert wird, je häufiger er benutzt wird. Beim ersten Durchlauf wird er lediglich übersetzt und bei späteren Durchläufen dann immer weiter und filigraner optimiert. (Beispiel siehe im Kapitel: Code – Morphing – Software). Dieses Verfahren der Laufzeitoptimierung erinnert ein wenig an ‘intelligente’ BASICInterpreter (Um Missverständnissen vorzubeugen, muss anfügt werden, dass es keine ‘intelligenten’ BASIC-Interpreter gibt. Dieser Begriff wurde vom Autor des Artikels, Herrn A. Stiller, eingeführt, um das Prinzip der Befehlsabarbeitung mit einem bereits bekannten Prinzip zu vergleichen. Ein Interpreter ist eine Art Übersetzungsprogramm, welches nach der Methode der schrittweisen Übersetzung arbeitet. Jeder eingegebene und übersetzte Befehl wird sofort ausgeführt. Ein Interpreter analysiert jeden Befehl einzeln und wandelt ihn so um, dass er sofort ausgeführt wird, wobei die Bereiche, in denen die verarbeiteten Daten untergebracht werden, zusammen mit dem Befehl oder bereits davor beschrieben werden müssen. Da anders als Compiler kein Objektprogramm, wo diese Bereiche fixiert sind, entsteht. Taucht bei der Programmbearbeitung ein Programmteil auf, der zyklisch immer wieder abgearbeitet werden muss, so muss die Übersetzung immer wieder neu durchgeführt werden. Wenn der Interpreter allerdings ‘intelligent’ wäre, so würde er bereits übersetzte Programmteile zwischenspeichern, wie es der Transmeta Crusoe mit seinem Translation-Cache macht. Desweiteren würde er die bereits übersetzten Programmteile im TLB markieren, wie beim Transmeta Crusoe mit dem T-Bit-Buffer im TLB realisiert und könnte dann im Falle einer Wiederholung eines Programmteiles auf die bereits übersetzten Befehle zurückgreifen. Dies würde eine enorme Beschleunigung bei der Bearbeitung eines Programms bedeuten, in dem zyklische Wiederholungen von Programmteilen vorkommen.). Transmeta will das Verfahren auch keinesfalls auf x86-Emulation beschränkt sehen, sondern erwähnt im Patent explizit andere mögliche Einsatzbereiche, etwa Pcode oder Java. Andre Ritterhoff & Ralf Ramaker 10 Labor Rechnerstruktur Alias Hardware Die Alias Hardware wird erforderlich, damit man bei der Bildung der Moleküle freier mit den Atomen operieren kann. Denn es können bei der Bildung von Molekülen Probleme beim Speicherzugriff entstehen. Wenn also ein Load-Befehl vor einem Store-Befehl ausgeführt werden soll, so werden die Daten geladen und der betreffende Bereich wird als geschützt markiert. Sollte dem Load – Befehl nun ein Store-Befehl folgen und die Daten des Store-Befehls berühren den geschützten Bereich des vorangegangenen Load – Befehls nicht, so passiert nichts. Sollte der Store-Befehl aber auf den geschützen Bereich des vorangegangenen Load – Befehls zugreifen wollen, so verwirft sie die spekulative Ausführung, lädt den zuletzt abgesicherten x86-Registersatz und führt die Befehle ‘in order’ Stepp für Stepp aus. Eine Ausnahme tritt dann an der richtigen Stelle auf, und der Speicher wird in der originalen Reihenfolge adressiert. Nachfolgend ein Beispiel: ld %r30, [%x] ... st %data, [%x] ld %r31, [%x] use %r31 // first load from location X // might overwrite location X // this accesses location X again Wie in diesem Beispiel zu sehen ist kommt es zu einer Überlappung im Speicher zwischen den Store – Befehl und den vorherigen Load – Befehl. Um dieses Problem zu lösen wird mit Hilfe der Alias Hardware und der Code – Morphing– Software gearbeitet. Dies geschieht durch Umkonvertierung der Atome. Dabei wird ein Load – Befehl umgewandelt in ein load – and – protect – Befehl und ein Store – Befehl in ein store– under – alias – mask – Befehl. Anschließend ist das übersetzte Beispiel zu sehen. ldp %r30, [%x] ... stam %data, [%x] use %r30 // load from X and protect it // this store traps if it writes X // can use data from first load Da der zweite Load – Befehl (vorletzte Zeile im Ausgangsbeispiel) unnötig auf den gleichen Speicherraum zugreifen möchte, wird dieser von der Code – Morphing – Software automatisch eliminiert. Programmierbeispiel aus „The Technology behind the Crusoe Processors“ Andre Ritterhoff & Ralf Ramaker 11 Labor Rechnerstruktur Gated Store Buffer Der Gated Store Buffer musste eingeführt werden, damit Instruktionen spekulativ ausgeführt werden können. Es wird bei der Zusammenstellung der Atome zu einem Molekül spekulativ gearbeitet, da die Code Morphing Software nur versucht, alle vier Atome parallel in den fünf Funktionseinheiten (mehr dazu später) abarbeiten zu lassen. Hierbei kann es vorkommen, dass eine falsche Kombination ausgewählt wurde (siehe auch Alias Hardware). Deshalb werden alle Store – Operationen so lange im Gated Store Buffer zwischengespeichert, bis sich die Spekulation als richtig erwies. Jetzt werden alle zutreffenden Store – Operationen durch einen Commit – Befehl in den Speicher geschrieben und das Shadow – Register wird ins Working (Target) – Register geschrieben. Der Commit – Befehl wird parallel zu den VLIW – Instruktionen ausgeführt. Sollten sich die Spekulationen als falsch herausstellen, so werden alle Store – Operationen im Gated Store Buffer durch einen Rollback – Befehl gelöscht und es wird der letzte richtige Übersetzungszustand aus dem Working (Target) – Register ins Shadow – Register geschrieben. Weiterführende Informationen zu den einzelnen Prozessoren findet man unter folgenden Links: http://www.transmeta.com/developers/crusoe_docs.html http://www.transmeta.com/about/press/white_papers.html Andre Ritterhoff & Ralf Ramaker 12 Labor Rechnerstruktur Prozessorübersicht Prozessor TM3120 TM5400 TM5600 TM5500 TM5800 333-400 MHz 500-700 MHz 500-700 MHz 667-800 MHz 667-800 MHz Taktrate 96 kByte 128 kByte 128 kByte 128 kByte 128 kByte - 256 kByte 512 kByte 256 kByte 512 kByte 77 mm2 73 mm2 - - - Leistungsaufnahme DVD 2,9 W 1,8 W - - - Leistungsaufnahme MP3 1,4 W 1,0 W - - - Leistungsaufnahme Tiefschlaf 0,015 W 0,03 W - - - Prozessortechnik IBM 7S 0,22 µm IBM µm 0,18 µm 0,13 µm 0,13 µm Integrierte Hardware Northbridge, SDRAM, PCI Northbridge SDRAM, DDRSDRAM, PCI, Northbridge, SDRAM, DDRSDRAM, PCI Northbridge, SDRAM, DDRSDRAM, PCI Northbridge, SDRAM, DDRSDRAM, PCI L1-Cache L2-Cache Die-Größe 8S 0,18 Da bei der Veröffentlichung der oben stehenden Tabelle nicht alle Informationen zu den jeweiligen Prozessoren bekannt waren, sind in einigen Feldern keine Angaben gemacht worden. Neuere Gegenüberstellungen sind nicht verfügbar. Diese Tabelle stammt von der Seite: http://www.e-online.de/sites/com/0501171.htm und sie zeigt alle CPUs, die bis heute auf dem Markt zu kaufen sind. Eine ähnliche Auflistung findet man unter: http://www.transmeta.com/technology/specifications/index.html Andre Ritterhoff & Ralf Ramaker 13 Labor Rechnerstruktur Benchmarks Mobile Benchmarks Quelle der nachfolgenden Tabellen, war die Transmeta-Homepage: http://www.transmeta.com/technology/benchmarks/mobile_bench.html) Diese Tabellen und noch ein paar weiterführende Informationen können unter dem Link für die Testing Methodologie [http://www.veritest.com/clients/reports/transmeta/tmbmk.pdf] angeschaut werden. Notebook Processor Battery Mark 4.0.1 Score Dell Latitude L400 Intel Pentium III 700MHz 1:50 hours IBM X-Series ThinkPad X20 Intel Pentium III 600MHz 3:24 hours IBM I-Series ThinkPad 1124 Intel Pentium III 500MHz 4:33 hours NEC Versa UltraLite Transmeta TM5600-600MHz 5:11 hours NEC Versa DayLite Transmeta TM5600-600MHz 6:45 hours Table 1. Ziff Davis Batterymark 4.0.1 benchmark data between comparable notebook systems ¹ DVD Playback on the IBM ThinkPad X20 was plagued with dropped frames Note: ² DVD Playback could not be accomplished on the IBM ThinkPad 1124. Der BatteryMark mixt verschiedene Arbeitspakete und addiert periodisch Pausen hinzu, die den tatsächlichen Arbeitsverlauf des Nutzers darstellen sollen. Das Programm liefert eine Zeit in Stunden und Minuten, die anzeigt, wie lange das Notebook laufen würde. Einen Auszug des Tests (in Englisch), der die Testbedingungen näher und ausführlicher beschreibt ist im Anhang A zu finden. Andre Ritterhoff & Ralf Ramaker 14 Labor Rechnerstruktur Server Benchmarks Quelle der nachfolgenden Tabellen, war die Transmeta - Homepage: http://www.transmeta.com/technology/benchmarks/server_bench.html. Es gibt leider kein Dokument, aus welchem die Testbedingungen hervorgehen. RLX System 324 Cobalt 4i Cobalt 4R XTR TM5600633MHz, 512MB SDRAM, IDE 10GB HD, Red Hat 6.2 AMD K6-2 450MHz, 128MB SDRAM, IDE 10GB HD, Cobalt SW Intel PIII 933MHz, 512MB SDRAM, IDE 3x30 GB, RAID, Cobalt SW Number of Servers 254 42 42 42 Watts Per Server 15.7 33.9 72.0 76.4 Pages/Sec Per Server (ZD WebBench, peak request load) 1,466 208 916 1706 372,364 8,736 38,472 71,652 Server Configuration Pages/Sec per Rack Compaq DL320 Intel PIII 800MHz, 512MB SDRAM, 18GB Ultra SCSI3HD, Red Hat 6.2 Competitive data based on 5,000 Watts per standard 42U server rack* (*Calculations based on 80% of max power = 4,000 Watts) Bei diesem Benchmark soll gezeigt werden, dass das RLX System den drei anderen Systemen gegenüber überlegen ist. Hierzu wird angegeben, wie viele Server in einem Rack (’Serverschrank’) enthalten sind, wie viel Leistung pro Server verbraucht wird und wie viele Seiten ein einzelner Server pro Sekunde verarbeiten kann. Nimmt man jetzt die Anzahl der einzelnen Server pro Rack und die Anzahl der von jedem einzelnen Server verarbeiteten Seiten, so kann man ausrechnen wie viele Seiten das Rack in einer Sekunde verarbeiten kann. Und wie man in dem Bild oben sehen kann liegt das RLX System weit vorne. Nimmt man jetzt auch noch den Leistungsverbrauch pro Server hinzu und multipliziert sie mit der Anzahl der Server pro Rack und dividiert diese Zahl dann wieder durch die Anzahl der Seiten/Sekunde für das jeweilige Rack, so liegt das RLX System uneinholbar auf dem ersten Platz, was den Energieverbrauch pro verarbeitete Seite angeht. Andre Ritterhoff & Ralf Ramaker 15 Labor Rechnerstruktur Es ergeben sich folgende Werte: Für das RLX System 324: Server Watt ∗ 15,7 Watt Rack Server = 10,709 Seiten Seiten Server Sekunde Sekunde 254 ∗ 1,466 Rack Server 254 Für das Cobalt 4i System: Server Watt ∗ 33,9 Rack Server = 162,981 Watt Seiten Seiten Server Sekunde Sekunde 42 ∗ 208 Rack Server 42 Für das Cobalt 4R XTR System: Server Watt ∗ 72 Watt Rack Server = 78,603 Seiten Seiten Server Sekunde Sekunde 42 ∗ 916 Rack Server 42 Für das Compaq DL320 System: Server Watt ∗ 76,4 Watt Rack Server = 44,783 Seiten Seiten Server Sekunde Sekunde 42 ∗ 1706 Rack Server 42 So schön diese Angaben auch sind, sollte man immer im Hinterkopf behalten, dass jede Firma sein Produkt als bestes erscheinen lassen will. So sollte man immer auch darauf achten, dass die untersuchten Systeme nahezu identisch ausgestattet sind. Wie man im Falle der Server Benchmarks jedoch sehen kann ist die Ausstattung der einzelnen Systeme doch ziemlich unterschiedlich, weshalb auch das Benchmark – Ergebnis mit Vorsicht zu genießen ist. Unter den nachfolgenden Links kann man sich über RLX-System 324 informieren: http://www.transmeta.com/everywhere/products/servers/rlxtechnologies/rlxtechnologi es_system324.html http://www.rlx.com/product/ Andre Ritterhoff & Ralf Ramaker 16 Labor Rechnerstruktur LongRun-Technologie Quelle : http://www.transmeta.com/technology/architecture/longrun.html Einen Auszug aus der oben genannten Quelle finden Sie auch im Anhang B. Wie schon beim Thema Benchmarks erwähnt, sollte man aufpassen, dass die Ausstattung der Systeme identisch ist, und das man vergleichbare Systeme gegenüberstellt und nicht wie hier geschehen einen normalen Pentium III mit einer Transmata CPU, die für den mobilen Einsatz konzipiert wurde. DVD idle. PIII Average=2.309 Watts; Crusoe Average=0.326 Watts. DVD bootup (~5 seconds). PIII Average=5.242 Watts; Crusoe Average=1.375 Watts. Andre Ritterhoff & Ralf Ramaker 17 Labor Rechnerstruktur LongRun launched. DVD running at normal speed. PIII Average=6.199 Watts; Crusoe Average=1.257 Watts. Nachfolgend ein kurzer Auszug aus der c't 6/2000, S. 38: Prozessoren von Andreas Stiller zur LongRun-Technologie: Von der Wirkung der Stromspartechnik LongRun konnte mich der auch für die virtuelle Northbridge verantwortliche Entwicklungsleiter Marc Fleischmann, übrigens ein Deutscher, im Transmeta-Lab überzeugen. Ein zwischen 266 und 600 MHz in fünf Schritten (die minimale Abstufung ist 33 MHz) und zwischen 1,1 und 1,6 V regelnder TM5400-Crusoe verbrauchte im Spitzenbereich zwar auch mal 6 W, blieb im Schnitt bei üblicher Software aber bei rund 1 W und wurde - ohne Kühlkörper – gerade mal handwarm. LongRun benötigt Idle-Zustände für seine Regelarbeit. Ohne APM unter DOS arbeitet LongRun nicht und der 600-MHz-TM5400 schluckt dann, etwa beim Doom-Spiel, konstant 5 W, was den Prozessor aber auch nur auf 43 °C aufheizte. In diese Verbrauchswerte ist die zu Intels BX teilweise kompatible Northbridge mit einbezogen, die ja beim Crusoe bereits im Prozessor integriert ist beziehungsweise von der CMS virtualisiert wird. Zum Vergleich: die Original-BXNorthbridge allein verbraucht gut 2 W - und kennt weder PC133 noch gar ein zweites DRAM-Interface für DDR-266 wie der TM5400. Da CMS auch Herr über die Northbridge ist, kann es nicht nur den Prozessor, sondern auch den Speicher bei Bedarf langsamer fahren, was zusätzliches Einsparpotenzial liefert. Andre Ritterhoff & Ralf Ramaker 18 Labor Rechnerstruktur ‘CoolRun’-Technologie (Quelle: http://www.transmeta.com/technology/advantages/cooler.html) Nachfolgend wird ein zweiter Vorteil der LongRun-Technologie aufgezeigt, denn man kann mit Hilfe dieser Technologie nicht nur den Energieverbrauch für jede Anwendung optimal einstellen, sondern durch die Verwendung von LongRun kann auch die Prozessortemperatur entsprechend geregelt werden. Es muss somit nicht auf andere Techniken zurückgegriffen werden, bei denen der Prozessor in einen Wartezustand geschaltet wird um ihn abkühlen zu lassen. Weiterer Informationen zum Thema Thermal Management (in Englisch) finden Sie im Anhang C. Der Crusoe hat eine völlig andere Architektur als andere Prozessoren. Er wurde dafür entwickelt, weniger Energie zu verbrauchen und damit im Betrieb kühler zu laufen. Die nachfolgenden Bilder (mit einer Wärmebildkamera aufgenommen) sollen dies demonstrieren. Pentium III 500MHz, 1.6 Volt versus Crusoe TM5600 600MHz, 1.6 Volt Pentium III / Crusoe processor bootup. Processors heating up (elapsed time = 10 sec.). Andre Ritterhoff & Ralf Ramaker 19 Labor Rechnerstruktur Peak temperature (elapsed time = 25 sec.). Das letzte Bild noch einmal als Großaufnahme. Die beiden nachfolgenden Links beschäftigen sich ebenfalls mit dem Thema Hitzeentstehung im Prozessor. http://www.transmeta.com/why/everyday/cooler.html http://www.transmeta.com/technology/advantages/cooler.html Andre Ritterhoff & Ralf Ramaker 20 Labor Rechnerstruktur Zukunftsvisionen der Transmeta-Ingenieure Neuigkeiten über Transmeta befinden sich auf folgender Adresse: http://www.transmeta.com/about/press/news_headlines.html (Quelle der nachfolgenden Abbildungen, war die Transmeta – Homepage: http://www.transmeta.com/technology/benchmarks/future_direct.html) Auf dem obigen Bild sollte die Zeitachse für die Einführung der neuen Code Morphing Software dargestellt werden, aber die Einführungstermine konnten nicht eingehalten werden (aus welchen Gründen auch immer?), denn die momentan aktuellste Version ist die Version 4.2. Wann die Version 4.3 eingeführt wird ist zur Zeit nicht bekannt. Auch ist zum heutigen Zeitpunkt nicht bekannt, welche Neuerungen die Version 4.3 beinhaltet. Auf dem unteren Bild wurden die Einsparungspotentiale der 4.2 Version im Gegensatz zur 4.1 Version dargestellt. Welche Testumgebung beim Ermitteln dieser Werte benutzt wurde ist nicht bekannt. Andre Ritterhoff & Ralf Ramaker 21 Labor Rechnerstruktur Im Normal-Modus läuft der Prozessor wie gewohnt und arbeitet normal. Der Auto HALT – Modus ist ein Energiespar – Modus, in den bei einer HLT Anweisung gesprungen wird. Dieser Modus wird in Folge einer Interrupt – Anforderung oder eines Reset – Befehls verlassen. In den Quick Start-Modus wird gesprungen, wenn der Prozessor ein STPCLK – Eingangssignal bekommt. Der Quick Start Modus ist ebenfalls ein Energiespar – Modus, der aber nur dadurch beendet werden kann, in dem das STPCLK – Eingangssignal wieder zurückgenommen wird. Der Deep Sleep Modus ist der Energiespar – Modus, bei dem das System den niedrigsten Energieverbrauch hat, ohne den Prozessorstatus zu verlieren. In diesen Modus kann nur gewechselt werden, wenn man vorher im Quick Start-Modus war. Für nähere Informationen siehe Anhang D. Andre Ritterhoff & Ralf Ramaker 22 Labor Rechnerstruktur Weitere Zukunftsaussichten bei Transmeta:TM6000 (Quelle: http://www.e-media.at/home/meldung.asp?ID=1257#top) Bei Recherchen, die sich ebenfalls mit einer Neuerscheinung aus dem Hause Transmeta beschäftigen sind im Anhang E zu sehen. Sicher, das es sich dabei um den selben Prozessor handeln könnte, ist man nicht, da er einige Gemeinsamkeiten mit dem TM6000 aufweist (nur das er den Namen TM8000 Astro trägt). Transmeta kündigt Prozessor mit integrierter Grafik an Transmeta hat auf dem Microprocessor Forum einen neuen Prozessor angekündigt, der die Vision von einem "System-on-a-Chip" verwirklichen soll. Der "Crusoe TM 6000" werde wesentlich mehr Systemfunktion integrieren als die bisherigen Crusoes. Die Basis für den TM 6000 bietet die Crusoe- 5000-Serie mit bis zu einem Gigahertz Taktfrequenz. Eingebunden in den Chip ist nun nicht nur die South- sondern auch die Northbridge sowie 2D-Grafik. Dazu gibt es 512 Kilobyte Level-2-Cache, Unterstützung für DDR-333Speichermodule sowie Schnittstellen für USB, PCI-Bus, Audio- und Modem, allgemeine I/O-Komponenten und herkömmliche Peripherie. Laut TransmetaTechnologiechef David Ditzel lassen sich damit beispielsweise Festplatten, Keyboard, Maus und selbst ein Monitor direkt an den Prozessor anbinden. Ergebnis der Integration von Systemeinheiten ist laut Ditzel ein platzsparendes System, das im Vergleich zu einem Crusoe TM 5600 etwa 44 Prozent an Strom einsparen kann. Die Fläche eines TM 6000 beträgt 784 Quadratmillimeter, ein TM 5600 auf einem Board mit den Komponenten des 6000 benötigt dagegen etwa 2.500 Quadratmillimeter. Transmeta zielt mit dem TM 6000 auf PC mit kleinen Rechnergehäusen, rackbasierte Server sowie integrierte Rechner mit statischen Einsatzgebieten. 3D-Grafik sei in diesen Zielmärkten "nicht zu rechtfertigen gewesen", so Ditzel. Zudem besitze der TM6000 eine Schnittstelle, über den der Chip extern mit 3D-Grafik erweitert werden könne. Der neue Prozessor soll im zweiten Halbjahr in Stückzahlen auf den Markt kommen. Ditzel kündigte an, den Chip mit einer "aggressiven Preisgestaltung" in den Markt drücken zu wollen. Vor dem TM 6000 wird Transmeta die Taktfrequenz des TM 5800, der in den kommenden Wochen ausgeliefert werden soll, von 800 auf 1.000 Megahertz anheben. Parallel zum TM 6000 soll 2002 die nächste Crusoe-Generation vorgestellt werden. Der Chip werde eine neue Version der "Code-Morphing-Software" (CMS) sowie eine 256-Bit-VLIW-Engine enthalten und damit bis zu drei Mal leistungsfähiger sein als heutige Crusoes. (Welche CMS aber gemeint ist, ist bis jetzt nicht bekannt. Auch wie die neue VLIW-Engine arbeitet ist nicht näher bekannt [ob nun 4 * 64 Bit breite Wörter verarbeitet werden oder aber 8 * 32 Bit breite Wörter?].) Andre Ritterhoff & Ralf Ramaker 23 Labor Rechnerstruktur Code – Morphing – Software (CMS) Die Code – Morphing – Software übersetzt dynamisch zur Laufzeit Blockweise komplexe x86 – Befehle in einfachere VLIW – Befehle, sogenannte Atome. Bis zu vier unabhängige Befehle a 32 Bit können in ein Molekül verpackt werden. Das Konzept ähnelt den µops, wie Intel das Aufteilen von x86 – Code in kleinere RISC – ähnliche Häppchen nennt. Das Verfahren ist in der folgender Grafik zu sehen. Quelle: www.tecChannel.de Die blau hinterlegten Funktionen einer x86 – CPU erledigt Crusoe per Software. Durch die Aufbereitung per CMS stehen die Atome für die Ausführungseinheiten zur Verfügung. Bis zu vier Atome (1. Molekül) können parallel, jeweils einer Funktionseinheit zugewiesen werden. Diese Zuweisung der Einheiten vereinfacht die Decode – / Dispatch – Phase. 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. Im folgendem Bild ist der Idealfall der Parallelisierung dargestellt. Quelle: www.tecChannel.de Andre Ritterhoff & Ralf Ramaker 24 Labor Rechnerstruktur Jede Funktionseinheit ist in „echter“ Hardware aufgebaut. Für die Ausführung spekulativer Befehle stehen der Software 64 Allzweck – und 32 FPU – Register zur Verfügung. Zu jedem Register bietet die Hardware zusätzlich ein sogenanntes Schattenregister, ebenfalls doppelt vorhanden sind Register die x86 Statusinformationen beinhalten. Alle spekulativ ausgeführten Befehle wirken zunächst nur auf die Schattenregister. Wenn sich die Spekulationen als wahr erweisen, sorgt ein Commit – Befehl dafür, dass die Werte in die offiziellen Target – Register übertragen werden. Der Commit – Befehl wird parallel zu den VLIW – Befehlen ohne Zeitverlust im Hintergrund ausgeführt. Binnen eines Taktes kann der Crusoe parallel zu anderen Operationen sämtliche Daten zwischen den beiden Registersätzen hin- und herschieben. Der Crusoe kann aufeinander folgende x86 – Befehle bündeln und dynamisch optimieren, d.h. das die ausgeführten Befehle (Befehlsketten) im Translation – Cache gespeichert werden und während der Laufzeit ein dynamisches Feedback (Erkennung), bezüglich der Blockausführungshäufigkeit, Verzweigungshistorie, Optimierungsgrad etc. erstellt wird. So wird beim ersten Durchlauf eines Programms lediglich nur übersetzt und bei späteren Durchläufen dann immer weiter und filigraner optimiert (dynamisch). Dadurch wird das System während der Laufzeit immer schneller. Eine Schwierigkeit bei der Entwicklung des Crusoe Prozessors war die Anforderung der Bitkompatibilität. Besonders bei Ausnahmeinterrupts muss exakt der x86 Zustand hergestellt werden, damit das Betriebssystem die Behandlung übernehmen kann. Die durch die Architektur geschaffenen Veränderungen des Codes können durch sogenannte Rollback – Befehle rückgängig gemacht werden. Diese speichern den letzten Zustand der Statusregister und Informationen über die ausgeführten Speicherzugriffe. Die Arbeitsweise der Code – Morphing – Software ist in drei Schritten gegliedert. 1. Übersetzung in Atome - Transformation der x86 – Befehle in VLIW – Befehle, es entsteht eine Sequenz von VLIW – Atomen 2. Optimierung - Verbesserung des Codes durch z.B. Eliminierung redundanter Atome 3. Scheduling - Anordnung / Gruppierung der Atome in Moleküle Andre Ritterhoff & Ralf Ramaker 25 Labor Rechnerstruktur Anhand eines einfachen Beispieles demonstriert Transmeta in ihren Whitepapers (http://www.transmeta.com/about/press/white_papers.html) wie die Übersetzung eines kleinen Vierzeilers vonstatten geht. Als Grundlage dient folgender C – Code: A. B. C. D. addl addl movl subl %eax,(%esp) %ebx,(%esp) %esi,(%ebp) %ecx,5 // // // // load data from stack, add to %eax ditto, for %ebx load %esi from memory subtract 5 from %ecx register Im ersten Schritt dekodiert die Code – Morphing – Software die x86 – Befehle in VLIW – Befehle um. Als Demonstration dient der erste x86 – Befehl der in zwei Crusoe – Atome übersetzt wird. x86 Code addl %eax, (%esp) // lade von Stack, add zu AX ¯ ⇓ Crusoe Atom ld %r30, [%esp] add.c %eax, %eax, %r30 // lade von Stack nach tmp // addiere zu AX und setze Condition Codes Nach der Transformation aller x86 – Befehle, in einem Block, entsteht ein Strom von VLIW – Instruktionen. ld %r30,[%esp] add.c %eax,%eax,%r30 ld %r31,[%esp] add.c %ebx,%ebx,%r31 ld %esi,[%ebp] sub.c %ecx,%ecx,5 // load from stack, into temporary // add to %eax, set condition codes. Im nächstem Schritt wird optimiert. Das heißt, das z.B. redundante Atome eliminiert werden, unnötiger Condition Code gelöscht wird usw. Die rot dargestellten Anweisungen symbolisieren überflüssigen (redundanten) Code. ld %r30, [%esp] add.c %eax, %eax, %r30 ld %r31, [%esp] add.c %ebx, %ebx, %r31 ld %esi, [%ebp] sub.c %ecx, %ecx, 5 Andre Ritterhoff & Ralf Ramaker // Wiederverwendung bereits // geladener Register und Eliminierung // nutzlosem Condition Code 26 Labor Rechnerstruktur Nach der Optimierung bittet sich folgendes Bild. ld %r30, [%esp] add %eax, %eax, %r30 add %ebx, %ebx, %r30 ld %esi, [%ebp] sub.c %ecx, %ecx, 5 Im letzten Schritt, werden die Atome zu einem Molekül zusammen gesetzt und parallel von der VLIW – CPU ausgeführt. Folgende Anordnung für das Beispiel entstehen: 1. Molekül: ld %r30, [%esp]; sub.c %ecx, %ecx, 5 2. Molekül: ld %esi, [%ebp]; add %eax, %eax, %r30; add %ebx, %ebx, %r30 Im Gegensatz zu vier x86 – Befehlen wandelt der Crusoe sie in zwei Moleküle um. Ein Grund für die Effizient der CMS ist die Tatsache, dass x86 – Code viel Redundanz auf historischen Gründen und wegen einer besseren Wartbarkeit enthält. Diese Redundanz wird entfernt und die Emulation arbeitet effizienter. Manch komplexe x86 – Routine mit beispielsweise zehn Befehlen vermag die Software nach mehreren Optimierungsstufen auf nur vier VLIW – Moleküle zu reduzieren, ähnlich wie ein moderner Mehr – Pass – Compiler. Eine Achillesferse des Prozessors ist der Speicherbedarf, zwar benötigt die CMS 2 MByte (expandiert) hinzu kommt aber noch der Zwischenspeicher für übersetzte Sequenzen (Translation Cache) von 6 bis 14 MByte, welches dem x86 – Anwender entzogen wird. ...“Für die übersetzten x86 – Befehle verbraucht CMS rund sechsmal mehr Speicher und bläht so sowohl Speicherbedarf als auch die benötigte Speicherbandbreite reichlich auf. Letzteres ist relevant für die Performance, denn hier entsteht ein neuer Flaschenhals, den die anderen Prozessoren nicht kennen, da sie das „Aufblähen“ des Codes zur Laufzeit nur im Prozessorkern selbst vornehmen.“...1 1 Andreas Stiller „Zu neuen Ufern“ c’t 3/2000 Andre Ritterhoff & Ralf Ramaker 27 Labor Rechnerstruktur Literatur und Quellenangabe • http://www.transmeta.com • Transmeta „Whitepapers http://www.transmeta.com/about/press/white_papers.html • Transmeta Documents http://www.transmeta.com/developers/crusoe_docs.html • Andreas Stiller „Zu neuen Ufern“, c’t 3/2000 Seite 66 ff • Andreas Stiller „Robinsons Patente“ c’t 25/1999 Seite 26 ff • http://www.tecChannel.de Andre Ritterhoff & Ralf Ramaker 28 Labor Rechnerstruktur Anhang A Testing methodology (Quelle: http://www.veritest.com/clients/reports/transmeta/tmbmk.pdf) (Dies ist nur ein kleiner Auszug aus dem oben genannten Dokument und soll dazu dienen, sich selber ein Bild über die Aussagekraft der vorangestellten Tabellen zu machen) Test System Configuration Transmeta™ Corporation commissioned eTesting Labs to perform competitive benchmark tests on five notebook computers. After we received the laptops, we formatted all hard drives, installed Windows 2000 SP1, and turned the brightness level of the active matrix displays to the lowest setting to level set these units. We made no changes to the BIOS. The Intel® SpeedStep™ setting was set to “Automatic” in the BIOS’ of the IBM and Dell systems when we received them and we left that setting unchanged. We installed WinBench 99 Version 1.1 and BatteryMark 4.0.1 on each laptop. At Transmeta’s™ request we performed all runs on battery power. BatteryMark 4.0.1 BatteryMark measures a notebook computer's battery life and workload potential by exercising three different 32-bit software workload engines--one each for processor, disk, and graphics tasks. BatteryMark mixes these workloads together and adds periodic think times, or breaks, that reflect the way users pause while working. It then returns a score, in hours and minutes, that is a straightforward reporting of how long the notebook's battery took to run the life test. Larger scores mean the battery lasted longer. The conditioning phase and a life test make up a complete BatteryMark test run. BatteryMark's conditioning phase drains the battery completely and rapidly two or more times, as preparation for the life test. This drain and- recharge cycle ensures the battery is returning consistent power levels, which is a necessity before you start a life test. Conditioning the battery eliminates any battery memory effects on test results. (Conditioning doesn't harm computer batteries that don't ordinarily develop memory effects.) The result of consecutive conditioning runs also tells you whether the battery is returning a consistent amount of power. When the difference between two consecutive conditioning run times is 5% or less, BatteryMark considers the conditioning phase complete and recommends running the life test. For an inconsistently charged battery, BatteryMark recommends more conditioning runs. From the BatteryMark Status window, you can override BatteryMark's recommendation, if you wish, and choose to run the life test anyway. Depending on the battery's initial power state, you can expect to perform two to three conditioning runs. Andre Ritterhoff & Ralf Ramaker 29 Labor Rechnerstruktur Test Methodology 1. After building Windows 2000 Service Pack 1 standard test images, completely drain all batteries. 2. Fully re-charge all batteries. 3. Defragment hard disks. 4. Unplug test systems from AC Power. 5. Reboot. 6. Run CPUmark 99. 7. Completely drain all batteries. 8. Fully re-charge batteries. 9. Defragment hard disks. 10. Reboot. 11. Run BatteryMark 4.0.1 Conditioning Run. 12. Repeat steps 2 through 11. a. If the two CPUmark 99 scores are within 5% of each other discontinue running CPUmark 99. Otherwise, perform additional runs until there is less than 5% variance. b. If the two BatteryMark Conditioning Runs are within 5% of each other, move to step 13. Otherwise, perform additional Conditioning runs until there is less than 5% variance. 13. Completely drain batteries. 14. Fully re-charge batteries. 15. Defragment hard disks. 16. Reboot. 17. Run BatteryMark 4.0.1 Life Run. 18. Repeat steps 13 through 17 until two Life Runs fall within 5% variance. Test results The five notebooks we tested were similar in design and features, ranging from the 3.1 lb IBM X20 to the 3.4 lb Dell Latitude. All had similar dimensions, approximately 1”x7”x10”. All but the Versa DayLite, which had a backlit display, had active matrix displays (thin film transistor), and all but the ThinkPad 1124 had 4MB ATI Rage Mobility-M graphics adapters. The ThinkPad 1124 had a Lynx EM+. Andre Ritterhoff & Ralf Ramaker 30 Labor Rechnerstruktur Anhang B LongRun® Power Management Technology In addition to the Crusoe processor’s inherently energy efficient design, the Code Morphing software allows further reductions in power consumption by utilizing capabilities available only in the Crusoe hardware. One of these features is implemented in Transmeta’s LongRun Power Management technology. The LongRun technology provides Code Morphing software with the ability to adjust Crusoe’s voltage and clock frequency on the fly depending on the demands placed on the Crusoe processor by software. Because power varies linearly with clock speed and by the square of voltage1, adjusting both can produce cubic reductions in power consumption, whereas conventional CPUs can adjust power only linearly (by only adjusting the frequency). The LongRun policies are implemented within the Code Morphing software and it continuously scales both the frequency and voltage of the Crusoe processor according to the instantaneous demands of the computer system. It can detect different scenarios based on runtime performance information and then exploit these by adapting its power usage accordingly. All LongRun adjustments are seamless and transparent to the user. LongRun is designed to provide just enough performance for the processor workload at hand. This allows it to deliver performance when necessary and conserves power when processor demand is low, thereby eliminating performance and energy wastage. 1 Power=(Total Capacitance x Frequency x Voltage2) /2. How does LongRun work? LongRun operates by configuring the Crusoe processor to run at a number of different frequency and voltage points. The LongRun algorithm in the Code Morphing software monitors the Crusoe processor and dynamically switches between these points as runtime conditions change Idle time is monitored and LongRun finds a frequency/voltage point that minimizes the idle time for the current workload. Although the heuristics employed are complex, the LongRun policies can be abstracted to the following points: • If no idle time is detected during a workload, the frequency/voltage point is incremented (if possible). • If idle time is detected, LongRun may decide that performance is being wasted and decrement the frequency/voltage level. LongRun also works in conjunction with the industry standard ACPI (Advanced Configuration and Power Interface) specification — when the frequency and voltage scaling hits microarchitecture boundaries, Crusoe transparently switches over to traditional power models allowing policies such as ACPI to handle power management. Andre Ritterhoff & Ralf Ramaker 31 Labor Rechnerstruktur How is LongRun different? The following table illustrates some of the differences between LongRun and other conventional power management techniques. Power Management Technologies Legacy Power Management technology Intel’s SpeedStep technology Transmeta’s LongRun technology Attributes Employs primitive techniques such as Clock Throttling to deliver only linear reductions in power. Clock Throttling chokes processor performance by alternating the processor between running at full-speed and being effectively turned off. Power source based approach consisting of just two operating points. Provides a lower granularity of control and misses opportunities for further power gains. Adjusts both processor frequency and voltage in multiple steps based on processor activity. Allows a significant cubic power reduction relative to the drop in frequency. Anhand der oben stehenden Auflistung soll gezeigt werden, wie sich die LongRun Technologie von den anderen (heute gebräuchlichen) Energie-Spar-Technologien unterscheidet. Bei der Legacy Power Management technology wird dadurch Energie eingespart, dass der Prozessortakt heruntergefahren wird. Dies erlaubt (laut Transmeta) nur eine lineare Einsparung von Energie und nicht wie bei LongRun ähnlich einer e-Funktion, da sowohl die Versorgungsspannung als auch die CPU-Frequenz verändert werden kann. Bei Intel’s SpeedStep technologie gibt es (wenn ich das richtig verstanden habe) nur zwei verschiedene Spannungsstufen, über die die Energieeinsparung geregelt wird und nicht wie bei Transmeta’s LongRun mehrere. Andre Ritterhoff & Ralf Ramaker 32 Labor Rechnerstruktur Anhang C Thermal Management (Quelle: http://www.transmeta.com/technology/architecture/longrun.html) The management of how a device will dispose of heat is an integral part of microprocessor design. Operating temperature rises as heat collects in a device, potentially causing damage and affecting performance. Designers are careful to incorporate thermal solutions in their designs that allow their products to operate within a safe temperature range. Conventional processors typically use Thermal Throttling for CPU thermal management. Thermal throttling regulates the thermal environment by alternating between running the processor at full speed and placing the processor in a sleep state whenever the upper limits of the thermal envelope are reached. Performance is delivered in discrete bursts that tend to be unfavorable for applications processing smooth multimedia content, such as software DVD and MP3 playback. By integrating a thermal model into the software algorithm, LongRun manages the Crusoe processor’s thermal environment by using frequency/voltage shifts as a substitute for thermal throttling. In contrast to conventional thermal management techniques, the LongRun thermal extensions deliver higher performance at the same die temperature or the same performance at a lower die temperature, essentially expanding the thermal budget of the CPU. The LongRun thermal extensions allow the possible elimination of active cooling solutions, which reduces system weight and time-to-market as there is no need for explicit CPU thermal management. With LongRun, Transmeta delivers superior performance for a given thermal envelope. Andre Ritterhoff & Ralf Ramaker 33 Labor Rechnerstruktur Anhang D Nachfolgend wird eine Tabelle gezeigt, welche die vier Zustände der obigen Grafik erklären soll. Es wird der Unterschied des normalen Zustandes im Vergleich zum Auto Halt-, Quick Start- oder Deep Sleep-Zustand erklärt. (Quelle: http://www.transmeta.com/pdf/white_papers/paper_mfleischmann_17jan01.pdf). Das nachfolgende Diagramm zeigt wie zwischen den einzelnen Prozessorzuständen hin- und hergewechselt werden kann. Das Diagramm wurde aus dem Datenblatt des TM5800 entnommen. Ich nehme an, dass der Zustandswechsel des Prozessors beim TM5400 genau so oder aber doch ziemlich ähnlich aussieht. (Quelle: http://www.transmeta.com/crusoe_docs/TM5800_DataBook_6-26-02.pdf) Andre Ritterhoff & Ralf Ramaker 34 Labor Rechnerstruktur Andre Ritterhoff & Ralf Ramaker 35 Labor Rechnerstruktur Nachfolgende Tabelle zeigt die typische Leistungsaufnahme bei den verschiedenen Aufgaben im Zusammenhang mit dem jeweiligen Prozessorzustand an. (Quelle: http://www.transmeta.com/technology/specifications/tm5400.html) Nachfolgen sind noch einmal alle Zustände, die das System annehmen kann, aufgelistet. (Quelle: http://www.transmeta.com/technology/specifications/tm5400.html) Die Unterschiede zwischen den drei Zuständen (G1/S4, G2/S5 und G3) liegen in der unterschiedlichen Ausschaltung des Systems. Andre Ritterhoff & Ralf Ramaker 36 Labor Rechnerstruktur Anhang E Transmeta Shows New TM8000 Astro (Quelle: http://www.mdronline.com/watch/watch_abstract.asp?Volname=Issue%20%23158&S ID=577&on=1&SourceID=00000377000000000000) Tom R. Halfhill - Senior Editor {01/06/2003} Transmeta is showing customers first samples of its next-generation mobile PC processor, promising to deliver production quantities by 3Q03. Although Transmeta is withholding most architectural details about the new TM8000 Astro until it’s closer to release, the company says the processor will offer higher performance and additional power-management features. The biggest difference between the TM8000 and current TM5800 Crusoe processors is a much wider VLIW core. The TM8000 has 256-bit-wide instruction words that can issue up to eight 32-bit operations in parallel, compared with the TM5800’s 128-bitwide instruction words containing four 32-bit operations. Although the common wisdom is that typical PC applications yield little instruction-level parallelism beyond four-way execution, it’s possible that the TM8000 can do better. Its “code-morphing software” dynamically translates x86 instructions into native VLIW instructions, often reducing complex x86 instructions into two or more simpler operations suitable for parallel execution. (See MPR 2/14/00-01, “Transmeta Breaks x86 Low-Power Barrier.”) In addition to wider instruction words, the TM8000 has many new instructions, instruction types, addressing modes, and registers; it’s virtually a new architecture. Transmeta has the freedom to overhaul the processor’s architecture so extensively because the VLIW core is invisible to x86 software, which runs atop the emulation layer. The native VLIW architecture is visible to only Transmeta’s system programmers, who wrote a new version of the code-morphing software for the TM8000. Transmeta won’t publicly discuss whether the TM8000 will support the latest x86 media-processing extensions, such as Intel’s SSE and SSE2. (The TM5800 doesn’t.) However, Transmeta CTO David Ditzel says the TM8000 will have “significantly enhanced” floating-point performance, which is a notable feature of SSE2. Because the TM8000 will hit the market in 3Q03, about the same time MPR expects Intel to roll out SSE3, it will be unfortunate if Transmeta doesn’t support at least the x86 extensions introduced to date. State-of-the-art media processing isn’t critical for the TM8000, which is designed primarily for mobile computers and business applications, but that situation may change as more users follow the trend of replacing desktop PCs with laptops as their primary system. Andre Ritterhoff & Ralf Ramaker 37 Labor Rechnerstruktur Ditzel says Transmeta will announce the TM8000’s clock speeds when the chip is closer to introduction. For now, he says only that the TM8000 will exceed 1GHz, a clock frequency already attained by the TM5800. Transmeta’s foundry, TSMC, will manufacture the first TM8000 chips in a 0.13-micron process—the same process TSMC uses for the TM5800. Although mobile PC users are generally less obsessed with clock frequencies than desktop users are, mobile processors that run at gigahertz speeds command higher prices and compete more effectively with Intel’s fast mobile Pentium 4 and Pentium III. It will be interesting to see how Transmeta and Intel tune their marketing strategy after Intel’s 1H03 introduction of Banias, a new mobile-PC processor. Banias will run at lower clock frequencies than the mobile Pentium 4 does, yet it will deliver strong performance. Intel, like Transmeta, may downplay clock speeds in favor of promoting low power consumption and longer battery life. (See MPR 11/25/02-01, “Intel Spills the Beans About Banias.”) There will almost certainly be a war of words and benchmarks as the two companies try to establish which mobile processor delivers the better balance of power consumption and performance. Blade servers are a potential growth market for Transmeta’s cool-running chips. In rack-mounted blades, high processing density and low heat dissipation are more important than maximum performance. Transmeta is already branching out in this direction. Earlier this month, RLX Technologies introduced its new ServerBlade 1000t, which uses a 1GHz TM5800 to replace an older 667MHz version of the chip. Los Alamos National Laboratory is using a 480-processor cluster of ServerBlade 1000t boards. Transmeta is also trying to enter the embedded market, where low power is definitely a virtue. The relatively large memory requirements of Transmeta’s code-morphing software and translation cache will rule out many embedded applications, but lucrative opportunities still exist for an x86-compatible processor that runs at 1GHz and sips only a few watts of power. Examples might be set-top boxes, personal video recorders, and other consumer appliances in which fanless operation is a plus. To find out more about Microprocessor Report, please visit: www.mdronline.com. Andre Ritterhoff & Ralf Ramaker 38 Labor Rechnerstruktur Astro to propel Transmeta's comeback (Quelle: http://news.com.com/2100-1040-966315.html) By Michael Kanellos Staff Writer, CNET News.com November 18, 2002, 10:56 PM PT LAS VEGAS--Transmeta, which has suffered through a difficult year and a half, is gearing up for a comeback with Astro, a newly designed microprocessor due out in 2003. Astro, which is being shown off for the first time in a hotel suite at the Bellagio Hotel during Comdex Fall 2002, is the company's second-generation Crusoe processor, an energy-efficient chip for notebooks. It will consume less power than the company's first Crusoe chips, the TM 5000 series, but offer substantially more performance, said Chief Technical Officer David Ditzel. "The TM 5000 was designed in my basement," he said. "We looked at what we did right and what we did wrong and figured out how to do it all over." The chip differs from its predecessors in that it can issue eight instructions per clock cycle. Current Transmeta chips, and other competing chips, issue only four instructions per cycle, the company said. As a result, more work can be accomplished per clock cycle. Increasing the work per clock cycle also lowers energy consumption, which increases battery power. Astro will come out toward the middle of 2003 and be manufactured on the 130nanometer process. Officially, it will kick off the TM 8000 family of Crusoe chips. Additionally, Astro is fairly small, which means that the chip will likely cost little to produce, an important factor in the current notebook environment. Although notebook sales continue to grow, more manufacturers are touting sub-$1,000 PCs, a price that requires an inexpensive processor. The chip will compete directly against Banias, a low-power chip coming from Intel in the first quarter that will effectively become the company's primarily mobile chip and replace the Pentium 4 in notebooks. Transmeta executives, though, indicated that the company would beat Banias in price. "You're not going to get more than $120" for a notebook chip, said Matthew Perry, Transmeta's CEO. Intel's Pentium 4 mobile chips sell for between $171 and $348, although mobile Celeron chips float around the $100 level. The chip comes out at a challenging time for the company. Although it racked up a series of impressive design wins with major manufacturers in 2000 and 2001, several product delays and the decline in the PC market decimated the company's revenue. Andre Ritterhoff & Ralf Ramaker 39 Labor Rechnerstruktur Recently, however, the company has landed some high-profile wins. HewlettPackard uses a Crusoe in its tablet PC, which came out earlier this month. Sharp also uses the chip in its Muramasa notebook, a full-fledged Windows XP notebook that weighs a little more than 2 pounds, making it one of the lightest notebooks ever, if not the lightest. Sharp has started to sell the Muramasa in Japan, and it will likely come to the United States next year, sources said. Andre Ritterhoff & Ralf Ramaker 40