Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Der Crusoe-Prozessor von Transmeta Vorstellung der Technologie des Crusoe-Prozessors Autor: Roland Preuss Fach: LCT-L (Prof.Dr.Risse) Semester: I5I (SS01)

Ähnliche Präsentationen


Präsentation zum Thema: "Der Crusoe-Prozessor von Transmeta Vorstellung der Technologie des Crusoe-Prozessors Autor: Roland Preuss Fach: LCT-L (Prof.Dr.Risse) Semester: I5I (SS01)"—  Präsentation transkript:

1 Der Crusoe-Prozessor von Transmeta Vorstellung der Technologie des Crusoe-Prozessors Autor: Roland Preuss Fach: LCT-L (Prof.Dr.Risse) Semester: I5I (SS01) Datum:

2 (c) Roland Preuss2 Einleitung

3 (c) Roland Preuss3 Speicherbedarf Code-Morphing-Software ist in einem 512 KByte Flash gespeichert entpackt 2 MByte 6 bis 14 MByte Zwischenspeicher ( Translation Cache )

4 (c) Roland Preuss4 Code-Morphing-Verfahren setzt komplexe x86-Befehle in einfachere Befehle um ( sogenannte Atome ) max. 4 Atome werden zu Molekülen zusammengesetzt Moleküle werden parallel vom Prozessor ausgeführt spekulatives Ausführen von Befehlen wird praktiziert Code-Morphing unterstützt durch Hardware 64 Allzweck- und 32 FPU-Register haben sogenannte Schattenregister ( Shadow ) Übersicht

5 (c) Roland Preuss5 Ansatz große Anzahl an Wiederholungen CMS übersetzt Befehle einmal, optimiert und speichert im Translation Cache bei Aufruf der gleichen Befehlskette kann Übersetzung und Optimierung übersprungen werden übersetzte Ergebnis wird übertragen und ausgeführt

6 (c) Roland Preuss6 Filter CMS benutzt verschiedene Prioritätsstufen Interpretationen hohe Optimierung dynamische feedback Informationen

7 (c) Roland Preuss7 Beispiel addl %eax, (%esp)// load data from stack, add to %eax addl %ebx, (%esp)// ditto, for %ebx movl %esi, (%ebp)// load %esi from memory subl %ecx, 5// subtract 5 from %ecx register ld %r30, [%esp]// load from stack, into temporary add.c %eax, %eax, %r30// add to %eax, set condition codes ld %r31, [%esp] add.c %ebx, %ebx, %r31 ld %esi, [%ebp] sub.c %ecx, %ecx, 5

8 (c) Roland Preuss8 Beispiel ld %r30, [%esp]// load from stack, into temporary add.c %eax, %eax, %r30// add to %eax, set condition codes. ld %r31, [%esp] add.c %ebx, %ebx, %r31 ld %esi, [%ebp] sub.c %ecx, %ecx, 5 ld %r30, [%esp]// load from stack only once add %eax, %eax, %r30 add %ebx, %ebx, %r30// reuse data loaded earlier ld %esi, [%ebp] sub.c %ecx, %ecx, 5// only this last condition code needed

9 (c) Roland Preuss9 Beispiel ld %r30, [%esp]// load from stack only once add %eax, %eax, %r30 add %ebx, %ebx, %r30// reuse data loaded earlier ld %esi, [%ebp] sub.c %ecx, %ecx, 5// only this last condition code needed ld %r30, [%esp] ; sub.c %ecx, %ecx, 5 ld %esi, [%ebp] ; add %eax, %eax, %r30 ; add %ebx, %ebx, %r30

10 (c) Roland Preuss10 Alias ld %r30, [%x]// first load from location X... st %data, [%x]// might overwrite location X ld %r31, [%x]// this accesses location X again use %r31 ldp %r30, [%x]// load from X and protect it... stam %data, [%x]// this store traps if it writes X use %r30// can use data from first load

11 (c) Roland Preuss11 Spekulationen alle Register, die x86 Statusinformationen enthalten sind doppelt Vorhanden Workingregister und Shadowregister Normalfall nur Workingregister update Spekulation richtig commit Operation Spekulation falsch rollback Befehl CMS setzt wieder an und übersetzt neu commit Befehl wird parallel zu VLIW Befehlen ausgeführt

12 (c) Roland Preuss12 Spekulationen II Undo für Speicher sehr aufwendig deshalb gated store buffer Crusoe schreibt alle Speicheropperationen zunächst in diesen Speicher bei commit Befehl wird gated store buffer auf Moemorybereich übertragen bei rollback Befehl wird gated store buffer gelöscht

13 (c) Roland Preuss13 Hardware viel Performance wird benötigt große Cache und lokalen Speicher im Kern 96 KByte ( TM3200 ) bzw. 384 KByte ( TM5400 ) Cache 8 KByte Local Data Memory 8 KByte Local Programm Memory

14 (c) Roland Preuss14 Northbridge normalerweise extern enthält Speicher und PCI Controller TM3200 unterstützt PC133 TM5400 zusätzlich DDR-SDRAM PC266 TM5400 zwei 64-Bit Speicherinterfaces

15 (c) Roland Preuss15

16 (c) Roland Preuss16 Schlußwort noch nicht vorgesehen : speichern bereits erlernter Optimierungen Eingriffe zur Auswahl von Optimierungsstrategien

17 (c) Roland Preuss17 Literatur transmeta The Technology behind Crusoe processors transmeta TM3200 Beschreibung transmeta TM5400 Beschreibung Andreas Stiller Zu neuen Ufern ( c´t ) Andreas Stiller Robinsons Patente ( c´t ) ( Transmetapatente )


Herunterladen ppt "Der Crusoe-Prozessor von Transmeta Vorstellung der Technologie des Crusoe-Prozessors Autor: Roland Preuss Fach: LCT-L (Prof.Dr.Risse) Semester: I5I (SS01)"

Ähnliche Präsentationen


Google-Anzeigen