Trilha 02 · Como funciona

A CPU e o ciclo de instrução

A CPU só sabe fazer uma coisa: buscar uma instrução, entendê-la e executá-la. Mas faz isso bilhões de vezes por segundo.

① Intuição

Uma máquina que segue instruções

Imagine um cozinheiro extremamente rápido e obediente. Ele olha a receita (busca), lê a próxima etapa (decodifica), executa a ação (executa), e volta para a próxima linha. Sem criatividade, sem julgamento — só instrução após instrução, bilhões de vezes por segundo.

Esse é o ciclo buscar–decodificar–executar (BDE). O Contador de Programa (PC) aponta para a próxima instrução. Após cada execução, o PC avança. Ao encontrar um HALT (ou equivalente), a CPU para.

A ideia central: um programa complexo — um jogo, um navegador, uma IA — é apenas uma sequência enorme de instruções simples (soma, comparação, movimentação de dados), executadas uma a uma com rapidez absurda.
② Visualização interativa

Simule o ciclo da CPU

Use Próximo passo para avançar fase a fase (BUSCAR → DECODIFICAR → EXECUTAR) e ver exatamente o que muda em cada momento. Ou clique Executar tudo para a animação automática.

① BUSCAR
② DECODIFICAR
③ EXECUTAR
PROGRAMA
0LOAD R1, 10
1LOAD R2, 4
2ADD R1, R2
3PRINT R1
4SUB R1, R2
5PRINT R1
6HALT
REGISTRADORES
PC
0
R1
0
R2
0
SAÍDA
nenhuma ainda…
③ Explicação técnica

O que acontece em cada fase

A mini ISA do simulador

# Mini ISA (Instruction Set Architecture)
LOAD  R1, 10   # R1 ← 10 (carrega valor imediato)
LOAD  R2, 4    # R2 ← 4
ADD   R1, R2   # R1 ← R1 + R2  (ALU)
PRINT R1        # saída: 14
SUB   R1, R2   # R1 ← R1 − R2  (ALU)
PRINT R1        # saída: 10
HALT             # fim

Pipeline: fazer várias fases ao mesmo tempo

CPUs modernas sobrepõem as fases de instruções diferentes — enquanto uma está na fase EXECUTAR, a próxima já está sendo DECODIFICADA e a seguinte está sendo BUSCADA:

# Sem pipeline: uma instrução por vez
Ciclo 1: [BUSCAR I1] [-------] [--------] [--------]
Ciclo 2: [-------]  [DEC. I1] [--------] [--------]
Ciclo 3: [-------]  [-------] [EXEC. I1] [--------]
Ciclo 4: [BUSCAR I2] [-------] [--------] [--------]

# Com pipeline: sobreposição de fases
Ciclo 1: [BUSCAR I1] [-------]  [--------]
Ciclo 2: [BUSCAR I2] [DEC. I1] [--------]
Ciclo 3: [BUSCAR I3] [DEC. I2] [EXEC. I1]
Ciclo 4: [BUSCAR I4] [DEC. I3] [EXEC. I2]  # 4× mais throughput
Clock speed vs. IPC: um processador de 3 GHz executa 3 bilhões de ciclos por segundo, mas pode fazer mais de uma instrução por ciclo (IPC > 1) graças ao pipeline e à execução superescalar. É por isso que comparar CPUs só pela frequência em GHz é enganoso.
④ Projeto para programar

Implemente sua própria CPU virtual

Mini projeto: implemente as funções fetch(), decode() e execute() em JavaScript, onde o programa é um array de strings como ["LOAD R1 5", "LOAD R2 3", "ADD R1 R2", "HALT"].

Projeto principal: adicione suporte a saltos (JUMP addr e JZ addr) para criar loops e condicionais. Escreva um programa que soma os números de 1 a 10.

Desafio extra: adicione uma pilha de chamadas (CALL e RET) para implementar funções recursivas.

⑤ Exercícios rápidos

Teste sua intuição

Qual é a ordem correta do ciclo de instrução da CPU?
O que o Contador de Programa (PC) armazena?
Um processador de 3 GHz executa aproximadamente quantos ciclos por segundo?
⑥ Aplicações no mundo real

Onde você encontra isso

🎮

Jogos

A IA dos personagens, a física e os gráficos são milhões de instruções de CPU e GPU executadas a cada frame (60× por segundo).

🔬

Benchmarks

Testes como Cinebench medem quantas instruções por segundo a CPU executa — é literalmente o ciclo BDE sendo medido.

🤖

Machine Learning

Treinar modelos é bilhões de multiplicações de ponto flutuante — GPUs têm milhares de núcleos para isso.

🔒

Spectre & Meltdown

Vulnerabilidades que exploram a execução especulativa da CPU — o processador "adivinha" instruções futuras e executa antes de confirmar permissão.

← Anterior: As peças do computador Próxima: Memória e armazenamento →