Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
209 words
A method of preprocessing and executing multiple instructions in a pipelined processor, said instructions including opcodes and operand specifiers, said pipelined processor including multiple and separate functional units for executing various classes of said instructions, said method comprising the steps of: decoding said instructions to obtain said opcodes and operand specifiers; fetching source operands specified by said operand specifiers; operating a microcode-controlled issue unit to issue the source operands to the respective functional units indicated by the decoded opcodes, and for each of the instructions, to insert an entry into a result queue when an instruction is issued to a functional unit and the destination for the result is known, the entry indicating the particular functional unit and the destination for the result of the functional unit, wherein instructions are issued before their destinations are known; operating the functional units in parallel to execute the various classes of said instructions including integer instructions, floating point instructions, multiply instructions, and divide instructions; and successively retiring results by retiring the result from the functional unit indicated by the entry at the head of the result queue when the result is available and when the destination indicated by the entry is available, and removing the entry from the head of the queue.
Claim 2
Independent Claim
209 words
A method of preprocessing and executing multiple instructions in a pipelined processor, said instructions including opcodes and operand specifiers, said pipelined processor including multiple and separate functional units for executing various classes of said instructions, said method comprising the steps of: decoding said instructions to obtain said opcodes and operand specifiers; fetching source operands specified by said operand specifiers; operating a microcode-controlled issue unit to issue the source operands to the respective functional units indicated by the decoded opcodes, and for each of the instructions, to insert an entry into a result queue when an instruction is issued to a functional unit and the destination for the result is known, the entry indicating the particular functional unit and the destination for the result of the functional unit, wherein instructions are issued before their destinations are known; operating the functional units in parallel to execute the various classes of said instructions including integer instructions, floating point instructions, multiply instructions, and divide instructions; and successively retiring results by retiring the result from the functional unit indicated by the entry at the head of the result queue when the result is available and when the destination indicated by the entry is available, and removing the entry from the head of the queue.
Claim 3
Dependent Claim
62 words
The method as claimed in claim 1, wherein the entry includes a flag indicating whether the result is to be written into memory, and wherein destination addresses for results to be written to memory are not stored in the result queue, but instead are forwarded to a memory unit for address translation while the results are being obtained by the functional units.
Claim 4
Dependent Claim
18 words
The method as claimed in claim 1, wherein the entry includes a context field indicating the result context.
Claim 5
Dependent Claim
16 words
The method as claimed in claim 1, wherein the entry includes flags for enabling condition codes.
Claim 6
Dependent Claim
21 words
The method as claimed in claim 1, wherein the entry includes a flag that marks the end of a macro instruction.
Claim 7
Dependent Claim
21 words
The method as claimed in claim 1, wherein the entry includes a flag that marks the end of a macro branch.
Claim 8
Dependent Claim
94 words
The method as claimed in claim 1, wherein the entry includes a flag indicating whether the retiring of a result must wait for acknowledgement of a successful memory write operation before completing subsequent retirement operations, and wherein the retiring of a result waits for acknowledgement of a successful memory write operation when said flag indicates that the retiring of a result must wait, and the retiring of a result does not wait for acknowledgement of a successful memory write operation when said flag does not indicate that the retiring of a result must wait.
Claim 9
Dependent Claim
46 words
The method as claimed in claim 1, wherein the entry includes a flag indicating whether a result is to be written somewhere, and wherein the retiring of the result ignores the result when said flag does not indicate that the result is to be written somewhere.
Claim 10
Dependent Claim
42 words
The method as claimed in claim 1, wherein said functional units include an integer unit, and wherein said method further includes controlling said integer unit by microcode which controls said issue unit, and controlling the other functional units independently of said microcode.
Claim 11
Dependent Claim
62 words
The method as claimed in claim 1, wherein said issue unit is controlled by microcode including microcode sequences for executing respective instruction opcodes, and wherein at least one of said microcode sequences provides a destination addresses for a respective instruction, and wherein the issue unit loads the result queue with said destination address at the beginning of execution of said respective instruction.
Claim 12
Independent Claim
235 words
A method of preprocessing and executing multiple instructions in a pipelined processor, said instructions including opcodes and operand specifiers, said pipelined processor including multiple and separate functional units for executing various classes of said instructions, said method comprising the steps of: decoding said instructions to obtain said opcodes and operand specifiers; fetching source operands specified by said operand specifiers; operating a microcode-controlled issue unit to issue the source operands to the respective functional units indicated by the decoded opcodes, and for each of the instructions, to insert an entry into a result queu when an instruction is issued to a functional unit and the destination for the result is known, the entry indicating the particular functional unit and the destination for the result of the functional unit; operating the functional units in parallel to execute the various classes of said instructions including integer instructions, floating point instructions, multiply instructions, and divide instructions, wherein said functional units include an integer unit, and wherein said method further includes controlling said integer unit by microcode which controls said issue unit, and controlling the other functional units independently of said microcode; and successively retiring results by retiring the result from the functional unit indicated by the entry at the head of the result queue when the result is available and when the destination indicated by the entry is available, and removing the entry from the head of the queue.
Claim 13
Independent Claim
235 words
A method of preprocessing and executing multiple instructions in a pipelined processor, said instructions including opcodes and operand specifiers, said pipelined processor including multiple and separate functional units for executing various classes of said instructions, said method comprising the steps of: decoding said instructions to obtain said opcodes and operand specifiers; fetching source operands specified by said operand specifiers; operating a microcode-controlled issue unit to issue the source operands to the respective functional units indicated by the decoded opcodes, and for each of the instructions, to insert an entry into a result queu when an instruction is issued to a functional unit and the destination for the result is known, the entry indicating the particular functional unit and the destination for the result of the functional unit; operating the functional units in parallel to execute the various classes of said instructions including integer instructions, floating point instructions, multiply instructions, and divide instructions, wherein said functional units include an integer unit, and wherein said method further includes controlling said integer unit by microcode which controls said issue unit, and controlling the other functional units independently of said microcode; and successively retiring results by retiring the result from the functional unit indicated by the entry at the head of the result queue when the result is available and when the destination indicated by the entry is available, and removing the entry from the head of the queue.
Claim 14
Dependent Claim
62 words
The method as claimed in claim 11, wherein the entry includes a flag indicating whether the result is to be written into memory, and wherein destination addresses for results to be written to memory are not stored in the result queue, but instead are forwarded to a memory unit for address translation while the results are being obtained by the functional units.
Claim 15
Dependent Claim
21 words
The method as claimed in claim 11, wherein the entry includes a flag that marks the end of a macro instruction.
Claim 16
Dependent Claim
21 words
The method as claimed in claim 11, wherein the entry includes a flag that marks the end of a macro branch.
Claim 17
Dependent Claim
94 words
The method as claimed in claim 11, wherein the entry includes a flag indicating whether the retiring of a result must wait for acknowledgement of a successful memory write operation before completing subsequent retirement operations, and wherein the retiring of a result waits for acknowledgement of a successful memory write operation when said flag indicates that the retiring of a result must wait, and the retiring of a result does not wait for acknowledgement of a successful memory write operation when said flag does not indicate that the retiring of a result must wait.
Claim 18
Dependent Claim
46 words
The method as claimed in claim 11, wherein the entry includes a flag indicating whether a result is to be written somewhere, and wherein the retiring of the result ignores the result when said flag does not indicate that the result is to be written somewhere.
Claim 19
Dependent Claim
62 words
The method as claimed in claim 11, wherein said issue unit is controlled by microcode including microcode sequences for executing respective instruction opcodes, and wherein at least one of said microcode sequences provides a destination addresses for a respective instruction, and wherein the issue unit loads the result queue with said destination address at the beginning of execution of said respective instruction.
Claim 20
Dependent Claim
181 words
A pipelined processor for preprocessing and executing multiple instructions, said instructions including opcodes and operand specifiers, said processor including means for decoding said instructions to obtain said opcodes and said operand specifiers, means for fetching source operands specified by said operand specifiers, multiple and separate functional units for executing various classes of said instructions, means responsive to the decoded opcodes for issuing commands and source operands to the respective functional units to initiate parallel execution of the various classes of instructions, and means for retiring results from the respective functional units, wherein said means for issuing commands and source operands includes a microcode controlled issue unit, said functional units include an integer unit controlled by said microcode, and the other functional units are controlled independently of said microcode, said means for retiring results from the respective functional units includes a result queue, means for loading entries into the result queue identifying respective functional units and respective destinations for their results, and means for retiring results from respective functional units and to respective destinations indicated by the entries in the result queue.
Claim 21
Dependent Claim
181 words
A pipelined processor for preprocessing and executing multiple instructions, said instructions including opcodes and operand specifiers, said processor including means for decoding said instructions to obtain said opcodes and said operand specifiers, means for fetching source operands specified by said operand specifiers, multiple and separate functional units for executing various classes of said instructions, means responsive to the decoded opcodes for issuing commands and source operands to the respective functional units to initiate parallel execution of the various classes of instructions, and means for retiring results from the respective functional units, wherein said means for issuing commands and source operands includes a microcode controlled issue unit, said functional units include an integer unit controlled by said microcode, and the other functional units are controlled independently of said microcode, said means for retiring results from the respective functional units includes a result queue, means for loading entries into the result queue identifying respective functional units and respective destinations for their results, and means for retiring results from respective functional units and to respective destinations indicated by the entries in the result queue.
Claim 22
Dependent Claim
102 words
The pipelined processor as claimed in claim 18, wherein each of said entries includes a flag indicating whether the retiring of a result must wait for acknowledgement of a successful memory write operation before completing subsequent retirement operations, and wherein said means for retiring results includes means for waiting for acknowledgement of a successful memory write operation when said flag indicates that the retiring of a result must wait, and means for completing the retiring of a result without waiting for acknowledgement of a successful memory write operation when said flag does not indicate that the retiring of a result must wait.
Claim 23
Dependent Claim
65 words
The method as claimed in claim 18, wherein said issue unit is controlled by microcode including microcode sequences for executing respective instruction opcodes, and wherein at least one of said microcode sequences provides a destination addresses for a respective instruction, and wherein the issue unit includes means for loading the result queue with said destination address at the beginning of execution of said respective instruction.