OT: x86 machine code [Was: Re: Self modifying code, lambda calculus - Re: ENIAC programming]

Liam Proven lproven at gmail.com
Fri Sep 18 07:22:46 CDT 2015

On 18 September 2015 at 13:06, Pontus Pihlgren <pontus at update.uu.se> wrote:
> I've been told this more than a few times and read it in various places.
> It always make me wonder, could we not allow a mode in modern Intel
> processors that lets us bypass the x86 code emulation/translation and
> run "directly on the metal" (if there were such a thing).
> The purpose, of course, would be to gain performance. Certainly this
> would already have been done if there was any significant gain to be
> had?

I think not, because the "RISC core interpreting x86 instructions" is
a fairly gross over-simplification, as best as I have been able to
determine. Yes, all C21 x86 chips borrow lots of design principles
from RISC, but they are CISC chips executing CISC code -- just doing a
lot of fancy on-the-fly optimisations. There isn't an underlying
separate different microcode.

That has been done, though. It was the Transmeta Crusoe line of processors.

These were not directly x86-compatible at all: they had their own
instruction set, and during boot, loaded a translation layer on top
which executed x86 code via a sort of optimising compiler/interpreter
with JIT.

The purpose was to achieve very low power consumption, for portables.
The performance was not as good as native x86 even at the time --
although nearly -- but the processors used significantly less power.

They were not RISC, though: they were VLIW underneath.

I always thought it was *the* critical mistake of Transmeta not to at
least release the native instruction set. If they could also execute
Motorola 680x0 code, or PowerPC code, or Alpha code, or any other
discontinued (or effectively discontinued) instruction set, they would
still have a market today.

Liam Proven • Profile: http://lproven.livejournal.com/profile
Email: lproven at cix.co.uk • GMail/G+/Twitter/Flickr/Facebook: lproven
MSN: lproven at hotmail.com • Skype/AIM/Yahoo/LinkedIn: liamproven
Cell/Mobiles: +44 7939-087884 (UK) • +420 702 829 053 (ČR)

More information about the cctalk mailing list