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

Message-driven processor in a concurrent computer

Assignee: Massachusetts Institute of Technology
•
Filing: 1988-05-27
•
Granted: 1993-05-18
•
Expires: 2008-05-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A message-driven concurrent computer system stores incoming messages in a row buffer and then in a queue in main memory. A translator cache is also located in main memory, and output from the cache is through a set of comparators. Both the queue and cache are addressed in a wraparound fashion by hardware. An instruction buffer holds an entire row of instructions from memory. Translate, suspend and send instructions are available to the user. Tags provide for synchronization when objects are retrieved from remote processors and identify addresses as being physical addresses of a local processor or a node address of a remote processor.

Inventors

  • 👤 William J. Dally
  • 👤 Andrew A. Chien
  • 👤 Waldemar P. Horwat
  • 👤 Stuart Fiske

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 06:14
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/167

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 177 words
In a concurrent computer system in which an array of processors is coupled in a communication network over which messages are transferred between processors of the array, the method in a processor of the array comprising: automatically storing sequential messages in a queue independent of any ongoing routine; with suspension of a routine, reading a header of a next received message from the queue, and from a physical address in the header directly addressing a first handler routine to be processed; processing the first handler routine and subsequent routines to which the first handler routine directs the processor, the first handler routine processing data in the message to locate a subsequent routine; identifying a segment of memory by creating a segment descriptor that identifies a base address and a length of the entire week received message from length data in the header; and reading message arguments under program control from the identified memory segment by computing an address as an offset from the base address from the segment descriptor and checking the address against a length limit.
Claim 2
Dependent Claim 177 words
In a concurrent computer system in which an array of processors is coupled in a communication network over which messages are transferred between processors of the array, the method in a processor of the array comprising: automatically storing sequential messages in a queue independent of any ongoing routine; with suspension of a routine, reading a header of a next received message from the queue, and from a physical address in the header directly addressing a first handler routine to be processed; processing the first handler routine and subsequent routines to which the first handler routine directs the processor, the first handler routine processing data in the message to locate a subsequent routine; identifying a segment of memory by creating a segment descriptor that identifies a base address and a length of the entire week received message from length data in the header; and reading message arguments under program control from the identified memory segment by computing an address as an offset from the base address from the segment descriptor and checking the address against a length limit.
Claim 3
Dependent Claim 171 words
In a concurrent computer system in which an array of processors is coupled in a communication network over which messages are transferred between processors of the array, the method in a processor of the array comprising: storing data in rows of words in memory; addressing and reading a row from memory; forwarding an individual word from an addressed row to a data bus; storing a row of words received from a communications channel which is separate from the data bus for simultaneously writing a row of words into a queue with a single access; automatically storing sequential messages in the queue independent of any ongoing routine; with suspension of a routine, reading a header of a next received message from the queue, and from a physical address in the header directly addressing a first handler routine to be processed; and processing the first handler routine and subsequent routines to which the first handler routine directs the processor, the first handler routine processing data in the message to locate a subsequent routine.
Claim 4
Dependent Claim 171 words
In a concurrent computer system in which an array of processors is coupled in a communication network over which messages are transferred between processors of the array, the method in a processor of the array comprising: storing data in rows of words in memory; addressing and reading a row from memory; forwarding an individual word from an addressed row to a data bus; storing a row of words received from a communications channel which is separate from the data bus for simultaneously writing a row of words into a queue with a single access; automatically storing sequential messages in the queue independent of any ongoing routine; with suspension of a routine, reading a header of a next received message from the queue, and from a physical address in the header directly addressing a first handler routine to be processed; and processing the first handler routine and subsequent routines to which the first handler routine directs the processor, the first handler routine processing data in the message to locate a subsequent routine.
Claim 5
Dependent Claim 131 words
A concurrent data processing system comprising: a processor which processes instructions received in messages; a memory which stores data, accessible by the processor for processing, in rows of words; means for address a row from memory; means for forwarding an individual word from an addressed row to a data bus coupled to the processor; and a row buffer means coupled to the memory, in parallel with the means for forwarding, for storing a row of words of a massage to be processed by the processor, received serially from a communications channel which is separate from the data bus and independent of the processor, and for thereafter simultaneously writing a row of words from the row buffer into memory with a signal access to a row addressed by the means for addressing.
Claim 6
Dependent Claim 131 words
A concurrent data processing system comprising: a processor which processes instructions received in messages; a memory which stores data, accessible by the processor for processing, in rows of words; means for address a row from memory; means for forwarding an individual word from an addressed row to a data bus coupled to the processor; and a row buffer means coupled to the memory, in parallel with the means for forwarding, for storing a row of words of a massage to be processed by the processor, received serially from a communications channel which is separate from the data bus and independent of the processor, and for thereafter simultaneously writing a row of words from the row buffer into memory with a signal access to a row addressed by the means for addressing.
Claim 7
Dependent Claim 107 words
A concurrent data processing system comprising: a processor that processes instructions received in messages; a memory which stores data, accessible by the processor for processing, in rows of words; means for addressing a row from memory; means for forwarding an individual word from an addressed row to a data bus coupled to the processor; and means coupled, in parallel with the means for forwarding, for storing a row of instruction words addressed together from a row of memory to be applied in parallel with data on the data bus along a data path separate from the data bus, as instruction words to be fetched by the processor.
Claim 8
Dependent Claim 107 words
A concurrent data processing system comprising: a processor that processes instructions received in messages; a memory which stores data, accessible by the processor for processing, in rows of words; means for addressing a row from memory; means for forwarding an individual word from an addressed row to a data bus coupled to the processor; and means coupled, in parallel with the means for forwarding, for storing a row of instruction words addressed together from a row of memory to be applied in parallel with data on the data bus along a data path separate from the data bus, as instruction words to be fetched by the processor.
Claim 9
Dependent Claim 63 words
A data processing system as claimed n claim 39 further comprising row buffer means for storing a row of words received from a communication channel which is separate from the data bus and independent of the processor for simultaneously writing a row of words from the row buffer into memory with a single access to a row addressed by the means for addressing.

References Cited (Backward Citations)

US4374409A Cited
US4131940A Cited
US4270167A Cited
US4325120A Cited
US4387427A Cited
US4333144A Cited
US4381541A Cited
US4814973A Cited
US4769768A Cited
US4635254A Cited
US4814980A Cited
US4814978A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-05-17 1996-11-16 1997-05-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-05-17 2000-11-16 2001-05-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-05-17 2004-11-16 2005-05-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag