Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
405 words
In a pipelined processor, a method of decoding, preprocessing and executing instructions having an operation code, a first specifier and a following second specifier, said method comprising the steps of: detecting during decoding whether the preprocessing of the second specifier of each of said instructions modifies the value of a register specified by the first specifier of said each of said instructions, and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions modifies the value of a register specified by the first specifier of said each of said instructions, decoding the first and second specifiers of said each of said instructions sequentially; and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions does not modify the value of a register specified by the first specifier of said each of said instructions, decoding the first specifier and said second specifier of said each of said instructions simultaneously, wherein at least one of said instructions includes a first specifier that specifies a first register and a second specifier for which preprocessing modifies the value of a second register different from said first register, wherein said detecting for said at least one of said instructions detects that preprocessing of said second specifier of said at least one of said instructions modifies a register different from a register specified by the first specifier of said at least one of said instructions, and wherein said decoding for said at least one of said instructions includes the simultaneous decoding of the first specifier of said at least one of said instructions and the second specifier of said at least one of said instructions; and wherein at least another of said instructions includes a first specifier that specifies a third register and a second specifier for which preprocessing modifies the value of the same third register, wherein said detecting for said at least another of said instructions detects that preprocessing of said second specifier of said at least another of said instructions modifies a register that is the same as the register specified by the first specifier of said at least another of said instructions, and wherein said decoding for said at least another of said instructions includes the sequential decoding of the first specifier of said at least another of said instructions and then the second specifier of said at least another of said instructions.
Claim 2
Dependent Claim
405 words
In a pipelined processor, a method of decoding, preprocessing and executing instructions having an operation code, a first specifier and a following second specifier, said method comprising the steps of: detecting during decoding whether the preprocessing of the second specifier of each of said instructions modifies the value of a register specified by the first specifier of said each of said instructions, and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions modifies the value of a register specified by the first specifier of said each of said instructions, decoding the first and second specifiers of said each of said instructions sequentially; and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions does not modify the value of a register specified by the first specifier of said each of said instructions, decoding the first specifier and said second specifier of said each of said instructions simultaneously, wherein at least one of said instructions includes a first specifier that specifies a first register and a second specifier for which preprocessing modifies the value of a second register different from said first register, wherein said detecting for said at least one of said instructions detects that preprocessing of said second specifier of said at least one of said instructions modifies a register different from a register specified by the first specifier of said at least one of said instructions, and wherein said decoding for said at least one of said instructions includes the simultaneous decoding of the first specifier of said at least one of said instructions and the second specifier of said at least one of said instructions; and wherein at least another of said instructions includes a first specifier that specifies a third register and a second specifier for which preprocessing modifies the value of the same third register, wherein said detecting for said at least another of said instructions detects that preprocessing of said second specifier of said at least another of said instructions modifies a register that is the same as the register specified by the first specifier of said at least another of said instructions, and wherein said decoding for said at least another of said instructions includes the sequential decoding of the first specifier of said at least another of said instructions and then the second specifier of said at least another of said instructions.
Claim 3
Dependent Claim
86 words
The method as claimed in claim 1, wherein said decoding and said detecting are performed in an instruction decoding unit of said pipelined processor, and said executing of said instructions is performed in an execution unit of said pipelined processor, and wherein said method further comprises the steps of passing register pointers from said instruction unit to said execution unit for register specifiers that are decoded simultaneously, and passing register values from said instruction unit to said execution unit for register specifiers that are decoded sequentially.
Claim 4
Dependent Claim
480 words
A data processing unit for processing variable length instructions; said data processing unit having an instruction memory for storing said variable length instructions; said variable length instructions having respective operation codes and respective sequences of multiple specifiers, said operation codes defining operations upon operands including source operands which are read during an operation and destination operands that are changed by an operation, said specifiers providing information for locating said operands, said specifiers having operand addressing modes independent from the operation codes, said data processing unit comprising, in combination, a) instruction buffer means connected to said instruction memory for receiving from said instruction memory an operation code and a respective sequence of multiple specifiers to be simultaneously decoded, b) instruction decoding means connected to said instruction buffer means for simultaneously decoding a first operand specifier in said respective sequence of multiple specifiers to obtain information for locating a first source operand, a second operand specifier in said respective sequence of multiple specifiers to obtain information for locating a second source operand, and a third operand specifier in said respective sequence of multiple specifiers to obtain information for locating a destination operand, c) operand fetching means responsive to the information obtained by said instruction decoding means for fetching the first and second operands, and d) execution means for performing the operation indicated by the operation code received in said instruction buffer means upon the source operands fetched by said operand fetching means and changing the destination operand at the location specified by the information provided by the instruction decoding means, wherein said instruction decoding means includes conflict detecting means for detecting during decoding whether each of said instructions includes a first specifier followed by a second specifier for which the preprocessing of the second specifier changes the value of a register specified by the first specifier, and means responsive to said conflict detecting means for sequentially decoding said first specifier and said second specifier of said each of said instructions when said means for detecting detects that preprocessing for said second specifier of said each of said instructions changes the value of a register specified by the first specifier of said each of said instructions, and wherein said conflict detecting means includes means, operative when at least one of said instructions includes a first specifier that specifies a first register and a second specifier for which said preprocessing changes a value of a second register, for comparing said first register to said second register to determine that preprocessing of the second specifier of said one of said instructions changes the value of the first register when the first register is the same as the second register, and to determine that preprocessing of the second specifier of said one of said instructions does not change the value of the first register when the first register is not the same as the second register.
Claim 5
Dependent Claim
480 words
A data processing unit for processing variable length instructions; said data processing unit having an instruction memory for storing said variable length instructions; said variable length instructions having respective operation codes and respective sequences of multiple specifiers, said operation codes defining operations upon operands including source operands which are read during an operation and destination operands that are changed by an operation, said specifiers providing information for locating said operands, said specifiers having operand addressing modes independent from the operation codes, said data processing unit comprising, in combination, a) instruction buffer means connected to said instruction memory for receiving from said instruction memory an operation code and a respective sequence of multiple specifiers to be simultaneously decoded, b) instruction decoding means connected to said instruction buffer means for simultaneously decoding a first operand specifier in said respective sequence of multiple specifiers to obtain information for locating a first source operand, a second operand specifier in said respective sequence of multiple specifiers to obtain information for locating a second source operand, and a third operand specifier in said respective sequence of multiple specifiers to obtain information for locating a destination operand, c) operand fetching means responsive to the information obtained by said instruction decoding means for fetching the first and second operands, and d) execution means for performing the operation indicated by the operation code received in said instruction buffer means upon the source operands fetched by said operand fetching means and changing the destination operand at the location specified by the information provided by the instruction decoding means, wherein said instruction decoding means includes conflict detecting means for detecting during decoding whether each of said instructions includes a first specifier followed by a second specifier for which the preprocessing of the second specifier changes the value of a register specified by the first specifier, and means responsive to said conflict detecting means for sequentially decoding said first specifier and said second specifier of said each of said instructions when said means for detecting detects that preprocessing for said second specifier of said each of said instructions changes the value of a register specified by the first specifier of said each of said instructions, and wherein said conflict detecting means includes means, operative when at least one of said instructions includes a first specifier that specifies a first register and a second specifier for which said preprocessing changes a value of a second register, for comparing said first register to said second register to determine that preprocessing of the second specifier of said one of said instructions changes the value of the first register when the first register is the same as the second register, and to determine that preprocessing of the second specifier of said one of said instructions does not change the value of the first register when the first register is not the same as the second register.
Claim 6
Dependent Claim
52 words
The data processing unit as claimed in claim 3, further comprising means for passing register pointers from said instruction decoding means to said execution means for register specifiers that are decoded simultaneously, and passing register values from said operand fetching means to said execution means for register specifiers that are decoded sequentially.
Claim 7
Dependent Claim
357 words
In a pipelined processor having an instruction decoding unit and an instruction execution unit; said instruction decoding unit including means for decoding and preprocessing instructions having an operation code, a first specifier, and a following second specifier, some of said instructions including specifiers that specify at least one of a plurality of general purpose registers, and some of said instructions including specifiers for which preprocessing modifies a value of at least one of said general purpose registers, a method comprising the steps of: maintaining, during instruction decoding and execution, a first set of values for said general purpose registers in said instruction decoding unit and a second set of values for said general purpose registers in said instruction execution unit, detecting during decoding whether the preprocessing of the second specifier of each of said instructions modifies the value of a register specified by the first specifier of said each of said instructions, and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions modifies the value of only general purpose registers different from a register specified by the first register specifier of said each of said instructions, simultaneously decoding said first specifier of said each of said instructions and said second specifier of said each of said instructions, and when preprocessing of said second specifier of said each of said instructions modifies a specified general purpose register, modifying the value of the specified general purpose register in both said instruction decoding unit and said instruction execution unit prior to execution of said each of said instructions, and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions modifies the value of a register specified by said first specifier of said each of said instructions, sequentially decoding the first specifier and the second specifier of said each of said instructions, modifying the specified general purpose register value in said instruction decoding unit prior to execution of said each of said instructions, and modifying the value of the specified general purpose register in the instruction execution unit after execution of said each of said instructions.
Claim 8
Dependent Claim
357 words
In a pipelined processor having an instruction decoding unit and an instruction execution unit; said instruction decoding unit including means for decoding and preprocessing instructions having an operation code, a first specifier, and a following second specifier, some of said instructions including specifiers that specify at least one of a plurality of general purpose registers, and some of said instructions including specifiers for which preprocessing modifies a value of at least one of said general purpose registers, a method comprising the steps of: maintaining, during instruction decoding and execution, a first set of values for said general purpose registers in said instruction decoding unit and a second set of values for said general purpose registers in said instruction execution unit, detecting during decoding whether the preprocessing of the second specifier of each of said instructions modifies the value of a register specified by the first specifier of said each of said instructions, and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions modifies the value of only general purpose registers different from a register specified by the first register specifier of said each of said instructions, simultaneously decoding said first specifier of said each of said instructions and said second specifier of said each of said instructions, and when preprocessing of said second specifier of said each of said instructions modifies a specified general purpose register, modifying the value of the specified general purpose register in both said instruction decoding unit and said instruction execution unit prior to execution of said each of said instructions, and when said detecting indicates that the preprocessing of the second specifier of said each of said instructions modifies the value of a register specified by said first specifier of said each of said instructions, sequentially decoding the first specifier and the second specifier of said each of said instructions, modifying the specified general purpose register value in said instruction decoding unit prior to execution of said each of said instructions, and modifying the value of the specified general purpose register in the instruction execution unit after execution of said each of said instructions.
Claim 9
Dependent Claim
79 words
The method as claimed in claim 5, further comprising the step of inhibiting the decoding of instructions following said each of said instruction instructions in which said detecting indicates that the preprocessing of the second specifier of said each of said instructions modifies the value of the register specified by said first specifier of said each of said instructions, said inhibiting occurring until the modification of said value of the specified general purpose register in said instruction execution unit.
Claim 10
Dependent Claim
61 words
The method as claimed in claim 5, further comprising the step of returning the general purpose register values in the instruction decoding unit to initial unmodified values of the general purpose registers in the instruction decoding unit by replacing the general purpose register values in the instruction decoding unit with the respective general purpose register values in the instruction execution unit.
Claim 11
Dependent Claim
53 words
The method as claimed in claim 5, further comprising the steps of passing register pointers from said instruction decoding unit to said instruction execution unit for register specifiers that are decoded simultaneously, and passing register values from the instruction decoding unit to the instruction execution unit for register specifiers that are decoded sequentially.