0221 · Montaje y mantenimiento de equipo · Tema 2 (UT2) · Simulador
Simulador de CPU — una máquina de Von Neumann paso a paso
Este simulador reproduce la máquina del apartado 2.7 de la teoría: una CPU con unidad de control y UAL, una memoria de celdas de 4 cifras y los tres buses. Sirve para ver qué ocurre dentro del ordenador en cada instrucción y para comprobar los ejercicios de ejecución de programas que hagas en papel.
Cómo se usa
- Elige un programa en el desplegable. Los tres primeros ya están cargados; con «Memoria libre» escribes el tuyo.
- Pulsa Siguiente paso y lee la explicación. Cada instrucción tiene unos siete pasos: tres de búsqueda, uno de decodificación y tres de ejecución.
- Con Instrucción completa avanzas una instrucción entera, y con Hasta el final, todo el programa.
- Abre la traza para ver los registros al terminar cada instrucción. Es lo que te piden en los ejercicios.
Cada celda tiene 4 cifras. En una instrucción, la primera cifra es la operación y las tres siguientes, la dirección del dato. 3251 significa «sumar al AC el dato de la dirección 251». Una celda con 0000 en la posición del programa lo termina.
Simulador
Retos: programa la máquina
Elige «Memoria libre» en el desplegable y escribe estos programas con el juego de instrucciones del boletín (1 cargar, 2 almacenar, 3 sumar, 4 restar, 5 multiplicar, 6 dividir). Antes de teclear, escribe en tu cuaderno qué irá en cada celda. Coloca el programa a partir de la dirección 100 y los datos a partir de la 200.
R1. Calcula (A + B) × C con A = 4, B = 6 y C = 3, y guarda el resultado en memoria. ¿Qué valor debería quedar? Compruébalo en el simulador.
R2. Pasa 3 horas a minutos y guarda el resultado. Pista: el número 60 también tiene que estar guardado en alguna celda de memoria.
R3. Calcula la media de tres notas (7, 5 y 9) y guárdala. ¿Qué pasa si las notas son 7, 5 y 8? Explica por qué el resultado no es exacto.
R4. Escribe en una celda del programa una instrucción con el código de operación 8 y ejecuta. ¿Qué ocurre? ¿Y si divides entre una celda que contiene 0000? Relaciónalo con lo que hace la unidad de control.