Transmeta Crusoe Group 23 Todd Goldfinger Josh Martin

  • Slides: 15
Download presentation
Transmeta Crusoe Group 23 Todd Goldfinger Josh Martin Tom Schneider Daniel Wilhelm February 8,

Transmeta Crusoe Group 23 Todd Goldfinger Josh Martin Tom Schneider Daniel Wilhelm February 8, 2001

The Idea Dynamic binary recompilation VLIW engine Software emulates hardware

The Idea Dynamic binary recompilation VLIW engine Software emulates hardware

Software Emulates Hardware Decoding and scheduling Smaller die size

Software Emulates Hardware Decoding and scheduling Smaller die size

Heat Comparison

Heat Comparison

Emulation Overhead 25% loss in performance 33 -100% increase in code

Emulation Overhead 25% loss in performance 33 -100% increase in code

Hardware Registers – 64 general purpose (32 bits) – 32 floating point (80 bits)

Hardware Registers – 64 general purpose (32 bits) – 32 floating point (80 bits) – Shadow registers Code morphing ROM

 Changeable ISA Java analogy

Changeable ISA Java analogy

Code Morphing Software Filtering 90 – 10 rule Translation

Code Morphing Software Filtering 90 – 10 rule Translation

Atoms and Molecules

Atoms and Molecules

Approaches Towards Parallelism

Approaches Towards Parallelism

Hardware Support Exceptions and scheduling Out of order instructions Optimizing memory operations Self-modifying code

Hardware Support Exceptions and scheduling Out of order instructions Optimizing memory operations Self-modifying code

Code Example x 86 Crusoe Ld %r 30, [%esp] Add. c %eax, %r 30

Code Example x 86 Crusoe Ld %r 30, [%esp] Add. c %eax, %r 30 Ld %r 31, [%esp] Add. c %ebx, %r 31 Ld %esi, [%ebp] Sub. c %ecx, 5 1) Ld %r 30, [%esp]; Sub. c %ecx, 5 2) Ld %esi, [%ebp]; Add %eax, %r 30; Add %ebx, %r 30

Analysis – Pros Less/simpler hardware Low power Better branch prediction Runtime optimization Recompile fixes

Analysis – Pros Less/simpler hardware Low power Better branch prediction Runtime optimization Recompile fixes bugs Can work with any architecture

Analysis - Cons Slower than x 86 Difficult exception handling “Code-bloat”

Analysis - Cons Slower than x 86 Difficult exception handling “Code-bloat”

Questions?

Questions?