Computer Architecture : Array Processors

Array processors are also known as vector processors or multiprocessors. An array processor is one step further from the scalar processors ( which process one data item at a time). An array processor implement the instruction set where each instruction is executed on all data items associated and then move on the other instruction. This approach is also known as Data Pipelining. They perform computations on large arrays of data. Thus, they are used to improve the performance of the computer.

For example a processor needs to execute ten instructions each associated with five data items in order to perform a task. Scalar processor executes all the ten instructions with one data item and then moves to the next data while Array processors take the first instruction and execute it for all five data items and then move to next instruction.

The Array Processors are basically two types :

1. Attached Array Processors : An attached array processor is a processor which is attached to a general purpose computer. It is an auxiliary processor which is intended to improve the performance of the host computer in specific numerical computational tasks.

It is made up of an ALU (arithmetic logic unit), This ALU will posses pipelined floating point adders and multipliers. So the Attached Array processor obtains high performance by means of pipeline processing. The below figure represents the connection of the array processor with the computer.


The array processor is interfaced with the computer with help of an Input-Output interface. the main memory transfers the data to be operated upon to a local memory. The processor gets data from the local memory. The array processor is reads by the computer when complex arithmetic calculations are to be done.


2. SIMD Array Processors : An SIMD (Single Instruction Multiple Data) processor is a computer with multiple processing units operating in parallel. The processing units are made to operate under the control of a common control unit, thus providing a single instruction stream and multiple data streams.


In SIMD each instruction is executed on a different set of data by different processors i.e multiple processing units of the same type process on multiple-data streams. This group is dedicated to array processing machines and sometimes, vector processors can also be seen as a part of this group. The SIMD machines are the most cost effective platforms for applications with lots of data parallelism. In these machines, a single control unit broadcasts instructions to many processing elements in parallel.


Advantages of Array Processors :
  • The principal reason for using the array processor is to increase the overall instruction processing speed.
  • The design of most array processors optimizes its performance for repetitive arithmetic operations, making it much faster at the vector arithmetic than the host CPU. Since most array processors operate asynchronously from the host CPU, they constitute a co-processor which increases the capacity of the system.
  • The Array Processors has its own local memory, hence providing extra memory for systems with low memory.



Next Topic :

No comments:

Post a Comment