Hogar Software ¿Qué es la emulación del procesador? - definición de techopedia

¿Qué es la emulación del procesador? - definición de techopedia

Tabla de contenido:

Anonim

Definición: ¿Qué significa la emulación del procesador?

La emulación de procesador es un proceso y tecnología de virtualización que permite que el software que se ha compilado para un procesador o sistema operativo (SO) específico se ejecute en un sistema diferente que tenga un procesador y un SO diferentes. Esto se realiza traduciendo dinámicamente las instrucciones del procesador y todas las llamadas del sistema operativo asociadas de un programa a las instrucciones del procesador y el sistema operativo donde se está ejecutando.

Techopedia explica la emulación del procesador

La emulación del procesador permite la ejecución de programas escritos para que un procesador se ejecute en un procesador diferente con una arquitectura y un conjunto de instrucciones diferentes. Un buen ejemplo básico es un emulador de consola de juegos, que permite a los usuarios jugar juegos de consola como Nintendo Entertainment System y juegos de PlayStation en su PC. El procesador utilizado por una consola de juegos es muy diferente al de una PC, por lo que para poder jugar juegos de consola en una PC, el procesador de la consola de juegos debe ser emulado.

La idea básica es que cada acción y comportamiento individual del programa que necesita ejecutarse debe convertirse al conjunto de instrucciones equivalente y / o llamadas al sistema operativo del sistema host. El objetivo principal es ejecutar código que modifique los estados del procesador e interactúe con el hardware, y esto debe hacerse para cada instrucción del programa en ejecución.

Formas de manejar la emulación del procesador:

  • Recompilación dinámica: se crea una lista de operaciones ejecutando el código, y cuando se alcanza una instrucción de bifurcación, la lista se compila en el código de instrucción de la plataforma de host. Esto se almacena en caché para su uso futuro. Alternativamente, cada código simplemente podría compilarse sobre la marcha, pero este enfoque es difícil de optimizar.
  • Recompilación estática: esto también se conoce como traducción binaria estática, donde el código se convierte primero en el código de la máquina o arquitectura de destino sin ejecutar el código, como se hace en la recompilación dinámica. Sin embargo, pueden surgir problemas, ya que el traductor no puede determinar todos los códigos de destino durante el tiempo de compilación, ya que algunos de ellos solo se pueden encontrar en ramas indirectas, que, a su vez, solo se pueden determinar en tiempo de ejecución.
  • Interpretación: cada código se lee de la memoria utilizando el puntero de instrucción y luego se ejecuta de acuerdo con el conjunto de instrucciones de la CPU de la computadora host. En otras palabras, las instrucciones se traducen una a una y luego se ejecutan de forma nativa. El mayor inconveniente aquí es el rendimiento.
¿Qué es la emulación del procesador? - definición de techopedia