Ir para o conteúdo

Memória virtual: bits do endereço, tabela de páginas e tradução de endereço

Informe os bits dos endereços, o tamanho da página, o endereço virtual e a moldura para ver o tamanho da tabela de páginas e o endereço físico.

  • Roda no seu navegador

Entrada

Resultado

O resultado aparece aqui.

Bits e tabela de páginas

bits do nº da página = bits do endereço virtual − bits do deslocamento; páginas virtuais = 2^(bits do nº da página); tabela = páginas × bytes por entrada; nº da página = ⌊VA ÷ 2ⁿ⌋; deslocamento = VA mod 2ⁿ; endereço físico = moldura × 2ⁿ + deslocamento

Com endereço virtual de 32 bits e página de 4.096 bytes (12 bits de deslocamento), o número da página tem 20 bits e há 1.048.576 páginas virtuais. Com entradas de 4 bytes, a tabela ocupa 4.096 KiB. O endereço físico de 32 bits tem 20 bits de moldura (1.048.576 molduras). O endereço virtual 123.456.789 está na página 30.140, deslocamento 3.349; na moldura 5.000, o endereço físico é 20.483.349.

Página de 8 KiB

Com 13 bits de deslocamento (8.192 bytes), o número da página tem 19 bits, a tabela passa a 2.048 KiB e o endereço virtual 123.456.789 fica na página 15.070 com deslocamento 3.349.

Premissas

  • O tamanho da página é sempre uma potência de 2; por isso a página pede apenas o número de bits do deslocamento.
  • A moldura é informada por você: a página não guarda a tabela de páginas inteira, só traduz o endereço com a moldura dada.
  • A tabela de um nível, como mostrada, ocupa todas as entradas, mesmo as não usadas; tabelas multinível reduzem esse custo.

Perguntas frequentes

Como usar a calculadora de paginação?

Informe os bits dos endereços e o tamanho da página (em bits de deslocamento); a página calcula o tamanho da tabela e traduz um endereço virtual pela moldura informada.

Qual o tamanho da tabela de páginas?

É o número de páginas virtuais (2 elevado aos bits do número da página) vezes os bytes de cada entrada. Com 32 bits e páginas de 4 KiB são 4 MiB com entradas de 4 bytes.

Como traduzir um endereço virtual em físico?

Separe o endereço em número da página e deslocamento, troque a página pela moldura da tabela e some o deslocamento: moldura × tamanho da página + deslocamento.

Quantos bits de deslocamento tem a página?

O logaritmo na base 2 do tamanho da página: 12 bits para 4 KiB, 13 para 8 KiB.