an array processor can handle multiple data elements
simultaneously,in a parallel fashion, but a multiprocessor handle
multiple processes simultaneously which may include more than one
data element in each process...
An array procesor is optimized for array operations, has its own
set of instructions, large memory block moves, logical operations
on many array elements, etc and may itself be multi-processor or
massively parallel. It has an interface where a host loads memory
locations with the array to be processed (or perhaps a data file),
then the array processor uses its specialized structure to do what
was asked of it on the array, then tell the host is done and the
result may be found in memory locations or perhaps a data file.
Many of the jobs supercomputers do are array operations, the
specialized capabilities can cost thousands of dollar per CPU
second but they can do array operations that might take years for
slower general purpose computers.
An array procesor can also be smaller, a graphics processor
handling the video display is an array processor.
A typical operation is move the image to the right, move all the
pixels to the right..
A general purpose computer may be multi-processor (Intel's
multi-core).