← Back to Patent Explorer
US5335333A Expired / Lapsed US ⏱️ 0.0 years remaining

Guess mechanism for faster address calculation in a pipelined microprocessor

Assignee: Intel Corp
•
Filing: 1991-10-29
•
Granted: 1994-08-02
•
Expires: 2011-10-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor in which instructions and data at logical addresses are mapped onto real memory locations at physical addresses that are translated from the logical addresses by a translation lookaside buffer (TLB) that takes one clock phase to perform this function. The TLB only needs the upper 20 bits of a logical address, which bits correspond to the logical page number, to do the translation to a physical address. The lower 12 bits are not needed until the TLB translation is done. The add of the "base-plus-displacement/offset" usually does not cross a page boundary, that is, the upper 20 bits are the same after the add. A mechanism takes this into account and guesses that the upper 20 bits will not change, and sends them to the TLB. In parallel with the TLB translation, the effective address add of the "base-plus-displacement" is computed. After the add, if the upper 20 bits did not change, then the 20 physical address bits from the TLB plus the lower 12 bits from the address computation are concatenated to produce the complete correct 32-bit physical address. If the upper 20 bits did change due to the actual add then the logical page number (the upper 20 bits) that were given the TLB were wrong. This is detected and a signal is generated that tells the memory side to redo the last memory access, and to use the new 32-bit logical address that was just computed by the effective address-generation hardware.

Inventors

  • 👤 Glenn J. Hinton
  • 👤 Gyanendra Tiwary

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 09:58
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/34; G06F9/355; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F2212/00; G06F2212/65; G06F2212/655

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 259 words
A microprocessor including an address bus and a translation lookaside buffer (TLB) which translates, to a physical address, a logical address comprised of logical address lower bits and logical address upper bits, said logical address upper bits corresponding to a logical page number and said logical address lower bits corresponding to address locations within said logical page, apparatus for forming a physical address from a base logical address and displacement logical address comprising: first means for combining base logical address upper bits and displacement logical address upper bits to produce result logical address upper bits; effective address computation means for adding said base logical address and said displacement logical address to produce a calculated address; detection mean for comparing said base logical address upper bits and said displacement logical address upper bits to produce a redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are the same and a not redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are not the same; first gating means, connected to said first means, to said effective address computation means, to said detection means, and to said address bus, responsive to said not redomem signal, for grating said result logical address upper bits and said calculated address lower bits to said address bus; and, second gating means connected to said effective address computation means, to said redomem signal, and to said address bus, for gating said calculated address to said address bus.
Claim 2
Dependent Claim 259 words
A microprocessor including an address bus and a translation lookaside buffer (TLB) which translates, to a physical address, a logical address comprised of logical address lower bits and logical address upper bits, said logical address upper bits corresponding to a logical page number and said logical address lower bits corresponding to address locations within said logical page, apparatus for forming a physical address from a base logical address and displacement logical address comprising: first means for combining base logical address upper bits and displacement logical address upper bits to produce result logical address upper bits; effective address computation means for adding said base logical address and said displacement logical address to produce a calculated address; detection mean for comparing said base logical address upper bits and said displacement logical address upper bits to produce a redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are the same and a not redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are not the same; first gating means, connected to said first means, to said effective address computation means, to said detection means, and to said address bus, responsive to said not redomem signal, for grating said result logical address upper bits and said calculated address lower bits to said address bus; and, second gating means connected to said effective address computation means, to said redomem signal, and to said address bus, for gating said calculated address to said address bus.
Claim 3
Dependent Claim 22 words
The microprocessor in accordance with claim 1 wherein said effective address computation means includes means for computing an add of a base-plus-displacement.
Claim 4
Dependent Claim 23 words
The microprocessor in accordance with claim 1 wherein said effective address computation means includes means for computing an add of a scaled index-plus-displacement.
Claim 5
Dependent Claim 281 words
A microprocessor including an address bus and a translation lookaside buffer (TLB) which translates, to a physical addresss, a 32 bit logical address comprises of 12 logical address lower bits and 20 logical address upper bits, said logical address upper bits corresponding to a logical page number and said logical address lower bits corresponding to address locations within said logical page, apparatus for forming a physical address from a 32-bit base logical address and a 32-bit displacement logical address comprising: first means for combining base logical address upper 20 bits and displacement logical address upper 20 bits to produce result logical address upper 20 bits; effective address computation means for adding said 32-bit base logical address and said 32-bit displacement logical address to produce a 32-bit calculated address; detection means for comparing said base logical address upper 20 bits and said displacement logical address upper 20 bits to produce a redomem signal upon a condition that said base logical address upper 20 bits and said displacement logical address upper 20 bits are the same and a not redomem signal upon a condition that said base logical address upper 20 bits and said displacement logical address upper 20 bits are not the same; first gating means, connected to said first means, to said effective address computation means, to said detection means, and to said address but, responsive to said not redomem signal, for gating said result logical address upper 20 bits and said calculated address lower 12 bits to said address bus; and, second gating means connected to said effective address computation means, to said redomem signal, and to said address bus, for gating said 32-bit calculated address to said address bus.
Claim 6
Dependent Claim 281 words
A microprocessor including an address bus and a translation lookaside buffer (TLB) which translates, to a physical addresss, a 32 bit logical address comprises of 12 logical address lower bits and 20 logical address upper bits, said logical address upper bits corresponding to a logical page number and said logical address lower bits corresponding to address locations within said logical page, apparatus for forming a physical address from a 32-bit base logical address and a 32-bit displacement logical address comprising: first means for combining base logical address upper 20 bits and displacement logical address upper 20 bits to produce result logical address upper 20 bits; effective address computation means for adding said 32-bit base logical address and said 32-bit displacement logical address to produce a 32-bit calculated address; detection means for comparing said base logical address upper 20 bits and said displacement logical address upper 20 bits to produce a redomem signal upon a condition that said base logical address upper 20 bits and said displacement logical address upper 20 bits are the same and a not redomem signal upon a condition that said base logical address upper 20 bits and said displacement logical address upper 20 bits are not the same; first gating means, connected to said first means, to said effective address computation means, to said detection means, and to said address but, responsive to said not redomem signal, for gating said result logical address upper 20 bits and said calculated address lower 12 bits to said address bus; and, second gating means connected to said effective address computation means, to said redomem signal, and to said address bus, for gating said 32-bit calculated address to said address bus.
Claim 7
Dependent Claim 22 words
The microprocessor in accordance with claim 4 wherein said effective address computation means includes means for computing an add of a base-plus-displacement.
Claim 8
Dependent Claim 23 words
The microprocessor in accordance with claim 4 wherein said effective address computation means includes means for computing an add of a scaled index-plus-displacement.
Claim 9
Dependent Claim 265 words
A microprocessor including an address bus and a translation lookaside buffer (TLB) which translates, to a physical address, a logical address comprised of logical address lower bits and logical address upper bits, said logical address upper bits corresponding to a logical page number and said logical address lower bits corresponding to address locations within said logical page, apparatus for forming a physical address from a base logical address and displacement logical address comprising: an OR for ORing base logical address upper bits and displacement logical address upper bits to produce result logical address upper bits; an effective address adder for adding said base logical address and said displacement logical address to produce a calculated address; a detection circuit including a first AND for ANDing said base logical address upper bits and said displacement logical address upper bits and a one's detector that generates a redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are the same and a not redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are not the same; a second and third AND, connected to said OR, to said effective address adder, to said detection circuit, and to said address bus, responsive to said not redomem signal, for gating said result logical address upper bits and said calculated address lower bits to said address bus; and, a fourth AND connected to said adder, to said redomem signal, and to said address bus, for gating said calculated address to said address bus.
Claim 10
Dependent Claim 265 words
A microprocessor including an address bus and a translation lookaside buffer (TLB) which translates, to a physical address, a logical address comprised of logical address lower bits and logical address upper bits, said logical address upper bits corresponding to a logical page number and said logical address lower bits corresponding to address locations within said logical page, apparatus for forming a physical address from a base logical address and displacement logical address comprising: an OR for ORing base logical address upper bits and displacement logical address upper bits to produce result logical address upper bits; an effective address adder for adding said base logical address and said displacement logical address to produce a calculated address; a detection circuit including a first AND for ANDing said base logical address upper bits and said displacement logical address upper bits and a one's detector that generates a redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are the same and a not redomem signal upon a condition that said base logical address upper bits and said displacement logical address upper bits are not the same; a second and third AND, connected to said OR, to said effective address adder, to said detection circuit, and to said address bus, responsive to said not redomem signal, for gating said result logical address upper bits and said calculated address lower bits to said address bus; and, a fourth AND connected to said adder, to said redomem signal, and to said address bus, for gating said calculated address to said address bus.

References Cited (Backward Citations)

US4622631A Cited
US4622631B1 Cited
US4811206A Cited
US4847748A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-08-01 1998-01-31 1998-08-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-08-01 2002-01-31 2002-08-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-08-01 2006-01-31 2006-08-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag