Data processing apparatus for highly parallel execution of stored programs
First Claim
Patent Images
1. A digital data processor comprising:
- (a) active memory means for holding at least a record of active instructions, said active memory means containing a plurality of cells, each cell holding one instruction of said record of active instructions and each cell having a unique cell index addressable by a destination address;
(b) instruction memory means for holding at least a record of a program, said instruction memory means holding all instructions comprising said record of a program and each instruction having a unique instruction index;
(c) operation means for managing signals in the execution of arithmetic and logical operations on signals representing data values including at least a destination address and a computed value.(d) decision means for managing signals in the execution of comparison and testing operations on signals representing Boolean and control values;
(e) first arbitration means operatively connected between said active memory means and said operation means and operatively connected between said active memory means and said decision means for concurrently transmitting signals representing a plurality of first information packets from said active memory means to said operation means and for concurrently transmitting signals representing a plurality of second information packets from said active memory means to said decision means, each of said signals representing first information packets and each of said signals representing second information packets consisting of signals representing an instruction of said record of active instructions together with all critical data values required for its execution;
(f) control means operatively connected between said decision means and said active memory means for concurrently transmitting signals representing a plurality of third information packets from said decision means to said active memory means, each of said signals representing third information packets consisting of signals representing Boolean and control values computed by said decision means and required for the execution of said record of active instructions contained in said cells of said active memory means;
(g) first distribution means operatively connected between said operation means and said active memory means for concurrently transmitting signals representing a plurality of fourth information packets from said operation means to said active memory means, each of said signals representing fourth information packets consisting of signals representing data values computed by said operation means and required for execution of each of said active instructions contained in said active memory means at its corresponding destination address;
(h) memory command means operatively connected between said active memory means and said instruction memory means for concurrently transmitting signals representing a plurality of fifth information packets from said active memory means to said instruction memory means, each of said signals representing fifth information packets consisting of signals specifying storage, retrieval, and administrative operations to be performed by said instruction memory means;
(i) second arbitration means operatively connected between said active memory means and said instruction memory means for concurrently transmitting signals representing a plurality of sixth information packets from said active memory means to said instruction memory means said sixth packet representing instructions whose operations have been performed, each of said signals representing sixth information packets consisting of signals representing instructions of said record of a program to be temporarily stored in said instruction memory means; and
(j) second distribution means operatively connected between said instruction memory means and said active memory means for concurrently transmitting signals representing a plurality of seventh information packets from said instruction memory means to said active memory means, each of said signals representing seventh information packets consisting of signals representing instructions of said record of a program being conveyed to said active memory means to become instructions of said record of active instructions.
2 Assignments
0 Petitions
Accused Products
Abstract
A processor is described which achieves highly parallel execution of programs represented in data-flow form. The language implemented incorporates conditional and iteration mechanisms, and the processor incorporates practical data-flow processing of a Fortran-level data-flow language. The processor has a unique architecture which avoids the problems of processor switching and memory/processor interconnection that usually limit the degree of realizable concurrent processing. The architecture offers an unusual solution to the problem of structuring and managing a two-level memory system.
73 Citations
18 Claims
-
1. A digital data processor comprising:
-
(a) active memory means for holding at least a record of active instructions, said active memory means containing a plurality of cells, each cell holding one instruction of said record of active instructions and each cell having a unique cell index addressable by a destination address; (b) instruction memory means for holding at least a record of a program, said instruction memory means holding all instructions comprising said record of a program and each instruction having a unique instruction index; (c) operation means for managing signals in the execution of arithmetic and logical operations on signals representing data values including at least a destination address and a computed value. (d) decision means for managing signals in the execution of comparison and testing operations on signals representing Boolean and control values; (e) first arbitration means operatively connected between said active memory means and said operation means and operatively connected between said active memory means and said decision means for concurrently transmitting signals representing a plurality of first information packets from said active memory means to said operation means and for concurrently transmitting signals representing a plurality of second information packets from said active memory means to said decision means, each of said signals representing first information packets and each of said signals representing second information packets consisting of signals representing an instruction of said record of active instructions together with all critical data values required for its execution; (f) control means operatively connected between said decision means and said active memory means for concurrently transmitting signals representing a plurality of third information packets from said decision means to said active memory means, each of said signals representing third information packets consisting of signals representing Boolean and control values computed by said decision means and required for the execution of said record of active instructions contained in said cells of said active memory means; (g) first distribution means operatively connected between said operation means and said active memory means for concurrently transmitting signals representing a plurality of fourth information packets from said operation means to said active memory means, each of said signals representing fourth information packets consisting of signals representing data values computed by said operation means and required for execution of each of said active instructions contained in said active memory means at its corresponding destination address; (h) memory command means operatively connected between said active memory means and said instruction memory means for concurrently transmitting signals representing a plurality of fifth information packets from said active memory means to said instruction memory means, each of said signals representing fifth information packets consisting of signals specifying storage, retrieval, and administrative operations to be performed by said instruction memory means; (i) second arbitration means operatively connected between said active memory means and said instruction memory means for concurrently transmitting signals representing a plurality of sixth information packets from said active memory means to said instruction memory means said sixth packet representing instructions whose operations have been performed, each of said signals representing sixth information packets consisting of signals representing instructions of said record of a program to be temporarily stored in said instruction memory means; and (j) second distribution means operatively connected between said instruction memory means and said active memory means for concurrently transmitting signals representing a plurality of seventh information packets from said instruction memory means to said active memory means, each of said signals representing seventh information packets consisting of signals representing instructions of said record of a program being conveyed to said active memory means to become instructions of said record of active instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17.
-
18. A digital data processor comprising:
-
(a) active memory means for holding at least a record of active instructions, said active memory means containing a plurality of cells, each cell holding one instruction of said record of active instructions and each cell having a unique cell index addressable by a destination address; (b) operation means for managing signals in the execution of arithmetic and logical operations on signals representing data values including at least a destination address and a computer value; (c) decision means for managing signals in the execution of comparison and testing operations on signals representing Boolean and control values; (d) arbitration means operatively connected between said active memory means and said operation means and operatively connected between said active memory means and said decision means for concurrently transmitting signals representing a plurality of first information packets from said active memory means to said operation means and for concurrently transmitting signals representing a plurality of second information packets from said active memory means to said decision means, each of said signals representing first information packets and each of said signals representing second information packets consisting of signals representing an instruction of said record of active instructions together with all critical data values required for its execution; (e) control means operatively connected between said decision means and said active memory means for concurrently transmitting signals representing a plurality of third information packets from said decision means to said active memory means, each of said signals representing third information packets consisting of signals representing Boolean and control values computed by said decision means and required for the execution of said record of active instructions contained in said cells of said active memory means; and (f) distribution means operatively connected between said operation means and said active memory means for concurrently transmitting signals representing a plurality of fourth information packets from said operation means to said active memory means, each of said signals representing fourth information packets consisting of signals representing data values computed by said operation means and required for execution of each of said active instructions in said active memory means at its corresponding destination address.
-
Specification