Summary of David Ditzel talk on binary translation
part of Where do bugs come from?
talk summary
Summary of David Ditzel talk on binary translation.
David Ditzel: worked at Transmeta, now at Intel
A 25 year perspective on binary translation: what worked, what didn’t work.
Examples of binary translation:
SYMBOL computer - implemented os, editor etc. in logic gates. Lessons: don’t do that. Use the right combination of software, hardware and micro-ops.
AT&T Crisp:
Lessons from AT&T Crisp:
Binary Instrumentation
MIPS had tools pixie and pixstats (~1987) to statically modify binaries to count instructions.
Sun followed (~1988) with spix, spixstats etc. Also were able to run MIPS on Sparc (at 1/3rd speed).
Sun tried to extend Sparc with instructions to help x86 emulation but decided that hw mismatch was too big - Sparc was not the right architecture for this.
Lessons realized in 1995:
That led to Transmeta in 1995. Transmeta:
Key challenges for hybrid processors:
Hardware support for hybrid processors:
Software controlled atomic execution - execute in temporary space and ability to rollback to previous commit point. Used to perform not-always-safe optimization which are considered ok as long as we hit next commit point without problems. If not, rollback and re-execute without optimizations. Needed to be able to undo stores to memory.
Transmeta’s code morphing:
Efficeon improvements used 4 levels (gears):
Lessons: optimization pay off. The bigger the blocks, the bigger optimization payoff.
Binary translation myths:
Why binary translation now: power usage since increasing cores requires more power so we might not have enough power to light up all processors at full speed.
Topics: talk, summary
Written on Feb 22 2009
Found a mistake, have a comment? Let me know.

Feedback about page:

Optional: your email if you want me to get back to you: