EP0227892A2
Expired / Lapsed
EP
⏱️ 0.0 years remaining
Updates to branch history table in a pipeline processing system
Assignee: International Business Machines Corp
•
Filing: 1986-09-05
•
Granted: —
•
Expires: 2006-09-05
Abstract
Abstract A data-dependent branch table (64) is described, which is a mechanism that is sensitive to those operands that will be tested in order to determine branch action outcomes. The data dependent branch table operates in conjunction with a branch history table to anticipate those instances where the branch history table will make an erroneous prediction, including means to correct the branch history table prior to the time that the actual prediction is made.
Inventors
- 👤 Philip G. Emma
- 👤 James H. Pomerene
- 👤 Gururaj S. Rao
- 👤 Rudolph N. Rechtschaffen
- 👤 Howard E. Sachar
- 👤 Frank J. Sparacio
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-11-06 11:48
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836; G06F9/3842; G06F9/3848
Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
214 words
In a computing machine, apparatus for predicting the outcome of branch instructions, the combination comprising; a processor, a memory for storing information to be processed by said processor, said information inclucing instructions and operands, a branch history table (2) for storing prior actions of branch instructions which are processed by said processor, means (10,16,24,32) for associating specific ones of said operands with specific ones of said branch instructions, and said prior actions of said branch instructions, means (38) for determining the specific association between said specific ones of said branch instructions, and said prior actions of said branch instructions, characterized by a storage means (DDBT, 64) which stores said specific associations, means (Fig. 2) for monitoring stores made to operands in said memory by said processor to determine if a given operand being stored to is one of said specific operands stored in said storage means; and means (Fig. 3) responsive to said specific associations for determining, if the subsequent branch action of a given branch instruction in said storage means is different than the branch action of said given branch instruction in said branch history table (64), including means (138,150) for updating the branch action of said given branch instruction in said branch history table, in the event that the branch actions differ.
Claim 2
Dependent Claim
214 words
In a computing machine, apparatus for predicting the outcome of branch instructions, the combination comprising; a processor, a memory for storing information to be processed by said processor, said information inclucing instructions and operands, a branch history table (2) for storing prior actions of branch instructions which are processed by said processor, means (10,16,24,32) for associating specific ones of said operands with specific ones of said branch instructions, and said prior actions of said branch instructions, means (38) for determining the specific association between said specific ones of said branch instructions, and said prior actions of said branch instructions, characterized by a storage means (DDBT, 64) which stores said specific associations, means (Fig. 2) for monitoring stores made to operands in said memory by said processor to determine if a given operand being stored to is one of said specific operands stored in said storage means; and means (Fig. 3) responsive to said specific associations for determining, if the subsequent branch action of a given branch instruction in said storage means is different than the branch action of said given branch instruction in said branch history table (64), including means (138,150) for updating the branch action of said given branch instruction in said branch history table, in the event that the branch actions differ.
Claim 3
Dependent Claim
25 words
The apparatus claimed in claim 1, wherein said branch action includes the branch address (BA) and the target address (TA) of the associated branch instruction.
Claim 4
Dependent Claim
30 words
The apparatus claimed in claim 2, wherein said means for updating includes means for updating whichever of BA and TA differ in the event the comparison of branch actions differ.
Claim 5
Dependent Claim
31 words
The apparatus claimed in claim 1, wherein said branch action includes an action bit which is indicative of whether or not said given branch instruction was taken on its last execution.
Claim 6
Dependent Claim
27 words
The apparatus claimed in claim 4, wherein said means for updating includes means for updating said action bit in the event the comparison of action bits differ.
Claim 7
Dependent Claim
31 words
The apparatus claimed in claim 2, wherein said branch action includes an action bit which is indicative of whether or not said given branch instruction was taken on its last execution.
Claim 8
Dependent Claim
33 words
The apparatus claimed in claim 6, wherein said means for updating includes means for updating whichever of BA, TA or the action bit differ in the event the comparison of branch actions differ.
Claim 9
Independent Claim
230 words
A method of processing branch instructions in a computing machine, wherein said computing machine includes a processor, a memory for storing information to be processed by said processor, said information including instructions and operands, a branch history table (BHT) for storing prior branch actions of instructions processed by said processor, characterized by a data-dependent branch table (DDBT, 64) which stores addresses of operands, addresses of branch instructions, branch actions of said branch instructions, and associations between specific ones of said operands and specific ones of said branch instructions, and said prior actions of said branch instructions; said method comprising the steps of: associating specific ones of said operands with specific ones of said branch instructions, and said prior actions of said branch instructions; determining the specific association between said specific ones of said branch instructions, and said prior actions of said branch instructions; monitoring all stores made to operands stored in said memory by said processor to determine if a given operand being stored to is one of a said specific operands stored in said DDBT; responding to said specific associations for determining if the subsequent branch action of a given branch instruction in said DDBT is different than the branch action of said given branch instruction in said BHT; and updating the branch action of said given branch instruction in said BHT, in the event the branch actions differ.
Claim 10
Independent Claim
230 words
A method of processing branch instructions in a computing machine, wherein said computing machine includes a processor, a memory for storing information to be processed by said processor, said information including instructions and operands, a branch history table (BHT) for storing prior branch actions of instructions processed by said processor, characterized by a data-dependent branch table (DDBT, 64) which stores addresses of operands, addresses of branch instructions, branch actions of said branch instructions, and associations between specific ones of said operands and specific ones of said branch instructions, and said prior actions of said branch instructions; said method comprising the steps of: associating specific ones of said operands with specific ones of said branch instructions, and said prior actions of said branch instructions; determining the specific association between said specific ones of said branch instructions, and said prior actions of said branch instructions; monitoring all stores made to operands stored in said memory by said processor to determine if a given operand being stored to is one of a said specific operands stored in said DDBT; responding to said specific associations for determining if the subsequent branch action of a given branch instruction in said DDBT is different than the branch action of said given branch instruction in said BHT; and updating the branch action of said given branch instruction in said BHT, in the event the branch actions differ.
Claim 11
Independent Claim
45 words
The method of claim8, wherein said branch action includes the branch address (BA) and the target address (TA) of the associated branch instruction, and said step of updating includes updating whichever of BA and TA differ in the event the comparison of branch actions differ.
Claim 12
Independent Claim
54 words
The method of claim8 , wherein said branch action includes an action bit which is indicative of whether or not said given branch instruction was taken on its last execution, and said step of updating includes updating said action bit in said branch history table in the event the comparison of action bits differ.
Claim 13
Dependent Claim
58 words
lL The method of claim 9 _ , wherein said branch action includes an action bit which is indicative of whether or not said given branch instruction was taken on its last execution, and said step of updating includes updating whichever of BA, TA or the action bit differ in the event the comparison of branch actions differ.
References Cited (Backward Citations)
No citation records indexed.
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.