Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
125 words
A branch prediction apparatus comprising: means, responsive to an address portion of an instruction, for providing a past history branch pattern which is a branch pattern corresponding to a result of whether a branch was taken or not taken for a previous N number of occurrences of said instruction; means, responsive to said branch pattern, for determining whether said instruction should or should not take said branch in accordance with the branch pattern for the respective instruction; and means for distributing entries in the address of an instruction fed to said apparatus wherein said means for distributing entries further comprises: a logic circuit to exclusive or together two lower order bits of the instruction address with two selected higher order bits of the instruction address.
Claim 2
Dependent Claim
125 words
A branch prediction apparatus comprising: means, responsive to an address portion of an instruction, for providing a past history branch pattern which is a branch pattern corresponding to a result of whether a branch was taken or not taken for a previous N number of occurrences of said instruction; means, responsive to said branch pattern, for determining whether said instruction should or should not take said branch in accordance with the branch pattern for the respective instruction; and means for distributing entries in the address of an instruction fed to said apparatus wherein said means for distributing entries further comprises: a logic circuit to exclusive or together two lower order bits of the instruction address with two selected higher order bits of the instruction address.
Claim 3
Dependent Claim
21 words
The apparatus of claim 1 further comprising: means for distributing entries in the past history branch pattern from the providing means.
Claim 4
Dependent Claim
34 words
The apparatus of claim 2 wherein said means for distributing entries in the past history branch pattern comprises: means for concatenating bits of the address of said instruction with the past history branch pattern.
Claim 5
Dependent Claim
69 words
The apparatus of claim 3 wherein said means for determining whether a branch should or should not be taken comprises: a plurality of separate sets of up-down counters, each set of counters comprised of 2 N number of counters and said plurality of sets of counters corresponding to 2 l number of sets where l is the number of bits of the instruction address concatenated to said branch pattern.
Claim 6
Dependent Claim
135 words
A branch prediction apparatus comprising: means, responsive to an address portion of an instruction, for providing a past history branch pattern which is a branch pattern corresponding to a result of whether a branch was taken or not taken for a previous N number of occurrences of said instruction; means, responsive to said branch pattern, for determining whether said instruction should or should not take said branch in accordance with the branch pattern for the respective instruction; means, responsive to the address of the instruction, for storing a predicted past history pattern and a valid bit indicating that a predicted past history pattern is stored in a location in said means for storing a predicted past history pattern said instruction; and means for storing a data bit corresponding to a prediction direction of said instruction.
Claim 7
Dependent Claim
135 words
A branch prediction apparatus comprising: means, responsive to an address portion of an instruction, for providing a past history branch pattern which is a branch pattern corresponding to a result of whether a branch was taken or not taken for a previous N number of occurrences of said instruction; means, responsive to said branch pattern, for determining whether said instruction should or should not take said branch in accordance with the branch pattern for the respective instruction; means, responsive to the address of the instruction, for storing a predicted past history pattern and a valid bit indicating that a predicted past history pattern is stored in a location in said means for storing a predicted past history pattern said instruction; and means for storing a data bit corresponding to a prediction direction of said instruction.
Claim 8
Dependent Claim
32 words
The apparatus as recited in claim 5 further comprising: means, responsive to said valid bit, for selecting between said predicted past history pattern and said past history pattern as the branch pattern.
Claim 9
Dependent Claim
25 words
The apparatus as recited in claim 6 further comprising: means, responsive to said branch pattern, for concatenating bits of said instruction to said branch pattern.
Claim 10
Dependent Claim
71 words
The apparatus as recited in claim 7 wherein said means for determining whether a branch should or should not be taken comprises: a plurality of separate sets of up-down counters, each set of counters comprised of 2 N number of counters and said plurality of sets of counters corresponding to 2 l number of sets where l is the number of bits of the instruction address concatenated to said branch pattern.
Claim 11
Dependent Claim
15 words
The apparatus as recited in claim 8 wherein said counters are non-wrap around up/down counters.
Claim 12
Independent Claim
281 words
An apparatus, comprising: a first register file having K number of addressable storage locations and having a read port and a write port, said read port addressed by an address portion of an instruction to provide a bit pattern corresponding to whether said instruction took a branch over the last N occurrences of said instruction, and said write port addressed by said address portion of said instruction and fed by a bit indicating whether that occurrence of said instruction took the branch; a second register file containing two addressable fields a first field containing a bit pattern corresponding to a predicted past history and a second field containing a valid bit associated with said predicted past history which indicates that a prediction has not been resolved; means, responsive to said valid bit from said second register file for selecting a bit pattern from said first register file and said second register file; means responsive to the bit pattern from said means for selecting a bit pattern and selected bits of said instruction to provide a extended pattern; a plurality of sets of counters each set of said counters having 2 K number of counters, with said extended pattern to providing an address to select one of said counters to provide a most significant bit, said most significant bit indicating whether said instruction should or should not take a branch and with said counter incremented or decremented in accordance with whether a branch was or was not taken by the instruction; a plurality of storage locations, each a single bit wide and each addressed by a logical instruction number of said instruction to store said most significant bit from said selected counter.
Claim 13
Independent Claim
281 words
An apparatus, comprising: a first register file having K number of addressable storage locations and having a read port and a write port, said read port addressed by an address portion of an instruction to provide a bit pattern corresponding to whether said instruction took a branch over the last N occurrences of said instruction, and said write port addressed by said address portion of said instruction and fed by a bit indicating whether that occurrence of said instruction took the branch; a second register file containing two addressable fields a first field containing a bit pattern corresponding to a predicted past history and a second field containing a valid bit associated with said predicted past history which indicates that a prediction has not been resolved; means, responsive to said valid bit from said second register file for selecting a bit pattern from said first register file and said second register file; means responsive to the bit pattern from said means for selecting a bit pattern and selected bits of said instruction to provide a extended pattern; a plurality of sets of counters each set of said counters having 2 K number of counters, with said extended pattern to providing an address to select one of said counters to provide a most significant bit, said most significant bit indicating whether said instruction should or should not take a branch and with said counter incremented or decremented in accordance with whether a branch was or was not taken by the instruction; a plurality of storage locations, each a single bit wide and each addressed by a logical instruction number of said instruction to store said most significant bit from said selected counter.