|
The Mac 68K emulator was a software emulator built into all versions of the Mac OS for PowerPC. This emulator permitted the running of applications and system code that were originally written for the 680x0 based Macintosh models. The emulator was completely seamless for users, and reasonably seamless for programmers. It is thought that this aspect of the Mac OS is the first and only time that such a dual hardware architecture operating system has ever been successfully implemented. Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ...
This article is about emulation in computer science. ...
Original 1984 Mac OS desktop Current 2005 Mac OS X desktop Mac OS, which stands for Macintosh Operating System, is Apple Computerâs name for the first operating systems for Macintosh computers. ...
PowerPC is a RISC microprocessor architecture created by the 1991 Apple-IBM-Motorola alliance, known as AIM. Originally intended for workstations, PowerPC CPUs have since become popular embedded and high-performance processors as well. ...
The Motorola 680x0, 0x0, m68k, or 68k family of CISC microprocessor CPU chips were 32_bit from the start, and were the primary competition for the Intel x86 family of chips. ...
The iMac G5, Apples flagship consumer desktop. ...
A programmer or software developer is someone who programs computers, i. ...
In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ...
All versions of this emulator emulated the 68020 chip instruction set. Early versions emulated it in a simple fashion where each instruction was carried out by a series of equivalent PowerPC instructions. Later, a dynamic recompilation emulator was used, to boost performance. This worked by "recompiling" common sections of 680x0 code into faster sequences that were locally cached. The emulator could recognise the same sequence of 680x0 code, and run the previously cached code to avoid doing the translation again. This emulator was capable of emulating the 68020 faster than any real 68040 was capable of running. The Motorola 68020 is a microprocessor from Motorola. ...
An instruction set, or instruction set architecture (ISA), describes the aspects of a computer architecture visible to a programmer, including the native datatypes, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O (if any). ...
In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. ...
One reason that this emulation was so successful is that many of the APIs for the Mac OS were originally implemented as traps on the 680x0 processor - calling an API actually was recognised by the 680x0 as an error condition, which would cause it to handle that error through one of its hardware vectors, which in turn would look up and run the operating system routine from ROM or RAM. In the emulator, such traps could be replaced by native PowerPC code, so the only code being emulated was the application itself - any system API it called could be accelerated with native PowerPC code. It also allowed Apple time to port the OS to the PowerPC - at first only time critical aspects were rewritten in native code, leaving much of the OS emulated. Gradually most of the OS was rewritten to be native, so the OS got faster over time. API redirects here. ...
For the programmer, the transition to the PowerPC was made fairly painless, as the emulator was started and stopped automatically. This was achieved using a new type of pointer called a Universal Procedure Pointer (UPP). For 680x0 code, a UPP was an ordinary pointer, so already-compiled code did not need to be changed to run. For PowerPC code, the pointer was actually a special trap, which would examine the flags associated with the pointer to determine the instruction set architecture (ISA) of both the caller and called code, and start up or stop the emulator as needed. This trap also dealt with details such as presenting passed parameters in the right order for the ISA in question. The compilers for Mac OS created such UPPs automatically when the proper macros were used, so dealing with the dual architecture required very little work for the programmer. It has been suggested that wild pointer be merged into this article or section. ...
A macro in computer science is an abstraction, whereby a certain textual pattern is replaced according to a defined set of rules. ...
The emulator is no longer part of Mac OS X, though it remains as an integral part of the Classic environment. Mac OS X (pronounced Mac OS Ten) is the latest version of the Macintosh operating system, and is designed and developed by Apple Computer to run on their Macintosh line of personal computers. ...
Classic is an emulation layer in Mac OS X that allows applications written for earlier versions of Mac OS to run on OS X systems, without having to boot the system using one of those versions. ...
|