[EMAIL PROTECTED] wrote:
>
> Hi everyone,
>
> Sorry to bother you all, but I had a cool idea. Looks to me like Plex86 is
> not all that different to Transmeta's code morphing software, now that it
> is possible to virtualise any instruction, in fact we can run on any
> target system, not just x86. We just have to virtualise more stuff =)
>
> Are we already string translated code in a separate memory block (not
> accessible to the host)? If so then we could potentially fill that block
> with RISC instructions, etc. and not have any x86 instructions at all. I
> think this is what Code Morphing does. We could also do cool stuff like
> on-the-fly reordering to beat crappy optimisers (I bet Windows wasn't
> compiled with pgcc -O6 =) and give performance WAY better than Bochs on,
> say, ARM platforms, even Transmeta's CPUs.
>
> TM3120 + Crusoe Linux + Plex86 = faster than TM3120+CM+Linux x86?
>
> Just my $0.02.
Conceptually, what you're talking about doing is using
facilities from the native processor to assist in a dynamic
translation scheme. This is definitely the way to go,
as you can say use native paging protections to eliminate
many checks and translations that would have to otherwise
be done in software.
For plex86 though, we are tying much of the architecture
to having an x86 host CPU, for example use of x86
segmentation and split I&D paging TLB cache, the mappings
of the monitor and the guest OS etc. And we've got enough
to do.
But it is an interesting idea, especially to me since I played
with dynamic translation just a bit with bochs before plex86.
-Kevin