Subject: Re: i386/m68k binary conversion
To: Mathew Hendry <scampi@dial.pipex.com>
From: Michael L. VanLoon -- HeadCandy.com <michaelv@MindBender.serv.net>
List: current-users
Date: 10/23/1996 01:19:57
>The x86 -> Alpha "converter" (whose name I forget) is not a true [static=
>]
>translator; it is an emulator which keeps a running cache of translated
>instructions. This cache is dumped back into the executable every so oft=
>en -
>presumably after a suitable amount of x86 code has been translated. So, =
>as
>more of the original code is executed under user direction, more is
>translated, cached, and saved, and performance steadily improves.

Yes, this is a very popular area of research in just-in-time
interpretation/compiling technology, these days.  There are several
companies researching this approach, including the SoftPC/SoftWindows
folks, if I'm not mistaken.

>Does the MIPS -> Alpha converter work in a similar way? Perhaps the MIPS=
> and
>Alpha are similar enough in operation that a static translation approach=
> would
>be more workable...

No.  It is a true static translator.  It was written before this
just-in-time translation/compiling stuff caught on.

But DEC did have the advantage that they knew intimately the kernel
and standard libraries of both the destination and the target (going
from DEC Ultrix to Digital Unix).

-----------------------------------------------------------------------------
  Michael L. VanLoon                           michaelv@MindBender.serv.net
        --<  Free your mind and your machine -- NetBSD free un*x  >--
    NetBSD working ports: 386+PC, Mac 68k, Amiga, Atari 68k, HP300, Sun3,
        Sun4/4c/4m, DEC MIPS, DEC Alpha, PC532, VAX, MVME68k, arm32...
    NetBSD ports in progress: PICA, others...
-----------------------------------------------------------------------------