Which Dec Emulation is the MOST useful and Versatile?
Rob Jarratt
robert.jarratt at ntlworld.com
Fri Oct 27 12:47:55 CDT 2017
> -----Original Message-----
> From: cctalk [mailto:cctalk-bounces at classiccmp.org] On Behalf Of Paul
Koning
> via cctalk
> Sent: 27 October 2017 18:28
> To: Dave Wade <dave.g4ugm at gmail.com>; General Discussion: On-Topic and
> Off-Topic Posts <cctalk at classiccmp.org>
> Subject: Re: Which Dec Emulation is the MOST useful and Versatile?
>
>
> > On Oct 27, 2017, at 4:54 AM, Dave Wade via cctalk
<cctalk at classiccmp.org>
> wrote:
> >
> > Kip,
> > I think "emulation" and "simulation" get used pretty much
interchangeable.
> > SIMH is touted a simulator, Hercules/390 as an emulator yet they are
> > both programs that provide a "bare metal" machine via software on
> > which an operating system can be installed. Neither make any attempt
> > to reproduce the speed of the original CPU.
>
> True. And by some argument, an FPGA implementation (from an HDL
> behavioral model) is also a software implementation, just written in a
different
> programming language.
>
> Recently I commented to an old colleague that there are many different
levels
> of emulation possible, and any one of those may make sense -- it's just a
> question of what you're after. So you can emulate in a conventional
> programming language, as SIMH does, reproducing the programmer-visible
> behavior of the machine but not its timing. Bugs from the original might
> appear if those bugs are known to be important, but probably not
otherwise.
> This kind is (nowadays) likely to run faster than the original; certainly
it won't
> usually mimic the original timing, neither for computation nor I/O.
>
> You can make timing-accurate software emulators, with lots of work. SIMH,
in
> paced mode, and provided the I/O waits are reasonably accurately expressed
in
> units of machine cycles, isn't quite timing accurate but is somewhat
similar.
>
> You can build a behavioral simulator (SIMH style, basically) in an FPGA.
That
> isn't necessarily any more capable or accurate than a software simulator.
PDP-
> 2011 is an example I know of, and I've see articles about other PDP
emulations
> of this kind. Since the design is new, created from a behavioral
description
> (data book, functional spec, architecture spec) it will be about as
accurate as
> SIMH.
>
> You can also, if the data exists, build a lower level (gate level or
thereabouts)
> FPGA model. Given schematics and wire lists, it should be possible to
build an
> implementation that's an exact copy of how the original machine worked
> (assuming of course the documentation is accurate, which is not
necessarily the
> case). Such an emulation would replicate strange and undocumented
behavior
> of the original -- and allow you to find out where that came from. I've
been
> working on such a thing for the CDC 6600, which is surprisingly hard given
that
> the design lives right on the hairy edge of not working at all
timing-wise. But it
> does accuarately model the peripheral processors right now, and indeed it
> shows and explains some undocumented oddities that are part of that
> machine's folklore.
>
> So it's a question of what you're after. If you want to run the software,
or teach
> the machine at the programmer level, SIMH or equivalent is quite adequate.
If
> you want to teach FPGA skills, an FPGA behavioral model emulation is a
good
> project, especially for a small machine like a PDP-8. As for the gate
level
> model, I'm not sure what argument to make for that other than "paul is a
bit
> crazy" and "because the data exists to do it". :-)
>
If I had the skill, data and time, I would always go for a gate level model.
However, I do most (sim/em)ulation in SIMH instead, like I have been doing
for MU5 where I lack the data and the time and probably the skill as well,
but I can always acquire the skill, the other two are harder to find.
Regards
Rob
More information about the cctech
mailing list