3. Array or Vector Processing

Some types of data can be processed independently of one another. A good example of this is the simple processing of pixels on a screen

a grid of pixels

If you wanted to make each coloured pixel a different colour according to what it currently holds. For example "Make all Red Pixels Blue", "Make Blue Pixels Red", "Leave Green pixels alone".

A sequential processor would examine each pixel one at a time and apply the processing instruction.

But you can also arrange for data such as this to be an array. The simplest array looks like this:

{element 1, element 2, ...} this is called a '1 dimensional array' or a 'vector'

A slightly more complicated array would have rows and columns:

{element 1, element 2

element 3, element 4}

This is called a '2 dimensional' array or 'matrix'. The matrix is fundamental to graphics work.

An array processor (or vector processor) has a number of Arithmetic Logic Units (ALU) that allows all the elements of an array to be processed at the same time.

The illustration below shows the architecture of an array or vector processor

an array processor

With an array processor, a single instruction is issued by a control unit and that instruction is applied to a number of data sets at the same time.

An array processor is a Single Instruction Multiple Data computer or SIMD

You will find games consoles and graphics cards making heavy use of array processors to shift those pixels about.

Limitations of Array Processing

This architecture relies on the fact that the data sets are all acting on a single instruction. However, if these data sets somehow rely on each other then you cannot apply parallel processing. For example, if data A has to be processed before data B then you cannot do A and B simultaneously. This dependency is what makes parallel processing difficult to implement. And it is why sequential machines are still extremely common.

 

Challenge see if you can find out one extra fact on this topic that we haven't already told you

Click on this link: Array Processor

 

 

Copyright © www.teach-ict.com