Processor and instruction control method
First Claim
1. A processor comprising:
- an instruction issuing unit which issues fetched and decoded instructions to a reservation station by an in-order;
an instruction executing unit which executes the instructions held in said reservation station by out-of-order;
a committing unit which discriminates a commitment of the instructions executed by said instruction executing unit and completes them by the in-order;
an instruction fetching unit which simultaneously fetches a plurality of instructions including a condition code update instruction serving as a previous instruction and a condition code read instruction serving as a following instruction into said instruction issuing unit;
a renaming map update processing unit which, at a decoding stage of said previous instruction, when a renaming register which holds update data until the commitment of the instruction is allocated, condition code information including a register number of said renaming register is registered into a renaming map for the condition code;
a renaming map reference processing unit which develops said following instruction into a multiflow, transfers and holds the multiflow instruction into a multiflow instruction word register by setting the same decoding stage as that of said previous instruction to a no-operation, and at the next decoding stage of the following instruction, stores the condition code information of the previous instruction registered in said renaming map for the condition code into a source register area of a previous instruction allocation entry stored in said reservation station;
a forward control discriminating unit which, at a priority stage of said previous instruction, compares the renaming register number of the execution result with the renaming register number in the previous instruction allocation entry in said reservation station and, when they coincide, notifies said instruction executing unit of completion of preparation for forward control of condition data for the following instruction and allows said instruction executing unit to execute the instruction; and
a condition data write processing unit which, at an updating stage of said previous instruction, stores condition code data obtained as an execution result of the previous instruction into the source register area of the previous instruction allocation entry stored in said reservation station.
1 Assignment
0 Petitions
Accused Products
Abstract
A following CC read instruction which is decoded simultaneously with a previous CC update instruction is developed into a multiflow. The first flow is set to a no-operation. A CC renaming update is executed by a CC renaming map update processing unit by the decoding of the previous CC update instruction. The resultant instruction is stored into a CC read instruction multiflow instruction word register. At the next second flow, the CC read instruction is issued from the multiflow instruction word register and, in a state where another instruction is not simultaneously issued, a CC renaming map is referred to by a CC renaming map reference processing unit by the decoding of the CC read instruction.
18 Citations
10 Claims
-
1. A processor comprising:
-
an instruction issuing unit which issues fetched and decoded instructions to a reservation station by an in-order;
an instruction executing unit which executes the instructions held in said reservation station by out-of-order;
a committing unit which discriminates a commitment of the instructions executed by said instruction executing unit and completes them by the in-order;
an instruction fetching unit which simultaneously fetches a plurality of instructions including a condition code update instruction serving as a previous instruction and a condition code read instruction serving as a following instruction into said instruction issuing unit;
a renaming map update processing unit which, at a decoding stage of said previous instruction, when a renaming register which holds update data until the commitment of the instruction is allocated, condition code information including a register number of said renaming register is registered into a renaming map for the condition code;
a renaming map reference processing unit which develops said following instruction into a multiflow, transfers and holds the multiflow instruction into a multiflow instruction word register by setting the same decoding stage as that of said previous instruction to a no-operation, and at the next decoding stage of the following instruction, stores the condition code information of the previous instruction registered in said renaming map for the condition code into a source register area of a previous instruction allocation entry stored in said reservation station;
a forward control discriminating unit which, at a priority stage of said previous instruction, compares the renaming register number of the execution result with the renaming register number in the previous instruction allocation entry in said reservation station and, when they coincide, notifies said instruction executing unit of completion of preparation for forward control of condition data for the following instruction and allows said instruction executing unit to execute the instruction; and
a condition data write processing unit which, at an updating stage of said previous instruction, stores condition code data obtained as an execution result of the previous instruction into the source register area of the previous instruction allocation entry stored in said reservation station. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An instruction control method of a processor, comprising:
-
an instruction issuing step wherein instructions which were fetched and decoded are issued to a reservation station by in-order;
an instruction executing step wherein the instructions held in said reservation station are executed by out-of-order;
a committing step wherein a commitment of the instructions executed in said instruction executing step is discriminated and the instructions are completed by the in-order;
an instruction fetching step wherein a plurality of instructions including a condition code update instruction serving as a previous instruction and a condition code read instruction serving as a following instruction are simultaneously fetched into an instruction issuing unit;
a renaming map updating step wherein at a decoding stage of said previous instruction, when a renaming register which holds update data until the commitment of the instruction is allocated, condition code information including a register number of the renaming register is registered into a renaming map for the condition code;
a renaming map referring step wherein said following instruction is developed into a multiflow, the multiflow instruction is transferred and held into a multiflow instruction word register by setting the same decoding stage as that of said previous instruction to a no-operation, and at the next decoding stage of the following instruction, condition code information of the previous instruction registered in said renaming map for the condition code is stored into a source register area in a previous instruction allocation entry stored in said reservation station;
a forward control discriminating step wherein at a priority stage of said previous instruction, a renaming address number of an execution result is compared with a renaming register number in the previous instruction allocation entry in said reservation station, and when they coincide, an instruction executing unit is notified of completion of preparation of forward control of condition data for the following instruction and is allowed to execute the instruction; and
a condition data writing step wherein at an update stage of the previous instruction, condition code data obtained as an execution result of the previous instruction is stored into the source register area in the previous instruction allocation entry stored in said reservation station. - View Dependent Claims (7, 8, 9, 10)
-
Specification