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

Mechanism to control the sequencing of partially ordered instructions in a parallel data processing system

Assignee: Unisys Corp
•
Filing: 1969-02-05
•
Granted: 1971-10-05
•
Expires: 1989-02-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Apparatus is disclosed which controls the sequencing of partially ordered instructions in a parallel processing system and permits initiation of instructions as soon as all predecessor instructions have been executed. The device is asynchronous in the sense that there is no inessential fixed order of instruction initiation and the sequencing control is independent of variable instruction duration. The partial order information used by the mechanism is represented in Boolean matrix form. A brief description is also included of methods for the automatic detection of parallelism in programs, within and between statements, and the resulting partial order information as it relates to the mechanism. The operation of the mechanism in a parallel processing system is also described.

Inventors

  • 👤 Earl W Reigel
  • 👤 Harvey W Bingham

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-22 20:09
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3885; G06F9/3889; G06F15/00; G06F15/76; G06F15/80; G06F15/8007

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 173 words
A sequencing control unit for use in a parallel processing system with algorithmic means for automatically determining the presence of parallelism within and between statements of programs being executed by the processing system and means in association with said algoRithmic means for providing output signals denoting incidents of such parallelism, said sequencing control unit comprising matrix means for indicating the presence of said parallelism and connected to receive the output signals of the output means, and a plurality of vector registers coupled to said matrix for applying individually and solely each of the following vectors: executed vectors to simultaneously search the stored contents of said matrix means; initiation vectors to initiate the processing of a further instruction within those programs being executed by the processing system when all predecessor instructions have been executed; in progress vectors for preventing initiation of a further instruction within those programs being executed by the processing system while a previous one is being executed; and allowable vectors for indicating the results of a simultaneous search of said matrix.
Claim 2
Dependent Claim 173 words
A sequencing control unit for use in a parallel processing system with algorithmic means for automatically determining the presence of parallelism within and between statements of programs being executed by the processing system and means in association with said algoRithmic means for providing output signals denoting incidents of such parallelism, said sequencing control unit comprising matrix means for indicating the presence of said parallelism and connected to receive the output signals of the output means, and a plurality of vector registers coupled to said matrix for applying individually and solely each of the following vectors: executed vectors to simultaneously search the stored contents of said matrix means; initiation vectors to initiate the processing of a further instruction within those programs being executed by the processing system when all predecessor instructions have been executed; in progress vectors for preventing initiation of a further instruction within those programs being executed by the processing system while a previous one is being executed; and allowable vectors for indicating the results of a simultaneous search of said matrix.
Claim 3
Dependent Claim 60 words
The sequencing unit as set forth in claim 1 wherein there is additionally included a further plurality of program statement registers coupled to the initiate vector register via an instruction selection register, said further plurality of registers storing the names and the values of the statements of the statements of the programs to be initiated by said initiate vector register.
Claim 4
Independent Claim 147 words
A system for controlling the sequencing of partially ordered instructions in a parallel processing system comprising means for automatically detecting parallelism in the programs being executed by said processing system, matrix storage means for simultaneously storing the output signals from said detection means and thereby representing the output therefrom, an executed vector register connected to said matrix storage means for simultaneously searching the contents thereof, an allowable vector of signal lines connected to said matrix storage means for receiving the results of said simultaneous search, an in progress vector register further coupled to said matrix storage means for preventing reinitiation of an instruction contained in the programs being executed by the processing system that is already being processed, and an initiation vector register also coupled to said matrix for initiating the processing of further instructions also contained in said programs when all predecessor instructions have been executed.
Claim 5
Independent Claim 147 words
A system for controlling the sequencing of partially ordered instructions in a parallel processing system comprising means for automatically detecting parallelism in the programs being executed by said processing system, matrix storage means for simultaneously storing the output signals from said detection means and thereby representing the output therefrom, an executed vector register connected to said matrix storage means for simultaneously searching the contents thereof, an allowable vector of signal lines connected to said matrix storage means for receiving the results of said simultaneous search, an in progress vector register further coupled to said matrix storage means for preventing reinitiation of an instruction contained in the programs being executed by the processing system that is already being processed, and an initiation vector register also coupled to said matrix for initiating the processing of further instructions also contained in said programs when all predecessor instructions have been executed.
Claim 6
Dependent Claim 93 words
The system as set forth in claim 3 wherein said matrix storage means is a Boolean matrix having n rows and n columns wherein said Boolean matrix is a two dimensional array of bistable elements representing binary ''''1''s'''' and ''''0''s'''' with a binary ''''1'''' representing an ordering between the two processes represented by the rows and columns of said matrix and each of said executed, allowable, in progress and initiation registers store Boolean vectors n bits in length and the allowable vector is a Boolean set of logic levels derived from these registers.
Claim 7
Dependent Claim 166 words
A parallel processing system capable of controlling the sequencing of partially ordered instructions said processing system including means for automatically detecting and indicating parallelism in the programs being executed by said processing system said processing system including further means comprising Boolean matrix means connected to said detection means for simultaneously storing information corresponding to indications of parallelism from said detection means, an execution register connected to said matrix means for simultaneously searching the contents of said matrix means, a source of an allowable set of logic signals derived from said matrix means for representing the results of said simultaneous search, an in progress register further coupled to said matrix means for preventing initiation of a further instruction within those programs being executed by the processing system while a previous one is being processed and an initiation register also coupled to said matrix for initiating the processing of a further instruction within those programs being exEcuted by the processing system when all predecessor instructions have been executed.
Claim 8
Dependent Claim 166 words
A parallel processing system capable of controlling the sequencing of partially ordered instructions said processing system including means for automatically detecting and indicating parallelism in the programs being executed by said processing system said processing system including further means comprising Boolean matrix means connected to said detection means for simultaneously storing information corresponding to indications of parallelism from said detection means, an execution register connected to said matrix means for simultaneously searching the contents of said matrix means, a source of an allowable set of logic signals derived from said matrix means for representing the results of said simultaneous search, an in progress register further coupled to said matrix means for preventing initiation of a further instruction within those programs being executed by the processing system while a previous one is being processed and an initiation register also coupled to said matrix for initiating the processing of a further instruction within those programs being exEcuted by the processing system when all predecessor instructions have been executed.
Claim 9
Independent Claim 191 words
A method for the detection of parallelism based on input/output set intersections between statements of programs being executed on a data processing system by providing a partial order statement matrix, said method comprising the steps of obtaining a table of availability from statement outputs, initial statement order and given essential order said table being a two dimensional Boolean array with statement outputs as the row dimension and statement numbers as the column dimension, such that a binary 1 at position (i,j) of the table indicates that output i is available at statement j; next from statement inputs obtain an input requirement table similar to the availability table, such that a binary 1 at position (i,j) of the input requirement table also indicates that output i is required as an input to statement j; next, obtain the given essential order from the conditional statements; thereafter AND gate together, intersection by intersection, the availability table and the input requirement table, to provide an input/output statement intersection table; and finally OR gate together, the corresponding elements of the input/output statement intersection table and the given essential order to provide the partial order statement matrix.
Claim 10
Independent Claim 191 words
A method for the detection of parallelism based on input/output set intersections between statements of programs being executed on a data processing system by providing a partial order statement matrix, said method comprising the steps of obtaining a table of availability from statement outputs, initial statement order and given essential order said table being a two dimensional Boolean array with statement outputs as the row dimension and statement numbers as the column dimension, such that a binary 1 at position (i,j) of the table indicates that output i is available at statement j; next from statement inputs obtain an input requirement table similar to the availability table, such that a binary 1 at position (i,j) of the input requirement table also indicates that output i is required as an input to statement j; next, obtain the given essential order from the conditional statements; thereafter AND gate together, intersection by intersection, the availability table and the input requirement table, to provide an input/output statement intersection table; and finally OR gate together, the corresponding elements of the input/output statement intersection table and the given essential order to provide the partial order statement matrix.

References Cited (Backward Citations)

US3229260A Cited
US3346851A Cited
US3343135A Cited
US3391390A Cited
US3440611A Cited
US3470540A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1974-10-04 1975-04-05 1975-10-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1978-10-04 1979-04-05 1979-10-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1982-10-04 1983-04-05 1983-10-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag