Este artículo necesita citas adicionales para su verificación . ( diciembre de 2013 ) |
Un simulador de arquitectura de computadora es un programa que simula la ejecución de la arquitectura de computadora .
Los simuladores de arquitectura de computadoras se utilizan para los siguientes fines:
Los simuladores de arquitectura de computadoras se pueden clasificar en muchas categorías diferentes según el contexto.
Un simulador de sistema completo es una simulación de arquitectura basada en la ejecución con un nivel de detalle tal que se pueden ejecutar pilas de software completas de sistemas reales 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 que define la simulación de sistemas completos en comparación con un simulador de conjuntos de instrucciones es que el modelo permite ejecutar controladores de dispositivos y sistemas operativos reales, no solo programas individuales. Por lo tanto, la simulación de sistemas completos 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 multinúcleo está impulsando la necesidad de una simulación completa del sistema, porque puede resultar extremadamente difícil y requerir mucho tiempo recrear y depurar errores sin el entorno controlado que proporciona el hardware virtual. [1] Esto también permite que el desarrollo del software se realice antes de que el hardware esté listo, [2] lo que ayuda a validar las decisiones de diseño.
Un simulador con precisión de ciclo es un programa informático que simula una microarquitectura ciclo por ciclo. Por el contrario, un simulador de conjunto de instrucciones simula una arquitectura de conjunto de instrucciones que, por lo general, es más rápida pero no precisa en cuanto a ciclos para una implementación específica de esta arquitectura; a menudo se utilizan para emular hardware antiguo, donde la precisión en el tiempo es importante por razones heredadas. A menudo, un simulador con precisión de ciclo se utiliza al diseñar nuevos microprocesadores: se pueden probar y comparar con precisión (incluso ejecutando un sistema operativo completo o compiladores) sin tener que construir realmente un chip físico, y se puede cambiar el diseño muchas veces para cumplir con el plan esperado.
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, errores de caché, recuperaciones, bloqueos de canalización, cambio de contexto de subprocesos y muchos otros aspectos sutiles de los microprocesadores.