Processo de Tradução da Unidade de Gerenciamento de Memória (MMU)
O hardware da MMU traduz todo endereço lógico (virtual) gerado pela CPU em um endereço físico de RAM.
Estruturas Principais
- Tabela de Páginas: Array por processo mapeando números de página virtual (VPN) para números de quadro físico (PFN) mais flags (presente, R/W, usuário/supervisor, dirty, accessed).
- Translation Lookaside Buffer (TLB): Cache pequeno, totalmente associativo, de mapeamentos recentes VPN→PFN para evitar caminhadas na tabela de páginas.
Etapas da Tradução
- CPU emite endereço lógico → dividido em VPN | deslocamento de página.
- MMU verifica TLB para VPN.
- Acerto: PFN recuperado; endereço físico = PFN + deslocamento.
- Falha: MMU percorre tabela de páginas (via registrador base/diretório de página) para achar PTE.
- Se bit presente da PTE = 0 → page fault → SO trata (carrega do disco, swap, etc.).
- Em sucesso, MMU carrega mapeamento no TLB, retorna endereço físico.
Paginação Multi-nível
ISAs modernas (x86-64, ARMv8) usam tabelas de páginas de 4 níveis (ou 5); cada nível indexa um diretório. A MMU os percorre sequencialmente em falha de TLB.