Claims Analysis
Total Claims: 31
Claim 1
Independent Claim
95 words
A system for simultaneously predicting a plurality of future branches based on an occurrence of a given branch instruction, comprising: a multibranch history table having one or more entries, each entry for storing branch addresses and target addresses for a plurality of branch instructions that executed sequentially after the given branch instruction; retrieving means for retrieving said stored branch and target addresses from said multibranch history table upon a next occurrence of the given branch instruction; and predicting means for simultaneously predicting the plurality of future branches based on said retrieved branch and target addresses.
Claim 2
Independent Claim
95 words
A system for simultaneously predicting a plurality of future branches based on an occurrence of a given branch instruction, comprising: a multibranch history table having one or more entries, each entry for storing branch addresses and target addresses for a plurality of branch instructions that executed sequentially after the given branch instruction; retrieving means for retrieving said stored branch and target addresses from said multibranch history table upon a next occurrence of the given branch instruction; and predicting means for simultaneously predicting the plurality of future branches based on said retrieved branch and target addresses.
Claim 3
Dependent Claim
30 words
The system of claim 1, further comprising: update means for updating said multibranch history table based on a subsequent plurality of branch instructions that executed sequentially after the branch instruction.
Claim 4
Dependent Claim
84 words
The system of claim 2, wherein said update means comprises: a pending guess queue to hold said retrieved branch and target addresses from said multibranch history table as a pending guess; an update queue to hold branch addresses and target addresses from said subsequent plurality of sequentially executed branch instructions as a potential update sequence; and comparison means for comparing said potential update sequence with said pending guess to determine unstored branch and target addresses of said subsequent plurality of sequentially executed branch instructions.
Claim 5
Dependent Claim
33 words
The system of claim 1, wherein said stored branch and target addresses are stored beginning at a location in said multibranch history table corresponding to a branch address of the given branch instruction.
Claim 6
Dependent Claim
36 words
The system of claim 1, wherein said retrieving means comprises a prefetch address register for retrieving said stored branch and target addresses from said multibranch history table upon a next occurrence of the given branch instruction.
Claim 7
Independent Claim
86 words
A method for simultaneously predicting a plurality of future branches based on an occurrence of a given branch instruction, comprising the steps of: a) storing as an entry in a multibranch history table branch addresses and target addresses for a plurality of branch instructions that executed sequentially after the given branch instruction; b) retrieving said stored branch and target addresses upon a next occurrence of the given branch instruction; and c) simultaneously predicting the plurality of future branches based on said retrieved branch and target addresses.
Claim 8
Independent Claim
86 words
A method for simultaneously predicting a plurality of future branches based on an occurrence of a given branch instruction, comprising the steps of: a) storing as an entry in a multibranch history table branch addresses and target addresses for a plurality of branch instructions that executed sequentially after the given branch instruction; b) retrieving said stored branch and target addresses upon a next occurrence of the given branch instruction; and c) simultaneously predicting the plurality of future branches based on said retrieved branch and target addresses.
Claim 9
Dependent Claim
31 words
The method of claim 6, further comprising the step of: d) updating said multibranch history table based on a subsequent plurality of branch instructions that executed sequentially after the branch instruction.
Claim 10
Dependent Claim
86 words
The method of claim 7, wherein said step of updating comprises the steps of: holding said retrieved branch and target addresses from said multibranch history table as in a pending guess queue as a pending guess; holding branch addresses and target addresses from said subsequent plurality of sequentially executed branch instructions in an update queue as a potential update sequence; and comparing said potential update sequence with said pending guess to determine unstored branch and target addresses of said subsequent plurality of sequentially executed branch instructions.
Claim 11
Dependent Claim
33 words
The method of claim 6, wherein said stored branch and target addresses are stored in a multibranch history table beginning at a location corresponding to a branch address of the given branch instruction.
Claim 12
Independent Claim
168 words
A system for simultaneously predicting a plurality of future branches based on an occurrence of a branch instruction, comprising: a primary multibranch history table having one or more entries, each entry for storing branch addresses and target addresses for a first plurality of branch instructions that executed sequentially after a first branch instruction; secondary multibranch history table having one or more entries, each entry for storing branch addresses and target addresses for a second plurality of branch instructions that executed sequentially after a second branch instruction; first retrieving means for retrieving said fast stored branch and target addresses from said primary multibranch history table based on a next occurrence of the branch instruction; second retrieving means for retrieving said second stored branch and target addresses from said secondary multibranch history table based on said next occurrence of the branch instruction; and predicting means for simultaneously predicting the plurality of future branches based on said first retrieved branch and target addresses and said second retrieved branch and target addresses.
Claim 13
Independent Claim
168 words
A system for simultaneously predicting a plurality of future branches based on an occurrence of a branch instruction, comprising: a primary multibranch history table having one or more entries, each entry for storing branch addresses and target addresses for a first plurality of branch instructions that executed sequentially after a first branch instruction; secondary multibranch history table having one or more entries, each entry for storing branch addresses and target addresses for a second plurality of branch instructions that executed sequentially after a second branch instruction; first retrieving means for retrieving said fast stored branch and target addresses from said primary multibranch history table based on a next occurrence of the branch instruction; second retrieving means for retrieving said second stored branch and target addresses from said secondary multibranch history table based on said next occurrence of the branch instruction; and predicting means for simultaneously predicting the plurality of future branches based on said first retrieved branch and target addresses and said second retrieved branch and target addresses.
Claim 14
Dependent Claim
72 words
The system of claim 10, further comprising comparison means for comparing said first retrieved branch and target addresses with said second retrieved branch and target addresses to detect divergence between said first plurality of branch instructions and said second plurality of branch instructions, wherein said predicting means predicts the plurality of future branches based on said first retrieved branch and target addresses, said second retrieved branch and target addresses, and said divergence.
Claim 15
Dependent Claim
30 words
The system of claim 11, wherein said secondary multibranch history table is offset at least one branch instruction from said primary multibranch history table for facilitating detection of said divergence.
Claim 16
Dependent Claim
40 words
The system of claim 11, further comprising a plurality of said secondary multibranch history tables, wherein each subsequent multibranch history table is offset at least one branch instruction from each prior multibranch history table to facilitate detection of said divergence.
Claim 17
Dependent Claim
56 words
The system of claim 10, further comprising update means for updating said primary multibranch history table based on a subsequent plurality of branch instructions that executed sequentially after said first branch instruction and for updating said secondary multibranch history table based on a subsequent plurality of branch instructions that executed sequentially after said second branch instruction.
Claim 18
Dependent Claim
120 words
The system of claim 14, wherein said update means comprises: a primary pending guess queue to hold said first retrieved branch and target addresses from said primary multibranch history table as a primary pending guess; a secondary pending guess queue to hold said second retrieved branch and target addresses from said secondary multibranch history table as a secondary pending guess; an update queue to hold branch addresses and target addresses from said subsequent plurality of sequentially executed branch instructions as a potential update sequence; and second comparison means for comparing said potential update sequence with said primary pending guess and said secondary pending guess to determine unstored branch and target addresses of said subsequent plurality of sequentially executed branch instructions.
Claim 19
Dependent Claim
81 words
The system of claim 10, wherein said first stored branch and target addresses for said tint plurality of branch instructions are stored beginning at a storage address in said primary multibranch history table corresponding to a branch address of said first branch instruction and said second stored branch and target addresses for said second plurality of branch instructions are stored beginning at a storage address in said secondary multibranch history table corresponding to a branch address of said second branch instruction.
Claim 20
Dependent Claim
102 words
The system of claim 10, wherein said primary multibranch history table stores branch addresses and target addresses for a first set of two branch instructions that executed sequentially after said first branch instruction, said branch and target addresses stored in said primary multibranch history table comprising a first and second primary predicted branch, and wherein said secondary multibranch history table stores branch addresses and target addresses for a second set of two branch instructions that executed sequentially after said second branch instruction, said branch and target addresses stored in said secondary multibranch history table comprising a first and second secondary predicted branch.
Claim 21
Dependent Claim
80 words
The system of claim 17, wherein said predicting means comprises: comparing means for comparing said second primary predicted branch with said first secondary predicted branch to detect divergence between said first set of two branch instructions and said second set of two branch instructions; and selecting means for selecting the plurality of future branches from said first and second primary predicted branches if said divergence does not exist and from said second secondary predicted branch if said divergence does exist.
Claim 22
Independent Claim
158 words
A method for simultaneously predicting a plurality of future branches based on an occurrence of a branch instruction, comprising the steps of: a) storing as an entry in a primary multibranch history table branch addresses and target addresses for a first plurality of branch instructions that executed sequentially after a first branch instruction; b) storing as an entry in a secondary multibranch history table branch addresses and target addresses for a second plurality of branch instructions that executed sequentially after a second branch instruction; c) retrieving said first stored branch and target addresses from said primary multibranch history table based on a next occurrence of the branch instruction; d) retrieving said second stored branch and target addresses from said secondary multibranch history table based on said next occurrence of the branch instruction; and e) simultaneously predicting the plurality of future branches based on said first retrieved branch and target addresses and said second retrieved branch and target addresses.
Claim 23
Independent Claim
158 words
A method for simultaneously predicting a plurality of future branches based on an occurrence of a branch instruction, comprising the steps of: a) storing as an entry in a primary multibranch history table branch addresses and target addresses for a first plurality of branch instructions that executed sequentially after a first branch instruction; b) storing as an entry in a secondary multibranch history table branch addresses and target addresses for a second plurality of branch instructions that executed sequentially after a second branch instruction; c) retrieving said first stored branch and target addresses from said primary multibranch history table based on a next occurrence of the branch instruction; d) retrieving said second stored branch and target addresses from said secondary multibranch history table based on said next occurrence of the branch instruction; and e) simultaneously predicting the plurality of future branches based on said first retrieved branch and target addresses and said second retrieved branch and target addresses.
Claim 24
Dependent Claim
73 words
The method of claim 19, further comprising the step of: f) comparing said first retrieved branch and target addresses with said second retrieved branch and target addresses to detect divergence between said first plurality of branch instructions and said second plurality of branch instructions, wherein said predicting means predicts the plurality of future branches based on said first retrieved branch and target addresses, said second retrieved branch and target addresses, and said divergence.
Claim 25
Dependent Claim
30 words
The method of claim 20, wherein said secondary multibranch history table is offset at least one branch instruction from said primary multibranch history table for facilitating detection of said divergence.
Claim 26
Dependent Claim
65 words
The method of claim 20, further comprising the step of: g) storing as entries in a plurality of secondary multibranch history tables branch addresses and target addresses for a plurality of branch instructions that executed sequentially after a branch instruction, wherein each subsequent multibranch history table is offset at least one branch instruction from each prior multibranch history table to facilitate detection of said divergence.
Claim 27
Dependent Claim
57 words
The method of claim 19, further comprising the steps of: f) updating said primary multibranch history table based on a subsequent plurality of branch instructions that executed sequentially after said first branch instruction; and g) updating said secondary multibranch history table based on a subsequent plurality of branch instructions that executed sequentially after said second branch instruction.
Claim 28
Dependent Claim
120 words
The method of claim 23, wherein said steps of updating comprise the steps of: holding said first retrieved branch and target addresses from said primary multibranch history table in a primary pending guess queue as a primary pending guess; holding said second retrieved branch and target addresses from said secondary multibranch history table in a secondary pending guess queue as a secondary pending guess; holding branch addresses and target addresses from said subsequent plurality of sequentially executed branch instructions in an update queue as a potential update sequence; and comparing said potential update sequence with said primary pending guess and said secondary pending guess to determine unstored branch and target addresses of said subsequent plurality of sequentially executed branch instructions.
Claim 29
Dependent Claim
81 words
The method of claim 19, wherein said first stored branch and target addresses for said first plurality of branch instructions are stored beginning at a storage address in said primary multibranch history table corresponding to a branch address of said first branch instruction and said second stored branch and target addresses for said second plurality of branch instructions are stored beginning at a storage address in said secondary multibranch history table corresponding to a branch address of said second branch instruction.
Claim 30
Dependent Claim
100 words
The method of claim 19, wherein said primary multibranch history table stores branch addresses and target addresses for a first set of two branch instructions that executed sequentially after said first branch instruction, said branch and target addresses in said primary multibranch history table comprising a first and second primary predicted branch, and wherein said secondary multibranch history table stores branch addresses and target addresses for a second set of two branch instructions that executed sequentially after said second branch instruction, said branch and target addresses in said secondary multibranch history table comprising a first and second secondary predicted branch.
Claim 31
Dependent Claim
78 words
The method of claim 26, wherein said step of predicting comprises the steps of: comparing said second primary predicted branch with said first secondary predicted branch to detect divergence between said first set of two branch instructions and said second set of two branch instructions; and selecting the plurality of future branches from said first and second primary predicted branches if said divergence does not exist and from said second secondary predicted branch if said divergence does exist.