Patent US5131086A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5131086A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for executing pipelined three operand construct

Assignee: Edgcore Tech Inc
•
Filing: 1990-06-15
•
Granted: 1992-07-14
•
Expires: 2010-06-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and technique for providing early decoding of complex instructions in a pipelined processor uses a programmed logic array to decode instruction segments and loads both the instruction bits and the associated predecoded bits into a FIFO buffer to accumulate a plurality of such entries. Meanwhile, an operand execute pipeline retrieves such entries from the FIFO buffer as needed, using the predecoded instruction bits to rapidly decode and execute the instructions at rates determined by the instructions themselves. Delays due to cache misses are substantially or entirely masked, as the instructions and associated predecoded bits are loaded into the FIFO buffer more rapidly than they are retrieved from it, except during cache misses. A method is described for increasing the effective speed of executing a three operand construct. Another method is disclosed for increasing the effective speed of executing a loop containing a branch instruction by scanning the predecoded bits in establishing a link between successive instructions.

Inventors

  • 👤 Joseph C. Circello
  • 👤 Richard H. Duerden
  • 👤 Roger W. Luce
  • 👤 Ralph H. Olson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 19:23
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/30032; G06F9/30145; G06F9/3016; G06F9/30167; G06F9/3017; G06F9/32; G06F9/322; G06F9/325; G06F9/38; G06F9/3802; G06F9/3804; G06F9/3806; G06F9/3818; G06F9/382

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 218 words
A method of increasing the effective speed of executing a three operand construct, comprising the steps of: (a) predecoding first and second instructions which represent a three operand construct, the first instruction being a move instruction to move a first operand stored in a first location into a second location to thereby produce a second operand in the second location, and the second instruction performing a predetermined operation on the second operand and a third operand that is stored in a third location and putting results of the predetermined operation into the second location; (b) loading predecoding results of predecoding the first and second instructions into an operation execution pipeline; (c) determining, in response to the predecoding results of both the first and second instructions, if the move instruction is so linked to the second instruction as to define the three operand construct; (d) operating a single execute engine to perform the predetermined operation on the first and third operands if the move instruction is so linked to the second instruction as to define the three operand construct, and putting the results of the predetermined operation into the second location without executing the move instruction, thereby effectively collapsing the first and second instructions so they can be executed in a single machine cycle using a single execute engine.
Claim 2
Independent Claim 218 words
A method of increasing the effective speed of executing a three operand construct, comprising the steps of: (a) predecoding first and second instructions which represent a three operand construct, the first instruction being a move instruction to move a first operand stored in a first location into a second location to thereby produce a second operand in the second location, and the second instruction performing a predetermined operation on the second operand and a third operand that is stored in a third location and putting results of the predetermined operation into the second location; (b) loading predecoding results of predecoding the first and second instructions into an operation execution pipeline; (c) determining, in response to the predecoding results of both the first and second instructions, if the move instruction is so linked to the second instruction as to define the three operand construct; (d) operating a single execute engine to perform the predetermined operation on the first and third operands if the move instruction is so linked to the second instruction as to define the three operand construct, and putting the results of the predetermined operation into the second location without executing the move instruction, thereby effectively collapsing the first and second instructions so they can be executed in a single machine cycle using a single execute engine.
Claim 3
Dependent Claim 13 words
The method of claim 1 wherein the second instruction is an add instruction.
Claim 4
Dependent Claim 13 words
The method of claim 1 wherein the second instruction is a subtract instruction.
Claim 5
Dependent Claim 13 words
The method of claim 1 wherein the second instruction is a shift instruction.
Claim 6
Dependent Claim 47 words
The method of claim 1 including performing step (a) in a single machine cycle in an instruction fetch pipeline, and performing steps (b) and (c) in an operand execution pipeline, the executing of step (d) being performed in a single machine cycle of the single execute engine.
Claim 7
Dependent Claim 218 words
In a pipelined processor, apparatus for increasing the effective speed of executing a three operand construct, comprising in combination: (a) means for predecoding first and second instructions which represent a three operand construct, the first instruction being a move instruction to move a first operand stored in a first location into a second location to thereby produce a second operand in the second location, and the second instruction performing a predetermined operation on the second operand and a third operand that is stored in a third location and putting results of the predetermined operation into the second location; (b) means for loading results of the predecoding into an operation execution pipeline; (c) means for determining, in response to the results of the predecoding, if the move instruction is so linked to the second instruction as to define the three operand construct; (d) means for operating a single execute engine to perform the predetermined operation on the first and third operands if the move instruction is so linked to the second instruction as to define the three operand construct and putting the results of the predetermined operation into the second location without executing the move instruction, thereby effectively collapsing the first and second instructions so they can be executed in a single machine cycle using the single execute engine.
Claim 8
Dependent Claim 218 words
In a pipelined processor, apparatus for increasing the effective speed of executing a three operand construct, comprising in combination: (a) means for predecoding first and second instructions which represent a three operand construct, the first instruction being a move instruction to move a first operand stored in a first location into a second location to thereby produce a second operand in the second location, and the second instruction performing a predetermined operation on the second operand and a third operand that is stored in a third location and putting results of the predetermined operation into the second location; (b) means for loading results of the predecoding into an operation execution pipeline; (c) means for determining, in response to the results of the predecoding, if the move instruction is so linked to the second instruction as to define the three operand construct; (d) means for operating a single execute engine to perform the predetermined operation on the first and third operands if the move instruction is so linked to the second instruction as to define the three operand construct and putting the results of the predetermined operation into the second location without executing the move instruction, thereby effectively collapsing the first and second instructions so they can be executed in a single machine cycle using the single execute engine.
Claim 9
Dependent Claim 13 words
The apparatus of claim 6 wherein the second instruction is an add instruction.
Claim 10
Dependent Claim 13 words
The apparatus of claim 6 wherein the second instruction is a subtract instruction.
Claim 11
Dependent Claim 13 words
The apparatus of claim 6 wherein the second instruction is a shift instruction.
Claim 12
Dependent Claim 43 words
The apparatus of claim 6 wherein the predecoding means is in an instruction fetch pipeline and the determining means is in a pipeline controller of an operand execution pipeline and the operation performing means includes an execute engine in the operand execute pipeline.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-07-14 1996-01-13 1996-07-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-07-14 2000-01-13 2000-07-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-07-14 2004-01-13 2004-07-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag