Digamos que estamos trabalhando com um sistema que possui 40 bits de endereço físico. O espaço físico total do endereço (assumindo memória endereçável por byte) é bytes ou 1 TiB. E se os endereços virtuais tiverem 48 bits, isso significa que há mais endereços disponíveis na memória virtual do que os locais na memória física.
Isso faz sentido para mim, porque os endereços "em excesso" também podem se referir aos locais do disco rígido. No entanto, o que não entendo é como ocorre a tradução entre endereços virtuais e físicos. Suponho que exista um mapeamento armazenado em algum lugar que vincule os locais do VAS aos locais físicos. Se houver mais locais de endereços virtuais do que locais físicos, como todos esses mapeamentos podem ser armazenados na memória? No mínimo, você precisaria de 48 bits para armazenar cada endereço virtual e outros 40 para armazenar o local físico para o qual ele mapeia. Portanto, obviamente, você não pode simplesmente armazenar um mapeamento 1: 1 de cada endereço virtual em sua contraparte física, pois o mapeamento de cada local exigiria mais memória do que a própria memória física.
O que exatamente estou perdendo aqui?