SPECULATIVE FINISH OF INSTRUCTION EXECUTION IN A PROCESSOR CORE
First Claim
1. A method of data processing, comprising:
- tracking high latency operations of a processor core in entries of a data structure associated with an execution unit of a processor core;
in the execution unit, prior to completion of a high latency operation tracked by an entry of the data structure, speculatively finishing execution of an instruction dependent on the high latency operation, wherein the speculatively finishing includes reporting an identifier of the entry to completion logic of the processor core and freeing a resource in an execution pipeline of the execution unit utilized by instruction; and
the completion logic recording a dependence of the instruction on the high latency operation and committing an execution result of the instruction to an architected state of the processor core only after successful completion of the high latency operation.
1 Assignment
0 Petitions
Accused Products
Abstract
In a processor core, high latency operations are tracked in entries of a data structure associated with an execution unit of the processor core. In the execution unit, execution of an instruction dependent on a high latency operation tracked by an entry of the data structure is speculatively finished prior to completion of the high latency operation. Speculatively finishing the instruction includes reporting an identifier of the entry to completion logic of the processor core and removing the instruction from an execution pipeline of the execution unit. The completion logic records dependence of the instruction on the high latency operation and commits execution results of the instruction to an architected state of the processor only after successful completion of the high latency operation.
39 Citations
18 Claims
-
1. A method of data processing, comprising:
-
tracking high latency operations of a processor core in entries of a data structure associated with an execution unit of a processor core; in the execution unit, prior to completion of a high latency operation tracked by an entry of the data structure, speculatively finishing execution of an instruction dependent on the high latency operation, wherein the speculatively finishing includes reporting an identifier of the entry to completion logic of the processor core and freeing a resource in an execution pipeline of the execution unit utilized by instruction; and the completion logic recording a dependence of the instruction on the high latency operation and committing an execution result of the instruction to an architected state of the processor core only after successful completion of the high latency operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A processor core, comprising:
-
a data structure including multiple entries for tracking high latency operations associated with instructions executed by the processor core; an execution pipeline that executes instructions, wherein the execution pipeline, prior to completion of a high latency operation tracked by an entry of the data structure, speculatively finishes execution of an instruction dependent on the high latency operation by reporting an identifier of the entry and freeing a resource in the execution pipeline utilized by instruction; and completion logic that, responsive to the identifier of the entry, records a dependence of the instruction on the high latency operation and commits an execution result of the instruction to an architected state of the processor core only after successful completion of the high latency operation. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A design structure tangibly embodied in a machine-readable storage medium for designing, manufacturing, or testing an integrated circuit, the design structure comprising:
a processor core, including; a data structure including multiple entries for tracking high latency operations associated with instructions executed by the processor core; an execution pipeline that executes instructions, wherein the execution pipeline, prior to completion of a high latency operation tracked by an entry of the data structure, speculatively finishes execution of an instruction dependent on the high latency operation by reporting an identifier of the entry and freeing a resource in the execution pipeline utilized by instruction; and completion logic that, responsive to the identifier of the entry, records a dependence of the instruction on the high latency operation and commits an execution result of the instruction to an architected state of the processor core only after successful completion of the high latency operation. - View Dependent Claims (18)
Specification