Hva er forskjellen mellom vektor- og skalarprosessorer?
Den delen av en datamaskin som lar den fungere, gjennomføre instruksjonene til forskjellige programmer, er den sentrale prosesseringsenheten (CPU). CPU, også kalt en prosessor, mottar et programs instruksjoner; avkoder disse instruksjonene og deler dem inn i enkeltdeler; utfører instruksjonene; og rapporterer resultatene og skriver dem tilbake i minnet. Formatet for den prosessoren kommer i en av to primære typer: vektor og skalar. Forskjellen mellom de to er at skalarprosessorer kun opererer på et datapunkt om gangen, mens vektorprosessorer opererer på en rekke data.
Skalareprosessorer er den mest grunnleggende prosessortypen. Disse behandler ett element av gangen, typisk heltall eller flytende punktnummer, som er tall for store eller små til å bli representert med heltall. Siden hver instruksjon håndteres sekvensielt, kan grunnleggende skalærbehandling ta litt tid. De fleste moderne datamaskiner bruker en type skalarprosessor.
I kontrast opererer vektorprosessorer på en rekke datapunkter. Dette betyr at i stedet for å håndtere hvert element individuelt, kan flere elementer som alle har samme instruksjon, håndteres samtidig. Dette kan spare tid over skalærbehandling, men tilfører også et system kompleksitet, noe som kan bremse andre funksjoner. Vektorbehandling fungerer best når det er en stor mengde data som skal behandles, hvorav grupper kan håndteres med en instruksjon.
Vektor- og skalarprosessorer er også forskjellige i oppstartstidene. En vektorprosessor krever ofte en langvarig oppstart av datamaskinen på grunn av flere oppgaver som blir utført. Skalareprosessorer starter en datamaskin på mye kortere tid, siden bare enkeltoppgaver blir utført.
Den superscalar prosessoren tar elementer av hver type og kombinerer dem for enda raskere prosessering. Ved å bruke parallellitet på instruksjonsnivå, kan superscalar prosessering utføre flere operasjoner samtidig. Dette gjør det mulig for CPU å utføre mye raskere enn en grunnleggende skalarprosessor, uten tilleggskompleksiteten og andre begrensninger for vektorprosessoren. Det kan være problemer med denne typen prosessorer, da den må avgjøre hvilke oppgaver som kan utføres parallelt og hvilke som er avhengige av at andre oppgaver først blir fullført.
Vector- og skalarprosessorer brukes fortsatt på daglig basis. Noen videospillkonsoller bruker for eksempel en kombinasjon av både vektor- og skalarprosessorer. Vektorbehandling anses å ha løfte når du arbeider med multimediaoppgaver der en instruksjon kan adressere den store datamengden som kreves for video og lyd.