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

Mesh parallel computer architecture apparatus and associated methods

Assignee: Massachusetts Institute of Technology
•
Filing: 1996-12-30
•
Granted: 1998-05-12
•
Expires: 2016-12-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A Monolithic Synchronous Processor (MeshSP) processes data and incorporates a mesh parallel computer architecture, primarily SIMD, thereby combining high data throughput with modest size, weight, power and cost. Each MeshSP processor node utilizes a single DSP processor element, a large internal memory of at least 128k-bytes, and separately operable computational and I/O processing sections. The processor element provides data throughput of at least 120 MFlops. The processor is programmed in ANSI C and without parallel extensions. A combination of on-chip DMA hardware and system software simplifies data I/O and interprocessor communication. The MeshSP is programmed to solve a wide variety of computationally demanding signal processing problems. A functional simulator enables MeshSP algorithms to be coded and tested on a personal computer.

Inventors

  • 👤 Ira H. Gilbert

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 07:25
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17337; G06F15/17356; G06F15/17368; G06F15/17381; G06F15/76; G06F15/80; G06F15/8007

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 213 words
Digital data processing apparatus for synchronously processing data from a host computer, comprising: program memory means for storing data, and bus means connecting said program memory means to the host computer; a master processor element and an array of slave processor elements, said master processor element having means to access said data within said program memory and for broadcasting instructions to said array; and input/output module means connected to communicate with said bus means and having a plurality of data links connected to said array, each of said data links providing serial communication with selected slave processor elements; wherein each of said slave processor elements comprises (i) an input/output processor section having interprocessor communication links for communicating data to and from selected other processor elements within said array, and further having means for communicating data to and from said input/output module means, (ii) internal memory means having a storage capacity of at least 128 kilobytes for storing executable code, and (iii) a core processor section for processing said executable code and said instructions, each of said processor sections being operable independently from the other of said processor sections; said slave processor elements synchronously executing at least one of said instructions and said executable code at a throughput rate of at least 120 MFLOPS.
Claim 2
Dependent Claim 213 words
Digital data processing apparatus for synchronously processing data from a host computer, comprising: program memory means for storing data, and bus means connecting said program memory means to the host computer; a master processor element and an array of slave processor elements, said master processor element having means to access said data within said program memory and for broadcasting instructions to said array; and input/output module means connected to communicate with said bus means and having a plurality of data links connected to said array, each of said data links providing serial communication with selected slave processor elements; wherein each of said slave processor elements comprises (i) an input/output processor section having interprocessor communication links for communicating data to and from selected other processor elements within said array, and further having means for communicating data to and from said input/output module means, (ii) internal memory means having a storage capacity of at least 128 kilobytes for storing executable code, and (iii) a core processor section for processing said executable code and said instructions, each of said processor sections being operable independently from the other of said processor sections; said slave processor elements synchronously executing at least one of said instructions and said executable code at a throughput rate of at least 120 MFLOPS.
Claim 3
Dependent Claim 132 words
A monolithic processor element comprising: memory; an external port for receiving instructions; a core processor for processing instructions received through the external port; a set of selectable link ports; an input/output register set for holding data transferred between memory and the selectable link ports and transferred between selectable link ports; a bus system for transfer of data between the core processor and memory and between the input/output register set and memory; and an I/O controller which, for successive data elements, performs a direct memory access to read the data elements from memory to the input/output register set, and after a programmable number of cycles of data transfers between selectable ports through the input/output register set, performs a direct memory access to write the data elements from the input/output register set to memory.
Claim 4
Dependent Claim 132 words
A monolithic processor element comprising: memory; an external port for receiving instructions; a core processor for processing instructions received through the external port; a set of selectable link ports; an input/output register set for holding data transferred between memory and the selectable link ports and transferred between selectable link ports; a bus system for transfer of data between the core processor and memory and between the input/output register set and memory; and an I/O controller which, for successive data elements, performs a direct memory access to read the data elements from memory to the input/output register set, and after a programmable number of cycles of data transfers between selectable ports through the input/output register set, performs a direct memory access to write the data elements from the input/output register set to memory.
Claim 5
Dependent Claim 50 words
The monolithic processor of claim 2 wherein the I/O controller selects transmit and receive link ports and is programmed by a transfer control data structure which identifies memory addresses for the direct memory accesses, selects transmit and receive link ports and identifies the programmable number of cycles of data transfers.
Claim 6
Dependent Claim 45 words
The monolithic processor of claim 3 wherein the transfer control data structure comprises transmit and receive subarray parameters defining a two dimensional subarray and by which the I/O controller determines addresses from which data elements are read and addresses into which data elements are written.
Claim 7
Dependent Claim 35 words
The monolithic processor of claim 3 wherein the transfer data control structure comprises a chain pointer for pointing to subsequent transfer control data structures for automatic reprogramming of the I/O controller and continued data transfer.
Claim 8
Dependent Claim 35 words
The monolithic processor of claim 2 wherein the I/O controller is programmable to write data into memory from the input/output register set in each of said programmable number of cycles in a broadcast communication mode.
Claim 9
Dependent Claim 19 words
The monolithic processor of claim 2 wherein said processor element has a throughput rate of at least 120 MFLOPS.
Claim 10
Dependent Claim 19 words
The monolithic processor of claim 2 further comprising means for processing data as either SIMD or MIMD compatible data.
Claim 11
Dependent Claim 35 words
The monolithic processor of claim 2 further comprising a set of six link ports for communicating on a nearest-neighbor mesh with adjacent processors, each of said link ports providing a multiple bit wide data path.
Claim 12
Dependent Claim 38 words
The monolithic processor of claim 9 wherein four link ports provide nearest-neighbor mesh communication with four adjacent processors and two link ports provide fault tolerance with two of said four adjacent processors in the event of a failure.
Claim 13
Dependent Claim 244 words
A digital data processing apparatus for synchronously processing data from a host computer, comprising: a program memory for storing data; a bus connecting the program memory to the host computer; a master processor element and an array of slave processor elements, the master processor element having means to access said data within said program memory and for broadcasting instructions to said array; and an input/output module connected to communicate with the bus and having a plurality of data links connected to the array, each of the data links providing serial communication with selected slave processor elements; wherein each of the slave processor elements comprises (i) slave memory and an external port for receiving instructions; (ii) a core processor for processing instructions received through the external port; (iii) a set of selectable link ports; (iv) an input/output register set for holding data transferred between slave memory and the selectable link ports and transferred between selectable link ports; (v) a bus system for transfer of data between the core processor and slave memory, and between the input/output register set and slave memory; and (vi) an I/O controller which, for successive data elements, performs a direct memory access to read the data elements from slave memory to the input/output register set, and after a programmable number of cycles of data transfers between selectable ports through the input/output register set, performs a direct memory access to write the data elements from the input/output register set to slave memory.
Claim 14
Dependent Claim 244 words
A digital data processing apparatus for synchronously processing data from a host computer, comprising: a program memory for storing data; a bus connecting the program memory to the host computer; a master processor element and an array of slave processor elements, the master processor element having means to access said data within said program memory and for broadcasting instructions to said array; and an input/output module connected to communicate with the bus and having a plurality of data links connected to the array, each of the data links providing serial communication with selected slave processor elements; wherein each of the slave processor elements comprises (i) slave memory and an external port for receiving instructions; (ii) a core processor for processing instructions received through the external port; (iii) a set of selectable link ports; (iv) an input/output register set for holding data transferred between slave memory and the selectable link ports and transferred between selectable link ports; (v) a bus system for transfer of data between the core processor and slave memory, and between the input/output register set and slave memory; and (vi) an I/O controller which, for successive data elements, performs a direct memory access to read the data elements from slave memory to the input/output register set, and after a programmable number of cycles of data transfers between selectable ports through the input/output register set, performs a direct memory access to write the data elements from the input/output register set to slave memory.
Claim 15
Dependent Claim 49 words
The apparatus of claim 11 wherein each I/O controller selects transmit and receive link ports and is programmed by a transfer control data structure which identifies memory addresses for the direct memory accesses, selects transmit and receive link ports and identifies the programmable number of cycles of data transfers.
Claim 16
Dependent Claim 44 words
The apparatus of claim 12 wherein the transfer control data structure comprises transmit and receive subarray parameters defining a two dimensional subarray and by which said I/O controller determines addresses from which data elements are read and addresses into which data elements are written.
Claim 17
Dependent Claim 34 words
The apparatus of claim 12 wherein the transfer data control structure comprises a chain pointer for pointing to subsequent transfer control data structures for automatic reprogramming of said I/O controller and continued data transfer.
Claim 18
Dependent Claim 35 words
The apparatus of claim 11 wherein each I/O controller is programmable to write data into slave memory from each input/output register set in each of said programmable number of cycles in a broadcast communication mode.
Claim 19
Dependent Claim 21 words
The apparatus of claim 11 further comprising a buffer for electronically buffering the instructions between the program memory and the array.
Claim 20
Dependent Claim 22 words
The apparatus of claim 11 wherein each slave processor element comprises means for processing data as either SIMD or MIMD compatible data.
Claim 21
Dependent Claim 40 words
The apparatus of claim 11 wherein said each slave processor element further comprises a set of six link ports for communicating on a nearest-neighbor mesh with adjacent processors, each of said link ports providing a multiple bit wide data path.
Claim 22
Dependent Claim 37 words
The apparatus of claim 18 wherein four link ports provide nearest-neighbor mesh communication with four adjacent processors and two link ports provide fault tolerance with two of said four adjacent processors in the event of a failure.
Claim 23
Independent Claim 127 words
A method for transferring data to selected processor elements in a synchronous digital data processing system, comprising the steps of: processing instructions received through the external port in a core processor; storing data transferred between memory and selectable link ports and transferred between selectable link ports in an input/output register set; transferring data between the core processor and memory and between the input/output register set and memory over a bus system; performing, for successive data elements, a direct memory access to read the data elements from memory to the input/output register set; and performing, after a programmable number of cycles of data transfers between selectable ports through the input/output register set, a direct memory access to write the data elements from the input/output register set to memory.
Claim 24
Independent Claim 127 words
A method for transferring data to selected processor elements in a synchronous digital data processing system, comprising the steps of: processing instructions received through the external port in a core processor; storing data transferred between memory and selectable link ports and transferred between selectable link ports in an input/output register set; transferring data between the core processor and memory and between the input/output register set and memory over a bus system; performing, for successive data elements, a direct memory access to read the data elements from memory to the input/output register set; and performing, after a programmable number of cycles of data transfers between selectable ports through the input/output register set, a direct memory access to write the data elements from the input/output register set to memory.

References Cited (Backward Citations)

US3979728A Cited
US4101960A Cited
US4314349A Cited
US4466061A Cited
US4468736A Cited
US4463423A Cited
US4598400A Cited
US4701847A Cited
US4782444A Cited
US4873626A Cited
US5038282A Cited
US5121498A Cited
US5590356A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-11 2001-11-10 2002-05-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-11 2005-11-10 2006-05-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-11 2009-11-10 2010-05-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag