METHOD FOR PREFETCHING VECTOR DATA FROM MEMORY IN A MEMORY SYSTEM DESIGNED FOR SCALAR PROCESSING

METHOD FOR PREFETCHING VECTOR DATA FROM MEMORY IN A MEMORY SYSTEM DESIGNED FOR SCALAR PROCESSING A main memory and cache suitable for scalar processing are used in connection with a vector processor by issuing prefetch requests in response to the recognition of a vector load instruction. A respectiv...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: FOSSUM, TRYGGVE, MURRAY, JOHN E, MANLEY, DWIGHT P, HETHERINGTON, RICKY C, MCKEEN, FRANCIS X, FITE, DAVID B., JR
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:METHOD FOR PREFETCHING VECTOR DATA FROM MEMORY IN A MEMORY SYSTEM DESIGNED FOR SCALAR PROCESSING A main memory and cache suitable for scalar processing are used in connection with a vector processor by issuing prefetch requests in response to the recognition of a vector load instruction. A respective prefetch request is issued for each block containing an element of the vector to be loaded from memory. In response to a prefetch request, the cache is checked for a "miss" and if the cache does not include the required block, a refill request is sent to the main memory. The main memory is configured into a plurality of banks and has a capability of processing multiple references. Therefore the different banks can be referenced simultaneously to prefetch multiple blocks of vector data. Preferably a cache bypass is provided to transmit data directly to the vector processor as the data from the main memory are being stored in the cache. In a preferred embodiment, a vector processor is added to a digital computing system including a scalar processor, a virtual address translation buffer, a main memory and a cache. The scalar processor includes a microcode interpreter which sends a vector load command to the vector processing unit and which also generates vector prefetch requests. The addresses for the data blocks to be prefetched are computed based upon the vector address, the length of the vector and the "stride" or spacing between the addresses of the elements of the vector.