US5613136A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Locality manager having memory and independent code, bus interface logic, and synchronization components for a processing element for intercommunication in a latency tolerant multiple processor
Assignee: University of Iowa Research Foundation
•
Filing: 1993-10-29
•
Granted: 1997-03-18
•
Expires: 2013-10-29
Abstract
Abstract A method and an apparatus for reconciling communication and locality by enabling a user/programmer to write programs in an extended procedural language which explicitly manipulate locality. The multiprocessor includes a plurality of processing elements connected to each other each processing element having a unique address and including a central processing unit for executing local CPU code and reading and writing local data and a locality manager for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code which indicates when shared data can be released and when non-local data is requested.
Inventors
- 👤 Thomas L. Casavant
- 👤 Samuel A. Fineberg
- 👤 Devin L. Bright
- 👤 Subbiah Sundaram
- 👤 Michelle L. Roderick
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 02:17
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3877; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17356; G06F15/17368; G06F15/17381; G06F15/76; G06F15/80; G06F15/8007
Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
144 words
A parallel multiprocessor comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; and a locality manager processor coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events.
Claim 2
Dependent Claim
144 words
A parallel multiprocessor comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; and a locality manager processor coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events.
Claim 3
Dependent Claim
48 words
The parallel multiprocessor claimed in claim 1, further comprising a bus interface logic unit connected to said central processing unit for detecting cpu events by monitoring said tag fields and passing accesses to said processing element main memory to said locality manager processor based on said tag fields.
Claim 4
Dependent Claim
39 words
The parallel multiprocessor claimed in claim 2, further comprising a cpu-lm fifo connected to said bus interface logic unit, said bus interface logic unit placing address bits and tag bits into said cpu-lm fifo based on said tag fields.
Claim 5
Dependent Claim
59 words
The parallel multiprocessor claimed in claim 3, further comprising a block logic unit connected to said bus interface logic for storing synchronization bits for data stored in said processing element main memory, the synchronization bits indicating whether data may be written over or read, said bus interface logic unit checking said block logic unit whenever a reference is taggable.
Claim 6
Dependent Claim
31 words
The parallel multiprocessor claimed in claim 2, further comprising block logic unit connected to said bus interface logic unit for controlling synchronization of taggable data that has been requested or released.
Claim 7
Dependent Claim
39 words
The parallel multiprocessor claimed in claim 5, wherein said block logic unit for controlling comprises means for preventing a reading of a taggable variable that has been requested until after data associated with the taggable variable has been received.
Claim 8
Dependent Claim
42 words
The parallel multiprocessor claimed in claim 5, wherein said block logic unit for controlling comprises means for preventing over-writing of taggable variables that have been released until after data associated with the taggable variable has been sent a predetermined number of times.
Claim 9
Dependent Claim
39 words
The parallel multiprocessor claimed in claim 5, wherein said block logic unit for controlling comprises means for preventing reading from and preventing writing to taggable variables after data associated with the taggable variable has been requested and released, respectively.
Claim 10
Dependent Claim
117 words
The parallel multiprocessor claimed in claim 2, further comprising: a CPU bus; a bus interface logic unit coupled to said central processing unit and said CPU bus, for detecting cpu events having a tag field and an address field by monitoring said tag field and passing memory accesses to said processing element bus based on said tag field; an inhibit logic unit which filters said events being sent to said locality manager processor based on said tag and address fields; a cpu-lm fifo coupled to said inhibit logic unit and said bus interface unit; and block logic unit connected to said bus interface logic unit for controlling synchronization of taggable data that has been requested or released.
Claim 11
Dependent Claim
41 words
The parallel multiprocessor claimed in claim 9, wherein said block logic unit comprises a first register coupled to said locality manager processor, a second register coupled to said inhibit logic and a third register coupled to said bus interface logic unit.
Claim 12
Dependent Claim
46 words
The parallel multiprocessor claimed in claim 9, further comprising routing logic means having direct access to said locality manager memory and said processing element main memory and connected to said locality manager processor, for routing data in accordance with commands received from said locality manager processor.
Claim 13
Dependent Claim
34 words
The parallel multiprocessor claimed in claim 9, wherein said central processing unit has cpu address lines partitioned into tag lines for transmitting said tag field and physical address lines of said central processing unit.
Claim 14
Dependent Claim
55 words
The parallel multiprocessor claimed in claim 1, wherein said central processing unit comprises having a cache memory with an instruction portion and a data portion, said multiprocessor further comprising main memory updating means for updating data stored in said processing element main memory in accordance with data in said data portion of the cache memory.
Claim 15
Dependent Claim
41 words
The parallel multiprocessor claimed in claim 13, wherein said central processing unit has cpu address lines partitioned into tag lines for transmitting said tag field, page select lines corresponding to regions of said processing element main memory and blocking logic lines.
Claim 16
Dependent Claim
149 words
A parallel multiprocessor, comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; a locality manager processor, comprising an integer central processing unit, coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events.
Claim 17
Dependent Claim
149 words
A parallel multiprocessor, comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; a locality manager processor, comprising an integer central processing unit, coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events.
Claim 18
Dependent Claim
155 words
A parallel multiprocessor, comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; a locality manager processor, comprising a register file, a shifter unit and an arithmetic logic unit, coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events.
Claim 19
Dependent Claim
155 words
A parallel multiprocessor, comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; a locality manager processor, comprising a register file, a shifter unit and an arithmetic logic unit, coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events.
Claim 20
Dependent Claim
14 words
The parallel multiprocessor claimed in claim 16, wherein said register file comprises 32 registers.
Claim 21
Dependent Claim
18 words
The parallel multiprocessor claimed in claim 17, wherein each of said 32 registers is thirty-two bits in length.
Claim 22
Dependent Claim
21 words
The parallel multiprocessor claimed in claim 16, wherein said register file comprises a user stack pointer and a system stack point.
Claim 23
Dependent Claim
16 words
The parallel multiprocessor claimed in claim 16, wherein said register file comprises a null stack pointer.
Claim 24
Dependent Claim
15 words
The parallel multiprocessor claimed in claim 16, wherein said register file comprises an input/output register.
Claim 25
Dependent Claim
273 words
A parallel multiprocessor, comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; a locality manager processor coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events; a bus interface logic unit connected to said central processing unit for detecting cpu events by monitoring said tag fields and passing accesses to said processing element main memory to said locality manager processor based on said tag fields; a cpu-lm fifo connected to said bus interface logic unit, said bus interface logic unit placing address bits and tag bits into said cpu-lm fifo based on said tag fields; and a block logic unit, comprising a plurality of content addressable memories of various sizes, connected to said bus interface logic for storing synchronization bits for data stored in said processing element main memory, the synchronization bits indicating whether data may be written over or read, said bus interface logic unit checking said block logic unit whenever a reference is taggable.
Claim 26
Dependent Claim
273 words
A parallel multiprocessor, comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code; a locality manager processor coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in association with said events; a bus interface logic unit connected to said central processing unit for detecting cpu events by monitoring said tag fields and passing accesses to said processing element main memory to said locality manager processor based on said tag fields; a cpu-lm fifo connected to said bus interface logic unit, said bus interface logic unit placing address bits and tag bits into said cpu-lm fifo based on said tag fields; and a block logic unit, comprising a plurality of content addressable memories of various sizes, connected to said bus interface logic for storing synchronization bits for data stored in said processing element main memory, the synchronization bits indicating whether data may be written over or read, said bus interface logic unit checking said block logic unit whenever a reference is taggable.
Claim 27
Dependent Claim
39 words
The parallel multiprocessor claimed in claim 22, wherein each of said plurality of content addressable memorys has a plurality of rows, each of said rows comprising an address portion, blocking bits, a grouping bit and a group indicator tag.
Claim 28
Dependent Claim
213 words
A parallel multiprocessor comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code and data; a locality manager processor coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in accordance with the tag field of said event; main memory updating means for updating data stored in said processing element main memory in accordance with data in said data portion of the cache memory; and routing logic means having direct access to said locality manager memory and said processing element main memory and connected to said locality manager processor, for routing data in accordance with commands received from said locality manager processor.
Claim 29
Dependent Claim
213 words
A parallel multiprocessor comprising: a plurality of processing elements connected to each other in an interconnection structure, wherein each of said plurality of processing elements has a unique address within said structure and comprises: a processing element main memory for storing local cpu code; a central processing unit coupled to said processing element main memory for executing the local cpu code and for reading events from and writing events to said processing element main memory, wherein each of said events has a tag field indicating whether or not said event may be non-local to said central processing unit; a locality manager memory for storing local locality manager code and data; a locality manager processor coupled to said locality manager memory, for controlling data movement between processing elements which are cooperating on a single task by executing local locality manager code in accordance with the tag field of said event; main memory updating means for updating data stored in said processing element main memory in accordance with data in said data portion of the cache memory; and routing logic means having direct access to said locality manager memory and said processing element main memory and connected to said locality manager processor, for routing data in accordance with commands received from said locality manager processor.
References Cited (Backward Citations)
US4079327A
Cited
US4814973A
Cited
US4598400A
Cited
US5008815A
Cited
US4805091A
Cited
US5047917A
Cited
US4773038A
Cited
US4791641A
Cited
US4827403A
Cited
US4984235A
Cited
US5050069A
Cited
US5201040A
Cited
US4830376A
Cited
US4969088A
Cited
US5113514A
Cited
US4984400A
Cited
US5083265A
Cited
US5175733A
Cited
US5442797A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-03-17 | 2000-09-16 | 2001-03-18 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-03-17 | 2004-09-16 | 2005-03-18 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-03-17 | 2008-09-16 | 2009-03-18 | $7700.00 | Window Closed / Lapsed |