Sitio Web de Héctor E. Medellín Anaya |
Simulador de un procesador microprogramadoEste applet simula un procesador micro programado, esta basado en el ejemplo de micro arquitectura MIC-1 del libro "Organización de Computadoras, un enfoque estructurado" segunda edición de Andrew S. Tanenbaum. El applet muestra el funcionamiento de la microarquitectura permitiendo varias formas de simulación.La microarquitectura consta de 16 registros, una ULA, el registro de dirección de memoria de 12 bits (MAR) y el registro de intercambio de memoria (MBR), un circuito desplazador (SHIFTER), dos multiplexores (MUXA y MUXM), dos buffers (BUF-A y BUF-B), un contador de micro programa (MPC), un registro de micro instrucción (MIR), un incrementador (+1) una micromemoria de 256 palabras de 32 bits (no se muestran en elapplet), una memoria principal de 4096 palabras de 16 bits y algo de lógica extra (decodificadores, reloj y la lógica de microsecuenciamiento). El formato de las microinstrucciones es el siguiente: MUXA
- controla la entrada izquierda de la ALU: 0=buffer A, 1=MBR. La ventana de vaciado muestra 32 localidades de la memoria de nivel 2 en hexadecimal. La ventana de desensamblado muestra 8 instrucciones en direcciones alrededor de la palabra direccionada por el 'pc'. Algunos de los registros pueden modificarse haciendo clic sibre un dígito hexadecimal del contenido. El botón izquierdo incrementa el valor del dígito en uno y el botón derecho lo decrementa. Esto también funciona las localidades del área de desensamblado de memoria y de vaciado de memoria. El valor de algunos registro se pone en ceros si se hace clic sobre el nombre del registro. Para modificar las instrucciones en memoria se puede hacer clic sobre el campo de mnemónico de la instrucción, esta cambiará a la siguiente instrucción. Debido a las restricciones del manejo de archivos a través de los applets, para cargar un nuevo programa se utiliza al botón "carga" y se abre una ventana con una área de texto donde se pega el código en hexadecimal. Para iniciar la ejecución de las instrucciones, presione el botón "Iniciar". Mientras las instrucciones se ejecutan, el botón cambia a "Detener", presiónelo si desea dtener el proceso. Se tiene 4 modos de simulación, del paso1 al paso4. En el paso1 se simula una sola instrucción de nivel 2 haciendo pausa en cada micro paso, se avanza presionando el mismo botón, el cual mostrará el letrero "Siguiente". En el paso2 se simula una sola instrucción de nivel 2 mostrando los micro pasos sin hacer pausa. En el paso3 se simula una sola instrucción de nivel 2 sin mostrar los micro pasos. Por último en el paso4 se simulan instrucciones hasta volver a presionar este botón o encontrar un breakpoint. Se puede insertar un punto que ruptura (breakpoint) haciendo clic en el campo de dirección de la ventana de vaciado o de desensamblado. Volviendo a hacer clic se borra el break point o haciendo clic en otra dirección se traslada en breakpoint a la nueva dirección. El break point detiene la simulación en el modo paso4 cuando el registro pc toma el valor de esa dirección. Las barras de desplazamiento del área de vaciado permiten examinar cualquier región de la memoria. CODIGOS DE OPERACIONbinario
nemotécnico instrucción
significado El siguiente programa es un ejemplo que incluye una subrutina para dividir dos números enteros. X
EQU 0 El siguiente es el código en hexadecimal correspondiente a este programa. Este código puede copierse y pegarse en la ventana de carga de archivo. $601A
|