Storing narrow produced values for instruction operands directly in a register map in an out-of-order processor
First Claim
1. An instruction processing system for a processor, comprising:
- an in-order processing stage configured to fetch an instruction from an instruction memory; and
an out-of-order processing stage, comprising;
an execution circuit configured to execute the instruction; and
a writeback circuit configured to;
determine if a produced value generated for the executed instruction in the execution circuit is a narrow produced value; and
responsive to the produced value for the executed instruction being a narrow produced value, write back the narrow produced value as information to a mapping entry mapped to a logical register of a destination register operand of the executed instruction, of a register map table (RMT) comprising a plurality of mapping entries each configured to store at least one address pointer pointing to an address of a physical register in a physical register file (PRF);
wherein;
the in-order processing stage further comprises;
a register access (RACC) circuit configured to;
access a physical register in the physical register file (PRF) comprising a plurality of physical registers, based on a logical register of a source register operand of the instruction to retrieve a produced value from the executed instruction in the execution circuit; and
provide the retrieved produced value as the source register operand of the instruction; and
the out-of-order processing stage further comprises;
a dispatch circuit configured to;
dispatch the instruction from the RACC circuit to the execution circuit to be executed when all source register operands for the instruction are available.
1 Assignment
0 Petitions
Accused Products
Abstract
Storing narrow produced values for instruction operands directly in a register map in an out-of-order processor (OoP) is provided. An OoP is provided that includes an instruction processing system. The instruction processing system includes a number of instruction processing stages configured to pipeline the processing and execution of instructions according to a dataflow execution. The instruction processing system also includes a register map table (RMT) configured to store address pointers mapping logical registers to physical registers in a physical register file (PRF) for storing produced data for use by consumer instructions without overwriting logical registers for later executed, out-of-order instructions. In certain aspects, the instruction processing system is configured to write back (i.e., store) narrow values produced by executed instructions directly into the RMT, as opposed to writing the narrow produced values into the PRF in a write back stage.
-
Citations
30 Claims
-
1. An instruction processing system for a processor, comprising:
-
an in-order processing stage configured to fetch an instruction from an instruction memory; and an out-of-order processing stage, comprising; an execution circuit configured to execute the instruction; and a writeback circuit configured to; determine if a produced value generated for the executed instruction in the execution circuit is a narrow produced value; and responsive to the produced value for the executed instruction being a narrow produced value, write back the narrow produced value as information to a mapping entry mapped to a logical register of a destination register operand of the executed instruction, of a register map table (RMT) comprising a plurality of mapping entries each configured to store at least one address pointer pointing to an address of a physical register in a physical register file (PRF); wherein; the in-order processing stage further comprises; a register access (RACC) circuit configured to; access a physical register in the physical register file (PRF) comprising a plurality of physical registers, based on a logical register of a source register operand of the instruction to retrieve a produced value from the executed instruction in the execution circuit; and provide the retrieved produced value as the source register operand of the instruction; and the out-of-order processing stage further comprises; a dispatch circuit configured to; dispatch the instruction from the RACC circuit to the execution circuit to be executed when all source register operands for the instruction are available. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. An instruction processing system for a processor, comprising:
-
a means for fetching an instruction from an instruction memory; a means for executing the instruction; a means for determining if a produced value generated for the executed instruction is a narrow produced value; responsive to the produced value for the executed instruction being a narrow produced value, a means for writing back the narrow produced value as information to a mapping entry mapped to a logical register of a destination register operand of the executed instruction, of a register map table (RMT) comprising a plurality of mapping entries each configured to store at least one address pointer pointing to an address of a physical register in a physical register file (PRF); a means for accessing a physical register in the physical register file (PRF) comprising a plurality of physical registers, based on a mapping entry mapped to a logical register of a source register operand of the instruction to retrieve a produced value from the executed instruction in an execution circuit in an out-of-order processing stage; a means for providing the retrieved produced value as the source register operand of the instruction; and a means for dispatching the instruction from an in-order processing stage to the execution circuit in the out-of-order processing stage to be executed when all source register operands for the instruction are available.
-
-
25. A method of processing an instruction in a processor, comprising:
-
fetching an instruction in an in-order processing stage from an instruction memory; executing the instruction in an out-of-order processing stage; determining if a produced value generated for the executed instruction is a narrow produced value; and responsive to the produced value for the executed instruction being a narrow produced value, writing back the narrow produced value from the out-of-order processing stage as information to a mapping entry mapped to a logical register of a destination register operand of the executed instruction, of a register map table (RMT) comprising a plurality of mapping entries each configured to store at least one address pointer pointing to an address of a physical register in a physical register file (PRF); accessing, in the in-order processing stage, a physical register in the physical register file (PRF) comprising a plurality of physical registers, based on a mapping entry mapped to a logical register of a source register operand of the instruction to retrieve a produced value from the executed instruction in an execution circuit in the out-of-order processing stage; providing, in the in-order processing stage, the retrieved produced value as the source register operand of the instruction; and dispatching the instruction from the in-order processing stage to the execution circuit in the out-of-order processing stage to be executed when all source register operands for the instruction are available. - View Dependent Claims (26, 27, 28, 29, 30)
-
Specification