Microprocessor Design/Vector Processors

Vector processors, or SIMD processors are microprocessors that are specialized for operating on vector or matrix data elements. These processors have specialized hardware for performing vector operations such as vector addition, vector multiplication, and other operations.

Modern graphics processors and GPUs tend to be vector-based processors. Modern Intel-based chips also have SIMD capabilities known as SSE or MMX operations.

Parallel Execution
Vector processors which perform an instruction on all data elements simultaneously are said to execute in parallel.



Each EX in this image shows a separate execution core (typically an ALU) operating in parallel with one another.

Non-Parallel Execution
Vector processors which reuse a single ALU for a vector operation look like this:



As this diagram shows, each EX stage is a new set of data from the first instruction being loaded into the execution core. The next instruction will not be fetched until all the data has been acted upon.