[comp.arch] Simulator vs Emulator

jim@bnr-rsc.UUCP (Jim Somerville) (01/09/88)

Please excuse me if this is the wrong newsgroup to be posting this.

I would simply like to know when to use the term "simulator" or
"simulation" instead of "emulator" or "emulation".  Should the correct
usage be, for example, "architecture simulator" or "architecture emulator"?
"Instruction set simulator" or "instruction set emulator"?  Can these terms
be completely interchanged?

My feelings are that emulation implies hardware support, as in "In Circuit
Emulator", whereas simulation implies pure software.  Can anyone set me
straight on this?
-- 
Jim Somerville (bnr-vpa!bnr-rsc!jim)	Phone:	(613) 726-4497
Bell-Northern Research			Usenet:utgpu!bnr-vpa!bnr-rsc!jim
P.O. Box 3511, Station C, Ottawa, Ontario, Canada, K1Y 4H7

ccplumb@watmath.waterloo.edu (Colin Plumb) (01/10/88)

In article <602@bnr-rsc.UUCP> jim@bnr-rsc.UUCP (Jim Somerville) writes:
>I would simply like to know when to use the term "simulator" or
>"simulation" instead of "emulator" or "emulation".  Should the correct
>usage be, for example, "architecture simulator" or "architecture emulator"?
>"Instruction set simulator" or "instruction set emulator"?  Can these terms
>be completely interchanged?

Usually, if you don't have some feature, you can emulate it in
software.  The software does the job of the hardware.  A simulator is
used if you want to measure that something instead of using it.

Thus, you can't emulate H-bomb explosions, but you can simulate them.
Useful because it's cheaper and you can directly measure some events
which must be inferred from measurements taken of a real explosion.
You emulate a (co)processor if you want its functionality.  There are
programs to emulate IBM PC's and C-64's out there.  You simulate it if
you want to measure things about it (TLB miss rate, cycles/instruction,
etc.) like the processor architects do.

Another point is that emulators are (approximately) real-time, while
simulations are usually much slower.  (Weather prediction is an exception.)

Thus, if you care about the architecture, you probably want a
simulator.  If you only care about the instruction set, you probably
want an emulator.
--
	-Colin (watmath!ccplumb)

Zippy says:
Where do your SOCKS go when you lose them in th' WASHER?