Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address
First Claim
1. An apparatus for use in a computer system, said apparatus comprising:
- a page size storage area for storing a plurality of default page sizes each default page size selected for translating a different set of virtual addresses, wherein each different set of virtual addresses is mapped to one or more page sizes that are equal to or larger than the default page size for that set of virtual addresses; and
a page table walker including,a selection unit coupled to said page size storage area to position a field in each virtual address received by selection unit based on the page size selected for translating that virtual address, anda page table entry address generator coupled to receive the bits in the field identified for each virtual address.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for implementing a page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address. 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 each selected for translating a different set 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 of the virtual address received, the selection unit positions a field in that virtual address based on the page size selected for translating the set of virtual addresses to which that virtual address belongs. 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.
132 Citations
35 Claims
-
1. An apparatus for use in a computer system, said apparatus comprising:
-
a page size storage area for storing a plurality of default page sizes each default page size selected for translating a different set of virtual addresses, wherein each different set of virtual addresses is mapped to one or more page sizes that are equal to or larger than the default page size for that set of virtual addresses; and a page table walker including, a selection unit coupled to said page size storage area to position a field in each virtual address received by selection unit based on the page size selected for translating that virtual address, and a page table entry address generator coupled to receive the bits in the field identified for each virtual address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system including a processor coupled to a main memory, said computer system comprising:
-
a page size storage area for storing a plurality of default page sizes each default page size selected for translating a different set of virtual addresses, wherein each different set of virtual addresses is mapped to one or more page sizes that are equal to or larger than the default page size for that set of virtual addresses; and a page table walker including, a selection unit coupled to said page size storage area to position a field in each virtual address received by said selection unit based on the page size selected for translating that virtual address, and a page table entry address generator coupled to receive the bits in the field identified for each virtual address; and a page table stored in said main memory and coupled to said page table walker. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
-
an operating system stored in a machine readable medium coupled to a processor, said operating system for causing said processor to distinguish between a first and second virtual address space; a page table stored in said machine readable medium; and a page table walker in said processor including, a selection unit to position a field in each virtual address received in either a first or second position based respectively on which of said first and second virtual address spaces that virtual address belongs, and a page table entry address generator coupled to said selection unit to identify entries in said page table based on the bits in the field identified for each of the virtual addresses. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A method for determining virtual address to physical address translations, said method comprising the computer implemented steps of:
-
identifying a first and second page size for respectively translating a first and second virtual address; positioning a field in each of said first and second virtual addresses based respectively on said first and second page sizes; identifying a first and second entry in a page table based respectively on data in the fields positioned for said first and second virtual addresses; accessing data in said first and second entries in said page table; determining that said first virtual address is mapped to a page having an actual size that is larger than said first page size; and determining translations for translating said first and second virtual addresses based respectively on the actual size of the page and said second page size. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A method for determining virtual address to physical address translations, said method comprising the computer implemented steps of:
-
identifying a first and second page size for respectively translating virtual addresses that belong to a first and second virtual address space; positioning a field in each of a first and second virtual address based respectively on said first and second page sizes; identifying a first and second entry in a page table based respectively on data in the fields positioned 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. - View Dependent Claims (32, 33, 34, 35)
-
Specification