Patent US3989420A successfully refreshed from Google Patents.
Patent FR1007928A successfully refreshed from Google Patents.
Patent US2777877A successfully refreshed from Google Patents.
Patent US4448691A successfully refreshed from Google Patents.
Patent US5507028A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5507028A Expired / Lapsed US ⏱️ 0.0 years remaining

History based branch prediction accessed via a history based earlier instruction address

Assignee: International Business Machines Corp
•
Filing: 1995-01-09
•
Granted: 1996-04-09
•
Expires: 2015-01-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An improved history table is disclosed in which at least some of the entries are stored and accessed based upon the address of an instruction which historically preceeds the branch instruction itself. The access address may be used to determine the location of the entry in the table and/or may be stored in whole or in part in the entry itself. Furthermore, the improved history table may be of any known type including but not limited to branch history table types and decode history table types. The entries in the improved history table preferably are stored and accessed by the address of the preceeding taken branch target and preferably contain a number indicative of the number of instructions between the access address and the address of the branch instruction or its target.

Inventors

  • 👤 Lishing Liu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 09:23
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3804; G06F9/3806; G06F9/3836; G06F9/3842; G06F9/3844

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 213 words
Apparatus for prefetching instructions for execution, comprising: a history based branch prediction table for storing information about previously executed segments of sequentially addressed instructions, said segments terminating with a taken branch instruction; said table storing for each of said segments a target address for said each segment, said target address being an address of a next executed instruction following said each segment when said each segment was previously executed; said table also storing for said each segment, an address tag identifying a first instruction of said each segment and information to determine a length of said each segment, said length being variable from segment to segment; means for holding in an instruction buffer a prefetched sequence of instructions for execution, said prefetched sequence including a last instruction having a last instruction address; address comparing means for comparing said last instruction address to said address tags stored in said table in order to detect a matching address tag stored in said table; and prefetching means responsive to detection of a matching address tag in said table for prefetching storage said segment of instructions identified by said matching address tag, adding said prefetched segment to said prefetched sequence, and making said target address of said prefetched segment said last instruction address of said prefetched sequence.
Claim 2
Dependent Claim 213 words
Apparatus for prefetching instructions for execution, comprising: a history based branch prediction table for storing information about previously executed segments of sequentially addressed instructions, said segments terminating with a taken branch instruction; said table storing for each of said segments a target address for said each segment, said target address being an address of a next executed instruction following said each segment when said each segment was previously executed; said table also storing for said each segment, an address tag identifying a first instruction of said each segment and information to determine a length of said each segment, said length being variable from segment to segment; means for holding in an instruction buffer a prefetched sequence of instructions for execution, said prefetched sequence including a last instruction having a last instruction address; address comparing means for comparing said last instruction address to said address tags stored in said table in order to detect a matching address tag stored in said table; and prefetching means responsive to detection of a matching address tag in said table for prefetching storage said segment of instructions identified by said matching address tag, adding said prefetched segment to said prefetched sequence, and making said target address of said prefetched segment said last instruction address of said prefetched sequence.
Claim 3
Dependent Claim 27 words
Apparatus as defined in claim 1 wherein at least some of said address tags stored in said table correspond to a target address stored in said table.
Claim 4
Dependent Claim 25 words
Apparatus as defined in claim 2 wherein all of said address tags stored in said table correspond to a target address stored in said table.
Claim 5
Dependent Claim 32 words
Apparatus as defined in claim 1 wherein some of said segments terminating with a taken branch instruction include at least one additional branch instruction in addition to said terminating taken branch instruction.
Claim 6
Dependent Claim 25 words
Apparatus as defined in claim 4 wherein said additional branch instructions were not taken when said segments containing said additional branch instructions were previously executed.
Claim 7
Dependent Claim 22 words
Apparatus as defined in claim 1 wherein at least some of said segments have a size corresponding to at least three instructions.
Claim 8
Dependent Claim 31 words
Apparatus as defined in claim 1 wherein each said segment terminating with a taken branch instruction has for a stored target address a target address of said each taken branch instruction.
Claim 9
Dependent Claim 17 words
Apparatus as defined in claim 7 wherein all of said segments terminate with a taken branch instruction.

References Cited (Backward Citations)

US4984154A Cited
US4763245A Cited
US4831517A Cited
US5175827A Cited
US5168557A Cited
US5237666A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-04-09 1999-10-09 2000-04-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-04-09 2003-10-09 2004-04-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-04-09 2007-10-09 2008-04-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag