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

Integrated scalar and vector processors with vector addressing by the scalar processor

Assignee: AI ARCHITECTS Inc A CORP OF MASSACHUSETTS
•
Filing: 1989-01-17
•
Granted: 1992-06-16
•
Expires: 2009-01-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A vector processor is closely integrated with a scalar processor. The scalar processor provides virtual-to-physical memory translation for both scalar and vector operations. In vector operations, a block move operation preformed by the scalar processor is intercepted, the write command in the operation is converted to a read, and data resulting from a vector operation is returned to the address specified by the block move write command. Writing of the data may be masked by a prior vector operation. Prefetch queues and write queues are provided between main memory and the vector processor. A microinstruction interface is supported for the vector processor.

Inventors

  • 👤 Gregory M. Papadopoulos
  • 👤 David E. Culler
  • 👤 James T. Pinkerton

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 03:54
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/30032; G06F15/00; G06F15/76; G06F15/80; G06F15/8053; G06F15/8061; G06F17/00; G06F17/10; G06F17/16; G06F9/30036; G06F9/30038; G06F9/34; G06F9/345; G06F9/3455; G06F9/38; G06F9/3877; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 250 words
A data processing system comprising: a scalar microprocessor, coupled to the memory, which performs scalar operations, the scalar microprocessor comprising means for generating physical memory addresses, for addressing data in the memory, from virtual memory addresses, and a vector processor, coupled to the memory, responsive to vector instructions to receive a sequence of data from the memory which is addressed by a sequence of physical addresses form the scalar microprocessor for performing a vector operation on the received sequence of data and for storing a sequence of results of the vector operation in the memory at locations addressed by physical addresses from the scalar microprocessor; wherein: the scalar microprocessor responds to a block move instruction by reading data from locations in memory at a first set of addresses generated by the microprocessor and writing said data into locations in memory at a second set of addresses generated by the microprocessor, and in a vector operation, the vector processor receives a first sequence of data from locations in memory at the first set of addresses generated by the scalar microprocessor, inhibits writing of data into locations in memory at the second set of addresses generated by the scalar microprocessor, reads a second sequence of data which is different from the first sequence of data from locations at the second set of addresses, performs the vector operation on the first and second sequence of data and writes results of the vector operation in locations in memory at the second set of addresses.
Claim 2
Dependent Claim 250 words
A data processing system comprising: a scalar microprocessor, coupled to the memory, which performs scalar operations, the scalar microprocessor comprising means for generating physical memory addresses, for addressing data in the memory, from virtual memory addresses, and a vector processor, coupled to the memory, responsive to vector instructions to receive a sequence of data from the memory which is addressed by a sequence of physical addresses form the scalar microprocessor for performing a vector operation on the received sequence of data and for storing a sequence of results of the vector operation in the memory at locations addressed by physical addresses from the scalar microprocessor; wherein: the scalar microprocessor responds to a block move instruction by reading data from locations in memory at a first set of addresses generated by the microprocessor and writing said data into locations in memory at a second set of addresses generated by the microprocessor, and in a vector operation, the vector processor receives a first sequence of data from locations in memory at the first set of addresses generated by the scalar microprocessor, inhibits writing of data into locations in memory at the second set of addresses generated by the scalar microprocessor, reads a second sequence of data which is different from the first sequence of data from locations at the second set of addresses, performs the vector operation on the first and second sequence of data and writes results of the vector operation in locations in memory at the second set of addresses.
Claim 3
Dependent Claim 27 words
A data processing system as claimed in claim 1 wherein the addresses of each of the first and second sets of addresses are of constant stride increments.
Claim 4
Dependent Claim 54 words
A data processing system as claimed in claim 1 wherein an operation of the vector processor is to generate a mask vector based on a condition of the received data, the data processing system further comprising means for disabling storage of results of a subsequent vector operation as a function of the mask vector.
Claim 5
Dependent Claim 61 words
A data processing system as claimed in claim 1 further comprising a cache memory for data processed by the scalar microprocessor in scalar operations but not for data processed by the vector processor, the data processing system comprising means for invalidating data in the cache memory which is to be replaced by results of an operation performed by the vector processor.
Claim 6
Dependent Claim 55 words
A data processing system as claimed in claim 1 further comprising a fetch queue which stores data to be processed by the vector processor, and means to invalidate data in the fetch queue in the event of a write operation by the scalar microprocessor to the location in memory from which the data was read.
Claim 7
Dependent Claim 36 words
A data processing system as claimed in claim 1 further comprising means for blocking a read or write operation relative to the location in memory into which results of the vector operation are to be written.
Claim 8
Dependent Claim 30 words
A data processing system as claimed in claim 1 wherein the memory is a static column memory, the system further comprising queues for data read from and written to memory.
Claim 9
Dependent Claim 30 words
A data processing system as claimed in claim 1 further comprising a storage unit for receiving results of the vector operations and for providing additional inputs to the vector operations.
Claim 10
Dependent Claim 26 words
A data processing system as claimed in claim 8 wherein the scalar microprocessor is able to read and write data from and to the storage unit.
Claim 11
Dependent Claim 31 words
A data processing system as claimed in claim 1 wherein the physical addresses from the scalar microprocessor identify distinct vector and scalar address spaces which address a common physical memory space.
Claim 12
Dependent Claim 42 words
A data processing system as claimed in claim 1 wherein the vector processor processes successive records of multiple words with a common code sequence, the sequence being fired with the arrival of each full record at the input to the vector processor.
Claim 13
Dependent Claim 18 words
A data processing system as claimed in claim 1 wherein the scalar microprocessor is a single chip microprocessor.
Claim 14
Dependent Claim 198 words
In a data processing system a program responsive method of performing vector operations comprising: in a scalar microprocessor, generating physical memory addresses from virtual memory addresses for a vector operation by executing a block move instruction in which the scalar microprocessor attempts to read data from locations at a first set of addresses in memory and write the data from the first set of addresses into locations at a second set of addresses in memory; performing a vector operation in a vector processor on data from a memory which is addressed by physical addresses form the scalar microprocessor by receiving a first sequence of data from locations in memory at the first set of addresses generated by the scalar microprocessor, inhibiting writing of the data into locations in memory at the second set of addresses generated by the scalar microprocessor, reading a second sequence of data which is different from the first sequence of data from locations in memory at the second set of addresses, and performing the vector operation on the first and second sets of data; and storing results of the vector operation in the memory at the second set of addresses from the scalar microprocessor.
Claim 15
Dependent Claim 198 words
In a data processing system a program responsive method of performing vector operations comprising: in a scalar microprocessor, generating physical memory addresses from virtual memory addresses for a vector operation by executing a block move instruction in which the scalar microprocessor attempts to read data from locations at a first set of addresses in memory and write the data from the first set of addresses into locations at a second set of addresses in memory; performing a vector operation in a vector processor on data from a memory which is addressed by physical addresses form the scalar microprocessor by receiving a first sequence of data from locations in memory at the first set of addresses generated by the scalar microprocessor, inhibiting writing of the data into locations in memory at the second set of addresses generated by the scalar microprocessor, reading a second sequence of data which is different from the first sequence of data from locations in memory at the second set of addresses, and performing the vector operation on the first and second sets of data; and storing results of the vector operation in the memory at the second set of addresses from the scalar microprocessor.
Claim 16
Dependent Claim 38 words
A method as claimed in claim 13 further comprising generating a mask vector based on a condition of received data and disabling storage of the results of the subsequent vector operation as a function of the mask vector.
Claim 17
Dependent Claim 32 words
A method as claimed in claim 13 further comprising invalidating data in a scalar cache memory which data is to be replaced by results of an operation performed by the vector processor.
Claim 18
Dependent Claim 44 words
A method as claimed in claim 13 further comprising prefetching data to be processed by the vector processor and invalidating prefetched data in the event of a write operation by the scalar microprocessor to the address in memory from which the data was read.
Claim 19
Dependent Claim 33 words
A method as claimed in claim 13 further comprising blocking a read or write operation relative to the location in memory to which the results of a vector operation are to be written.

References Cited (Backward Citations)

US4574351A Cited
US4794524A Cited
US4719602A Cited
US4713749A Cited
US4794517A Cited
US4972338A Cited
US4780811A Cited
US4945479A Cited
US4849882A Cited
US4964035A Cited
US4901233A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-06-16 1995-12-16 1996-06-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-06-16 1999-12-16 2000-06-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-06-16 2003-12-16 2004-06-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag