[self-interest] Re: Transmeta

Gordon F. Cichon gordon at cichon.com
Thu Jan 20 09:34:30 UTC 2000


Jerry Bell wrote:
> How does this 'morphing' stuff Transmeta is doing compare to the
> dynamic optimization in Self?  What are the implications, if any?

There are three fields that use more or less on the same technology:
The Self programming language, the Java VM, and 'code morphing' in its
different characteristics.
They all rely on the dynamic translation of code into other
representations.
The code may be represented as Self byte code, as Java byte code, or
i86 machine code. The motivation of choosing exactly a particular 
intermediate representation is different in these three cases of course.
And escpecially the i86 representation is not designed for dynamic
translation from the beginning. Therefore it is particularly difficult
in this case.

The idea for the i86 came up, I think, with AMD who took a 29k core
and strapped a i86 to 'RISC operation' translator in front of it. Intel
did the same at their Pentium Pro-II-III design. The latest processors
like K7 cache information about this translation process in their first
level cache - like instruction boundaries.

Digital recently presented a system which dynamically recompiles code 
in software for Alpha processors - I can't remember right now whether 
it was Alpha code for older architectures, or whether it works for i86 
as well. Nevertheless, the principle is always the same.

It is just the next logical step to expose the code translation
mechanisms,
as translated code chunks get larger and span more than the first level
cache capacity.

Please correct me if I'm wrong, I just cited from memory.

Gordon.



More information about the Self-interest mailing list