Articulo de referencia

Simulador de arquitectura de computadoras

Un simulador de arquitectura de computadoras es un programa que simula la ejecución de la arquitectura de una computadora . Los simuladores de arquitectura de computadoras se ut...

Un simulador de arquitectura de computadoras es un programa que simula la ejecución de la arquitectura de una computadora .

Los simuladores de arquitectura de computadoras se utilizan para los siguientes fines:

  • Reducción de costes mediante la evaluación de diseños de hardware sin necesidad de construir sistemas de hardware físicos.
  • Permitir el acceso a hardware inalcanzable.
  • Incrementar la precisión y el volumen de los datos de rendimiento informático.
  • Introducir funcionalidades que normalmente no son posibles en hardware real, como ejecutar código hacia atrás cuando se detecta un error o ejecutarlo en tiempo superior al real .

Categorías

Los simuladores de arquitectura de computadoras se pueden clasificar en muchas categorías diferentes según el contexto.

  • Alcance : Los simuladores de microarquitectura modelan el microprocesador y sus componentes. Los simuladores de sistema completo también modelan el procesador, los sistemas de memoria y los dispositivos de entrada/salida.
  • Detalle : Los simuladores funcionales, como los simuladores de conjunto de instrucciones , realizan la misma función que los componentes modelados. Se pueden simular más rápidamente si no se considera la temporización. Los simuladores de temporización son simuladores funcionales que también reproducen la temporización. Estos simuladores se pueden clasificar además en simuladores digitales con precisión de ciclo y simuladores analógicos con precisión de subciclo.
  • Carga de trabajo : Los simuladores basados ​​en trazas (también llamados simuladores basados ​​en eventos) reaccionan a secuencias de instrucciones pregrabadas con una entrada fija. Los simuladores basados ​​en ejecución permiten que las instrucciones que se ejecutan cambien dinámicamente en función de los diferentes datos de entrada.

Simuladores de sistema completo

Un simulador de sistema completo es una simulación de arquitectura basada en la ejecución con tal nivel de detalle que pilas de software completas de sistemas reales pueden ejecutarse en el simulador sin ninguna modificación. Un simulador de sistema completo proporciona hardware virtual independiente de la naturaleza del ordenador anfitrión. El modelo de sistema completo suele incluir núcleos de procesador , dispositivos periféricos , memorias , buses de interconexión y conexiones de red . Los emuladores son simuladores de sistema completo que imitan hardware obsoleto en lugar de hardware en desarrollo.

La característica distintiva de la simulación de sistema completo, en comparación con un simulador de conjunto de instrucciones, es que el modelo permite ejecutar controladores de dispositivos y sistemas operativos reales , no solo programas individuales. De este modo, la simulación de sistema completo posibilita simular ordenadores individuales y nodos informáticos en red con todo su software , desde controladores de dispositivos de red hasta sistemas operativos, pilas de red , middleware , servidores y programas de aplicación .

La simulación completa del sistema puede acelerar el proceso de desarrollo, facilitando la detección, recreación y reparación de fallos. El uso de procesadores multinúcleo impulsa la necesidad de la simulación completa del sistema, ya que recrear y depurar errores puede resultar extremadamente difícil y laborioso sin el entorno controlado que proporciona el hardware virtual. [ 1 ] Esto también permite que el desarrollo del software se lleve a cabo antes de que el hardware esté listo, [ 2 ] lo que ayuda a validar las decisiones de diseño.

Simulador con precisión de ciclo

Un simulador con precisión de ciclo es un programa informático que simula una microarquitectura ciclo a ciclo. En cambio, un simulador de conjunto de instrucciones simula una arquitectura de conjunto de instrucciones generalmente más rápido, pero no con precisión de ciclo para una implementación específica de dicha arquitectura; se utilizan a menudo para emular hardware antiguo, donde la precisión temporal es importante por motivos de compatibilidad con versiones anteriores. Con frecuencia, un simulador con precisión de ciclo se utiliza al diseñar nuevos microprocesadores : se pueden probar y evaluar con precisión (incluyendo la ejecución de sistemas operativos completos o compiladores) sin necesidad de construir un chip físico, y permiten modificar el diseño fácilmente varias veces para cumplir con el plan previsto. 

Los simuladores con precisión de ciclo deben garantizar que todas las operaciones se ejecuten en el tiempo virtual (o real, si es posible) adecuado : predicción de bifurcaciones, fallos de caché, búsquedas, bloqueos de la tubería, cambio de contexto de subprocesos y muchos otros aspectos sutiles de los microprocesadores. 

Véase también

Referencias

  1. Depuración y simulación completa del sistema
  2. Vania Joloboff (2009). "Simulación de sistema completo de sistemas embebidos" (PDF) . Archivado del original (PDF) el 9 de febrero de 2014. Consultado el 6 de marzo de 2013 .
  • La infraestructura virtual Archer para la simulación de arquitectura de computadoras.
  • "Mikrocodesimulator MikroSim 2010" . 0/1-SimWare . Consultado el 6 de diciembre de 2010 .