MicroSim

Programa informático educativo lanzado en 1992
MicroSim
Autor(es) original(es)Dr. Martin Perner de 0/1-SimWare
Lanzamiento inicial1992, hace 31-32 años
Versión estable
3.0.13 / 20 de junio de 2012 ; hace 12 años ( 20 de junio de 2012 )
Escrito enVisual Basic
Sistema operativoMicrosoft Windows
Disponible enInglés , Alemán
TipoSimulación por ordenador , Arquitectura de ordenador
LicenciaSoftware gratuito, shareware
Sitio webwww.mikrocodesimulator.de

MikroSim es un programa informático educativo para la explicación no específica del hardware del funcionamiento y comportamiento general de un procesador virtual , que se ejecuta en el sistema operativo Microsoft Windows . Dispositivos como calculadoras miniaturizadas , microcontroladores , microprocesadores y computadoras pueden explicarse mediante un código de instrucciones desarrollado a medida en un nivel de transferencia de registros controlado por secuencias de microinstrucciones ( microcódigo ) . En base a esto, es posible desarrollar un conjunto de instrucciones para controlar una placa de aplicación virtual en un nivel de abstracción más alto.

General

Inicialmente, MikroSim fue desarrollado para ser un software de simulación de procesadores que estuviera ampliamente disponible en áreas educativas. Dado que la operatividad de MikroSim comienza sobre la base del desarrollo de microcódigo, definido como una secuencia de microinstrucciones (microcodificación) para una unidad de control virtual , la intención del software es, en primer lugar, acercarse a un simulador de microcódigo con varios niveles de abstracción, incluyendo la capacidad de simuladores de CPU y emuladores de conjuntos de instrucciones. En la revisión actual del software es posible que una aplicación virtual controlada por microcódigo funcione sobre conjuntos de instrucciones codificados propios. Con MikroSim se tratan de forma no específica conceptos típicos y bien conocidos en el área de ingeniería informática como la arquitectura de computadoras 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 atemporal y gratuito 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 en cierta medida por el sistema operativo Windows de Microsoft, son razones para ser una herramienta de aprendizaje electrónico consolidada y valiosa 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 en 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 Marburgo (Alemania) hasta 1992. El concepto fue retomado por Martin Perner durante sus estudios de física (1990-95) en el verano de 1992, revisado y convertido en una aplicación de Windows compilada con Microsoft Visual Basic y que funcionaba en Windows 3.1x . De este modo, en ese momento surgió un simulador con enormes mejoras conceptuales al explotar la novedosa funcionalidad y el uso de la interfaz gráfica de usuario de MS Windows para respaldar la composición de microcódigo y la trazabilidad de su influencia instructiva. Las mejoras de la herramienta de aprendizaje electrónico bajo Windows han sido apoyadas y promovidas por el Fachbereich Mathematik/Informatik de la Universidad de Marburgo por Heinz-Peter Gumm hasta finales de 1995.

El simulador fue galardonado con el European Academic Software Award 1994 en la categoría de informática en Heidelberg (Alemania) en noviembre de 1994. En marzo de 1995, el simulador se presentó en la exposición de informática CeBIT '95 en Hannover en la exposición de las Hessischen Hochschulen. Entre 1995 y 2000, el simulador se publicó como Mikrocodesimulator MikroSim 1.2 sin ninguna mejora significativa. En ese momento, la herramienta recibió un premio de 1000 ECU de la Unión Europea en relación 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 se publicó como Mikrocodesimulator MikroSim2000 , optimizado para el funcionamiento de 32 bits de MS Windows 95 .

Entre 2008 y 2009, el concepto del simulador fue revisado, reelaborado y ampliado cuidadosamente. Por lo tanto, recibió amplias mejoras y extensiones sin afectar 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 ampliar las posibilidades de simulación de MikroSim hasta el nivel de una placa de aplicación virtual. MikroSim se compila y optimiza para lograr una compatibilidad sin restricciones y para la distribución más amplia posible para MS Windows XP como versión de 32 bits. El programa funciona 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 e inmutable en su funcionalidad.

En el modo de exploración, se puede evaluar el principio de funcionamiento y el control de los componentes recién añadidos 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 de 3 fases. Las fases parciales se denominan "GET", "CALCULATE" y "PUT", y hacen que se obtenga un valor de registro, se ejecute un cálculo de 32 bits y, finalmente, se almacene el resultado del cálculo en un 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 ciclos subsiguientes. 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 las posibilidades 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 que funciona cíclicamente , que también está programado en microcódigo, permite la implementación de secuencias de microoperaciones individuales, conocidas como instrucciones de máquina . El microcódigo puede considerarse como un firmware para MikroSim, que puede modificarse, almacenarse y recargarse desde un archivo ROM de microcódigo.

En el marco de un ciclo de ejecución de microinstrucciones, la CPU y el controlador de entrada/salida están conectados a un dispositivo externo de memoria de acceso aleatorio (RAM) de 16 KB. A través del dispositivo controlador de entrada/salida, la comunicación con dispositivos virtuales de entrada y salida se realiza mediante el modo de acceso directo a memoria (DMA), la conexión de circuitos integrados (I2C) y la funcionalidad de solicitud de interrupción (IRQ). Se proporciona un puerto de salida, una pantalla, un temporizador, un disparador de eventos, un convertidor digital-analógico, un teclado y un canal de entrada/salida de datos como dispositivo de circuito integrado virtual para explicar de forma didáctica la comunicación con dispositivos externos.

El simulador de microcódigo utiliza ocho registros de libre uso, cada uno de 32 bits de ancho, conectados a una unidad lógica aritmética (ALU) de 32 bits. El contenido de los registros puede considerarse como valores enteros con o sin signo, o como números de coma flotante de 32 bits . El contenido de los registros se puede visualizar, interpretar y modificar fácilmente bit a bit 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 números enteros, control de interrupciones y aritmética de punto flotante.

El enfoque didáctico para los cálculos de punto flotante, que Konrad Zuse 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 potentes comandos aritméticos de punto 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 supone idealmente que la ejecución de cada operación aritmética de ALU compatible requiere solo una duración de cálculo distinta independientemente de la complejidad del circuito que se necesita de manera realista en la práctica.

La ejecución de microinstrucciones se puede realizar 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 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 "Cargar ejecución de incremento" (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 microinstrucción se ramifique a la subrutina de microcódigo referenciada para su ejecución dada por el código de operación y regrese al LIE para recuperar la siguiente instrucción de máquina.
  • En un nivel de ejecución superior, 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 que es posible comparar el rendimiento de la ejecución a nivel de máquina y de microcódigo.
  • En el nivel superior de simulación, el simulador de microcódigo ejecuta continuamente microinstrucciones sin interrupción. En este nivel, se cargan las instrucciones de la máquina una por una. De esta forma, es posible centrarse en la interacción de la CPU con los dispositivos externos.

Con varias opciones adicionales, se pueden suprimir las actividades visuales de la CPU para aumentar la velocidad de procesamiento cuando se plantea el control de la aplicación mediante 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 ponerlo 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 herramienta "Basic Assembler Tool for MikroSim" MikroBAT se pueden desarrollar programas sencillos en lenguaje de programación ensamblador . En este caso, todos los mnemónicos admitidos del lenguaje de programación ensamblador se determinan a partir del conjunto de instrucciones de la máquina creada por el usuario en el nivel de microinstrucciones. 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 memoria RAM externa para simulaciones posteriores. Junto con MikroBAT, el simulador de microcódigo MikroSim facilita la introducción didáctica de aspectos de enseñanza en informática técnica desde una máquina calculadora controlada por interruptores hasta una aplicación programable en ensamblador.

Véase también

Literatura

  • Gum, 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

  1. ^ Mikrocodesimulator – Premios y distinciones, DE : MikroSim , consultado el 5 de diciembre de 2010.
  • Medios relacionados con MikroSim en Wikimedia Commons
  • "Mikrocodesimulator MikroSim 2010" (sitio web oficial). 0/1-SimWare.
Obtenido de "https://es.wikipedia.org/w/index.php?title=MikroSim&oldid=1220999924"