Concrete comparisons of Emulation as compared to Simulation Requested.

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below. ** If you are logged in, most ads will not be displayed. **

I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.

Posts

14,038

Emulation: one bit of gear pretending to be something else.
Simulation: executing a model of something

They really aren't anything alike, although there are times when simulating a system, you may be emulating it if you simulate all aspects of it. IE, simulation may be more limited in scope, where as emulating a system means that as far as internal things are concerned, they can't tell the difference from the real thing. Example: a virtual machine is emulating a computer hardware system such that operating systems that are executed on it cannot tell the virtual machine from a real one.

Hope I didn't add to your confusion...

Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!

Welcome - get the most out of the forum by reading forum basics and guidelines: click here.
90% of questions can be answered by using man pages, Quick Search, Advanced Search, Google search, Wikipedia.
We look forward to helping you with the challenge of the other 10%.
( Mn, 2.6.n, AMD-64 3000+, ASUS A8V Deluxe, 1 GB, SATA + IDE, Matrox G400 AGP )

Thanks for the Replies!

I don't remember how I got started on this but I'm trying to get as much info on Emulation as I can. I think I have emulation and simulation separated now. It' one of those things that somehow people can write an emulator but describe it in a way in which no one thinks. I'm not complaining but I still have a lot of work to do.

Let me give my impression how Emulation works and maybe some one can add or correct it.

The only part of CPU Emulation that is Really Emulation is mimicking the CPU to give form to the application that is being attempted to being executed, phony registers and flags etc. Everything else falls in the definition of Simulation as in substituting pre written code for a target opcode. The minute Emulation is overshadowing the simulation of using pre written code based on the opcodes.

Except for organizing the execution of the binary application the actual Emulation is non existent and the bulk of what is being done is substitution of opcode for something that is native to the host.

It would be very helpful if I knew the transition that the opcode went through in order to be native to the host. I believe that the interpreter if I use one uses the opcode as source to choose which pre written algorithm to choose a native replacement.

There seems to be a massive amount of confusion between the phony cpu representation which really looks like Simulation and this effecting the native code creation which I'm not sure how it is procured. Most people state in forums that the Emulator output , has to be executed by another hardware Emulator but don't explain how it can ever be native to the host but web sites specific to this state that the Emulator looks up a equivalent piece of code in a table for a opcode.