Also known as: Array processor
A vector processor is a processor designed to apply a single instruction to a whole array of data elements at once, rather than one element per instruction.1
Overview
The model is SIMD — single instruction, multiple data. Where a scalar processor adds two numbers per add instruction, a vector unit adds two arrays of numbers in one go, amortizing instruction overhead and keeping wide arithmetic pipelines full. The idea powered the early Cray supercomputers and survives today as the SIMD extensions built into ordinary CPUs (Intel’s SSE/AVX, ARM’s NEON) and, taken to an extreme, in the thousands-of-lanes design of the GPU.
Where it fits
Vector processing is the foundation of GPGPU and of most numeric hardware acceleration: any workload that does the same math across long, regular arrays benefits. Digital signal processing is a prime example — a FIR digital filter or an FFT multiplies and sums across streams of samples, exactly the data-parallel shape SIMD exploits. GopherTrunk’s per-sample DSP on the CPU leans on these vector units to keep up with high sample rates.
Sources
-
Vector processor — Wikipedia, on SIMD/array processor architectures. ↩