Eli5: What is the difference between Emulation and Simulation?

336 views

Eli5: What is the difference between Emulation and Simulation?

In: 22

8 Answers

Anonymous 0 Comments

Emulation is when you provide the means to run code meant for one computer system on a totally different computer system (and then actually run that code, to be pedantic).

Simulation is when you use a computer and a ‘model’ to try to figure out what might happen in a complex situation with different inputs. Like, we know certain rules apply to billiards balls when you break them on a pool table, but with thousands of different simulations with different conditions we might be able to find more information about how that actually works.

Edit: I failed to mention that these two concepts have *nothing to do with each other* except that the words both end in “mulation”

Edit: Hexadecimal sis/bro above me did a WAY better job

Anonymous 0 Comments

Tl;dr – Emulation and simulation are two ways of trying to understand how something works. Emulation is like making a copy of something, while simulation is like making a model of something. Both can be useful, but they are used in different ways. Emulation is good for testing things, while simulation is good for studying how things might work in different situations.

The easiest way to differentiate between emulation and simulation is the level of detail and accuracy. With emulation, the goal is to replicate the behavior of a system as accurately as possible, down to the minutiae. Things like the timing of processes, emulating hardware clocks, handling of I/O, and all other aspects of the system’s behavior. It’s often used when necessary to test a system or component, such as during development of hardware interfaces.

For simulation, the focus is on understanding the behavior of a system when different conditions exist or analyzing how it could behave in the future. The level of detail and accuracy may or may not be as important as it is with emulation. Typically the simulator focuses on key aspects of the system that are being studied, and utilizes approximations to make the simulation more tractable. A good example is weather forecasting. Simulating what may occur with different atmospheric conditions.

Another important difference between emulation and simulation is the use of real and artificial data. The goal is to replicate the behavior of a real system when it comes to emulation, so you gotta use real data as input. In simulation, on the other hand, the focus is on studying the behavior of a hypothetical or modeled system, so the simulator can use artificial or simulated data as input.

Anonymous 0 Comments

In regards to computers…

Emulation is using a program to behave like a different computer would.

Simulation is using a program to model something in the real world.

An important distinguishing factor for me is that emulation goes through the exact same logical steps of the system it is behaving as. If you asked the original system to perform something. The emulation should behave identically. Emulation is not possible for real world systems, such as living organisms, because it is impossible to know every detail in the chemistry/physics/biology of something in the real world. Advancements in emulation technology are usually attempts to make the emulation run faster or more efficiently.

In a simulation, it is not so critical that it is perfectly equivalent to the system that is being simulated. A simulation should give a good approximation of what another system will behave like. Advancements to simulations are usually attempts to make the simulation more accurate.

TLDR: Emulation prioritizes perfect recreation of another system, and it might compromise on running quickly/smoothly. Simulation prioritizes accurate representation of another system, without capturing every detail perfectly.

Note – this is how I understand and use these words, not an official definition.

Anonymous 0 Comments

Emulation just cares about it’s end behavior. It might as well be a black box.

Simulation cares about the internal process of how it gets there.

If you want to watch the thing do it’s job and play with it and see how it behaves differently, then you need a simulation. You can emulate PS1 hardware and feed it joystick controls and see a picture on a screen and you’re good. A PS1 simulator would ideally know how much memory buffer is being used and how things would slow down when it’s full.

Anonymous 0 Comments

Emulation is to copy something, usually looking to copy the outcome. An artist’s render of a truck is a kind of emulation.

Simulation is to copy part of something and change other bits so you can see what happens. A wind tunnel test of a truck is a type of simulation.

In the emulation you’re just trying to copy something about the truck, in this case how it looks. In the simulation you’re trying to see what happens when you test the truck with different settings.

Non eli5 part: when testing a new material you might do a physical test and emulate it until you get similar results in an FEA model. Now you’ll know the important variables. Then you can use that information to build simulations under slightly different circumstances (different shapes, sizes, loads)

Anonymous 0 Comments

Emulation has all of the variables. It’s a copy of the original replicated in some other medium. Simulation is missing variables so you extrapolate using machine learning and AI algorithms. I can emulate a video game from Nintendo 64 onto another medium it wasn’t designed to work on like a PC. I have all of the variables to do that I just need a translation layer to translate the Nintendo’s commands into something the PC can understand. Simulation is a bit different. Here I am missing variables. Take the weather for example. We simulate the weather patterns and we can get pretty close for about 5-10 days but then the Simulation breaks down. Why? Because we are missing variables and using AI machine learning algorithms to best guess what it will look like. In order to emulate the weather I’d need a God’s Eye view of where every photon from the Sun hits the earth, where every molecule of air is in our atmosphere, the exact position of every atom of all matter on the surface of the earth, the temperature, humidity, atmospheric pressure, landscape geography etc. I have some of these things but it’s nigh impossible to see the first 3.

Anonymous 0 Comments

Everyone is trying to go into exact specifics here about what “emulation” is attached to, but realistically, they’re kind of the same thing.

A PS2 emulator is simulating a PS2 for instance. So realistically we could be living in a simulation or an emulation and they would both mean the same thing.

If life exists on a higher plain outside our universe for instance, and we are living in a “simulation,” then whoever created that simulation is trying to “emulate” their life and its constants.

Anonymous 0 Comments

emulation is a very detailed simulation of a thing capable of fooling other things that it is actually the real one