Microprocessor Design/Vector Processors

From Wikibooks, open books for an open world
Jump to: navigation, search

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[edit]

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

Vliwpipeline.png

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

Non-Parallel Execution[edit]

Vector processors which reuse a single ALU for a vector operation look like this:

Vectorsimdpipeline.png

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.