Method and apparatus for implementing a page table walker that uses a sliding field in the virtual addresses to identify entries in a page table
First Claim
1. An apparatus for use in a computer system, said apparatus comprising:
- a page size storage area for storing a plurality of page sizes selected for translating a plurality of virtual addresses; and
a page table walker including,a selection unit coupled to said page size storage area to select a field in each of said plurality of virtual addresses, said field is based on the page size selected for translating that virtual address to a page table entry and on the size of the page table, anda page table entry address generator coupled to receive bits in the selected field identified for each of said plurality of virtual addresses for selecting an entry in the page table for each virtual address.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for implementing a page table walker that uses a sliding field in the virtual addresses to identify entries in a page table. According to one aspect of the invention, an apparatus for use in a computer system is provided that includes a page size storage area and a page table walker. The page size storage area is used to store a number of page sizes selected for translating a number of virtual addresses. The page table walker includes a selection unit coupled to the page size storage area, as well as a page entry address generator coupled to the selection unit. For each virtual address received by the selection unit, the selection unit positions a field in that virtual address based on the page size selected for translating that virtual address. In response to receiving the bits in the field identified for each of the virtual addresses, the page entry address generator identifies an entry in a page table based on those bits.
-
Citations
28 Claims
-
1. An apparatus for use in a computer system, said apparatus comprising:
-
a page size storage area for storing a plurality of page sizes selected for translating a plurality of virtual addresses; and a page table walker including, a selection unit coupled to said page size storage area to select a field in each of said plurality of virtual addresses, said field is based on the page size selected for translating that virtual address to a page table entry and on the size of the page table, and a page table entry address generator coupled to receive bits in the selected field identified for each of said plurality of virtual addresses for selecting an entry in the page table for each virtual address. - View Dependent Claims (2, 3, 4, 5, 6, 22)
-
-
7. A computer system including a processor coupled to a main memory, said computer system comprising:
-
a page table Stored in said main memory; a page size storage area having stored therein a plurality of page sizes selected for translating a plurality of virtual addresses; a page table walker coupled to said page table and including, a selection unit coupled to said page size storage area to select a field in each of said plurality of virtual addresses, said field is based on the page size selected for translating that virtual address to a page table entry and on the size of the page table, and a page table entry address generator coupled to receive bits in the selected field identified for each of said plurality of virtual addresses for selecting an entry in said page table for each virtual address. - View Dependent Claims (8, 9, 10, 11, 12, 23, 24)
-
-
13. A method for determining virtual address to physical address translations by use of a page table, said method comprising the computer implemented steps of:
-
identifying different page sizes from a page size storage that have been selected for translating a plurality of virtual addresses; selecting a field in each of said plurality of virtual addresses based on the page size selected for that virtual address and on the size of a page table, wherein at least two different field positions are selected; for each of said plurality of virtual addresses, identifying an entry in the page table based on data in the field identified for that virtual address; accessing each identified entry in said page table; and determining translations for translating said plurality of virtual addresses by using entries in said page table. - View Dependent Claims (14, 15, 16, 17, 25, 26)
-
-
18. A method for determining virtual address to physical address translations by use of a page table, said method comprising the computer implemented steps of:
-
identifying first and second page sizes from a page size storage for respectively translating first and second virtual addresses; selecting a field in each of said first and second virtual addresses based on the size of the page table and based respectively on said first and second page sizes; identifying first and second entries in said page table based respectively on data in the fields selected for said first and second virtual addresses; accessing said first and second entries in said page table; and determining translations for translating said first and second virtual addresses by using entries from said page table. - View Dependent Claims (19, 20, 21, 27, 28)
-
Specification