Method and apparatus for accessing more than 4 Gigabytes of physical memory with 4-byte table entries
First Claim
1. A system comprising:
- a bus;
a memory coupled to the bus, wherein the memory is addressed as paged memory having a first page size and a second page size, and further wherein the memory is greater than 4 Megabytes in size;
a plurality of page directory tables stored in the memory, each page directory table having a plurality of 4-byte entries storing a base address and control bits indicating permissions;
a plurality of page tables stored in the memory, each page table having a plurality of 4-byte entries and corresponding to one of the plurality of base addresses, wherein each page table entry stores a base address of a page stored in memory; and
a processor coupled to the bus, wherein the processor accesses pages in the memory of the first page size, the processor accesses one of the plurality of page directory entries and one of the plurality of page table entries to access a base address for the page of the first page size, wherein the page table entry inherits permissions from the page directory entry, and wherein the processor accesses pages in memory of the second page size, the processor accesses one of the plurality of page directory entries to retrieve a base address for the page of the second page size.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for accessing pages in physical memory, where the physical memory is described. The present invention provides a paged memory system having multiple page sizes. Pages of a first size are accessed via a page directory entry and a corresponding page table entry. The page directory entry stores a base physical address for a corresponding page table and control bits indicating permissions. The page table entry stores a base physical address of the page in memory. In one embodiment, the page table entry inherits permissions from the page directory entry. Pages of a second size are accessed via a page directory entry that stores a base physical address of the page and control bits indicating permissions associated with the page. In another embodiment, entries to the page directory table and the page table are 4-bytes in size and provide paging for memory up to 1.1 Terabytes in size.
-
Citations
22 Claims
-
1. A system comprising:
-
a bus;
a memory coupled to the bus, wherein the memory is addressed as paged memory having a first page size and a second page size, and further wherein the memory is greater than 4 Megabytes in size;
a plurality of page directory tables stored in the memory, each page directory table having a plurality of 4-byte entries storing a base address and control bits indicating permissions;
a plurality of page tables stored in the memory, each page table having a plurality of 4-byte entries and corresponding to one of the plurality of base addresses, wherein each page table entry stores a base address of a page stored in memory; and
a processor coupled to the bus, wherein the processor accesses pages in the memory of the first page size, the processor accesses one of the plurality of page directory entries and one of the plurality of page table entries to access a base address for the page of the first page size, wherein the page table entry inherits permissions from the page directory entry, and wherein the processor accesses pages in memory of the second page size, the processor accesses one of the plurality of page directory entries to retrieve a base address for the page of the second page size. - View Dependent Claims (2, 3, 4)
-
-
5. A method for accessing paged memory comprising:
-
decoding a linear address;
accessing a page directory table entry that provides a base address in response to decoding the linear address;
if the page directory table entry corresponds to a first page of a first predetermined size, then accessing a page table having a page table base address corresponding to the base address, wherein the page table has an entry that inherits permissions from the page directory table entry and provides a first page base address of the first page, and accessing a physical address in the first page corresponding to the linear address;
if the page directory table entry corresponds to a second page of a second predetermined size, then accessing a second physical address in the second page, wherein the second page has a second page base address corresponding to the base address in the page directory entry, and further wherein the second physical address corresponds to the linear address. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
determining a base address of a page directory;
determining an offset from the base address of the page directory based on directory bits of the linear address; and
accessing the page directory entry having a base address of a corresponding page table based on an offset from the base address of the page directory table.
-
-
12. The method of claim 5, wherein accessing a physical address in the first page further comprises:
-
determining a base address of a page table based on the page directory entry;
determining an offset from the base address of the page table based on table bits of the linear address; and
accessing a page table entry having a base address of the first page.
-
-
13. The method of claim 5, wherein accessing a physical address in the first page further comprises:
-
determining a base address of the first page based on a page table entry;
determining an offset from the base address of the first page based on offset bits of the linear address; and
accessing the physical address corresponding to the linear address.
-
-
14. A system comprising:
-
a bus;
a memory coupled to the bus; and
a processor coupled to the bus, wherein the processor accesses the memory via a paging system having two page sizes, further wherein pages of one of the two page sizes are accessed by a page directory entry and a page table entry where the page table entry inherits permissions from the page directory entry. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
Specification