Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
233 words
In a pipelined digital processor employing macro-instructions utilizing interpretation by micro-instructions, each of said macro-instructions being identifiable by an assoicated address and each of said micro-instructions being identifiable by an associated addresss, a lookahead fetch system for transmitting predicted brach addresses to a prefetch section prior to decoding of respective brach instructions, comprising: branch cache means coupled to said prefetch section, said branch cache means receiving prefetch information from said prefetch section, and said branch cache means transmitting to said prefetch section predicted branch address information, said branch cache means including a plurality of indexed memory loations for storing an indexed table of branch target addresses, each of said branch target addresses corresponding to an addresss of a previously fetched instruction that resulted from a succeeding execution of said instruction, hashing means for simultaniously receiving and combining a predetermined number of bits representative of the address of a macro-instruction being fetched with a predetermined number of bits representative of the address of a micro-instruction invoked by said macro-instruction, and index means, in communication with said hashing means and said branch cache means, for applying an address, generated by combinations of bits produced by said hashing means, to said branch cache means, to read out a branch target address; whereby a branch target address that is predictive of a branch of a micro-instruction interpreting a macro-instruction is read out of the branch cache means.
Claim 2
Dependent Claim
233 words
In a pipelined digital processor employing macro-instructions utilizing interpretation by micro-instructions, each of said macro-instructions being identifiable by an assoicated address and each of said micro-instructions being identifiable by an associated addresss, a lookahead fetch system for transmitting predicted brach addresses to a prefetch section prior to decoding of respective brach instructions, comprising: branch cache means coupled to said prefetch section, said branch cache means receiving prefetch information from said prefetch section, and said branch cache means transmitting to said prefetch section predicted branch address information, said branch cache means including a plurality of indexed memory loations for storing an indexed table of branch target addresses, each of said branch target addresses corresponding to an addresss of a previously fetched instruction that resulted from a succeeding execution of said instruction, hashing means for simultaniously receiving and combining a predetermined number of bits representative of the address of a macro-instruction being fetched with a predetermined number of bits representative of the address of a micro-instruction invoked by said macro-instruction, and index means, in communication with said hashing means and said branch cache means, for applying an address, generated by combinations of bits produced by said hashing means, to said branch cache means, to read out a branch target address; whereby a branch target address that is predictive of a branch of a micro-instruction interpreting a macro-instruction is read out of the branch cache means.
Claim 3
Dependent Claim
22 words
A system according to claim 1, wherein said branch cache means includes a Random Access Memory having a plurality of memory locations.
Claim 4
Dependent Claim
59 words
A system according to claim 1, wherein said predetermined number of bits representative of the address of a macro-instruction being fetched includes the least significant bits of the address of said macro-instruction, and wherein said predetermined number of bits representative of the address of a micro-instruction being invoked includes the least significant bits of the address of said micro-instruction.
Claim 5
Dependent Claim
59 words
A system according to claim 2, wherein said predetermined number of bits representative of the address of a macro-instruction being fetched includes the least significant bits of the address of said macro-instruction, and wherein said predetermined number of bits representative of the address of a micro-instruction being invoked includes the least significant bits of the address of said micro-instruction.
Claim 6
Dependent Claim
41 words
A system according to claim 1, wherein said hashing means includes combinatorial logic gate means for performing a combinatorial logic operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 7
Dependent Claim
41 words
A system according to claim 2, wherein said hashing means includes combinatorial logic gate means for performing a combinatorial logic operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 8
Dependent Claim
41 words
A system according to claim 3, wherein said hashing means includes combinatorial logic gate means for performing a combinatorial logic operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 9
Dependent Claim
41 words
A system according to claim 4, wherein said hashing means includes combinatorial logic gate means for performing a combinatorial logic operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 10
Dependent Claim
42 words
A system according to claim 5, wherein said combinatorial logic gate means includes exclusive-or (XOR) gate means for performing an XOR operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 11
Dependent Claim
42 words
A system according to claim 6, wherein said combinatorial logic gate means includes exclusive-or (XOR) gate means for performing an XOR operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 12
Dependent Claim
42 words
A system according to claim 7, wherein said combinatorial logic gate means includes exclusive-or (XOR) gate means for performing an XOR operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 13
Dependent Claim
42 words
A system according to claim 8, wherein said combinatorial logic gate means includes exclusive-or (XOR) gate means for performing an XOR operation on said bits representative of the address of said macro-instruction and said bits representative of the address of said micro-instruction.
Claim 14
Independent Claim
113 words
A method for predicting branch target addresses for a pipelined digital processing system having a branch cache which holds the branch target addresses comprising the steps of: (a) executing a sequence of macro-instructions, each of which invokes the execution of a sequence of micro-instructions; (b) determining when a micro-instruction of the sequence of micro-instructions indicates a branch is to occur; (c) hashing a predetermined number of bits of the address of the micro-instruction indicating the occurrence of a branch with a predetermined number of bits of the address of the macro-instruction that invoked the micro-insturciton; and (d) using the hashing result to address the branch cache and read out a branch target address.
Claim 15
Independent Claim
113 words
A method for predicting branch target addresses for a pipelined digital processing system having a branch cache which holds the branch target addresses comprising the steps of: (a) executing a sequence of macro-instructions, each of which invokes the execution of a sequence of micro-instructions; (b) determining when a micro-instruction of the sequence of micro-instructions indicates a branch is to occur; (c) hashing a predetermined number of bits of the address of the micro-instruction indicating the occurrence of a branch with a predetermined number of bits of the address of the macro-instruction that invoked the micro-insturciton; and (d) using the hashing result to address the branch cache and read out a branch target address.
Claim 16
Dependent Claim
35 words
A method according to claim 13 further comprising the steps of: (a) creating a correspondence between a memory location and the branch target address; and (b) storing the branch target address at the memory location.
Claim 17
Dependent Claim
33 words
A method according to claim 14 further comprising the steps of: (a) using the hashing result to access the memory location; and (b) obtaining the branch target address from the accessed memory location.