Todo programa, en cualquier lenguaje, termina convertido en instrucciones pequeñitas que el procesador ejecuta una por una. En este módulo vas a programar a ese nivel, con BitCPU: un procesador de juguete que funciona como uno de verdad, pero con muy pocas piezas.
Las piezas
- La memoria: 32 casilleros numerados del 0 al 31. Cada uno guarda un número o una instrucción.
- A (el acumulador): el único número con el que la CPU puede hacer cuentas.
- PC (contador de programa): dice en qué casillero está la próxima instrucción.
- IR (registro de instrucción): la instrucción que se está ejecutando ahora.
- MAR y MDR: la dirección y el dato que viajan entre la CPU y la memoria.
El ciclo de cada instrucción
Para cada instrucción, la CPU hace siempre lo mismo, en tres fases. A esos pasos internos se les llama microcódigo: están un nivel más abajo que el ensamblador.
- Buscar: copiar la instrucción del casillero PC al registro IR, y avanzar PC.
- Decodificar: entender qué instrucción es.
- Ejecutar: hacerla (cargar, sumar, guardar, saltar…).
Pulsa Ejecutar y avanza paso a paso. Activa «pasos grandes» para saltar de instrucción en instrucción sin ver el microcódigo.
Para pensar
- ¿Qué fue fácil?
- ¿Qué fue difícil?
- ¿Otro paradigma lo habría resuelto mejor? ¿Cuál y por qué?