Processor apparatus for executing instructions with local slack prediction of instructions and processing method therefor
First Claim
1. A processor apparatus for predicting predicted slack which is a predicted value of local slack of an instruction to be executed by the processor apparatus and executing the instruction using the predicted slack, the processor apparatus comprising:
- a storage unit for storing a slack table including the predicted slack;
a setting unit for referring to the slack table upon execution of an instruction to obtain predicted slack of the instruction and increasing execution latency by an amount equivalent to the obtained predicted slack;
an estimation unit for estimating, based on behavior exhibited upon execution of the instruction, whether or not the predicted slack has reached target slack which is an appropriate value of current local slack of the instruction; and
an update unit for gradually increasing the predicted slack each time the instruction is executed until it is estimated by the estimation unit that the predicted slack has reached the target slack.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor predicts predicted slack which is a predicted value of local slack of an instruction to be executed and executes the instruction using the predicted slack. A slack table is referred to upon execution of an instruction to obtain predicted slack of the instruction and execution latency is increased by an amount equivalent to the obtained predicted slack. Then, it is estimated, based on behavior exhibited upon execution of the instruction, whether or not the predicted slack has reached target slack which is an appropriate value of current local slack of the instruction. The predicted slack is gradually increased each time the instruction is executed, until it is estimated that the predicted slack has reached the target slack.
26 Citations
36 Claims
-
1. A processor apparatus for predicting predicted slack which is a predicted value of local slack of an instruction to be executed by the processor apparatus and executing the instruction using the predicted slack, the processor apparatus comprising:
-
a storage unit for storing a slack table including the predicted slack;
a setting unit for referring to the slack table upon execution of an instruction to obtain predicted slack of the instruction and increasing execution latency by an amount equivalent to the obtained predicted slack;
an estimation unit for estimating, based on behavior exhibited upon execution of the instruction, whether or not the predicted slack has reached target slack which is an appropriate value of current local slack of the instruction; and
an update unit for gradually increasing the predicted slack each time the instruction is executed until it is estimated by the estimation unit that the predicted slack has reached the target slack. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A processing method for use in a processor apparatus that predicts predicted slack which is a predicted value of local slack of an instruction to be executed by the processor apparatus and executes the instruction using the predicted slack, the processing method including:
a control step of executing an instruction to be executed by the processor apparatus such that execution latency of the instruction is increased by an amount equivalent to a value of the predicted slack, estimating, based on behavior exhibited upon execution of the instruction, whether or not the predicted slack has reached target slack which is an appropriate value of current local slack, and updating the predicted slack each time the instruction is executed so as to gradually increase the predicted slack, until it is estimated that the predicted slack has reached the target slack. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
22. A processor apparatus for predicting predicted slack which is a predicted value of local slack of an instruction to be stored at a memory address of a main storage apparatus and executed by the processor apparatus, and executing the instruction using the predicted slack, the processor apparatus comprising:
a control unit for predicting and determining that a store instruction having predicted slack larger than or equal to a predetermined threshold value has no data dependency relationship with a subsequent load instruction to the store instruction and speculatively executing the subsequent load instruction even if a memory address of the store instruction is not known. - View Dependent Claims (23, 24)
-
25. A processing method for use in a processor apparatus for predicting predicted slack which is a predicted value of local slack of an instruction to be stored at a memory address of a main storage apparatus and executed by the processor apparatus, and executing the instruction using the predicted slack, the processing method comprising:
a control step of predicting and determining that a store instruction having predicted slack larger than or equal to a predetermined threshold value has no data dependency relationship with a subsequent load instruction to the store instruction and speculatively executing the subsequent load instruction even if a memory address of the store instruction is not known. - View Dependent Claims (26, 27)
-
28. A processor apparatus for predicting, using a predetermined first prediction method, predicted slack which is a predicted value of local slack of an instruction to be stored at a memory address of a main storage apparatus and executed by the processor apparatus, and executing the instruction using the predicted slack, the processor apparatus comprising:
a control unit for propagating, using a second prediction method which is a slack prediction method based on shared information and based on an instruction having local slack, shared information indicating that there is sharable slack, from a dependent destination to a dependent source between instructions that do not have local slack, and determining an amount of local slack used by each instruction based on the shared information and using a predetermined heuristic technique, thereby performing control to enable the instructions that do not have local slack to use local slack. - View Dependent Claims (29, 30, 31, 32)
-
33. A processing method for use in a processor apparatus for predicting, using a predetermined first prediction method, predicted slack which is a predicted value of local slack of an instruction to be stored at a memory address of a main storage apparatus and executed by the processor apparatus, and executing the instruction using the predicted slack, the processing method comprising:
a control step of propagating, using a second prediction method which is a slack prediction method based on shared information and based on an instruction having local slack, shared information indicating that there is sharable slack, from a dependent destination to a dependent source between instructions that do not have local slack, and determining an amount of local slack used by each instruction based on the shared information and using a predetermined heuristic technique, thereby performing control to enable the instructions that do not have local slack to use local slack. - View Dependent Claims (34, 35, 36)
Specification