C’è una grande differenza tra due dei principali formati – processori scalari e array – in cui un sistema informatico elabora le informazioni. Mentre i processori scalari lavorano su un elemento di dati alla volta, i processori array possono affrontare più flussi di dati contemporaneamente. Entrambi i processori, tuttavia, fanno parte dell’unità di elaborazione centrale (CPU), che controlla tutte le azioni di un computer e può gestire tutti i tempi dei dati. I processori scalari e array eseguono molte delle stesse operazioni, ma in modo diverso, rendendo ciascuno adatto a uno scopo diverso e assicurandosi che tutte le funzioni, dalla più semplice alla più complessa, possano essere eseguite.
I processori di array applicano una singola istruzione a più array o matrici di dati contemporaneamente prima di passare all’istruzione successiva. Ciò consente ai processori array di operare molto più rapidamente perché il processore non ha bisogno di aspettare che la prima serie di istruzioni venga eseguita su un elemento prima di passare al successivo. Molti dei passaggi necessari per eseguire un’operazione vengono eliminati perché il computer recupera più elementi contemporaneamente, esegue l’operazione su tutti, quindi la riscrive in memoria, invece di ripetere i passaggi con ogni nuovo dato.
I processori scalari operano su un elemento di dati alla volta prima di passare all’elemento successivo. Ogni istruzione deve essere eseguita sull’elemento corrente prima di passare all’istruzione successiva. Alla fine del ciclo, il set di istruzioni viene eseguito sull’elemento successivo in sequenza. Quasi tutte le CPU del mercato di massa sono scalari sebbene possano avere elementi che funzionano più come processori array.
I supercomputer degli anni ‘1980 e ‘1990 sono stati progettati per elaborare grandi quantità di dati utilizzando dati multipli con istruzioni singole. I processori di array hanno permesso di manipolare dati scientifici e di ricerca in un tempo più breve. Sebbene possa sembrare intuitivo che i processori array gestiscano tutte le funzioni della CPU più velocemente dei processori scalari, non è così. I processori array sono in grado di gestire in modo efficiente grandi quantità di dati, ma poiché la funzione richiede che la CPU sia più complessa, le operazioni più semplici sono più difficili da eseguire.
Le differenze tra processori scalari e array sono diventate meno pronunciate con l’introduzione dei microprocessori nel 1994. Da allora i microprocessori con elementi di dati multipli a istruzione singola sono diventati la norma e hanno ulteriormente ridotto il divario tra processori scalari e array. Le console per videogiochi e gli acceleratori grafici hanno la propria CPU grafica che funziona in parallelo alla CPU scalare principale, liberando così la CPU principale per svolgere funzioni non grafiche.