Back to the 2015 paper

Module 3: Pipelining

20152m

What do you mean by array processors? How are they different from scalar processors?

Worked SolutionAI Assisted

Array Processor (Vector Processor):
An array processor is a processor that performs the same operation on multiple data elements simultaneously. It is designed for vector/array computations (matrix operations, image processing, scientific computing). It implements SIMD - Single Instruction Multiple Data architecture (Flynn's taxonomy). Example: ILLIAC-IV, BSP, GPU vector units, Intel AVX.

It consists of a single Control Unit and multiple Processing Elements (PEs)/ALUs working in parallel under common control.

Scalar Processor:
A scalar processor processes one data item at a time per instruction. It executes one instruction on one operand pair sequentially. It implements SISD - Single Instruction Single Data. Example: Conventional Intel 8086, basic RISC core. To process an array of N elements, scalar must loop N times.

Difference - Array vs Scalar (SIMD vs SISD):

Aspect Array (SIMD) Scalar (SISD)
Parallelism Data parallelism, N PEs operate concurrently No data parallelism, sequential
Instruction One instruction controls many ALUs One instruction → one ALU operation
Performance High throughput for vector tasks, Speedup≈NSpeedup \approx N Lower for vector tasks, loop overhead
Use Scientific, MATLAB, ML, graphics General purpose
Cost/Complexity Higher hardware, interconnection network needed Simpler control

In short, array processor exploits DLP to compute C[i]=A[i]+B[i] in one step; scalar needs N iterations.

Similar questions

AI LearningWeb Platform

Coursify — Personal AI Course Generator

Struggling with a difficult subject or concept? Turn any engineering topic into a structured course with interactive lessons, quizzes, and research-backed explanations.