Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
116 words
A superscalar microprocessor, comprising: means for storing data in a plurality of registers identifiable by register references, said plurality of registers including a predetermined register and a temporary register, wherein said temporary register is configured for storing out-of-order execution results; means for fetching a predetermined sequence of instructions to be executed, wherein an instruction of said predetermined sequence of instructions includes a register reference; and executing means, coupled to said fetching means, for executing said instructions out of said predetermined sequence, said executing means including means, coupled to said storing means, for selecting said temporary register where the execution of said instruction provides said register reference to select said predetermined register for the storage of data.
Claim 2
Dependent Claim
116 words
A superscalar microprocessor, comprising: means for storing data in a plurality of registers identifiable by register references, said plurality of registers including a predetermined register and a temporary register, wherein said temporary register is configured for storing out-of-order execution results; means for fetching a predetermined sequence of instructions to be executed, wherein an instruction of said predetermined sequence of instructions includes a register reference; and executing means, coupled to said fetching means, for executing said instructions out of said predetermined sequence, said executing means including means, coupled to said storing means, for selecting said temporary register where the execution of said instruction provides said register reference to select said predetermined register for the storage of data.
Claim 3
Dependent Claim
57 words
The microprocessor according to claim 1, wherein: said executing means further includes: means for determining whether all instructions in said predetermined sequence of instructions prior to said instruction have been executed and means, responsive to said determining means and coupled to said storing means, for transferring the data stored by said temporary register to said predetermined register.
Claim 4
Dependent Claim
258 words
A computer system, comprising: a main memory bus; input/output bus; and means for processing instructions, operably coupled with said main memory bus and said input/output bus, said processing means including: means for obtaining instructions to be executed over said main memory bus, wherein said instructions having a predetermined program order and one of said instructions includes a register reference, means for storing respective data in a plurality of registers including a predetermined register and a temporary register, wherein said temporary register is configured for storing out-of-order execution results, means for executing said instructions via one of a plurality of functional unit means, wherein said executing means is operably coupled with said obtaining means, said executing means including means for directing the storage of data by said one instruction to said temporary register, wherein said register reference is said predetermined register and said one instruction is executed out of said predetermined program order, and means for retiring said executed instructions in said predetermined program order; and bus means for providing plural data routing paths between said one of predetermined register and said temporary register, and said plurality of functional unit means; and means for controlling the operation of said bus means to transfer data between one of said predetermined register and said temporary register, and said plurality of functional unit means; wherein said means for controlling provides for concurrent execution of said instructions, said controlling means controlling the initiation of said concurrent execution of instructions based on the availability of said functional unit means for the processing of data.
Claim 5
Dependent Claim
258 words
A computer system, comprising: a main memory bus; input/output bus; and means for processing instructions, operably coupled with said main memory bus and said input/output bus, said processing means including: means for obtaining instructions to be executed over said main memory bus, wherein said instructions having a predetermined program order and one of said instructions includes a register reference, means for storing respective data in a plurality of registers including a predetermined register and a temporary register, wherein said temporary register is configured for storing out-of-order execution results, means for executing said instructions via one of a plurality of functional unit means, wherein said executing means is operably coupled with said obtaining means, said executing means including means for directing the storage of data by said one instruction to said temporary register, wherein said register reference is said predetermined register and said one instruction is executed out of said predetermined program order, and means for retiring said executed instructions in said predetermined program order; and bus means for providing plural data routing paths between said one of predetermined register and said temporary register, and said plurality of functional unit means; and means for controlling the operation of said bus means to transfer data between one of said predetermined register and said temporary register, and said plurality of functional unit means; wherein said means for controlling provides for concurrent execution of said instructions, said controlling means controlling the initiation of said concurrent execution of instructions based on the availability of said functional unit means for the processing of data.
Claim 6
Dependent Claim
23 words
The computer system according to claim 3, further comprising: means, coupled between said obtaining means and said execution means, for buffering said instructions.
Claim 7
Dependent Claim
23 words
The computer system according to claim 4, further comprising: means, coupled to said buffering means, for simultaneously performing decoding of said buffered instructions.
Claim 8
Dependent Claim
29 words
The computer system according to claim 4, further comprising: means, coupled to said buffering means, for simultaneously performing renaming of source and destination register operands for said buffered instructions.
Claim 9
Dependent Claim
49 words
The computer system according to claim 3, further comprising: means for determining whether all instructions in said predetermined program order have been executed and means, responsive to said determining means and coupled to said storing means, for transferring the data stored by said temporary register to said predetermined register.
Claim 10
Dependent Claim
156 words
A superscalar microprocessor, comprising: a fetch unit to retrieve instructions from a memory in a predetermined program order, wherein one of said instructions includes a register reference; a register file including a predetermined register and a temporary register, wherein said temporary register stores out-of-order execution results; an execution unit, operably coupled with said fetch unit, including a plurality of functional units, wherein said plurality of functional units concurrently execute at least two of said instructions based on availability of at least two of said plurality of functional units, and execute said one of said instructions out of said predetermined program order and store an execution result in said temporary register based on said register reference, rather than in said predetermined register; a retirement unit to retire said instructions in said predetermined program order; and data bus system to route data between one of said predetermined register and said temporary register, and said plurality of functional units.
Claim 11
Dependent Claim
156 words
A superscalar microprocessor, comprising: a fetch unit to retrieve instructions from a memory in a predetermined program order, wherein one of said instructions includes a register reference; a register file including a predetermined register and a temporary register, wherein said temporary register stores out-of-order execution results; an execution unit, operably coupled with said fetch unit, including a plurality of functional units, wherein said plurality of functional units concurrently execute at least two of said instructions based on availability of at least two of said plurality of functional units, and execute said one of said instructions out of said predetermined program order and store an execution result in said temporary register based on said register reference, rather than in said predetermined register; a retirement unit to retire said instructions in said predetermined program order; and data bus system to route data between one of said predetermined register and said temporary register, and said plurality of functional units.
Claim 12
Dependent Claim
25 words
The superscalar microprocessor according to claim 8, further comprising: an instruction buffer, coupled between said fetch unit and said execution unit, for buffering said instructions.
Claim 13
Dependent Claim
19 words
The superscalar microprocessor according to claim 9, further comprising: means, coupled to said fetch unit, for performing branch prediction.
Claim 14
Dependent Claim
23 words
The superscalar microprocessor according to claim 9, further comprising: means, coupled to said register file, for performing register renaming and data dependency checking.