What is emulation?
What is emulation?
- This is a virtual simulation of a real physical process. For example, computer racing is an emulator ...
- In general, Evolution, if you mean a volley.
- Here you are ...
- Emulation # 769; tion (English software emulation) simulation of the operation of one program by means of another.
Emulation allows you to run a computer program on a platform (computer architecture and / or operating system), different from the one for which it was written in the original. Emulation is also called the process of this execution. A source? Unlike simulation, which only reproduces the behavior of the program, emulation sets the goal of accurately simulating the state of the simulated system to perform the original machine code.
Used in the design of new microprocessors and when testing programs written for various systems.
One of the popular applications of emulation is the execution on the personal computer of games written for gaming machines or game consoles.
Theoretically, according to the Tchring Turing thesis, any operating environment can be emulated in any other environment. In practice, however, there are a number of difficulties; in particular, the exact behavior of the emulated system is often not documented and should be investigated and determined by reverse engineering.
A sufficiently complete emulation of some hardware platform requires extreme accuracy, up to the level of individual clock cycles, undocumented features and even implementation errors.
This is especially important for such models of classic home computers as Commodore 64, whose software depends heavily on programming solutions based on undocumented features invented by game programmers and demoscent enthusiasts.
In contrast, on some other platforms, quite a bit of direct access to equipment was used. In this case, it turns out to be sufficient to provide some level of compatibility, ensuring the translation of the system calls of the emulated system into the calls of the operating system.
Usually, the emulator consists of several modules, responsible for various subsystems of the emulated computer. Most often, the emulator consists of:
* emulator or CPU simulator
* memory subsystem module, emulating RAM and ROM
* module or modules of emulation of various input / output devices
The system bus is usually not emulated, for simplicity or performance reasons, and the virtual periphery communicates directly with the CPU module and the memory module.