US5454091A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Virtual to physical address translation scheme with granularity hint for identifying subsequent pages to be accessed
Assignee: Hewlett Packard Development Co LP
•
Filing: 1993-08-24
•
Granted: 1995-09-26
•
Expires: 2013-08-24
Abstract
Abstract A high-performance central processing unit (CPU) of the reduced instruction set (RISC) type employs a standardized, fixed instruction size, and permits only simplified memory access data width and addressing modes. The instruction set is limited to register-to-register operations and register load/store operations. The processor can employ a variable memory page size, so that the entries in a translation buffer for implementing virtual addressing can be optimally used. A granularity hint is added to the page table entry to define the page size for this entry.
Inventors
- 👤 Richard L. Sites
- 👤 Richard T. Witek
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 17:43
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/3004; G06F9/30072; G06F9/30076; G06F9/30087; G06F9/34; G06F2212/00; G06F2212/65; G06F2212/652
Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
149 words
A method of operating a processor having a translation buffer for translating a virtual address to a physical address, the method comprising the steps of: storing in said translation buffer a plurality of page table entries, each one of said page table entries containing a page frame number indexed by a tag which is a first portion of said virtual address, the page frame number pointing to a page in a memory accessed by said processor; also storing in said translation buffer in each one of said page table entries a granularity hint identifying a number of subsequent pages of said memory to be accessed by said page frame number, said granularity hint being one or more bits; and adding a second portion of said virtual address to said page frame number to generate said physical address, wherein said second portion has a size determined by said granularity hint.
Claim 2
Independent Claim
149 words
A method of operating a processor having a translation buffer for translating a virtual address to a physical address, the method comprising the steps of: storing in said translation buffer a plurality of page table entries, each one of said page table entries containing a page frame number indexed by a tag which is a first portion of said virtual address, the page frame number pointing to a page in a memory accessed by said processor; also storing in said translation buffer in each one of said page table entries a granularity hint identifying a number of subsequent pages of said memory to be accessed by said page frame number, said granularity hint being one or more bits; and adding a second portion of said virtual address to said page frame number to generate said physical address, wherein said second portion has a size determined by said granularity hint.
Claim 3
Dependent Claim
29 words
The method according to claim 1 wherein said granularity hint is two bits of each one of said page table entries, providing four possible values of said granularity hint.
Claim 4
Dependent Claim
18 words
The method according to claim 1 wherein said page frame number addresses a page of 8Kbyte-to-64Kbyte in size.
Claim 5
Dependent Claim
41 words
The method according to claim 1 wherein said granularity hint is two bits of each one of said page table entries, providing an indication of four different numbers of pages to be referenced by each one of said page table entries.
Claim 6
Dependent Claim
31 words
The method according to claim 4 wherein said four different numbers of pages to be referenced by each one of said page table entries are 1, 8, 64 and 512 pages.
Claim 7
Independent Claim
208 words
A method of operating a processor system having a CPU and a memory connected by a bus, the CPU having a translation buffer for translating a virtual address to a physical address, the method comprising the steps of: storing in said memory by said CPU using said bus a page table containing a plurality of page table entries, each one of said page table entries containing a page frame number and a granularity hint, said granularity hint for each page frame number including one or more bits identifying a number of pages in said memory to be accessed using said page frame number; storing in said translation buffer, by accessing said page table by said CPU using said bus, page table entries of recently used address translations, said page table entries of recently used address translations being indexed in said translation buffer by a tag which is a first portion of said virtual address; in said CPU, adding a second portion of said virtual address to one of said page frame numbers from said translation buffer to generate said physical address, wherein said second portion has a size determined by said granularity hint; and addressing said memory by said CPU via said bus using said generated physical address.
Claim 8
Independent Claim
208 words
A method of operating a processor system having a CPU and a memory connected by a bus, the CPU having a translation buffer for translating a virtual address to a physical address, the method comprising the steps of: storing in said memory by said CPU using said bus a page table containing a plurality of page table entries, each one of said page table entries containing a page frame number and a granularity hint, said granularity hint for each page frame number including one or more bits identifying a number of pages in said memory to be accessed using said page frame number; storing in said translation buffer, by accessing said page table by said CPU using said bus, page table entries of recently used address translations, said page table entries of recently used address translations being indexed in said translation buffer by a tag which is a first portion of said virtual address; in said CPU, adding a second portion of said virtual address to one of said page frame numbers from said translation buffer to generate said physical address, wherein said second portion has a size determined by said granularity hint; and addressing said memory by said CPU via said bus using said generated physical address.
Claim 9
Dependent Claim
29 words
The method according to claim 6 wherein said granularity hint is two bits of each one of said page table entries providing four possible values of said granularity hint.
Claim 10
Dependent Claim
18 words
The method according to claim 6 wherein said page frame number addresses a page of 8Kbyte-to-64Kbyte in size.
Claim 11
Dependent Claim
38 words
The method according to claim 8 wherein said granularity hint is two bits of each one of said page table entries, providing an indication of four different numbers of pages to be referenced by said page table entry.
Claim 12
Dependent Claim
31 words
The method according to claim 9 wherein said four different numbers of pages to be referenced by each one of said page table entries are 1, 8, 64 and 512 pages.
Claim 13
Dependent Claim
218 words
A processor comprising: a) accessing means for fetching instructions from an external memory, decoding means coupled to said accessing means for decoding said instructions, and execution means coupled to said decoding means for executing said instructions, said accessing means including means for accessing said external memory for read and write data for said execution means; b) the accessing means including address generator means for generating a virtual address used for said fetching of instructions and used for said accessing said external memory for data; c) translating means included in said accessing means for translating said virtual address to a physical address for said external memory, said translating means including a translation buffer storing selected page table entries, each one of said selected page table entries including a page frame number referencing a page of said external memory and each one of said selected page table entries including a granularity hint, said granularity hint having one or more bits indicating a number of pages to be accessed in said external memory using the page frame number from said translation buffer and using a first part of said virtual address; d) said translating means generating a physical address for said external memory using the page frame number from said translation buffer and using a second part of said virtual address.
Claim 14
Dependent Claim
218 words
A processor comprising: a) accessing means for fetching instructions from an external memory, decoding means coupled to said accessing means for decoding said instructions, and execution means coupled to said decoding means for executing said instructions, said accessing means including means for accessing said external memory for read and write data for said execution means; b) the accessing means including address generator means for generating a virtual address used for said fetching of instructions and used for said accessing said external memory for data; c) translating means included in said accessing means for translating said virtual address to a physical address for said external memory, said translating means including a translation buffer storing selected page table entries, each one of said selected page table entries including a page frame number referencing a page of said external memory and each one of said selected page table entries including a granularity hint, said granularity hint having one or more bits indicating a number of pages to be accessed in said external memory using the page frame number from said translation buffer and using a first part of said virtual address; d) said translating means generating a physical address for said external memory using the page frame number from said translation buffer and using a second part of said virtual address.
Claim 15
Dependent Claim
32 words
The processor according to claim 11 in combination with a memory apparatus external to said processor, said memory apparatus including said external memory storing a page table of said page table entries.
Claim 16
Dependent Claim
29 words
The processor according to claim 11 wherein said second part of said virtual address is dependent upon a content of said one or more bits of said granularity hint.
Claim 17
Dependent Claim
57 words
The processor according to claim 12 wherein each one of said selected page table entries also contains predetermined bits defining protection and access rights information, for said page of said external memory, and wherein all of the number of pages indicated by said granularity hint must have the said predetermined bits defining protection and access rights information.
Claim 18
Dependent Claim
211 words
A processor system having a CPU and a memory, the processor system comprising: a) fetching and execution means is the CPU for fetching instructions from said memory, decoding said instructions, and executing said instructions, said executing including accessing said memory for read and write data; b) said fetching and execution means in said CPU including means for generating virtual addresses used by said CPU for said fetching of instructions and said accessing said memory for data; c) a page table stored in said memory, said page table containing a plurality of page table entries, each one of said page table entries including a page frame number referencing a page of said memory and a granularity hint, said granularity hint having one or more bits indicating a number of pages of said memory following said selected page to be referenced by said page frame number; d) said fetching and execution means in said CPU including means for translating said virtual addresses to physical addresses for sending to said memory, the means for translating including a translation buffer storing page table entries of recently used address translations; e) and means for addressing said memory using the page frame number from said translation buffer and using a part of each of said virtual addresses.
Claim 19
Dependent Claim
211 words
A processor system having a CPU and a memory, the processor system comprising: a) fetching and execution means is the CPU for fetching instructions from said memory, decoding said instructions, and executing said instructions, said executing including accessing said memory for read and write data; b) said fetching and execution means in said CPU including means for generating virtual addresses used by said CPU for said fetching of instructions and said accessing said memory for data; c) a page table stored in said memory, said page table containing a plurality of page table entries, each one of said page table entries including a page frame number referencing a page of said memory and a granularity hint, said granularity hint having one or more bits indicating a number of pages of said memory following said selected page to be referenced by said page frame number; d) said fetching and execution means in said CPU including means for translating said virtual addresses to physical addresses for sending to said memory, the means for translating including a translation buffer storing page table entries of recently used address translations; e) and means for addressing said memory using the page frame number from said translation buffer and using a part of each of said virtual addresses.
Claim 20
Dependent Claim
33 words
The processor system according to claim 15 wherein said part of said virtual address contains a number of bits dependent upon a content of said one or more bits of said granularity hint.
Claim 21
Dependent Claim
57 words
The processor system according to claim 15 wherein said granularity hint in each one of said page table entries is used by said means for addressing to define the number of pages referenced by said page frame number only if page table entries for all of said number of pages contain a predetermined content of protection bits.
Claim 22
Dependent Claim
20 words
The processor system according to claim 15 wherein said instructions fetched from said memory are all of a fixed length.
Claim 23
Dependent Claim
55 words
The processor system according to claim 15 wherein each one of said page table entries also contains a plurality of bits of protection and access rights information, and wherein all of said plurality of bits in said page table entries for all of the number of pages indicated by said granularity hint are the same.
Claim 24
Dependent Claim
40 words
The processor system according to claim 15 wherein said one or more bits of said granularity hint in each one of said page table entries is two bits, and said two bits provide four possible values of said granularity hint.
Claim 25
Dependent Claim
51 words
The method according to claim 5 wherein each one of said page table entries includes a number of bits of protection information, and each one of said number of pages defined by said granularity hint has the same value for all bits of said number of bits of page protection information.
Claim 26
Dependent Claim
51 words
The method according to claim 10 wherein each one of said page table entries includes a number of bits of protection information, and each one of said number of pages defined by said granularity hint has the same value for all bits of said number of bits of page protection information.
References Cited (Backward Citations)
US3675215A
Cited
US3800291A
Cited
US4279014A
Cited
US4277826A
Cited
US4638426A
Cited
US4714993A
Cited
US4669043A
Cited
US4758951A
Cited
US4868738A
Cited
US5123101A
Cited
US5317717A
Cited
US5179674A
Cited
US5058003A
Cited
US4985825A
Cited
US5175830A
Cited
US5133058A
Cited
US5282274A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-09-25 | 1999-03-27 | 1999-09-26 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-09-25 | 2003-03-27 | 2003-09-26 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-09-25 | 2007-03-27 | 2007-09-26 | $7700.00 | Window Closed / Lapsed |