Cómo funciona una CPU
La ALU se encarga de calcular, y las instrucciones deciden qué hacer. ¿Cómo se mueven las dos como una sola? Sigue el recorrido de una CPU que procesa instrucciones una por una y encontrarás la respuesta.
La CPU repite tres tiempos
Lo que hace una CPU es, en realidad, sencillo.
Trae una instrucción, averigua qué significa y la ejecuta.
Luego trae la siguiente.
Repite estos tres tiempos sin parar.
Búsqueda → decodificación → ejecución, y otra vez.
Si búsqueda, decodificación y ejecución forman una vuelta, una CPU da miles de millones de vueltas en 1 segundo.
Cada paso es simple, pero van tan rápido que juntos logran trabajos complejos.
Un dedo que señala la siguiente instrucción
Pero ¿cómo sabe la CPU qué instrucción le toca ahora?
Las instrucciones están en fila en algún lugar de la memoria, y hay un dispositivo que señala "la siguiente que hay que hacer".
Se llama PC, el contador de programa.
El PC señala la siguiente instrucción.
Cada vez que se trae una instrucción, el PC avanza una posición.
Después de la 0 viene la 1, después de la 1 viene la 2, y así sucesivamente.
Gracias a este dedo, la CPU nunca pierde el hilo y va haciendo las instrucciones en orden.
Las piezas se juntan y forman una CPU
Ahora las piezas se reúnen.
El PC, que señala la siguiente instrucción; el decodificador, que interpreta las instrucciones; la ALU, que calcula; y los registros, pequeñas celdas que retienen valores un momento.
Por separado son pequeños, pero juntos forman una CPU que procesa instrucciones.
La CPU como un solo cuerpo.
El PC señala lo siguiente, el decodificador interpreta la instrucción, la ALU calcula y los registros retienen valores.
Cada uno hace su trabajo mientras todos marcan el mismo compás: así trabaja una CPU.
Ejecutar tres líneas de instrucciones
Aquí hay un programa corto.
Tiene tres líneas: "guarda 3", "suma 4" y "muestra el resultado".
Cada vez que pulsas avanzar, da un tiempo más, y puedes ver cómo se mueve el PC y cómo se acumula el valor.
Ejecuta una línea cada vez, siguiendo al PC.
Mientras el PC subía por 0, 1 y 2, las instrucciones se ejecutaron una por una.
El valor pasó a 3, luego a 7, y al final apareció en pantalla.
Así se ve un programa en marcha.
Cuando el PC salta a otro lugar
El PC suele avanzar de uno en uno, pero a veces salta a otro lugar.
Cuando se encuentra una instrucción como "ve a la instrucción 5", el PC cambia a esa dirección.
Cuando este salto se combina con el verdadero o falso de una comparación de la lección anterior, se convierte en una bifurcación llamada "si".
El PC salta de la 2 a la 5.
Si en vez de avanzar de uno en uno cambias el PC a otro valor, cambia el flujo del programa.
Puede saltar hacia delante o volver atrás.
Cómo se convierten estos saltos en "si" y "repetir" se explica con detalle en la sección de programación.