Hva er forskjellen mellom skalar- og matriseprosessorer?
Det er en stor forskjell mellom to av hovedformatene - skalar- og matriseprosessorer - der et datasystem behandler informasjon. Mens skalarprosessorer jobber med ett dataelement av gangen, kan matriseprosessorer takle flere datastrømmer samtidig. Begge prosessorer er imidlertid en del av den sentrale prosesseringsenheten (CPU), som kontrollerer alle handlinger på en datamaskin og kan håndtere alle tider med data. Skalar og array-prosessorer utfører mange av de samme operasjonene, men på en annen måte, noe som gjør hver egnet for et annet formål og sørger for at alle funksjoner fra de enkleste til mest komplekse kan utføres.
Array-prosessorer bruker en enkelt instruksjon på flere matriser eller matriser av data samtidig før de går videre til neste instruksjon. Dette gjør at matprosessorer kan operere mye raskere fordi prosessoren ikke trenger å vente på at det første settet med instruksjoner skal utføres på det ene elementet før det går videre til det neste. Mange av trinnene som kreves for å utføre en operasjon, blir eliminert fordi datamaskinen henter flere elementer samtidig, utfører operasjonen på dem alle, og skriver den deretter om til minnet i stedet for å gjenta trinn med hver nye datamaskin.
Skalareprosessorer opererer på ett dataelement av gangen før de går videre til neste element. Hver instruksjon må utføres på det aktuelle elementet før du går videre til neste instruksjon. På slutten av løkken utføres instruksjonssettet på neste element i sekvens. Nesten alle CPU-er i massemarkedet er skalare, selv om de kan ha elementer som fungerer mer som matriseprosessorer.
Superdatamaskiner på 1980- og 1990-tallet ble designet for å behandle store datamengder ved å bruke enkeltinstruks-multiple-data. Array-prosessorer gjorde det mulig å manipulere vitenskap og forskningsdata på kortere tid. Selv om det kan virke intuitivt at matprosessorer vil håndtere alle CPU-funksjoner raskere enn skalare prosessorer, er dette ikke tilfelle. Array-prosessorer er i stand til å håndtere store datamengder, men siden funksjonen krever at CPU er mer kompleks, er enklere operasjoner vanskeligere å utføre.
Forskjellene mellom skalare- og matriseprosessorer ble mindre utpreget med introduksjonen av mikroprosessorer i 1994. Siden da har mikroprosessorer med elementer av enkeltinstruksjonsmultidata blitt normen og ytterligere innsnevret gapet mellom skalare- og matriseprosessorer. Videospillkonsoller og grafikkakseleratorer har sin egen grafikk-CPU som kjører parallelt med hovedskalar-CPU, og dermed frigjør hoved CPU til å utføre ikke-grafiske funksjoner.