A method and apparatus for forming an entry address

A method and apparatus calculate a page table index from a virtual address. They employ a combined hash algorithm that supports two different hash page table configurations. A "short format" page table (601) is provided for each virtual region, is linear, has a linear entry for each transl...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: HAYS, JAMES O, YAMADA, KOICHI, BURGER, STEPHEN G, HUCK, JEROME C, BRYG, WILLIAM R, HAMMOND, GARY N, ROSS, JONATHAN K, SAXENA, SUNIL
Format: Patent
Sprache:eng ; fre ; ger
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A method and apparatus calculate a page table index from a virtual address. They employ a combined hash algorithm that supports two different hash page table configurations. A "short format" page table (601) is provided for each virtual region, is linear, has a linear entry for each translation in the region, and does not store table or chain links. A single "long format" page table (701) is provided for the entire system, supports chained segments, and includes hash tag fields. The method forms an entry address from a virtual address (502), with the entry address referencing an entry of the page table. To form the entry address, first a hash page number is formed from the virtual address (502) shifting the virtual address right based on the page size of the region of the virtual address (502). If the computer system is operating with long format (701) page tables, the next step is to form a hash index by combining the hash page number and the region identifier (503) referenced by the region portion of the virtual address (502), and to form a table offset by shifting the hash index left by K bits, wherein each long format (701) page table entry is 2 bytes long. However, if the computer system is operating with short format (601) page tables, the next step is to form a hash index by setting the hash index equal to the hash page number, and to form a table offset by shifting the hash index left by L bits, wherein each short format (601) page table entry is 2 bytes long. Next, a mask is formed based on the size of the page table. A first address portion is then formed using the base address of the page table and the mask, and a second address portion is formed using the table offset and the mask. Finally, the entry address if formed by combining the first and second address portions. By providing a single algorithm capable of generating a page table entry for both long (701) and short (601) format page tables, the amount of logic required to access both page table formats is reduced without significantly affecting execution speed.