Aula 7: A CPU e o Ciclo de Busca-Decodificação-Execução
Temos os dois ingredientes: uma unidade de cálculo (a ALU, da aula sobre lógica combinacional) e memória rápida (os registradores, da aula sobre memória). Agora vamos montar com eles uma CPU completa e ver como ela executa um programa, instrução após instrução. Vamos conhecer suas partes: a unidade
A CPU é uma trabalhadora incansável que repete o mesmo ciclo sem parar: busca a próxima instrução, entende o que ela diz, executa-a, avança para a seguinte. O clock marca o ritmo, e o contador de programa indica onde estamos no código.
- CPU
- A unidade central que executa programas: ela busca instruções da memória, decodifica e as executa com a ajuda da ALU e dos registradores, uma após a outra.
- Unidade de Controle
- O maestro da CPU: decodifica cada instrução e envia sinais que direcionam a ALU, os registradores e a memória para executar os passos certos na ordem certa.
- Banco de Registradores
- O conjunto de registradores dentro da CPU, que guardam os valores sobre os quais as instruções operam no momento — a memória mais rápida e mais próxima da ALU.
- Contador de Programa
- Um registrador especial que guarda o endereço da próxima instrução a ser buscada. Normalmente ele avança para a instrução seguinte; um salto simplesmente escreve nele um endereço diferente.
- Registrador de Instrução
- Um registrador que guarda a instrução atual, buscada da memória, para que a unidade de controle possa decodificá-la e executá-la.
- Ciclo de Clock
- Uma única pulsação do clock da CPU que dá o ritmo para todas as operações. Uma CPU moderna executa bilhões de ciclos de clock por segundo (gigahertz).
- Busca-Decodificação-Execução
- O ciclo básico da CPU: busque a instrução para a qual o contador de programa aponta, decodifique o que ela diz, execute-a, avance o contador — e repita.
- Barramento
- Um conjunto de fios que transporta dados, endereços e sinais de controle entre a CPU, a memória e outros componentes — a 'estrada' pela qual a informação flui.
- Modelo de von Neumann
- Uma arquitetura na qual o código (as instruções) e os dados são guardados juntos na mesma memória, e a CPU busca ali tanto instruções quanto dados pelos mesmos barramentos.