← Back to Patent Explorer
US4594655A Expired / Lapsed US ⏱️ 0.0 years remaining

(k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions

Assignee: International Business Machines Corp
•
Filing: 1983-03-14
•
Granted: 1986-06-10
•
Expires: 2003-03-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Equipping a secondary data flow facility with additional capability, to emulate for certain operations the simultaneous processing of the prerequisite instruction and the dependent instruction, significantly improves simultaneous pipeline processing of inherently sequential instructions (k)-at-a-time, by eliminating delays for calculating prerequisite operands. For example, Instruction A+B=Z1 followed by Instruction Z1+C=Z2 is inherently sequential, with A+B=Z1 the prerequisite instruction and Z1+C=Z2 the dependent instruction. The specially equipped secondary data flow facility does not wait for Z1, the apparent input operand from the prerequisite instruction; it simulates Z1 instead, performing A+B+C=Z2 in parallel with A+B=Z1. All data flow facilities need not be fully equipped for all instructions; the secondary data flow facility may be generally less massive than a primary data flow facility, but is more sophisticated in a critical organ, such as the adder. The three-input adder of the secondary data flow facility emulates the result of a two-input adder of a primary data flow facility, occuring simultaneously in the two-input primary data flow facility adder, adding the third operand to the emulated result, without delay. The instruction unit decodes the instruction sequence normally to control (k)-at-a-time execution where there are no instruction interlocks or dependencies; to delay execution of dependent instructions until operands become available; and to reinstate (k)-at-a-time execution in a limited number of cases by using the additional capability of the secondary data flow facility to emulate the prerequisite operands. A control unit performs housekeeping to execute the instructions.

Inventors

  • 👤 Hsieh T. Hao
  • 👤 Huei Ling
  • 👤 Howard E. Sachar
  • 👤 Jeffrey Weiss
  • 👤 Yannis J. Yamour

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 12:17
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3885; G06F9/3889; G06F9/3836; G06F9/3853

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 340 words
A pipelined processor comprising (a) a pipeline instruction control unit; (b) at least one primary data flow facility having a plurality of inputs and having a subassembly processing a finite number (n) of said inputs in parallel, to process a stream of instructions defined by the instruction control unit; (c) one or more secondary data flow facilities having a plurality of inputs and each said data flow facility having a subassembly processing a greater number (n)+(k-1)(n-1) of said inputs than the finite number of inputs being processed by said primary data flow facility, said secondary data flow facility comprising at least one comparable subassembly similar in function to said subassembly in said primary data flow facility but with a greater number of inputs, whereby said secondary data flow facility can process all the inputs required to emulate the apparent result of processing by said comparable subassembly of the primary data flow facility and process said apparent result together with an additional input; (d) an instruction unit comprising means to detect adjacent instruction groups including: interlocked instruction sequences where on adjacent instruction necessarily must be delayed pending completion of another; adjacent instruction sequences in which one of a group of adjacent instructions requires operand inputs including an operand input which is the result of processing the operand inputs for another instruction of the group; and independent adjacent instruction sequences which require unrelated operand inputs; (e) control means connected to said instruction unit and said primary and secondary data flow facilities to control simultaneous processing of dependent adjacent instruction sequences and independent adjacent instruction sequences, and to delay processing of appropriate instructions when necessary in interlocked instruction sequences; wherein said primary data flow facility is a minimum data flow facility equipped to process inputs, and said one or more secondary data flow facilities, in sequence by complexity, are equipped to process (n)+(k-1)(n-1) inputs, where (n) is the number of inputs to said minimum facility, (n) being an integer equal to or greater than 1, and (k) is the facility sequence position number.
Claim 2
Dependent Claim 340 words
A pipelined processor comprising (a) a pipeline instruction control unit; (b) at least one primary data flow facility having a plurality of inputs and having a subassembly processing a finite number (n) of said inputs in parallel, to process a stream of instructions defined by the instruction control unit; (c) one or more secondary data flow facilities having a plurality of inputs and each said data flow facility having a subassembly processing a greater number (n)+(k-1)(n-1) of said inputs than the finite number of inputs being processed by said primary data flow facility, said secondary data flow facility comprising at least one comparable subassembly similar in function to said subassembly in said primary data flow facility but with a greater number of inputs, whereby said secondary data flow facility can process all the inputs required to emulate the apparent result of processing by said comparable subassembly of the primary data flow facility and process said apparent result together with an additional input; (d) an instruction unit comprising means to detect adjacent instruction groups including: interlocked instruction sequences where on adjacent instruction necessarily must be delayed pending completion of another; adjacent instruction sequences in which one of a group of adjacent instructions requires operand inputs including an operand input which is the result of processing the operand inputs for another instruction of the group; and independent adjacent instruction sequences which require unrelated operand inputs; (e) control means connected to said instruction unit and said primary and secondary data flow facilities to control simultaneous processing of dependent adjacent instruction sequences and independent adjacent instruction sequences, and to delay processing of appropriate instructions when necessary in interlocked instruction sequences; wherein said primary data flow facility is a minimum data flow facility equipped to process inputs, and said one or more secondary data flow facilities, in sequence by complexity, are equipped to process (n)+(k-1)(n-1) inputs, where (n) is the number of inputs to said minimum facility, (n) being an integer equal to or greater than 1, and (k) is the facility sequence position number.
Claim 3
Dependent Claim 235 words
A pipelined processing comprising: (a) a pipeline instruction control unit, (b) a primary data flow facility having inputs and having a reference capability to process a stream of instructions defined by said instruction control unit, said primary data flow facility comprising an (n)-input adder to produce for a given instruction a result; (c) a secondary data flow facility having inputs and capability different from said reference capability of the primary data flow facility, comprising a (2n-1)-input adder so that the secondary data flow (2n-1)-input adder can process said inputs to said primary data flow facility n-input adder to emulate said result of processing by said (n)-input adder of said primary data flow facility as a subset of its input set; (d) an instruction unit comprising means to detect adjacent instruction groups including: interlocked instruction sequences where one adjacent instruction necessarily must be delayed pending completion of another; adjacent instruction sequences in which one of a group of adjacent instructions require operand inputs including an operand input which is the result of processing the operand inputs for another instruction of the group; and independent adjacent instruction sequences which require unrelated operand inputs; and (e) control means connected to said instruction unit and said primary and secondary data flow facilities to control simultaneous processing of dependent adjacent instruction sequences and independent adjacent instruction sequences, and to delay processing of appropriate instructions when necessary in interlock instruction sequences.
Claim 4
Dependent Claim 235 words
A pipelined processing comprising: (a) a pipeline instruction control unit, (b) a primary data flow facility having inputs and having a reference capability to process a stream of instructions defined by said instruction control unit, said primary data flow facility comprising an (n)-input adder to produce for a given instruction a result; (c) a secondary data flow facility having inputs and capability different from said reference capability of the primary data flow facility, comprising a (2n-1)-input adder so that the secondary data flow (2n-1)-input adder can process said inputs to said primary data flow facility n-input adder to emulate said result of processing by said (n)-input adder of said primary data flow facility as a subset of its input set; (d) an instruction unit comprising means to detect adjacent instruction groups including: interlocked instruction sequences where one adjacent instruction necessarily must be delayed pending completion of another; adjacent instruction sequences in which one of a group of adjacent instructions require operand inputs including an operand input which is the result of processing the operand inputs for another instruction of the group; and independent adjacent instruction sequences which require unrelated operand inputs; and (e) control means connected to said instruction unit and said primary and secondary data flow facilities to control simultaneous processing of dependent adjacent instruction sequences and independent adjacent instruction sequences, and to delay processing of appropriate instructions when necessary in interlock instruction sequences.
Claim 5
Dependent Claim 37 words
A pipelined processing according to claim 2, in which said (2n-1)-input adder of said secondary data flow facility is a three-input adder and the said n-input adder of said primary data flow facility is a two-input adder.
Claim 6
Dependent Claim 76 words
A pipelined processor according to claim 3, further comprising means in said primary data flow facility to provide first and second operands to said two-input adder, to produce a third operand result, and means in said secondary data flow facility simultaneously to provide first, second and fourth operands to said three-input adder, whereby said three-input adder simultaneously computes a result emulating inputs including the third operand result of computation by said two-input adder and fourth operand.

References Cited (Backward Citations)

US3689895A Cited
US3787673A Cited
US3840861A Cited
US3932845A Cited
US3969702A Cited
US3949379A Cited
US3928857A Cited
US4152763A Cited
US4062058A Cited
US4057846A Cited
US4085450A Cited
US4365311A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1989-06-09 1989-12-09 1990-06-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1993-06-09 1993-12-09 1994-06-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1997-06-09 1997-12-09 1998-06-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag