US4695950A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Fast two-level dynamic address translation method and means
Assignee: International Business Machines Corp
•
Filing: 1984-09-17
•
Granted: 1987-09-22
•
Expires: 2004-09-17
Abstract
Abstract A unique high-speed hardware arrangement for generating double-level address translations in combination a translation look-aside buffer (TLB) structure that can store and lookup intermediate translations during a double-level translation. The hardware proceeds to the completion of a double-level translation without having to backup its operation, although an intermediate TLB miss is encountered, without danger of CPU deadlock occurring. The hardware arrangement also performs all single-level address translations required by the system.
Inventors
- 👤 Henry R. Brandt
- 👤 Patrick M. Gannon
- 👤 Wan L. Leung
- 👤 Timothy R. Marchini
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-28 12:00
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F12/1036; G06F12/14; G06F12/1416; G06F12/145
Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
241 words
A method for obtaining dynamic address translation (DAT) for a nonpreferred guest (NPG) requested virtual address (VA) for guest requested data or instructions utilizing a translation lookaside buffer (TLB) for storing recent address translations, when a TLB miss occurs for a NPG requested VA, comprising the steps of: sequencing hardware logic circuits to perform the DAT for the NPG requested VA by: firstly generating a guest real (GR) segment table entry (STE) address by adding a guest segment table origin (STO) and a segment index (SX) field from the NPG requested VA, searching the TLB for the GR STE address, having a TLB hit during the TLB search for the GR STE address, obtaining the translated GR STE address from the TLB, and bypassing sequencing steps available in the hardware logic circuits for generating a translation of the GR STE address, secondly, accessing a guest STE with the translated GR STE address, obtaining a page table origin (PTO) field in the guest STE, adding a page index (PX) field of the NPG requested VA to the obtained PTO field to generate a GR address of a page table entry (GR PTE address), searching the TLB for the GR PTE address, having a TLB hit during the TLB search for the GR PTE address, obtaining the translated GR PTE address from the TLB, and bypassing sequencing steps available in the hardware logic circuits for generating a translation of the GR PTE address.
Claim 2
Independent Claim
241 words
A method for obtaining dynamic address translation (DAT) for a nonpreferred guest (NPG) requested virtual address (VA) for guest requested data or instructions utilizing a translation lookaside buffer (TLB) for storing recent address translations, when a TLB miss occurs for a NPG requested VA, comprising the steps of: sequencing hardware logic circuits to perform the DAT for the NPG requested VA by: firstly generating a guest real (GR) segment table entry (STE) address by adding a guest segment table origin (STO) and a segment index (SX) field from the NPG requested VA, searching the TLB for the GR STE address, having a TLB hit during the TLB search for the GR STE address, obtaining the translated GR STE address from the TLB, and bypassing sequencing steps available in the hardware logic circuits for generating a translation of the GR STE address, secondly, accessing a guest STE with the translated GR STE address, obtaining a page table origin (PTO) field in the guest STE, adding a page index (PX) field of the NPG requested VA to the obtained PTO field to generate a GR address of a page table entry (GR PTE address), searching the TLB for the GR PTE address, having a TLB hit during the TLB search for the GR PTE address, obtaining the translated GR PTE address from the TLB, and bypassing sequencing steps available in the hardware logic circuits for generating a translation of the GR PTE address.
Claim 3
Dependent Claim
179 words
A method as defined in claim 1, further comprising the steps of: thirdly, accessing a guest PTE with the translated GR PTE address, obtaining a page frame real address (PFRA) from the accessed PTE, concatenating a byte index (BI) field of the NPG requested VA with the obtained PFRA field to generate the GR address of the guest requested data or instructions (GR DATA address), performing any required prefixing and offsetting on the GR DATA address to obtain the offsetted guest absolute address of the guest requested data (GA DATA address), sequencing the hardware logic circuits to perform a single-level translation on the GA DATA address using host segment and page tables to obtain an absolute address in main storage for a page frame containing guest requested data or instructions, writing a TLB entry for the NPG requested VA with the main storage absolute address of the guest requested data or instructions, concatenating the page frame absolute address and a byte index field in the NPG requested VA to generate the address of the guest requested data or instructions.
Claim 4
Dependent Claim
75 words
A DAT method as defined in claim 1, further comprising the steps of: having a TLB miss instead of the TLB hit during the TLB search for the GR STE address, applying any required guest prefix to the GR STE address to convert it to an absolute address (GA STE address), adding a guest offset to the GA STE address to generate an offsetted GA STE address to locate the guest STE in main storage.
Claim 5
Dependent Claim
75 words
A DAT method as defined in claim 1, further comprising the steps of: having a TLB miss instead of the TLB hit during the TLB search for the GR PTE address, applying any required guest prefix to the GR PTE address to convert it to an absolute address (GA PTE address), adding a guest offset to the GA PTE address to generate an offsetted GA PTE address to locate the guest PTE in main storage.
Claim 6
Dependent Claim
59 words
A DAT method as defined in claim 3, further comprising the steps of: checking if the offsetted GA STE address exceeds a guest memory limit, generating an exception signal if the checking step finds the guest memory limit is exceeded by the address, whereby the DAT method is terminated in response to the generating step providing an exception signal.
Claim 7
Dependent Claim
59 words
A DAT method as defined in claim 4, further comprising the steps of: checking if the offsetted GA PTE address exceeds the guest memory limit, generating an exception signal if either checking step finds the guest memory limit is exceeded by the address, whereby the DAT method is terminated in response to the generating step providing an exception signal.
Claim 8
Dependent Claim
86 words
A DAT method as defined in claim 1, further comprising the steps of: overlapping the searching of the TLB for the GR STE address with the following steps: applying a guest prefix to the GR STE address to convert it to an absolute address (GA STE address), checking if the GA STE address exceeds a guest memory limit and generating an exception signal if the address exceeds the limit, adding a guest offset to the GA STE address to locate the guest STE in main storage.
Claim 9
Dependent Claim
86 words
A DAT method as defined in claim 1, further comprising the steps of: overlapping the searching of the TLB for the GR PTE address with the following steps: applying a guest prefix to the GR PTE address to convert it to an absolute address (GA PTE address), checking if the GA PTE address exceeds a guest memory limit and generating an exception signal if the address exceeds the limit, adding a guest offset to the GA PTE address to locate the guest PTE in main storage.
Claim 10
Dependent Claim
80 words
A DAT method as defined in claims 3 or 5, further comprising the steps of: having a TLB miss during the TLB search for the GR STE address, translating the GR STE address using a host segment table origin (host STO) to obtain a host page frame real address (PFRA) as the page translation for the GR STE address, writing an intermediate TLB entry representing the GR STE address and containing the GR STE PFRA as the GR STE translation.
Claim 11
Dependent Claim
80 words
A DAT method as defined in claims 4 or 6, further comprising the steps of: having a TLB miss during the TLB search for the GR PTE address, translating the GR PTE address using a host segment table origin (host STO) to obtain a host page frame real address (PFRA) as the page translation for the GR PTE address, writing an intermediate TLB entry representing the GR PTE address and containing the GR PTE PFRA as the GR PTE translation.
References Cited (Backward Citations)
US4279014A
Cited
US4285040A
Cited
US4241401A
Cited
US4347565A
Cited
US4253145A
Cited
US4400769A
Cited
US4456954A
Cited
US4495575A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1990-09-21 | 1991-03-23 | 1991-09-22 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1994-09-21 | 1995-03-23 | 1995-09-22 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1998-09-21 | 1999-03-23 | 1999-09-22 | $7700.00 | Window Closed / Lapsed |