Patent US4400768A successfully refreshed from Google Patents.
US4400768A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Parallel access computer memory system employing a power-of-two memory modules
Assignee: Unisys Corp
•
Filing: 1980-06-04
•
Granted: 1983-08-23
•
Expires: 2000-06-04
Abstract
Abstract In a parallel data processing system architecture capable of processing in parallel a plurality of data elements from a linear vector stored in a memory module array having in number a power-of-two memory modules, a high degree of conflict-free access to the stored linear vector data elements is achieved through skewed storage wherein a skewing occurs at every Mth address and a further skewing at every M 2 address wherein M (a power-of-two) is equal to the number of memory modules. The data elements are fetched through a connection network for processing in a processor array having in number a power-of-two processors.
Inventors
- 👤 Christopher J. Tomlinson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-26 10:10
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0207
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
341 words
A parallel data processing system architecture capable of processing in parallel a plurality data elements from a stored linear vector, said parallel data processing system architecture comprising: a plurality of parallel processors, each processor therein for fetching and processing a particularly associated data element of said stored linear vector, said plurality of parallel processors being in number a power-of-two; a plurality of parallel addressable memory modules storing said linear vector, said data element thereof particularly associated with each processor (P) stored at an address A(P), each memory module in said plurality thereof having a plurality of data element storage locations, each data element storage location therein for storing an individual data element of said linear vector, said plurality of parallel addressable memory modules being in number a power-of-two other than two; connection network means interposing said plurality of parallel addressable memory modules and said plurality of parallel processors, said connection network means for providing a plurality of requested data communications paths between said plurality of parallel processors wherein each provided data communications path in said plurality thereof is provided as requested to an individual memory module in said plurality of parallel processors for the fetching of a data element of said stored linear vector from said individual memory module to said individual processor; and means associated with each parallel processor in said plurality thereof for requesting a data communications path through said connection network means to a particular addressable memory module M(p) in said plurality thereof and for specifying a particular storage location L(P) in said plurality thereof in accord with the relationships: M(P)=(A(P)+del·L(P)+g·(L(P)DIVM))modulo M, and L(P)=A(P)DIVM wherein: A(P)=the address storing said particularly associated data element associated with a particular processor (P) in said plurality thereof, M(P)=the particular memory module in said plurality thereof storing said particularly associated data element, L(P)=the particular storage location within M(P) storing said particularly associated data element, DIV=integer division, M=the number of memory modules in said plurality thereof, del=a small odd integer chosen to assure that M-del is a prime number, and g=the number positive unity.
Claim 2
Dependent Claim
341 words
A parallel data processing system architecture capable of processing in parallel a plurality data elements from a stored linear vector, said parallel data processing system architecture comprising: a plurality of parallel processors, each processor therein for fetching and processing a particularly associated data element of said stored linear vector, said plurality of parallel processors being in number a power-of-two; a plurality of parallel addressable memory modules storing said linear vector, said data element thereof particularly associated with each processor (P) stored at an address A(P), each memory module in said plurality thereof having a plurality of data element storage locations, each data element storage location therein for storing an individual data element of said linear vector, said plurality of parallel addressable memory modules being in number a power-of-two other than two; connection network means interposing said plurality of parallel addressable memory modules and said plurality of parallel processors, said connection network means for providing a plurality of requested data communications paths between said plurality of parallel processors wherein each provided data communications path in said plurality thereof is provided as requested to an individual memory module in said plurality of parallel processors for the fetching of a data element of said stored linear vector from said individual memory module to said individual processor; and means associated with each parallel processor in said plurality thereof for requesting a data communications path through said connection network means to a particular addressable memory module M(p) in said plurality thereof and for specifying a particular storage location L(P) in said plurality thereof in accord with the relationships: M(P)=(A(P)+del·L(P)+g·(L(P)DIVM))modulo M, and L(P)=A(P)DIVM wherein: A(P)=the address storing said particularly associated data element associated with a particular processor (P) in said plurality thereof, M(P)=the particular memory module in said plurality thereof storing said particularly associated data element, L(P)=the particular storage location within M(P) storing said particularly associated data element, DIV=integer division, M=the number of memory modules in said plurality thereof, del=a small odd integer chosen to assure that M-del is a prime number, and g=the number positive unity.
Claim 3
Dependent Claim
27 words
The parallel processing system architecture according to claim 1 wherein said plurality of parallel processors is equal in number to said plurality of parallel addressable memory modules.
Claim 4
Dependent Claim
363 words
A parallel data processing system architecture capable of processing in parallel a plurality data elements from a stored linear vector, said parallel data processing system architecture comprising: a plurality of parallel processors, each processor therein for fetching and processing a particularly associated data element of said stored linear vector, said plurality of parallel processors being in number a power-of-two; a plurality of parallel addressable memory modules storing said linear vector, said data element thereof particularly associated with each processor (P) stored at an address A(P), each memory module in said plurality thereof having a plurality of data element storage locations, each data element sotrage location therein for storing an individual data element of said linear vector, said plurality of parallel addressable memory modules being in number a power-of-two other than two; connection network means interposing said plurality of parallel addressable memory modules and said plurality of parallel processors, said connection network means for providing a plurality of requested data communications paths between said plurality of parallel addressable memory modules and said plurality of parallel processors wherein each provided data communications path in said plurality thereof is provided as requested to an individual memory module in said plurality of parallel addressable memory modules from an individual processor in said plurality of parallel processors for the fetching a data element of said stored linear vector from said individual memory module to said individual processor; and means associated with each parallel processor in said plurality thereof for requesting a data communications path through said connection network means to a particular addressable memory module M(P) in said plurality thereof and for specifying a particular storage location L(P) in said plurality thereof in accord with the relationships: M(P)=(A(P)+del·L(P)+g·(L(P)DIVM))modulo M, and L(P)=A(P)DIVM wherein: A(P)=the address storing said particularly associated data element associated with a particular processor (P) in said plurality thereof, M(P)=the particular memory module in said plurality thereof storing said particularly associated data element, L(P)=the particular storage location within M(P) storing said particularly associated data element, DIV=integer division, M=the number of memory modules in said plurality thereof, del=a small odd integer chosen to assure that M-del has no small factors other than unity, and g=a small skewing number.
Claim 5
Dependent Claim
363 words
A parallel data processing system architecture capable of processing in parallel a plurality data elements from a stored linear vector, said parallel data processing system architecture comprising: a plurality of parallel processors, each processor therein for fetching and processing a particularly associated data element of said stored linear vector, said plurality of parallel processors being in number a power-of-two; a plurality of parallel addressable memory modules storing said linear vector, said data element thereof particularly associated with each processor (P) stored at an address A(P), each memory module in said plurality thereof having a plurality of data element storage locations, each data element sotrage location therein for storing an individual data element of said linear vector, said plurality of parallel addressable memory modules being in number a power-of-two other than two; connection network means interposing said plurality of parallel addressable memory modules and said plurality of parallel processors, said connection network means for providing a plurality of requested data communications paths between said plurality of parallel addressable memory modules and said plurality of parallel processors wherein each provided data communications path in said plurality thereof is provided as requested to an individual memory module in said plurality of parallel addressable memory modules from an individual processor in said plurality of parallel processors for the fetching a data element of said stored linear vector from said individual memory module to said individual processor; and means associated with each parallel processor in said plurality thereof for requesting a data communications path through said connection network means to a particular addressable memory module M(P) in said plurality thereof and for specifying a particular storage location L(P) in said plurality thereof in accord with the relationships: M(P)=(A(P)+del·L(P)+g·(L(P)DIVM))modulo M, and L(P)=A(P)DIVM wherein: A(P)=the address storing said particularly associated data element associated with a particular processor (P) in said plurality thereof, M(P)=the particular memory module in said plurality thereof storing said particularly associated data element, L(P)=the particular storage location within M(P) storing said particularly associated data element, DIV=integer division, M=the number of memory modules in said plurality thereof, del=a small odd integer chosen to assure that M-del has no small factors other than unity, and g=a small skewing number.
Claim 6
Dependent Claim
25 words
The parallel processing system architecture according to claim 3 wherein said plurality of parallel processors equal in number said plurality of parallel addressable memory modules.
References Cited (Backward Citations)
US4051551A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1986-08-22 | 1987-02-21 | 1987-08-23 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1990-08-22 | 1991-02-21 | 1991-08-23 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1994-08-22 | 1995-02-21 | 1995-08-23 | $7700.00 | Window Closed / Lapsed |