Un simulador de arquitectura de computadora es un programa que simula la ejecución de arquitectura de computadora .
Los simuladores de arquitectura informática se utilizan para los siguientes propósitos:
- Reducción de costos mediante la evaluación de diseños de hardware sin construir sistemas de hardware físico.
- Permitiendo el acceso a hardware inalcanzable.
- Aumentar la precisión y el volumen de los datos de rendimiento informático.
- Presentamos capacidades que normalmente no son posibles en hardware real, como ejecutar código al revés cuando se detecta un error o ejecutar en tiempo más rápido que real .
Categorías
Los simuladores de arquitectura de computadora 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 E / S.
- Detalle : Los simuladores funcionales, como los simuladores de conjuntos de instrucciones , cumplen la misma función que los componentes modelados. Se pueden simular más rápido si no se considera la sincronización. Los simuladores de tiempo son simuladores funcionales que también reproducen el tiempo. Los simuladores de temporización se pueden clasificar en simuladores de subciclo analógicos y con precisión de ciclo digital.
- Carga de trabajo : los simuladores controlados por seguimiento (también llamados simuladores controlados por eventos) reaccionan a secuencias de instrucciones pregrabadas con una entrada fija. Los simuladores controlados por ejecución permiten que se ejecuten cambios dinámicos de instrucciones en función de diferentes datos de entrada.
Simuladores de sistema completo
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 llevar mucho tiempo recrear y depurar errores sin el entorno controlado proporcionado por el hardware virtual. [1] Esto también permite que el desarrollo del software tenga lugar antes de que el hardware esté listo, [2] ayudando así a validar las decisiones de diseño.
Simulador de ciclo preciso
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.
Los simuladores de ciclo preciso deben garantizar que todas las operaciones se ejecuten en el tiempo virtual (o real si es posible) adecuado: predicción de rama, fallos de caché, recuperaciones, paradas de canalización, cambio de contexto de subprocesos y muchos otros aspectos sutiles de los microprocesadores.
Ver también
Referencias
- ^ Depuración y simulación del sistema completo
- ^ Vania Joloboff (2009). "Simulación de sistema completo de sistemas integrados" (PDF) . Archivado desde el original (PDF) el 09/02/2014 . Consultado el 6 de marzo de 2013 .
enlaces externos
- La infraestructura virtual de Archer para la simulación de arquitectura informática
- "Mikrocodesimulator MikroSim 2010" . 0/1-SimWare . Consultado el 6 de diciembre de 2010 .