Patent US5080464A successfully refreshed from Google Patents.
Patent US5649142A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5649142A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for translating addresses using mask and replacement value registers and for accessing a service routine in response to a page fault

Assignee: Intel Corp
•
Filing: 1995-06-07
•
Granted: 1997-07-15
•
Expires: 2015-06-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for translating a first address in a first address space, such as a processor address space, to a second address in a second address space, such as system address space, and for accessing a service routine in response to a page fault, are described. In one embodiment, the apparatus for translating comprises a processor; a page table having a translation mask register, a comparison value register, and a replacement value register; and a comparator coupled to the comparison value register and to the replacement value register. A programmable mask within the translation mask register is employed to partition a virtual address. A first subaddress comprises a subset of the bits of the first address and a second subaddress comprises remaining bits of the first address. The first subaddress is masked with a programmable mask value in the translation mask register and is compared by the comparator with successive values in the comparison value register until a match comparison value is found. If a match comparison value is found, a programmable replacement value in the replacement value register corresponding to the match comparison value is concatenated with the second subaddress to provide the second address. If a match comparison value is not found, a fault interrupt is generated to interrupt the translation and the processor accesses a service routine in accordance with the fault interrupt.

Inventors

  • 👤 Gary Lavelle
  • 👤 Louis A. Lippincott
  • 👤 Kevin Harney
  • 👤 Dinesh G. Rao

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 07:31
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1081; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30072; G06F9/30145; G06F9/30149; G06F9/38; G06F9/3802; G06F9/3816; G06F9/3861; G06F9/3863; G06F9/3885; G06F9/3887; G06F9/3888

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 196 words
An apparatus for translating a first address in a first address space to a second address in a second address space, comprising: (a) a processor; (b) a page table having a translation mask register, a comparison value register, and a replacement value register; and (c) a comparator coupled to the comparison value register and to the replacement value register; wherein: the first address comprises a first subaddress and a second subaddress, the first subaddress comprising a subset of the bits of the first address and the second subaddress comprising remaining bits of the first address; the first subaddress masked with a mask value stored in the mask register is compared by the comparator with successive comparison values stored in the comparison value register until a match comparison value is found; and if a match comparison value is found, then a replacement value in the replacement value register corresponding to the match comparison value is concatenated with the second subaddress to provide the second address; otherwise, if a match comparison value is not found, then a fault interrupt is generated to interrupt the translation and the processor accesses a service routine in accordance with the fault interrupt.
Claim 2
Independent Claim 196 words
An apparatus for translating a first address in a first address space to a second address in a second address space, comprising: (a) a processor; (b) a page table having a translation mask register, a comparison value register, and a replacement value register; and (c) a comparator coupled to the comparison value register and to the replacement value register; wherein: the first address comprises a first subaddress and a second subaddress, the first subaddress comprising a subset of the bits of the first address and the second subaddress comprising remaining bits of the first address; the first subaddress masked with a mask value stored in the mask register is compared by the comparator with successive comparison values stored in the comparison value register until a match comparison value is found; and if a match comparison value is found, then a replacement value in the replacement value register corresponding to the match comparison value is concatenated with the second subaddress to provide the second address; otherwise, if a match comparison value is not found, then a fault interrupt is generated to interrupt the translation and the processor accesses a service routine in accordance with the fault interrupt.
Claim 3
Dependent Claim 42 words
The apparatus of claim 1, further comprising a processor address space comparator for comparing the first address to a processor address space threshold, wherein the second address is equal to the first address if the first address is less than the threshold.
Claim 4
Dependent Claim 58 words
The apparatus of claim 1, wherein, if the first subaddress masked with the mask value in the mask register matches more than one comparison value in the comparison value register, then the first of the comparison values that match is used to determine the replacement value that is concatenated with the second subaddress to provide the second address.
Claim 5
Dependent Claim 38 words
The apparatus of claim 1, wherein the first address space is a processor address space of the processor and the second address space is a system address space of a computer system with which the processor is associated.
Claim 6
Dependent Claim 35 words
The apparatus of claim 1, wherein: the first address and second address are 32-bit addresses; and the mask register stores 20-bit masks which partition the first address into the first subaddress and the second subaddress.
Claim 7
Dependent Claim 32 words
The apparatus of claim 5, wherein the first subaddress comprises a variable page address of 0 to 20 bits and the second subaddress comprises a variable offset of 12 to 32 bits.
Claim 8
Dependent Claim 94 words
The apparatus of claim 1, wherein: data having a data format is associated with the first address space; the comparison value register stores, for each of said successive comparison values, at least one data format type bit that indicates the data format of data associated with an address of the first address space that matches each successive comparison value; and the at least one data format type bit is concatenated with the replacement value in the replacement value register corresponding to the match comparison value and the second subaddress to provide the second address.
Claim 9
Dependent Claim 31 words
The apparatus of claim 7, wherein the data format is one of a least significant bit to most significant bit format, and a most significant bit to least significant bit format.
Claim 10
Independent Claim 196 words
A method for translating a first address in a first address space to a second address in a second address space, comprising the steps of: (a) providing a processor, a page table having a translation mask register, a comparison value register, a replacement value register, and a comparator coupled to the comparison value register and to the replacement value register; (b) partitioning the first address into a first subaddress and a second subaddress, the first subaddress comprising a subset of the bits of the first address and the second subaddress comprising remaining bits of the first address; (c) comparing with the comparator the first subaddress masked with a mask value stored in the mask register with successive comparison values stored in the comparison value register until a match comparison value is found; and (d) if a match comparison value is found, then concatenating a replacement value in the replacement value register corresponding to the match comparison value with the second subaddress to provide the second address; (e) otherwise, if a match comparison value is not found, then generating a fault interrupt to interrupt the translation and accessing a service routine in accordance with the fault interrupt.
Claim 11
Independent Claim 196 words
A method for translating a first address in a first address space to a second address in a second address space, comprising the steps of: (a) providing a processor, a page table having a translation mask register, a comparison value register, a replacement value register, and a comparator coupled to the comparison value register and to the replacement value register; (b) partitioning the first address into a first subaddress and a second subaddress, the first subaddress comprising a subset of the bits of the first address and the second subaddress comprising remaining bits of the first address; (c) comparing with the comparator the first subaddress masked with a mask value stored in the mask register with successive comparison values stored in the comparison value register until a match comparison value is found; and (d) if a match comparison value is found, then concatenating a replacement value in the replacement value register corresponding to the match comparison value with the second subaddress to provide the second address; (e) otherwise, if a match comparison value is not found, then generating a fault interrupt to interrupt the translation and accessing a service routine in accordance with the fault interrupt.
Claim 12
Dependent Claim 42 words
The method of claim 9, further comprising the steps of: (f) comparing the first address to a processor address space threshold; and (g) if the first address is less than the threshold, then setting the second address equal to the first address.
Claim 13
Dependent Claim 58 words
The method of claim 9, wherein, if the first subaddress masked with the mask value in the mask register matches more than one comparison value in the comparison value register, then the first of the comparison values that match is used to determine the replacement value that is concatenated with the second subaddress to provide the second address.
Claim 14
Dependent Claim 38 words
The method of claim 9, wherein the first address space is a processor address space of the processor and the second address space is a system address space of a computer system with which the processor is associated.
Claim 15
Dependent Claim 35 words
The method of claim 9, wherein: the first address and second address are 32-bit addresses; and the mask register stores 20-bit masks which position the first address into the first subaddress and the second subaddress.
Claim 16
Dependent Claim 32 words
The method of claim 13, wherein the first subaddress comprises a variable page address of 0 to 20 bits and the second subaddress comprises a variable offset of 12 to 32 bits.
Claim 17
Dependent Claim 94 words
The method of claim 9, wherein: data having a data format is associated with the first address space; the comparison value register stores, for each of said successive comparison values, at least one data format type bit that indicates the data format of data associated with an address of the first address space that matches each successive comparison value; and the at least one data format type bit is concatenated with the replacement value in the replacement value register corresponding to the match comparison value and the second subaddress to provide the second address.
Claim 18
Dependent Claim 31 words
The method of claim 15, wherein the data format is one of: a least significant bit to most significant bit format, and a most significant bit to least significant bit format.

References Cited (Backward Citations)

US3940743A Cited
WO1983001135A1 Cited
US4860192A Cited
US5060137A Cited
US4718008A Cited
US5123101A Cited
US5317717A Cited
EP0362425A1 Cited
EP0447145A2 Cited
US5282274A Cited
US5303378A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-14 2001-01-13 2001-07-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-14 2005-01-13 2005-07-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-14 2009-01-13 2009-07-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag