Menu
Coddy logo textTech

Registradores vs Memória

Parte da seção Fundamentos do Journey de Assembly da Coddy — lição 3 de 45.

Você agora aprendeu sobre dois lugares onde os dados podem residir dentro de um computador:

  • Registradores — minúsculas caixas de armazenamento dentro da CPU
  • Memória (RAM) — uma grade gigante de slots numerados fora da CPU

Mas por que existem dois lugares? Por que a CPU não pode simplesmente trabalhar diretamente com a memória?

A resposta é velocidade. Os registradores são extremamente rápidos porque estão dentro da CPU. A memória é mais lenta porque está fora. A CPU pode acessar um registrador em um único ciclo, mas acessar a memória leva muito mais tempo.

Comparação lado a lado:

RecursoRegistradoresMemória (RAM)
LocalizaçãoDentro da CPUFora da CPU
VelocidadeExtremamente rápido (1 ciclo)Mais lento (muitos ciclos)
Número de slots de armazenamentoMuito poucos (16-32 em x86-64)Milhões ou bilhões
Tamanho de cada slot8 bytes (64 bits)1 byte
Como você os acessaPelo nome (rax, rbx, rcx...)Pelo endereço (1000, msg, buffer)
Volátil?Sim (desaparece quando desligado)Sim (desaparece quando desligado)

A regra mais importante em assembly:

A CPU não pode trabalhar diretamente com dados na memória. Os dados devem ser carregados em registradores primeiro.

Isso não é opcional. É assim que a CPU é projetada. Cada adição, cada comparação, cada movimentação de dados deve passar por um registrador.

O padrão de três etapas que você usará constantemente:

EtapaO que aconteceExemplo
1. LOAD (CARREGAR)Copia dados da memória para um registradormov rax, [count]
2. WORK (PROCESSAR)Faz algo com o registradoradd rax, 5
3. STORE (ARMAZENAR)Copia o resultado de volta para a memória (se necessário)mov [result], rax

O que acontece se você esquecer esta regra?

Se você tentar somar dois números que estão ambos na memória, o assembler lhe dará um erro. A CPU simplesmente não consegue fazer isso. Você deve carregá-los em registradores primeiro.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos