Superscalar RISC instruction scheduling
First Claim
1. A system, comprising:
- a data-dependency checker configured to provide data-dependency results indicating a dependency between one or more instructions in an instruction window; and
tag-assignment logic configured to receive the data-dependency results from the data-dependency checker and to output a tag in place of a register address for an operand of a first instruction if the first instruction is dependent on a previous instruction in the instruction window, wherein the tag comprises an address of the operand.
7 Assignments
0 Petitions
Accused Products
Abstract
A register renaming system for out-of-order execution of a set of reduced instruction set computer instructions having addressable source and destination register fields, adapted for use in a computer having an instruction execution unit with a register file accessed by read address ports and for storing instruction operands. A data dependance check circuit is included for determining data dependencies between the instructions. A tag assignment circuit generates one or more tags to specify the location of operands, based on the data dependencies determined by the data dependance check circuit. A set of register file port multiplexers select the tags generated by the tag assignment circuit and pass the tags onto the read address ports of the register file for storing execution results.
317 Citations
18 Claims
-
1. A system, comprising:
-
a data-dependency checker configured to provide data-dependency results indicating a dependency between one or more instructions in an instruction window; and tag-assignment logic configured to receive the data-dependency results from the data-dependency checker and to output a tag in place of a register address for an operand of a first instruction if the first instruction is dependent on a previous instruction in the instruction window, wherein the tag comprises an address of the operand. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system, comprising:
-
a memory unit configured to store instructions; a bus coupled to the memory unit and configured to retrieve the instructions; and a processor coupled to the bus, wherein the processor comprises a register-renaming system, comprising; a data-dependency checker configured to provide data-dependency results indicating a dependency between one or more instructions in an instruction window; and tag-assignment logic configured to receive the data-dependency results from the data-dependency checker and to output a tag in place of a register address for an operand of a first instruction if the first instruction is dependent on a previous instruction in the instruction window, wherein the tag comprises an address of the operand. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A register-renaming method, comprising:
-
providing data-dependency results that indicate a dependency between one or more instructions in an instruction window; and outputting a tag in place of a register address for an operand of a first instruction if the first instruction is dependent, as indicated by the data-dependency results, on a previous instruction in the instruction window, wherein the tag comprises an address of the operand. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification