SIMD (single instruction, multiple data) parallel processors exploit data-level parallelism by performing the same operation on multiple data points simultaneously using a single instruction. Vector processors are a type of SIMD parallel processor that operate on 1D arrays of data called vectors. They contain vector registers that can hold multiple data elements and functional units that perform arithmetic and logical operations in a pipelined fashion on entire vectors. Array processors are another type of SIMD machine composed of multiple identical processing elements that perform computations in lockstep under the control of a single instruction unit. Early examples include the ILLIAC IV and Cray X1 supercomputers. Multimedia extensions like MMX provide SIMD integer operations to improve performance of multimedia applications.