|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
|
Emulation:Emulation is the ability to perform a task or function that is normally provided by something else. Emulation software can be packaged for use by computer users, computer programmers and computer manufacturers. CPU EmulationOne type of emulation software is CPU emulation. Inside every computer is at least one Central Processing Unit (CPU). CPUs are the part of computers that perform computation. CPUs retrieve instructions from memory and execute (perform what the instruction specifies) these instructions at rates of hundreds of millions of these simple instructions per second. The engineers who design CPUs decide the format of the instructions that a given CPU will use. IBM-compatible PCs use Intel 80x86-compatible CPUs such as Intel's Pentium and Celeron line and AMD's Athlon and Duron line of CPUs. Macintosh computers have never used Intel 80x86-compatible CPUs; the original Macintosh used Motorola 680x0 CPUs and current Macintoshes use Motorola and IBM PowerPC CPUs. CPU emulation software, like Syn68k, allows a CPU to execute instructions that are otherwise incompatible with that CPU. OS EmulationOperating Systems are collections of instructions that provide a set of routines to the programs that run on the computer. Typically OS routines are grouped into layers, where the lowest layers directly interact with the computer hardware and where higher layers interact with lower layers. Maintaining layers reduces the complexity of developing, debugging and updating the OS. In IBM-compatible PCs, the lowest layer is known as the BIOS (Basic Input/Output System). OS emulation software, like ROMlib, allows a computer to provide routines that are not normally provided by the OS that comes with the computer. In some cases OS emulation replaces all the layers of an OS. In other cases, only certain layers are replaced. ComparisonCPU Emulation is generally easier than OS emulation. CPU manufacturers provide sufficient documentation to allow the construction of a synthetic CPU almost solely from their published specifications. OS Emulation, by contrast, often requires spending much time writing tests to reveal undocumented behavior in the operating system. CPU emulation is useful to a wide variety of projects. Any place where a hardware CPU has been used in the past is a candidate for CPU emulation in the future. For example, a CPU building company trying to break into the Personal Digital Assistant (PDA, e.g. Palm) market may want one or more CPU emulators so that their new CPU can run software that existing PDAs run. OS emulation is useful for business and performance reasons. If a company doesn't license their OS, a business opportunity is opened for the company that can provide such OS emulation. Since an OS emulation runs natively on the host CPU, it will run faster than when the OS is not emulated and is merely hosted on an emulated CPU. Also, when the OS is constructed in layers, a well-designed OS emulation allows the mixing and matching between emulated layers and native layers.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| | HOME | WEBSITE NOTICES | |