Cómo funciona un microprocesador: El ciclo Fetch-Decode-Execute

El latido de toda CPU

Un microprocesador ejecuta programas repitiendo un bucle fundamental — el Ciclo de Instrucción — miles de millones de veces por segundo.

El ciclo 5 etapas (RISC clásico / Simplificado)

  1. Fetch (Buscar)
    • PC (Program Counter) contiene dirección siguiente instrucción.
    • Dirección en bus direcciones; memoria devuelve palabra instrucción.
    • Instrucción cargada en IR (Instruction Register).
    • PC incrementado (o actualizado por salto).
  2. Decode (Decodificar)
    • Unidad control interpreta bits IR → opcode + operandos.
    • Determina: operación ALU, accesos registros, acceso memoria, salto?
    • Genera señales control para datapath.
  3. Execute (Ejecutar)
    • ALU realiza aritmética/lógica (ADD, AND, SHIFT…).
    • Cálculo dirección para load/store (base + offset).
    • Evalúa condición salto.
  4. Memory Access (Acceso memoria)
    • Load: lee dato memoria → registro.
    • Store: escribe registro → memoria.
    • Salto tomado: PC actualizado a objetivo.
  5. Writeback (Escritura resultado)
    • Resultado ALU o dato cargado escrito en registro destino.
    • Flags (Z, N, C, V) actualizados.

Mejoras modernas

  • Pipelining: Solapa etapas — 5+ instrucciones en vuelo simultáneamente.
  • Superscalar: Múltiples unidades decode/execute — emite 2–8 instrucciones/ciclo.
  • Out-of-Order: Reordena instrucciones para evitar stalls (data hazards).
  • Ejecución especulativa: Predice saltos; revierte si error.
  • Cachés (L1/L2/L3): Reducen latencia memoria (hit rates 95 %+).
  • Memoria virtual: MMU traduce VA → PA; TLB cachea traducciones.

Interrupciones y excepciones

Externas (IRQ), internas (división por cero, page fault), software (syscall) — guarda PC/FLAGS, salta a handler, retorna vía IRET/ERET.

Analogía

Fetch = lee paso receta. Decode = entiende instrucción. Execute = pica/cocina. Memory = busca/guarda ingredientes. Writeback = pone resultado en bol. Repite.

De 4,77 MHz 8088 a 5 GHz Core i9 — mismo ciclo, paralelismo exponencialmente mayor.