recursive emulation

Jecel Assumpcao Jr. jecel at merlintec.com
Tue Jan 24 16:19:38 CST 2017


Toby Thain wrote:
> On 2017-01-24 2:46 PM, Jecel Assumpcao Jr. wrote:
> >[PC emulator on ARM emulator on PC]
> 
> Was this a JIT emulator (like Apple's later versions of 68K emulation), 
> or a simple interpreter?

It was a simple interpreter. I had been aware of the 1984 JIT
implementation of Smalltalk by Allan Schiffman and L Peter Deutch. The
goal was to test the worst case, however, and that was the interpreter.

Note that the PC emulator was incomplete - it only had enough code to
correctly run the benchmark programs. That made us miss the most serious
bottleneck, which is the correct emulation of all the 8088 flags
(specially the parity flag and the auxiliary flag). I have heard that
Dave Ditzel was looking at emulating the PC on the Sparc at Sun and
figured out that adding a tiny piece of hardware to calculate these
flags would nearly double the performance of the emulator and that this
was one of the inspirations for Transmeta.

Pete Turnbull wrote:
> Interesting.  You know that Acorn had a software PC emulator for the 
> Archimedes called PCEmu, on sale in late 1987?  In 1988 they sold it 
> bundled with an Archimedes A310 (8MHz ARM2, 1MB of RAM) called the A310M 
> (M for MS-DOS).  It ran at just a little less than the speed of a 
> 4.77MHz 8086.

I don't remember if I was aware of this at that time, but it is very
likely and that could have been the inspiration for our project. Note
that we did all our own tools even if Acorn was selling them to their
customers.

In the RiscPC era they used actual Intel processors instead of (or was
it as an alternative to) software emulation.

> Amusingly, it ran MS-DOS better than the then-current 
> Nimbus PC from their arch competitor Research Machines - PCEmu would 
> happily run things like Borland Sidekick, Lotus 1-2-3, Microsoft's 
> Flight Simulator etc where the RM PC often failed because it had a 
> custom MS-DOS running on an 80186.

Many people think Intel was stupid to have the 80186 be incompatible
with the PC but they forget that this processor was practically finished
by the time the PC came out and was launched just a few months later,
which is long before the importance of the PC became obvious. Even with
the 8088 there were plenty of MS-DOS machines that were not PC clones
for about two years before clones became the standard.

-- Jecel


More information about the cctech mailing list