Un emulador es un software que permite ejecutar programas o videojuegos en una plataforma (sea una arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos originalmente. A diferencia de un simulador, que solo trata de reproducir el comportamiento del programa, un emulador trata de modelar de forma precisa el dispositivo de manera que este funcione como si estuviese siendo usado en el aparato original.
Un uso popular de los emuladores es el de imitar la experiencia de los videojuegos de máquinas recreativas o videoconsolas encomputadoras personales, o el poder ser jugados en otras videoconsolas. La emulación de videojuegos de sistemas antiguos (abandonware) en las modernas computadoras personales y videoconsolas de hoy día resulta generalmente más cómoda y práctico que en los dispositivos originales. Sin embargo, puede ser requerido a los creadores de emuladores una licencia de software para escribir programas originales que dupliquen la funcionabilidad de la ROM y BIOS del hardware original, lo que comúnmente se conoce como high-level emulation o emulación de alto nivel.
Típicamente, un emulador se divide en módulos que corresponden de forma precisa a los subsistemas del equipo emulado. Lo más común, es que un emulador este compuesto por los siguientes módulos:
- Un emulador de la unidad central de procesamiento.
- Un módulo para el subsistema de memoria.
- Varios emuladores para los dispositivos de entrada y salida.
Lo más común es que los buses no sean emulados, por razones de simplicidad y rendimiento, y para que los periféricos virtuales se comuniquen directamente con la UCP y los subsistemas de memoria.
No hay comentarios:
Publicar un comentario