Powiedzmy, że pracujemy z systemem, który ma 40 bitów adresu fizycznego. Całkowita fizyczna przestrzeń adresowa (przy założeniu, że bajtowo-adresowalna pamięć) wynosi bajtów lub 1 TiB. A jeśli adresy wirtualne mają długość 48 bitów, oznacza to, że w pamięci wirtualnej dostępnych jest więcej adresów niż w lokalizacjach w pamięci fizycznej.
Ma to dla mnie sens, ponieważ „nadmiarowe” adresy mogą również odnosić się do lokalizacji dysków twardych. Jednak nie rozumiem, w jaki sposób odbywa się tłumaczenie między adresami wirtualnymi i fizycznymi. Zakładam, że gdzieś jest zapisane mapowanie, które łączy lokalizacje VAS z lokalizacjami fizycznymi. Jeśli istnieje więcej lokalizacji adresów wirtualnych niż fizycznych, w jaki sposób wszystkie te mapowania mogą być przechowywane w pamięci? Wymagane jest co najmniej 48 bitów do przechowywania każdego adresu wirtualnego, a następnie kolejne 40 do przechowywania fizycznej lokalizacji, na którą mapuje. Oczywiście nie można po prostu zapisać mapowania 1: 1 każdego adresu wirtualnego na jego fizyczny odpowiednik, ponieważ mapowanie każdej lokalizacji zajęłoby więcej pamięci niż samej pamięci fizycznej.
Czego dokładnie tu brakuje?