Fundamentos de Computación

Capítulo 05

La CPU: donde todo encaja

Tenemos puertas que deciden, una ALU que calcula y registros que recuerdan. Lo único que falta es un director de orquesta que les diga qué hacer y cuándo. Ese director es la unidad de control, y el conjunto completo es la CPU: la idea de máquina programable hecha silicio.

La gran idea: el programa también es datos

Hasta los años 40, "programar" una máquina era recablearla. La idea que funda la informática moderna —la arquitectura de von Neumann— es que las instrucciones se pueden codificar como números y guardarse en la misma memoria que los datos. Cambiar de programa ya no es tocar un cable: es escribir otros números en la memoria.

Cada CPU define su ISA (arquitectura del conjunto de instrucciones): el catálogo de operaciones que entiende y cómo se codifican en bits. Es el contrato entre el hardware y el software: por eso un mismo programa compilado para x86 corre en CPUs de Intel y de AMD.

Las piezas del procesador

El latido: fetch → decode → execute

Todo lo que ha hecho cualquier ordenador de la historia se reduce a este ciclo, repetido miles de millones de veces por segundo:

🖥️ Pruébalo: una CPU de juguete

Este programa calcula 7 + 35 y guarda el resultado en la celda 7. Pulsa Paso para avanzar fase a fase y ver el ciclo fetch–decode–execute en acción.

Registros

PC (contador de programa)0
IR (instrucción actual)
ACC (acumulador)0
Faselisto

Memoria (programa y datos juntos)

Pulsa «Paso» para empezar. La CPU hará fetch de la celda 0.

Subiendo por la escalera de abstracciones

Escribir números de máquina a mano es agotador, así que construimos escalones encima: el ensamblador pone nombres a las instrucciones (ADD 6 en vez de 26); los compiladores traducen lenguajes de alto nivel a esas instrucciones; los sistemas operativos reparten la CPU entre programas. Cada capa se apoya en la anterior, y ninguna necesita magia: al fondo de todo siguen estando los transistores del capítulo 1, conmutando.

Las CPUs reales añaden trucos espectaculares —pipeline (varias instrucciones en vuelo a la vez), predicción de saltos, múltiples núcleos, cachés de tres niveles— pero todos son optimizaciones del mismo ciclo que acabas de ejecutar a mano.