Disons que nous travaillons avec un système qui a 40 bits d'adresse physique. L'espace d'adressage physique total (en supposant que la mémoire est adressable en octets) est de octets, soit 1 TiB. Et si les adresses virtuelles ont une longueur de 48 bits, cela signifie qu'il y a plus d'adresses disponibles pour la mémoire virtuelle qu'il n'y a d'emplacements dans la mémoire physique.
Cela a du sens pour moi, car les adresses "en excès" peuvent également faire référence aux emplacements de disque dur. Cependant, ce que je ne comprends pas, c'est comment la traduction entre les adresses virtuelles et physiques se produit. Je suppose qu'il existe une cartographie stockée quelque part qui relie les emplacements VAS aux emplacements physiques. S'il y a plus d'emplacements d'adresses virtuelles que d'emplacements physiques, comment tous ces mappages peuvent-ils être stockés en mémoire? Au minimum, vous auriez besoin de 48 bits pour stocker chaque adresse virtuelle, puis de 40 autres pour stocker l'emplacement physique auquel elle est mappée. Donc, évidemment, vous ne pouvez pas simplement stocker un mappage 1: 1 de chaque adresse virtuelle avec son homologue physique, car le mappage de chaque emplacement prendrait plus de mémoire que la mémoire physique elle-même.
Qu'est-ce que je manque exactement ici?