Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
248 words
A pipelined method for executing a plurality of instructions in a computer system, said method comprising the steps of: decoding the plurality of instructions in order in an in-order processing portion of a processor to produce a plurality of operations, issuing the plurality of operations to an out-of-order execution core in the processor at the same time, wherein the step of issuing comprises writing the plurality of operations into a reservation station and simultaneously reading source data from a reorder buffer, separate from the reservation station, for use in execution of the plurality of operations only if indicated as ready in a register file maintained outside the reorder buffer in the first in-order portion of the processor; executing the plurality of operations with at least one of said plurality of operations being executed out-of-order, wherein the step of executing includes the steps of scheduling and dispatching individual operations as data required for execution is ready, executing each of said individual operations, and writing back results from execution, wherein the step of writing back includes the steps of associatively writing data results directly into the reservation station for use by one or more individual operations in the reservation station during execution and writing data results into the reorder buffer; and further wherein the steps of scheduling and dispatching, executing and writing back are performed in consecutive pipestages; and committing results from execution of the plurality of operations to architectural state in order of issuance to the out-of-order execution core.
Claim 2
Dependent Claim
248 words
A pipelined method for executing a plurality of instructions in a computer system, said method comprising the steps of: decoding the plurality of instructions in order in an in-order processing portion of a processor to produce a plurality of operations, issuing the plurality of operations to an out-of-order execution core in the processor at the same time, wherein the step of issuing comprises writing the plurality of operations into a reservation station and simultaneously reading source data from a reorder buffer, separate from the reservation station, for use in execution of the plurality of operations only if indicated as ready in a register file maintained outside the reorder buffer in the first in-order portion of the processor; executing the plurality of operations with at least one of said plurality of operations being executed out-of-order, wherein the step of executing includes the steps of scheduling and dispatching individual operations as data required for execution is ready, executing each of said individual operations, and writing back results from execution, wherein the step of writing back includes the steps of associatively writing data results directly into the reservation station for use by one or more individual operations in the reservation station during execution and writing data results into the reorder buffer; and further wherein the steps of scheduling and dispatching, executing and writing back are performed in consecutive pipestages; and committing results from execution of the plurality of operations to architectural state in order of issuance to the out-of-order execution core.
Claim 3
Dependent Claim
112 words
The method defined in claim 1 wherein the step of decoding further includes the steps of: performing an instruction cache memory lookup to fetch the plurality of instructions, performing instruction length decoding, rotating the plurality of instructions, and decoding the plurality of instructions in an instruction decoder to generate the plurality of operations, performing register renaming, allocating resources and sending a portion of each of the plurality of operations to the reservation station, wherein the steps of performing an instruction cache memory lookup, performing instruction length decoding, rotating the plurality of instructions, decoding the plurality of instructions, and performing register renaming are performed in consecutive pipestages to generate the plurality of instructions.
Claim 4
Dependent Claim
28 words
The method defined in claim 2 wherein the step of performing instruction length decoding includes marking the plurality of instructions to identify each of the plurality of instructions.
Claim 5
Dependent Claim
29 words
The method defined in claim 2 wherein the step of rotating is performed based on an instruction fetch pointer and a number of instructions consumed by the instruction decoder.
Claim 6
Dependent Claim
20 words
The method defined in claim 2 wherein the step of decoding the plurality of instructions is performed in two pipestages.
Claim 7
Dependent Claim
33 words
The method defined in claim 2 wherein the step of performing register renaming, allocating resources and sending each of the plurality of operations to the reservation station is performed in a single pipestage.
Claim 8
Dependent Claim
16 words
The method defined in claim 1 wherein the step of retiring is performed in two pipestages.
Claim 9
Dependent Claim
233 words
A pipelined method for executing a plurality of instructions in a computer system, said method comprising the steps of: decoding the plurality of instructions in order to produce a plurality of operations, wherein the step of decoding includes the steps of maintaining a readiness indication of source data for the plurality of operations in a storage area outside a reorder buffer in an in-order processing portion of a processor; writing the plurality of operations into a reservation station in an out-of-order execution core of the processor at the same time and reading data from the reorder buffer for use in execution of the plurality of operations, simultaneously to writing the plurality of operations into the reservation station, only if data is indicated as ready in the storage area; executing the plurality of operations with at least one of the plurality of operations being executed out-of-order, wherein the step of executing includes the steps of scheduling and dispatching individual operations as data required for execution of each of the individual operations is ready, executing each of said individual operations, and writing back results from execution including associatively writing at least one result to the reservation station, wherein the steps of scheduling and dispatching, executing and writing back are performed in consecutive pipestages; and committing results from execution of the plurality of operations to architectural state in order of issuance of the plurality of operations.
Claim 10
Dependent Claim
233 words
A pipelined method for executing a plurality of instructions in a computer system, said method comprising the steps of: decoding the plurality of instructions in order to produce a plurality of operations, wherein the step of decoding includes the steps of maintaining a readiness indication of source data for the plurality of operations in a storage area outside a reorder buffer in an in-order processing portion of a processor; writing the plurality of operations into a reservation station in an out-of-order execution core of the processor at the same time and reading data from the reorder buffer for use in execution of the plurality of operations, simultaneously to writing the plurality of operations into the reservation station, only if data is indicated as ready in the storage area; executing the plurality of operations with at least one of the plurality of operations being executed out-of-order, wherein the step of executing includes the steps of scheduling and dispatching individual operations as data required for execution of each of the individual operations is ready, executing each of said individual operations, and writing back results from execution including associatively writing at least one result to the reservation station, wherein the steps of scheduling and dispatching, executing and writing back are performed in consecutive pipestages; and committing results from execution of the plurality of operations to architectural state in order of issuance of the plurality of operations.
Claim 11
Dependent Claim
112 words
The method defined in claim 8 wherein the step of decoding further includes the steps of: performing an instruction cache memory lookup to fetch the plurality of instructions, performing instruction length decoding, rotating the plurality of instructions, and decoding the plurality of instructions in an instruction decoder to generate the plurality of operations, performing register renaming, allocating resources and sending a portion of each of the plurality of operations to the reservation station, wherein the steps of performing an instruction cache memory lookup, performing instruction length decoding, rotating the plurality of instructions, decoding the plurality of instructions, and performing register renaming are performed in consecutive pipestages to generate the plurality of instructions.
Claim 12
Dependent Claim
28 words
The method defined in claim 9 wherein the step of performing instruction length decoding includes marking the plurality of instructions to identify each of the plurality of instructions.
Claim 13
Dependent Claim
29 words
The method defined in claim 9 wherein the step of rotating is performed based on an instruction fetch pointer and a number of instructions consumed by the instruction decoder.
Claim 14
Dependent Claim
20 words
The method defined in claim 9 wherein the step of decoding the plurality of instructions is performed in two pipestages.
Claim 15
Dependent Claim
33 words
The method defined in claim 9 wherein the step of performing register renaming, allocating resources and sending each of the plurality of operations to the reservation station is performed in a single pipestage.
Claim 16
Dependent Claim
16 words
The method defined in claim 8 wherein the step of retiring is performed in two pipestages.
Claim 17
Independent Claim
302 words
A method for executing a plurality of instructions in a computer system, said method comprising the steps of: providing the plurality of instructions as a plurality of operations in an in-order pipeline, wherein the step of providing the plurality of instructions includes the steps of performing an instruction cache memory lookup to fetch the plurality of instructions, performing instruction length decoding, rotating the plurality of instructions, and decoding the plurality of instructions in an instruction decoder to generate the plurality of operations, performing register renaming, allocating resources and maintaining a readiness indication of source data for the plurality of operations in a storage area outside a reorder buffer, issuing the plurality of operations including the steps sending a portion of each of the plurality of operations to a reservation station at the same time and reading source data from the reorder buffer if valid as indicated in the storage area, wherein the steps of performing an instruction cache memory lookup, performing instruction length decoding, rotating the plurality of instructions, decoding the plurality of instructions, and performing register renaming are performed in consecutive pipestages; executing the plurality of operations in an out-of-order pipeline to produce execution results, wherein the step of executing includes the steps of determining execution readiness of each of the plurality of operations and scheduling individual operations in the plurality of operations that have source data available, dispatching individual operations to an execution unit as data required for each said individual operation is ready, executing said individual operations and writing back the results, including associatively writing at least one result to the reservation station, wherein the steps of determining execution readiness, dispatching and executing are performed in consecutive pipestages; and retiring each of the plurality of operations, wherein results from execution are committed to architectural state and order is reestablished.
Claim 18
Independent Claim
302 words
A method for executing a plurality of instructions in a computer system, said method comprising the steps of: providing the plurality of instructions as a plurality of operations in an in-order pipeline, wherein the step of providing the plurality of instructions includes the steps of performing an instruction cache memory lookup to fetch the plurality of instructions, performing instruction length decoding, rotating the plurality of instructions, and decoding the plurality of instructions in an instruction decoder to generate the plurality of operations, performing register renaming, allocating resources and maintaining a readiness indication of source data for the plurality of operations in a storage area outside a reorder buffer, issuing the plurality of operations including the steps sending a portion of each of the plurality of operations to a reservation station at the same time and reading source data from the reorder buffer if valid as indicated in the storage area, wherein the steps of performing an instruction cache memory lookup, performing instruction length decoding, rotating the plurality of instructions, decoding the plurality of instructions, and performing register renaming are performed in consecutive pipestages; executing the plurality of operations in an out-of-order pipeline to produce execution results, wherein the step of executing includes the steps of determining execution readiness of each of the plurality of operations and scheduling individual operations in the plurality of operations that have source data available, dispatching individual operations to an execution unit as data required for each said individual operation is ready, executing said individual operations and writing back the results, including associatively writing at least one result to the reservation station, wherein the steps of determining execution readiness, dispatching and executing are performed in consecutive pipestages; and retiring each of the plurality of operations, wherein results from execution are committed to architectural state and order is reestablished.
Claim 19
Dependent Claim
28 words
The method defined in claim 15 wherein the step of performing instruction length decoding includes marking the plurality of instructions to identify each of the plurality of instructions.
Claim 20
Dependent Claim
29 words
The method defined in claim 15 wherein the step of rotating is performed based on an instruction fetch pointer and a number of instructions consumed by the instruction decoder.
Claim 21
Dependent Claim
20 words
The method defined in claim 15 wherein the step of decoding the plurality of instructions is performed in two pipestages.
Claim 22
Dependent Claim
33 words
The method defined in claim 15 wherein the step of performing register renaming, allocating resources and sending each of the plurality of operations to the reservation station is performed in a single pipestage.
Claim 23
Dependent Claim
28 words
The method defined in claim 15 wherein the step of executing operations determined to be data ready and writing back the results is performed in a single pipestage.
Claim 24
Dependent Claim
16 words
The method defined in claim 15 wherein the step of retiring is performed in two pipestages.
Claim 25
Dependent Claim
40 words
The method defined in claim 15 wherein the steps of performing an instruction cache memory lookup, performing instruction length decoding, rotating the plurality of instructions, decoding the plurality of instructions, and performing register renaming are performed in seven consecutive pipestages.
Claim 26
Dependent Claim
130 words
A pipeline method for executing a plurality of instructions in a computer system, said method comprising the steps of: decoding the plurality of instructions in order into a plurality of micro-operations; writing the plurality of operations into a reservation station at the same time; reading source data, simultaneously to the step of writing the plurality of micro-operations into a reservation station, from a reorder buffer only if indicated as ready in a register file outside the reorder buffer; executing the plurality of micro-operations with at least one of the plurality of micro-operations being executed out-of-order; writing back results from execution of the plurality of operations including associatively writing at least one result to the reservation station; committing results from execution of the plurality of operations to the out-of-order execution core.
Claim 27
Dependent Claim
130 words
A pipeline method for executing a plurality of instructions in a computer system, said method comprising the steps of: decoding the plurality of instructions in order into a plurality of micro-operations; writing the plurality of operations into a reservation station at the same time; reading source data, simultaneously to the step of writing the plurality of micro-operations into a reservation station, from a reorder buffer only if indicated as ready in a register file outside the reorder buffer; executing the plurality of micro-operations with at least one of the plurality of micro-operations being executed out-of-order; writing back results from execution of the plurality of operations including associatively writing at least one result to the reservation station; committing results from execution of the plurality of operations to the out-of-order execution core.