Summary of David Ditzel talk on binary translation
part of Where do bugs come from?
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.
talk summary
Feb 13 2023

Feedback about page:

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