Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
371 words
A register management system for use in a computer having a first number of architected logical registers and provision for executing a stream of instructions following a conditional branch instruction based on a branch direction guess, and provision for determing correctness of said branch direction guess, wherein a plurality of said instructions in said stream comprise a field designating an address of a first one of said logical registers, said register management system comprising: a register array coupled with said computer system, said register array comprising a second number of physical registers, said second number of physical registers being larger than said first number of logical registers, a first list, comprising said first number of entries, each of said entries corresponding to one of said logical registers and comprising a field indicative of one of said physical registers, a second lost comprising said first number of entries, a third list comprising said second number of entries, each of said entries in said third list corresponding to one of said physical registers and comprising an instruction identification field indicative of one instruction in said stream of instructions, a branch status field indicative of presence of an unresolved branch instructions and a control field indicative of a state of use of one of said physical registers, and logic means, coupled with said computer, said first list said second list, and said third list, for: performing assignment of first and second ones of said physical registers to said first one of said logical registers responsive to said state of use, writing first data indicative of said assignments into said first list, and writing data indicative of first and second instructions in said plurality into respective ones of said instruction identification field corresponding to said first and second physical registers; transferring said first data indicative of said assignments from said first list to said second list responsive to decoding of a conditional branch instruction by said computer, and writing third data indicative occurrence of said conditional branch instruction in said branch status field; and transferring said first data indicative of said assignments from said second list to said first list responsive to a determination by said computer that said branch direction guess is not correct.
Claim 2
Dependent Claim
371 words
A register management system for use in a computer having a first number of architected logical registers and provision for executing a stream of instructions following a conditional branch instruction based on a branch direction guess, and provision for determing correctness of said branch direction guess, wherein a plurality of said instructions in said stream comprise a field designating an address of a first one of said logical registers, said register management system comprising: a register array coupled with said computer system, said register array comprising a second number of physical registers, said second number of physical registers being larger than said first number of logical registers, a first list, comprising said first number of entries, each of said entries corresponding to one of said logical registers and comprising a field indicative of one of said physical registers, a second lost comprising said first number of entries, a third list comprising said second number of entries, each of said entries in said third list corresponding to one of said physical registers and comprising an instruction identification field indicative of one instruction in said stream of instructions, a branch status field indicative of presence of an unresolved branch instructions and a control field indicative of a state of use of one of said physical registers, and logic means, coupled with said computer, said first list said second list, and said third list, for: performing assignment of first and second ones of said physical registers to said first one of said logical registers responsive to said state of use, writing first data indicative of said assignments into said first list, and writing data indicative of first and second instructions in said plurality into respective ones of said instruction identification field corresponding to said first and second physical registers; transferring said first data indicative of said assignments from said first list to said second list responsive to decoding of a conditional branch instruction by said computer, and writing third data indicative occurrence of said conditional branch instruction in said branch status field; and transferring said first data indicative of said assignments from said second list to said first list responsive to a determination by said computer that said branch direction guess is not correct.
Claim 3
Dependent Claim
115 words
A system of claim 1 wherein in said second list is one of a plurality of back-up register assignment lists in said system, and wherein said logic means comprises means for copying the contents of said first list to a different one of said back-up register assignment lists upon decoding of each of a plurality of conditional branch instructions and for copying said contents back into said first list from each of said back-up register assignment lists, and wherein said third at a comprises a plurality of bits, each of said bits corresponding to one of said back-up register assignment lists and being indicative of occurrence of one of said plurality of conditional branch instructions.
Claim 4
Dependent Claim
191 words
A register management system for use in a computer system having a first number of architected logical registers, provision for executing a stream of instructions following a conditional branch instruction based on a branch direction guess, and provision for determining correctness of said branch direction guess, comprising: a register array coupled with said computer system, said register array comprising a second number of physical registers, said second number of physical registers being larger than said first number of logical registers, a first list comprising said first number of entries, each of said entries in said first list corresponding to one of said logical registers and comprising a field indicative of one of said physical registers, a second list comprising said first number of entries, logic means, coupled with said computer system, said first list, and said second list, for copying contents of said first list to said second list responsive to decoding of a conditional branch instruction by said computer system, and for copying back said contents from said second list to said first list responsive to a determination by said computer system that said branch direction guess is not correct.
Claim 5
Dependent Claim
191 words
A register management system for use in a computer system having a first number of architected logical registers, provision for executing a stream of instructions following a conditional branch instruction based on a branch direction guess, and provision for determining correctness of said branch direction guess, comprising: a register array coupled with said computer system, said register array comprising a second number of physical registers, said second number of physical registers being larger than said first number of logical registers, a first list comprising said first number of entries, each of said entries in said first list corresponding to one of said logical registers and comprising a field indicative of one of said physical registers, a second list comprising said first number of entries, logic means, coupled with said computer system, said first list, and said second list, for copying contents of said first list to said second list responsive to decoding of a conditional branch instruction by said computer system, and for copying back said contents from said second list to said first list responsive to a determination by said computer system that said branch direction guess is not correct.
Claim 6
Dependent Claim
76 words
The system of claim 3 wherein said second list is one of a plurality of back-up register assignment lists in said system, and wherein said logic means comprises means for copying the contents of said first list to a different one of said back-up register assignment lists upon decoding of each of a plurality of conditional branch instructions and for copying said contents back into said first list from each of said back-up register assignment lists.
Claim 7
Independent Claim
279 words
A method of managing registers in a computer system having a first number of architected logical registers, a second number, greater than said first number, of physical registers, provision for processing a stream of instructions including a conditional branch instruction, provision for processing ones of said instructions following said conditional branch instruction based on a branch direction guess, and provision for determining whether said branch direction guess was correct, wherein a plurality of said instructions in said stream include a field addressing a first one of said logical registers, comprising the steps of: decoding a first instruction in said plurality; responsive to said decoding of said first instruction, performing assignment of a first one of said physical registers to receive data for said first one of said local registers; storing first data indicative of said assignment of said first one of said physical registers in a first table; decoding said conditional branch instruction; responsive to said decoding of said conditional branch instruction, copying said first data indicative of said assignment from said first table into a second table; after said copying, decoding a second instruction in said plurality; responsive to said decoding of said second instruction, assigning a second one of said physical registers to receive data for said first one of said logical registers; storing second data indicative of said assignment of said second one of said physical registers in said first table; after said decoding of said second instruction, determining if said branch direction guess was correct; and responsive to a determination by said determining step, that said branch direction guess was not correct, copying said first data back from said second table into said first table.
Claim 8
Independent Claim
279 words
A method of managing registers in a computer system having a first number of architected logical registers, a second number, greater than said first number, of physical registers, provision for processing a stream of instructions including a conditional branch instruction, provision for processing ones of said instructions following said conditional branch instruction based on a branch direction guess, and provision for determining whether said branch direction guess was correct, wherein a plurality of said instructions in said stream include a field addressing a first one of said logical registers, comprising the steps of: decoding a first instruction in said plurality; responsive to said decoding of said first instruction, performing assignment of a first one of said physical registers to receive data for said first one of said local registers; storing first data indicative of said assignment of said first one of said physical registers in a first table; decoding said conditional branch instruction; responsive to said decoding of said conditional branch instruction, copying said first data indicative of said assignment from said first table into a second table; after said copying, decoding a second instruction in said plurality; responsive to said decoding of said second instruction, assigning a second one of said physical registers to receive data for said first one of said logical registers; storing second data indicative of said assignment of said second one of said physical registers in said first table; after said decoding of said second instruction, determining if said branch direction guess was correct; and responsive to a determination by said determining step, that said branch direction guess was not correct, copying said first data back from said second table into said first table.
Claim 9
Dependent Claim
184 words
A register management system for use in a computer system having a first number of architected logical registers, provision for processing a stream of instructions following a conditional branch instruction based on a branch direction guess, and provision for determining correctness of the branch direction guess, comprising: an array of storage elements coupled to the computer system, said array comprising a second number of said storage elements, said second number being larger than said first number of logical registers; assignment means, coupled to the computer system, for assigning ones of said storage elements to receive data for the logical registers; maintenance means, coupled to said assignment means, for maintaining information indicative of which of said storage elements is assigned to receive data for which of said logical registers; and, backup means, coupled to said maintenance means and the computer system, for making a backup copy of said information, responsive to detection of conditional branch instruction by the computer system and for restoring said information to said maintenance means responsive to a determination by the computer system that the branch direction guess was not correct.
Claim 10
Dependent Claim
184 words
A register management system for use in a computer system having a first number of architected logical registers, provision for processing a stream of instructions following a conditional branch instruction based on a branch direction guess, and provision for determining correctness of the branch direction guess, comprising: an array of storage elements coupled to the computer system, said array comprising a second number of said storage elements, said second number being larger than said first number of logical registers; assignment means, coupled to the computer system, for assigning ones of said storage elements to receive data for the logical registers; maintenance means, coupled to said assignment means, for maintaining information indicative of which of said storage elements is assigned to receive data for which of said logical registers; and, backup means, coupled to said maintenance means and the computer system, for making a backup copy of said information, responsive to detection of conditional branch instruction by the computer system and for restoring said information to said maintenance means responsive to a determination by the computer system that the branch direction guess was not correct.
Claim 11
Dependent Claim
14 words
The register management system of claim 6, wherein said storage elements are physical registers.
Claim 12
Dependent Claim
24 words
The register management system of claim 6, wherein said backup means is responsive to decoding of said conditional branch instruction by said computer system.
Claim 13
Dependent Claim
31 words
The register management system of claim 6, further comprising availability means for storing data indicative of available ones of said storage elements, said availability means being coupled to said assignment means.
Claim 14
Dependent Claim
47 words
The register management system of claim 6, further comprising interrupt means, for detecting an interrupt in said computer system and for restoring said maintenance means to a state existing just prior to said interrupt, said interrupt means being coupled to said computer system and said maintenance means.
Claim 15
Dependent Claim
48 words
The register management system of claim 6 wherein said maintenance means comprises a register assignment list having said second number of entries, each of said entries corresponding to a respective one of said storage elements and comprising a field indicative of at least one of said logical registers.
Claim 16
Dependent Claim
23 words
The register management system of claim 11 wherein said backup means comprises a backup register assignment list having said first number of entries.
Claim 17
Dependent Claim
26 words
The register management system of claim 11 wherein said backup means comprises a plurality of backup register assignment lists, each having said first number of entries.