-----Original Message-----
From: cctalk [mailto:cctalk-bounces at
classiccmp.org] On Behalf Of Paul
Koning via cctalk
Sent: 29 October 2017 12:42
To: Eric Smith <spacewar at gmail.com>; General Discussion: On-Topic Posts
<cctech at classiccmp.org>
Subject: Re: Which Dec Emulation is the MOST useful and Versatile?
> On Oct 28, 2017, at 10:09 PM, Eric Smith via cctech
<cctech at
classiccmp.org>
wrote:
IBM invented computer emulation and introduced it with System/360 in
1964.
They defined it as using special-purpose hardware
and/or microcode on
a computer to simulate a different computer.
I am not sure they invented computer emulation. I think that the concept
Emulation/Simulation is as old as, or perhaps even older than computing.
Whilst it was a pure concept Alan Turing's "Universal Turing Machine" was a
Turing machine that could emulate or simulate the behaviour of any arbitrary
Turing machine...
https://en.wikipedia.org/wiki/Universal_Turing_machine
.. and somewhat later when ENIAC was re-wired to execute programs stored in
the function switchs, this was a partial simulation/emulation of EDSAC
https://en.wikipedia.org/wiki/ENIAC#Improvements
well that's what Crispin Rope asserts, but his book is still copyright and I
can't find any reference to this on the net,,
That's certainly a successful early commercial
implementation of
emulation,
done using a particular implementation approach. At
least for some of the
emulator features -- I believe you're talking about the 1401 emulator.
IBM
didn't use that all the time; the emulator feature
in the 360 model 44, to
emlulate the missing instructions, uses standard 360 code.
It's not clear if that IBM product amounts to inventing emulation. It
seems
likely there are earlier ones, possibly not with that
particular choice of
implementation techniques.
Anything you run on your x86 (or ARM, MIPS,
SPARC, Alpha, etc) does
not meet that definition, and is a simulator, since those processors
have only general-purpose hardware and microcode.
Lots of people have other definitions of "emulator" which they've just
pulled out of their a**, but since the System/360 architects invented
it, I see no good reason to prefer anyone else's definition.
"emulation" is just a standard English word. I don't see a good reason to
limit
its application here to a specific intepretation given
to it in a
particular IBM
product. It's not as if IBM's terminology is
necessarily the predominant
one
in IT (consider "data set"). And in
particular, as was pointed out
before,
"emulator" has a quite specific (and
different) meaning in the 1980s
through
2000 or so in microprocessor development hardware.
paul
Dave