El emulador del mac 68K del era un emulador del software incorporado a todas las versiones del OS del mac para el PowerPC . Este emulador permitió el funcionamiento de usos y el código de sistema que fue escrito original para el 680x0 basó los modelos de Macintosh . El emulador era totalmente inconsútil para los usuarios, y razonablemente inconsútil para los programadores se piensa que este aspecto del OS del mac es la primera vez que un sistema operativo de hardware tan dual de la arquitectura había sido ejecutado nunca con éxito. La primera versión fue escrita por Gary davidiana, que la había creado original para el uso en la CPU de Motorola 88000, utilizado en tentativa abortiva de Apple la primera en una plataforma de la blanco del RISC. Una versión posterior, usar la recompilación dinámica, fue desarrollada por el Eric Traut, que trabajó más adelante en proyectos acertados de la emulación tales como estación virtual del juego de Connectix y PC virtual de Microsoft .
Todas las versiones de este emulador emularon al subconjunto del “usuario” del sistema de instrucción 68EC040 con un marco de apilado de la excepción de 68020/68030. Las versiones tempranas le emularon descifrando cada instrucción e inmediatamente realizando una serie de instrucciones equivalentes de PowerPC. Para el PCI PowerMacs, el emulador dinámico de la recompilación fue utilizado para alzar funcionamiento. La recompilación dinámica trabaja por el " recompiling" secciones comunes del código en más rápidamente, PowerPC-nativas, secuencias que localmente fueron depositadas. El emulador podía reconocer la misma secuencia del código 680x0, y funcionar con el código previamente depositado de PowerPC para evitar hacer la traducción otra vez. Este emulador era teóricamente capaz de emular el código 680x0 más rápidamente que cualquier 680x0 verdadero era capaz del funcionamiento. El 68LC040 no tenía ninguna instrucción de la coma flotante, haciendo esta hazaña levemente más simple sino ninguÌn menos impresionante.
Un razón que era esta emulación así que acertado es que muchos de los APIs para el OS del mac fueron ejecutados original como trampas en el procesador 680x0 - la llamada de un API fue reconocida realmente por el 680x0 como el equivalente de una condición de error, que lo haría manejar ese error con uno de sus vectores del hardware, que alternadamente mirarían para arriba y funcionarían la rutina del sistema operativo de la ROM o del RAM. En el emulador, tales trampas se podrían substituir por el código nativo de PowerPC, así que el único código que era emulado era el uso sí mismo - cualquier sistema API que llamó se podría acelerar con el código nativo de PowerPC. También dio un plazo del tiempo de Apple para virar el OS hacia el lado de babor al PowerPC - en los aspectos críticos de la primera solamente vez fueron reescritos en el código nativo, dejando mucho del OS emulado. La mayor parte de el OS fue reescrito gradualmente para ser nativo, así que el OS consiguió más rápidamente en un cierto plazo.
Para el programador, la transición al PowerPC fue hecha bastante sin dolor, pues el emulador fue comenzado y parado automáticamente. Esto fue alcanzada usar un nuevo tipo del indicador llamado un indicador universal del procedimiento (UPP). Para el código 68k, este indicador aparecía y utilizó como indicador ordinario cifrar, pero llevó realmente a una estructura de datos especial, que contuvo una instrucción especial y las banderas de la trampa que indicaban la arquitectura de sistema de instrucción (ISA) del código llamado, y del código de PowerPC, se puede pasar a la función de CallUniversalProc () para llamarla. El emulador 68k entonces se ocupó de los detalles tales como presentación de parámetros pasajeros en la orden correcta para el AIA en la pregunta, así como comenzar y la detención del emulador como sea necesario. Los recopiladores para el OS del mac crearon tal UPPs automáticamente cuando las macros apropiadas fueron utilizadas, y las bibliotecas de sistema de PowerPC contuvieron trozos nativos transparente a la llamada a través al natural o a las funciones de still-68k según lo necesitado, así que el ocuparse de la arquitectura dual requirió muy poco el trabajo para el programador. Y apenas como el OS, los usos ellos mismos podían mezclarse y el fósforo 680x0 y código de PowerPC bastante fácilmente.
El emulador es no más pieza del mac OS x, aunque permanece como parte integrante del ambiente clásico .
.
| Random links: | Quintilian | Elección parlamentaria srilanquesa, 2001 | Rathdowney, Queensland | Calamintha | Terapia de la visión |