MikroSim es un programa informático de software educativo para la explicación no específica del hardware del funcionamiento general y el comportamiento de un procesador virtual , que se ejecuta en el sistema operativo Microsoft Windows . Dispositivos como miniaturizados calculadoras , microcontrolador , microprocesadores , y equipo pueden ser explicados en la costumbre-desarrollado código de instrucción en un nivel de transferencia de registro controlado por secuencias de micro instrucciones ( microcódigo ). Basado en esto es posible desarrollar un conjunto de instrucciones para controlar una placa de aplicación virtual en un nivel superior de abstracción.
Autor (es) original (es) | Dr. Martin Perner de 0/1-SimWare |
---|---|
Versión inicial | 1992, hace 28–29 años |
Lanzamiento estable | 3.0.13 / 20 de junio de 2012 |
Escrito en | Visual Basic |
Sistema operativo | Microsoft Windows |
Disponible en | Inglés , alemán |
Tipo | Simulación por computadora , Arquitectura de computadora |
Licencia | Freeware, Shareware |
Sitio web | www.mikrocodesimulator.de |
General
Inicialmente, MikroSim se desarrolló para ser un software de simulación de procesador para estar ampliamente disponible en áreas educativas. Dado que la operatividad de MikroSim comienza sobre la base del desarrollo de microcódigos, definido como una secuencia de microinstrucciones (microcodificación) para una unidad de control virtual , la intención del software es, en primer lugar, un simulador de microcódigo con varios niveles de abstracción, incluida la capacidad de instrucción y simuladores de CPU. establecer emuladores. En la revisión de software actual, es factible que una aplicación virtual controlada por microcódigo opere en sus propios conjuntos de instrucciones codificadas. Con MikroSim no se tratan específicamente conceptos típicos y conocidos en el área de la ingeniería informática como la arquitectura de la computadora y la arquitectura de conjuntos de instrucciones , que se han establecido desde los primeros días de la era de la información y siguen siendo válidos. De esta manera, el software de simulación obtiene un beneficio didáctico gratuito y atemporal sin estar restringido a desarrollos especiales del pasado y del futuro. La documentación detallada y la interfaz gráfica de usuario ( GUI ) de la aplicación bilingüe en alemán e inglés, así como la compatibilidad ascendente del software dada hasta cierto punto por el sistema operativo Windows de Microsoft, son razones para ser una valiosa herramienta de aprendizaje electrónico bien establecida en el campo de la ingeniería informática desde 1992 para uso educativo.
Historia del desarrollo
El software se basa en una versión escrita bajo Turbo Pascal compilada para sistemas operativos MS-DOS que se ha utilizado con fines educativos en ingeniería informática y ciencias de la computación en la Universidad Philipps de Marburg (Alemania) hasta 1992. El concepto fue recogido por Martin Perner durante su estudio de física (1990-1995) en el verano de 1992, revisado y convertido en una aplicación de Windows compilada con Microsoft Visual Basic y que se ejecuta en Windows 3.1x . Al hacerlo, en este momento surgió un simulador con enormes mejoras conceptuales al explotar la funcionalidad novedosa y la utilización de la GUI de MS Windows para respaldar la composición de microcódigo y la trazabilidad de su influencia instruccional. Las mejoras de la herramienta de aprendizaje electrónico en Windows han sido apoyadas y promovidas por Fachbereich Mathematik / Informatik de la Universidad de Marburg por Heinz-Peter Gumm hasta finales de 1995.
El simulador ha sido galardonado con el '' European Academic Software Award 1994 '' en la categoría de ciencias de la computación en Heidelberg (Alemania) en noviembre de 1994. En marzo de 1995, el simulador fue presentado en la exhibición de computadoras CeBIT '95 en Hannover en la exhibición de el "Hessischen Hochschulen". Entre 1995 y 2000 el simulador fue publicado como '' Mikrocodesimulator MikroSim 1.2 '' sin ninguna mejora significativa. En este momento, la herramienta recibió un premio de 1000 ECU de la Unión Europea en conjunto con el '' Año Europeo del Aprendizaje Permanente 1996 ''. En 1997, el software se presentó en el concurso '' Multimedia Transfer'97 '' en relación con la exposición '' LearnTec'97 ''. [1] En su penúltima revisión, el simulador ha sido publicado bajo '' Mikrocodesimulator MikroSim2000 '', optimizado para la operación de 32 bits de MS Windows 95 .
Entre 2008 y 2009, el concepto del simulador se ha revisado, reelaborado y ampliado concienzudamente. Por lo tanto, ha recibido amplias mejoras y extensiones sin tocar los aspectos conceptuales exitosos de las capacidades de simulación de microcódigo en el núcleo. Para este propósito, se aprovecha el rendimiento del sistema informático actual determinado por el sistema operativo y la potencia computacional subyacente para extender las posibilidades de simulación de MikroSim hasta la etapa de una placa de aplicación virtual. MikroSim se compila y optimiza en aras de la compatibilidad sin restricciones y para la distribución más amplia posible para MS Windows XP como versión de 32 bits. El programa se ejecuta en todos los sistemas operativos de 32 y 64 bits de MS Windows Vista y MS Windows 7 . Por lo tanto, no se necesita un modo de compatibilidad especial con XP. Desde enero de 2010, el simulador se distribuye como '' Mikrocodesimulator MikroSim 2010 '' por 0/1-SimWare.
Funcionalidad
La aplicación de Windows permite el establecimiento gradual de una aplicación virtual predeterminada y tan inalterable en su funcionalidad.
En el modo de exploración, se puede evaluar el principio operativo y el control de los componentes recién agregados influenciados por una instrucción de microcódigo dentro de un ciclo. El ancho de las microinstrucciones de MikroSim es de 49 bits. Una sola microinstrucción se ejecuta en tres fases de un reloj trifásico. Las fases parciales se denominan fase "GET", "CALCULATE" y "PUT", lo que hace que se obtenga algún valor de registro, se ejecute un cálculo de 32 bits y, finalmente, se almacene el resultado del cálculo en el registro interno de la CPU.
En el modo de simulación, las microinstrucciones ejecutadas sin problemas controlan la unidad central de procesamiento del simulador en los ciclos posteriores. Por lo tanto, la capacidad intrínseca de una microinstrucción se utiliza para abordar la siguiente microinstrucción en el almacén de control . El almacén de control que contiene el conjunto de microinstrucciones (comúnmente denominado "microcódigo") comprende 1024 palabras de microinstrucciones cada una de 49 bits de ancho.
El uso de oportunidades de estructuración del almacén de control para la programación direccionable del microcódigo y la implementación de un intérprete de código de máquina de operación cíclica , que se programa en microcódigo, también permite la implementación de secuencias de microoperaciones individuales , conocidas como instrucciones de máquina . El microcódigo se puede considerar como firmware para MikroSim, que se puede modificar, almacenar y volver a cargar desde un archivo ROM de microcódigo.
Dentro de un ciclo de ejecución de microinstrucciones, la CPU, así como un controlador de entrada / salida, se conectan a un enorme dispositivo de memoria de acceso aleatorio (RAM) de 16 kByte externo. A través del dispositivo controlador de entrada-salida, la comunicación con los dispositivos de entrada y salida virtuales es compatible con el modo de acceso directo a memoria (DMA), la conexión entre circuitos integrados (I2C) y la funcionalidad de solicitud de interrupción (IRQ). Se proporciona un puerto de salida, una pantalla, un temporizador, un activador de eventos, un convertidor digital-analógico, un teclado y un canal de entrada / salida de datos como dispositivo IC virtual para explicar didácticamente la comunicación con dispositivos externos.
El simulador de microcódigo utiliza ocho registros de uso libre, cada uno de 32 bits de ancho, conectado con una unidad lógica aritmética (ALU) de 32 bits . El contenido del registro se puede considerar como valores enteros con o sin signo, o como números de coma flotante de 32 bits . El contenido del registro se puede ver, interpretar y modificar fácilmente mediante un editor de números de sistema integrado.
La ALU de 32 bits es la unidad clave de la unidad central de procesamiento. Admite 128 operaciones aritméticas básicas diferentes para operaciones con enteros, control de interrupciones y aritmética de coma flotante.
El enfoque didáctico de los cálculos de punto flotante, que Konrad Zuse ya introdujo de manera comparable a principios de la década de 1940 , se introduce mediante el uso de operaciones de subnivel elementales para exponente y mantisa involucradas en las operaciones clave de suma / resta y multiplicación / división. Se proporciona un conjunto de poderosos comandos aritméticos de coma flotante de 32 bits en mantisa y exponente para las operaciones básicas y funciones analíticas elementales, tal como se realizan en los coprocesadores matemáticos actuales. Aquí, en la simulación con MikroSim, se asume idealmente que la ejecución de cada operación aritmética de ALU soportada requiere solo una duración de cálculo distinta, independiente de la complejidad del circuito que se necesita de manera realista en la práctica.
La ejecución de microinstrucciones se puede operar en varios niveles de simulación con diferente resolución temporal:
- En el nivel de simulación más bajo, el simulador admite la ejecución inteligente por fases de las fases GET, CALCULATE y PUT. El procesamiento de las fases parciales es posible con un retraso ajustable para una mejor trazabilidad.
- En el siguiente nivel superior, la microinstrucción actual se ejecuta en un reloj trifásico completo sin retardo de tiempo. Se admite una ejecución continua de varios ciclos de reloj trifásicos dentro de un ciclo denominado “Ejecución de incremento de carga” (LIE). El ciclo LIE considerado como un intérprete escrito en microcódigo tiene la función de cargar instrucciones de máquina codificadas como valor de byte desde la RAM externa y permitir que la secuencia de microinstrucciones se bifurque a la subrutina del microcódigo referenciada para su ejecución dada por el código de operación y regresar a la LIE. para recuperar la siguiente instrucción de la máquina.
- Un nivel de ejecución más alto, se puede ejecutar una secuencia de varias instrucciones de máquina hasta que se alcanza un punto de interrupción definido por el usuario, que se coloca en la secuencia de código de máquina. Es posible medir los tiempos de ejecución entre puntos de interrupción. Por lo tanto, es posible comparar el rendimiento de ejecución a nivel de máquina y microcódigo.
- En el nivel más alto de simulación, el simulador de microcódigo ejecuta continuamente microinstrucciones sin interrupción. En este nivel, se carga instrucción de máquina por instrucción de máquina. Entonces, es posible enfocarse en la interacción de la CPU con dispositivos externos.
Con varias opciones adicionales, las actividades visuales de la CPU se pueden suprimir para aumentar la velocidad de procesamiento cuando se presenta el control de la aplicación mediante la programación de la máquina. El monitor de índice de rendimiento proporcionado con el simulador permite al usuario comparar el rendimiento de procesamiento de MikroSim y establecerlo en relación con la potencia de cálculo del hardware del simulador, medible en operaciones de punto flotante por segundo ( FLOPS ) e instrucciones por segundo (IPS).
Con la llamada '' Herramienta de ensamblador básica para MikroSim '' MikroBAT, se pueden desarrollar programas simples en lenguaje de programación ensamblador . Aquí, todos los mnemónicos admitidos del lenguaje de programación ensamblador están determinados por el conjunto de instrucciones de la máquina creada por el usuario en el nivel de microinstrucción. La herramienta complementaria puede traducir el programa en lenguaje ensamblador a código de máquina y datos y transferir el código binario a la RAM externa para simulaciones posteriores. Junto con MikroBAT, el simulador de microcódigo MikroSim apoya la introducción didáctica de aspectos didácticos en informática técnica desde una máquina calculadora controlada por interruptor hasta una aplicación programable ensambladora.
Ver también
- Simulador de arquitectura informática
- Simulador de ciclo preciso
- Lenguaje de programación educativo
- Simulador de sistema completo
- Simulador de conjunto de instrucciones
- Instrumentación (programación informática)
- arquitectura von Neumann
Literatura
- Gumm, HP; Sommer, M (2009), "5.6", Einführung in die Informatik (en alemán) (8 ed.), Munich: Oldenbourg, págs. 470-85, ISBN 978-3-486-58724-1.
Referencias
- ^ Mikrocodesimulator - Awards and Honors , DE : MikroSim , consultado el 5 de diciembre de 2010.
enlaces externos
- Medios relacionados con MikroSim en Wikimedia Commons
- "Mikrocodesimulator MikroSim 2010" (sitio web oficial). 0/1-SimWare.