← Back to Patent Explorer
EP0410105A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

A computer architecture for the concurrent execution of sequential programs

Assignee: International Business Machines Corp
•
Filing: 1990-05-22
•
Granted: —
•
Expires: 2010-05-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system processes mixed control, indexing and data manipulation instructions in groups of N instructions at a time. A group of instructions is applied to a set of N Dispatch units which execute the control and indexing instructions directly. The Dispatch Units convert data manipulation instructions into a more primitive data flow operations. The data flow operations are applied to a set of M Execution Units which process the operations concurrently by observing data dependency constraints. The data used by the control and indexing instructions is stored in a group of identical memory structures which are accessible by each of the Dispatch Units. Data for the data manipulation instructions is stored in a data structure which is divided among the Execution Units.

Inventors

  • 👤 Manoj Kumar
  • 👤 Ambuj Goyal

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-06 10:23
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/45

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 116 words
A computer system for concurrently processing a sequence of program instructions of mixed first and second types, comprising: instruction memory means for holding said sequence of program instructions and for providing successive instructions from said sequence in groups of N instructions where N is an integer; N instruction dispatch means, coupled to receive respectively different ones of the N instructions provided by said instruction memory means, wherein each of said instruction dispatch means executes instructions of said first type directly and generates a plurality of primitive operations representing each instruction of said second type; M instruction operation means, where M is an integer, coupled to said dispatch means, for concurrently executing the primitive operations provided thereby.
Claim 2
Dependent Claim 116 words
A computer system for concurrently processing a sequence of program instructions of mixed first and second types, comprising: instruction memory means for holding said sequence of program instructions and for providing successive instructions from said sequence in groups of N instructions where N is an integer; N instruction dispatch means, coupled to receive respectively different ones of the N instructions provided by said instruction memory means, wherein each of said instruction dispatch means executes instructions of said first type directly and generates a plurality of primitive operations representing each instruction of said second type; M instruction operation means, where M is an integer, coupled to said dispatch means, for concurrently executing the primitive operations provided thereby.
Claim 3
Dependent Claim 62 words
The computer system set forth in Claim 1 wherein the instructions of said first type operate on data of a first type, the instructions of said second type operate on data of a second type and the computer system further comprises: first memory means for holding data of said first type; and second memory means for holding data of said second type.
Claim 4
Dependent Claim 28 words
The computer system set forth in claim 2 wherein said first type of data is primarily integer data and said second type of data is primarily floating-point data.
Claim 5
Dependent Claim 45 words
The computer system set forth in claim 2 wherein: said first memory means includes N identical copies of the data of said first type distributed among the N instruction dispatch means, respectively; and said second memory means is partitioned among said M operation execution means.
Claim 6
Dependent Claim 138 words
The computer system set forth in Claim 4 wherein said primitive operations include: a first type of primitive operation which conditions a first one of the M execution means to provide a data value from the partition of said second memory associated with said first operation execution means to a second one of said M operation execution means; a second type of primitive operation which conditions said second operation execution means to restrict access to a predetermined storage cell in the partition of said second memory means associated with said second operation execution means; and a third type of primitive operation which conditions said second operation execution means to perform an arithmetic operation on the data value provided by said first operation execution means and to store the result of said arithmetic operation in said predetermined storage cell.
Claim 7
Dependent Claim 122 words
A computer system for concurrently pocessing a sequence of program instructions hving control flow instructions intermixed with of data manipulation instructions, comprising: instruction memory means for holding said sequence of program instructions and for providing successive instructions from said sequence in groups of N instructions where N is an integer; N control flow processing means, coupled to receive respectively different ones of the N instructions provided by said instruction memory means, wherein each of said control flow processing means executes said control flow instructions directly and processes said data 10 manipulation instructions to generate primitive operations therefrom; M data flow processing means, where M is an integer, coupled to said control flow processing means, for concurrently executing the primitive operations provided thereby.
Claim 8
Dependent Claim 122 words
A computer system for concurrently pocessing a sequence of program instructions hving control flow instructions intermixed with of data manipulation instructions, comprising: instruction memory means for holding said sequence of program instructions and for providing successive instructions from said sequence in groups of N instructions where N is an integer; N control flow processing means, coupled to receive respectively different ones of the N instructions provided by said instruction memory means, wherein each of said control flow processing means executes said control flow instructions directly and processes said data 10 manipulation instructions to generate primitive operations therefrom; M data flow processing means, where M is an integer, coupled to said control flow processing means, for concurrently executing the primitive operations provided thereby.
Claim 9
Dependent Claim 39 words
The computer system set forth in Claim 6 further comprising: first memory means for holding data to be mani­pulated by said control flow instructions; and second memory means for holding data to be manipulated by said data manipulation commands;
Claim 10
Dependent Claim 84 words
The computer system set forth in Claim 7 wherein: said first memory means includes N identical memory means distributed among said N control flow processing means, respectively, for holding N identical copies of the data to be manipulated by said control flow instructions; and said second memory means includes M separate memory means, distributed among said M data flow processing means, each of said M separate memory means holding a respectively different portion of the data to be manipulated by said data manipulation instructions.
Claim 11
Dependent Claim 141 words
In a computer system including an instruction memory for holding a sequence of intermixed control flow instructions, which manipulate a first set of data and determine the control flow of the program, and data manipulation instructions, which manipulate a second set of data and produce output data values for the program, a method of processing the sequence of instructions, comprising the steps of: storing the first set of data in a first memory element; storing the second set of data in a second memory element; processing said sequence of inermixed control flow and data manipulation instructions in a first processing element, which accesses said first memory element to execute said control flow instructions and to transform said data manipula­tion instructions into data flow operations; and executing said data flow operations in a second processing element to produce said output data values.
Claim 12
Dependent Claim 141 words
In a computer system including an instruction memory for holding a sequence of intermixed control flow instructions, which manipulate a first set of data and determine the control flow of the program, and data manipulation instructions, which manipulate a second set of data and produce output data values for the program, a method of processing the sequence of instructions, comprising the steps of: storing the first set of data in a first memory element; storing the second set of data in a second memory element; processing said sequence of inermixed control flow and data manipulation instructions in a first processing element, which accesses said first memory element to execute said control flow instructions and to transform said data manipula­tion instructions into data flow operations; and executing said data flow operations in a second processing element to produce said output data values.
Claim 13
Independent Claim 81 words
A method for conditionally assigning a data value to a memory location comprising the steps of: decoding and executing a first set of instructions to produce said data value; decoding and executing a second set of instructions independently of said first set of instructions to produce a logical result without interrupting the decoding and execution of said first and second sets of instructions; and storing said data value in said memory location responsive to said logical result having a predetermined value.
Claim 14
Independent Claim 81 words
A method for conditionally assigning a data value to a memory location comprising the steps of: decoding and executing a first set of instructions to produce said data value; decoding and executing a second set of instructions independently of said first set of instructions to produce a logical result without interrupting the decoding and execution of said first and second sets of instructions; and storing said data value in said memory location responsive to said logical result having a predetermined value.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag