Een array processor, ook wel vectorprocessor genoemd, is een processor die in staat is om gelijktijdig een wiskundige bewerking uit te voeren op een groot aantal data-elementen (op een array bijvoorbeeld). Dit in tegenstelling tot de scalaire processor die slechts één element per keer kan behandelen. De overgrote meerderheid van processoren zijn scalaire processoren.

Processorbord van een supercomputer met array processoren, de CRAY YMP

Een voorbeeld van een bewerking waarin een array processor sterk is zou het vermenigvuldigen van alle elementen van een array met een bepaald getal kunnen zijn:

array getallen = { 18, 3525, 5 };
getallen = getallen * 5125;

Een scalaire processor zou hiervoor 5 instructies nodig hebben terwijl een array processor dit in 1 keer kan uitvoeren.

De IBM AltiVec (de "Velocity Engine" die gebruikt wordt in de Apple G4 computers) is een voorbeeld van zo een vector-processor.

Korte geschiedenis

bewerken

Array processoren waren gebruikelijk in wetenschappelijke computeromgevingen waar ze de basis vormden voor de supercomputers in de jaren 1980 en 1990, maar algemene verbeteringen aan het processorontwerp hebben ervoor gezorgd dat de vectorprocessor vandaag nog nauwelijks gebruikt wordt. Vandaag de dag kennen bijna alle basis CPUs een soort van vectorprocessing, beter bekend als SIMD (single instruction multiple data), zie ook de taxonomie van Flynn.