Universal alchemy or pack o' lies?

Posted by: DLF

Universal alchemy or pack o' lies? - 13/09/2004 18:24

Anybody closer to the genius at Manchester U. care to comment on this?
Posted by: matthew_k

Re: Universal alchemy or pack o' lies? - 13/09/2004 18:56

They're going to need a lot more proof before I'll accept it. Translating from one instruction set to another is not a simple thing. Translating system calls to equivalent system calls isn't trivial, but has been done. Translating between graphic routines is something I know nothing about, but something tells me it's not an easily solved problem. (3D cordinates represented differently? All it'll take is a matrix multiply to transform them... that's only 9 multiplies and 6 additions per cordinate)

VMWare does true hardware virtualization(translating system calls), and they do it well and fast. The only reason they can do it at any speed is because they run the native code and only intercept system calls.

If this were an easily solved problem someone would have done it. Maybe they've done everything they claim, but the likelyhood that it's efficient to the point of being able to run todays x86 apps on todays PPC processors is unlikely.

Matthew
Posted by: tfabris

Re: Universal alchemy or pack o' lies? - 13/09/2004 18:57

Velly velly intelestink.

As I started reading, I was skeptical, but then I read the paragraph about how they do intermediate interpreter language blocks. Of course, that makes so much more sense.

If this is true, it's going to turn the emulation world on its head. Stuff like MAME and DosBox are going to have to start over from scratch, but the speed gain from the paradigm shift will make it inevitable.
Posted by: DWallach

Re: Universal alchemy or pack o' lies? - 13/09/2004 19:24

I don't know any more than the Wired article, but the clear way to do it is with something analogous to VMware or VirtualPC. Emulating a low-level piece of hardware is much easier than trying to build a bridge for system calls, services, and everything else to work at the application level.

Once you look at it as a VM emulation issue, then the only issue is performance. The claim is that they take blocks of code and translate them whole, presumably caching the result. In some respect, that's exactly what Transmeta does, and it's also comparable to how Apple ran 68K software on PowerPC. When they talk about emulating Xbox 1 on Xbox 2 hardware, they're glossing over just how much faster an Xbox 2 is. There's a lot of room for slop.

There may well be some seriously cool stuff under the hood to make this all go extra super fast. But, on the surface at least, you can achieve your design goals without requiring anything exotic.
Posted by: music

Re: Universal alchemy or pack o' lies? - 14/09/2004 20:23

You mentioned Transmeta's code-morphing and Apple's 68K emulator for PowerPCs.

Another quite interesting emulator was FX!32 for Alpha from DEC.

In fact, for a year or two (around 1996), the fastest x86 (or "Pentium") you could buy was actually a DEC Alpha! (running FX!32....)

Whip your mind back 8 years to an article in BYTE.

Or this article from Real World has a comparison chart on the second page.

Edited to put in links