Simulador de arquitectura informática


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

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

Un simulador de sistema completo es una simulación de arquitectura impulsada por la ejecución con un nivel de detalle tal que las pilas de software completas de sistemas reales pueden ejecutarse en el simulador sin ninguna modificación. Un simulador de sistema completo proporciona hardware virtual que es independiente de la naturaleza de la computadora host. El modelo de sistema completo generalmente incluye 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 propiedad definitoria de la simulación de sistema completo en comparación con un simulador de conjunto de instrucciones es que el modelo permite que se ejecuten controladores de dispositivos y sistemas operativos reales , no solo programas individuales. Por lo tanto, la simulación de sistema completo permite simular computadoras individuales y nodos de computadoras 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 del sistema al facilitar la detección, recreación y reparación de fallas. El uso de procesadores de múltiples núcleos está impulsando la necesidad de una simulación completa del sistema, porque puede ser extremadamente difícil y lento recrear y depurar errores sin el entorno controlado proporcionado por 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] ayudando así a validar las decisiones de diseño.

Un simulador con precisión de ciclo es un programa de computadora que simula una microarquitectura ciclo por ciclo. En contraste, un simulador de conjunto de instrucciones simula una arquitectura de conjunto de instrucciones normalmente más rápido pero no con precisión de ciclo para una implementación específica de esta arquitectura; a menudo se utilizan al emular hardware antiguo, donde la precisión del tiempo es importante por motivos heredados. A menudo, se utiliza un simulador de ciclo preciso al diseñar nuevos microprocesadores: se pueden probar y comparar con precisión (incluida la ejecución del sistema operativo completo o compiladores) sin construir un chip físico, y cambiar fácilmente el diseño muchas veces para cumplir con el plan esperado.