Architetture dei processori/Single Instruction Multiple Data: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Hellisp (discussione | contributi)
Nessun oggetto della modifica
Hellisp (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
[[Image:Vectorsimdpipeline.png|thumb|right|300px|Pipeline di un processore SIMD, dopo aver decodificato l'istruzione e caricato i dati applica le operazioni a un blocco di dati sequenzalmente senza dover ogni volta decodificare le istruzioni]]
Quasi tutti i moderni processori per incrementare le loro prestazioni dell'elaborazione dei dati multimediali fanno uso di unità [[w:SIMD|SIMD]]. Le unità SIMD sono unità basate su più unità specializzate per elaborare dati diversi in parallelo. Questa architettura viene utilizzata dai [[w:Architetture dei processori/Processore vettoriale|processori vettoriali]] o da processori che funzionano in parallelo.
 
In passato venivano prodotti un numero elevato di dispositivi dedicati allo svolgimento di compiti specifici. Usualmente questi dispositivi erano [[w:Digital Signal Processor|DSP]] opportunamente programmati. La differenza fondamentale tra le istruzioni SIMD e i DSP e che questi sono dotati di un set di istruzioni completo e quindi sono in grado di svolgere teoricamente qualsiasi compito. Invece le istruzioni SIMD sono progettate per manipolare elevate quantità di dati in parallelo e per le usuali operazioni si appoggiano ad un altro insieme di istruzioni usualmente gestito dal microprocessore. Inoltre i DSP tendono a includere un certo numero di istruzioni dedicate ad elaborare tipi specifici di dati come possono essere i dati audio o video mentre le istruzioni SIMD vengono utilizzate per elaborare dati generici.