home Summary of David Ditzel talk on binary translation   

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:

* branch folding – make branches disappear from pipeline * “Stack Cache” as registers – to reduce memory references

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.

← newer • 81 of 636older →