There is one major difference between two of the main formats — scalar and array processors — in which a computer system processes information. While scalar processors work on one data item at a time, array processors can tackle multiple data streams simultaneously. Both processors, however, are part of the central processing unit (CPU), which controls all actions of a computer and can handle all times of data. Scalar and array processors perform many of the same operations, but in a different way, making each suitable for a different purpose and making sure all functions from the simplest to most complex can be accomplished.
Array processors apply a single instruction to multiple arrays or matrices of data simultaneously before moving on to the next instruction. This allows array processors to operate much more quickly because the processor does not need to wait for the first set of instructions to be carried out on one item before moving on to the next. Many of the steps required to perform an operation are eliminated because the computer retrieves multiple items at the same time, performs the operation on all of them, then rewrites it to memory, instead of repeating steps with each new piece of data.
Scalar processors operate on one data item at a time before moving on to the next item. Each instruction must be carried out on the current item before moving on to the next instruction. At the end of the loop, the set of instructions are performed on the next item in sequence. Nearly all mass-market CPUs are scalar although they may have elements that operate more like array processors.
Supercomputers of the 1980s and 1990s were designed to process large amounts of data using single-instruction-multiple-data. Array processors made it possible to manipulate science and research data in a shorter time. Although it may seem intuitive that array processors would handle all CPU functions faster than scalar processors, this is not the case. Array processors are able to efficiently handle large amounts of data, but since the function requires that the CPU be more complex, simpler operations are more difficult to perform.
Differences between scalar and array processors became less pronounced with the introduction of microprocessors in 1994. Since then microprocessors featuring elements of single-instruction-multiple-data have become the norm and further narrowed the gap between scalar and array processors. Video game consoles and graphics accelerators have their own graphics CPU that runs in parallel to the main scalar CPU, thus freeing the main CPU to perform non-graphics functions.