A processor particularly useful in multimedia applications such as image
processing is based on a stream programming model and has a tiered storage
architecture to minimize global bandwidth requirements. The processor has
a stream register file through which the processor's functional units
transfer streams to execute processor operations. Load and store
instructions transfer streams between the stream register file and a
stream memory; send and receive instructions transfer streams between
stream register files of different processors; and operate instructions
pass streams between the stream register file and computational kernels.
Each of the computational kernels is capable of performing compound vector
operations. A compound vector operation performs a sequence of arithmetic
operations on data read from the stream register file, i.e., a global
storage resource, and generates a result that is written back to the
stream register file. Each function or compound vector operation is
specified by an instruction sequence that specifies the arithmetic
operations and data movements that are performed each cycle to carry out
the compound operation. This sequence can, for example, be specified using
microcode.
Un processor particolarmente utile nelle applicazioni di multimedia come elaborazione di immagini è basato su un modello di programmazione del flusso ed ha un'architettura tiered di immagazzinaggio per minimizzare i requisiti globali di larghezza di banda. Il processor ha una lima del registro del flusso attraverso cui le unità funzionali del processor trasferiscono i flussi per eseguire i funzionamenti del processor. Flussi di trasferimento di istruzioni del deposito e del carico fra la lima del registro del flusso e una memoria del flusso; trasmetta e ricevi i flussi di trasferimento di istruzioni fra le lime del registro del flusso dei processor differenti; e funzioni i flussi del passaggio di istruzioni fra la lima del registro del flusso ed i noccioli di calcolo. Ciascuno dei noccioli di calcolo è capace di realizzare i funzionamenti compound di vettore. Un funzionamento compound di vettore effettua una sequenza dei funzionamenti aritmetici sui dati colti dalla lima del registro del flusso, cioè, una risorsa globale di immagazzinaggio e genera un risultato che è scritto di nuovo alla lima del registro del flusso. Ogni funzione o funzionamento compound di vettore è specificata da una sequenza di istruzione che specifica i funzionamenti aritmetici ed i movimenti di dati che sono realizzati ogni ciclo per effettuare il funzionamento compound. Questa sequenza può, per esempio, essere specificata usando il microcodice.