Alex Rivera | Logout

Simulator or Emulator? What is the difference?

Asked 2009-10-18T11:13:40.823
633

While I understand what simulation and emulation mean in general, I almost always get confused about them. Assume that I create a piece of software that mimics existing hardware/software, what should I call it? A simulator or an emulator?

Could anyone explain the difference in terms of programming?

Bonus: What is the difference in English between these two terms? (Sorry, I am not a native speaker :))

Edit
Report

3 Answers

440

If a flight-simulator could transport you from A to B then it would be a flight-emulator.

A car that takes you from airport A to airport B is a flight emulator.

An emulator can replace the original for real use.
A Virtual PC emulates a PC.

A simulator is a model for study and analysis.

An emulator will always have to operate close to real-time. For a simulator that is not always the case. A geological simulation could do 1000 years/second or more.

answered 2009-10-18T11:25:52.230
45

It's a difference in focus. Emulators1 focus on recreating the behavior of a system, with no regard for how the system functions internally. Simulators2 focus on modeling the components of a system. You use an emulator when you care mostly about what a system does, and a simulator when you care about how it does it.

As for their general English meanings, emulation is "the endeavor to equal or to excel another in qualities or actions", while simulation is "to model, replicate, duplicate the behavior, appearance or properties of". Not much difference. Emulation comes from æmulus, "striving, rivaling," and is related to "imitate" and "image," which suggests a surface-lever resemblance. "Simulation" comes from similis "like", as does the word "similar," which perhaps suggests a deeper congruence.

References:

  1. Wikipedia: Emulator
  2. Wikipedia: Computer Simulation
  3. Wiktionary: emulation
  4. Wiktionary: simulation
  5. Etymology Online: emulation
  6. Etymology Online: simulation
answered 2009-10-18T12:02:09.490
9

Some years ago I came up with a very short adage that, I believe, captures the essence of the difference quite nicely:

A simulator is an emulator on a mission.

By that I mean that you use an emulator when you can't use the real thing, and you use a simulator when you can't use the real thing and you want to find something out about it.

answered 2009-10-18T12:40:48.743

Your Answer