A system and method is disclosed to efficiently translate
virtual-to-physical addresses of large size pages of data by eliminating
one level of a multilevel page table. A computer system containing a
processor includes a translation lookaside buffer ("TLB") in the
processor. The processor is connected to a system memory that contains a
page table with multiple levels. The page table translates the virtual
address of a page of data stored in system memory into the corresponding
physical address of the page of data. If the size of the page is above a
certain threshold value, then translation of the page using the multilevel
page table occurs by eliminating one or more levels of the page table. The
threshold value preferably is 512 Megabytes. The multilevel page table is
only used for translation of the virtual address of the page of data
stored in system memory into the corresponding physical address of the
page of data if a lookup of the TLB for the virtual address of the page of
data results in a miss. The TLB also contains entries from the final level
of the page table (i.e., physical addresses of pages of data)
corresponding to a subfield of bits from corresponding virtual addresses
of the page of data. Virtual-to-physical address translation using the
multilevel page table is not required if the TLB contains the needed
physical address of the page of data corresponding to the subfield of bits
from the virtual address of the page of data.
Un système et une méthode est révélé pour traduire efficacement des adresses virtuel-à-physiques de grandes pages de taille des données en éliminant un niveau d'une table de page à multiniveaux. Un système informatique contenant un processeur inclut un amortisseur de lookaside de traduction ("TLB") dans le processeur. Le processeur est relié à une mémoire système qui contient une table de page avec les niveaux multiples. La table de page traduit l'adresse virtuelle d'une page des données stockées dans la mémoire système dans l'adresse physique correspondante de la page des données. Si la taille de la page est au-dessus d'une certaine valeur- seuil, alors la traduction de la page employant la table de page à multiniveaux se produit en éliminant un ou plusieurs niveaux de la table de page. La valeur- seuil est de préférence de 512 méga-octets. La table de page à multiniveaux est seulement employée pour la traduction de l'adresse virtuelle de la page des données stockées dans la mémoire système dans l'adresse physique correspondante de la page des données si une consultation du TLB pour l'adresse virtuelle de la page des données a comme conséquence un manque. Le TLB contient également des entrées du niveau final de la table de page (c.-à-d., adresses physiques des pages des données) correspondant à un sous-champ de peu des adresses virtuelles correspondantes de la page des données. la translation d'adresses Virtuel-à-physique employant la table de page à multiniveaux n'est pas exigée si le TLB contient l'adresse physique nécessaire de la page des données correspondant au sous-champ du peu de l'adresse virtuelle de la page des données.