Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
146 words
A method of register renaming for a superscalar processor executing a program of instructions, the method comprising the steps of: (a) locally renaming register identifiers associated with first and second blocks of instructions by assigning register locations in a physical register file of the processor to the register identifiers of the first and second blocks of instructions consistent with source operands and destinations specified by the first and second blocks of instructions; (b) committing the register identifiers renamed in step (a) to the physical register file for first and second machine states of the processor, associated with the first and second blocks of instructions, respectively; (c) globally renaming unknown source operands of the locally renamed second block with register locations of the physical register file consistent with corresponding destinations of the locally renamed first block of instructions, the global renaming step producing an third machine state.
Claim 2
Independent Claim
146 words
A method of register renaming for a superscalar processor executing a program of instructions, the method comprising the steps of: (a) locally renaming register identifiers associated with first and second blocks of instructions by assigning register locations in a physical register file of the processor to the register identifiers of the first and second blocks of instructions consistent with source operands and destinations specified by the first and second blocks of instructions; (b) committing the register identifiers renamed in step (a) to the physical register file for first and second machine states of the processor, associated with the first and second blocks of instructions, respectively; (c) globally renaming unknown source operands of the locally renamed second block with register locations of the physical register file consistent with corresponding destinations of the locally renamed first block of instructions, the global renaming step producing an third machine state.
Claim 3
Dependent Claim
22 words
The method according to claim 1 further comprising the initial step of: segregating the program into the plurality of blocks of instructions.
Claim 4
Dependent Claim
21 words
The method according to claim 1 further comprising the step of: (d) repeating steps (a)-(c) for a next block of instructions.
Claim 5
Dependent Claim
31 words
The method according to claim 1 wherein the program includes multiple paths of control flow and wherein steps (a)-(c) are performed independently for each of the multiple paths of control flow.
Claim 6
Dependent Claim
95 words
A register renaming apparatus comprising: local renamer means for renaming destination and local source operands of first and second blocks of N instructions, where N is a positive integer, at first and second clock cycles, respectively, the destination and local source operands being renamed consistent within each block; global renamer means coupled to the local renamer means, the global renamer means updating a current machine state in the second cycle, or thereafter, by making unknown source operands in the locally renamed second block consistent with corresponding destinations from the locally renamed first block of instructions.
Claim 7
Dependent Claim
95 words
A register renaming apparatus comprising: local renamer means for renaming destination and local source operands of first and second blocks of N instructions, where N is a positive integer, at first and second clock cycles, respectively, the destination and local source operands being renamed consistent within each block; global renamer means coupled to the local renamer means, the global renamer means updating a current machine state in the second cycle, or thereafter, by making unknown source operands in the locally renamed second block consistent with corresponding destinations from the locally renamed first block of instructions.
Claim 8
Dependent Claim
21 words
The apparatus of claim 5 wherein the local renamer means comprises: N local renamer devices multiplexed to the global renamer means.
Claim 9
Dependent Claim
45 words
The apparatus of claim 5 wherein the local renamer means comprising N local renamer devices and the global renamer means comprises N global renamer devices, with the current machine state being passed from one global renamer device to another global renamer device per a clock.
Claim 10
Dependent Claim
43 words
The apparatus of claim 5 further comprising means for splitting the current machine state into multiple machine states corresponding to multiple paths of control flow, each of the multiple machine states being updated by an associated one of the N global renamer devices.
Claim 11
Dependent Claim
101 words
In a superscalar processor for executing a programmed flow of instructions, a method of register renaming providing a throughput of N instructions per clock comprising the steps of: (a) providing blocks of M instructions each to N/M local renamers; (b) renaming each of the blocks in consecutive clock cycles by: (i) making sources and destinations specified by the instructions of each of the blocks locally consistent; and (ii) updating a current machine state of the superscalar processor by making unknown sources specified by the instructions of each of the blocks globally consistent with corresponding destinations specified in other blocks of instructions.
Claim 12
Dependent Claim
101 words
In a superscalar processor for executing a programmed flow of instructions, a method of register renaming providing a throughput of N instructions per clock comprising the steps of: (a) providing blocks of M instructions each to N/M local renamers; (b) renaming each of the blocks in consecutive clock cycles by: (i) making sources and destinations specified by the instructions of each of the blocks locally consistent; and (ii) updating a current machine state of the superscalar processor by making unknown sources specified by the instructions of each of the blocks globally consistent with corresponding destinations specified in other blocks of instructions.
Claim 13
Dependent Claim
10 words
The method according to claim 9 wherein M equals N.
Claim 14
Dependent Claim
12 words
The method according to claim 9 wherein M is greater than N.
Claim 15
Dependent Claim
141 words
A superscalar processor having a register renaming mechanism comprising: M local renamers arranged in an ordered stack having i levels, where i is an integer that ranges from 1 to M, such that a local renamer at an ith level of the ordered stack renames sources and destinations associated with a block of N instructions to create an updated local state of the superscalar processor, the updated local state being passed to a local renamer at an (i+1)th level of the ordered stack; a global renamer coupled to the Mth local renamer for making the updated local state consistent with a current machine state of the superscalar processor by making unknown source operands associated with each of the locally renamed blocks at the Mth level consistent with corresponding destinations specified in other locally renamed blocks of instructions at the Mth level.
Claim 16
Dependent Claim
141 words
A superscalar processor having a register renaming mechanism comprising: M local renamers arranged in an ordered stack having i levels, where i is an integer that ranges from 1 to M, such that a local renamer at an ith level of the ordered stack renames sources and destinations associated with a block of N instructions to create an updated local state of the superscalar processor, the updated local state being passed to a local renamer at an (i+1)th level of the ordered stack; a global renamer coupled to the Mth local renamer for making the updated local state consistent with a current machine state of the superscalar processor by making unknown source operands associated with each of the locally renamed blocks at the Mth level consistent with corresponding destinations specified in other locally renamed blocks of instructions at the Mth level.