Array Processor

19
Lesson 05: Array Processors Chapter 07: InstructionLevel ParallelismVLIW, Vector, Array and Multithreaded Processors …

description

ACA

Transcript of Array Processor

Page 1: Array Processor

Lesson 05:Array Processors

Chapter 07: Instruction–Level Parallelism─ VLIW, Vector, Array and Multithreaded

Processors …

Page 2: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

2

Objective

• To learn how the array processes in multiple pipelines

Page 3: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

3

Array Processor

Page 4: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

4

Array

• A vector (one dimensional array)• A set of vectors (multi-dimensional array)• Array processor ─ a processor capable of

processing array elements• Suitable for scientific computations involving

two dimensional matrices

Page 5: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

5

Array processor

• Array processor performs a single instruction in multiple execution units in the same clock cycle

• The different execution units have same instruction using same set of vectors in the array

Page 6: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

6

Special features of Array processor

• Use of parallel execution units for processing different vectors of the arrays

• Use of memory interleaving, n memory address registers and n memory data registers in case of k pipelines and use of vector register files

Page 7: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

7

Single instruction on vectors in Array processor

• An array processor has single instructions for mathematical operations, for example, SUM a, b, N, Ma─ an array base addressb─ another vector base addressN─ the number of elements in the column vectorM─ the number of elements in row vector

Page 8: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

8

Different execution units

• Same instruction using same set of vectors in the array

Page 9: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

9

Classification of Array Processors

Page 10: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

10

SIMD (single instruction and multiple data) type processor

• Data level parallelism in array processor, for example, the multiplier unit pipelines are in parallel Computing x[i] × y[i] in number of parallel units

• It multifunctional units simultaneously perform the actions

Page 11: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

11

Attached array type processor

2. Second type attached array processor• The attached array processor has an input-

output interface to a common processor and another interface with a local memory

• The local memory interconnects main memory

Page 12: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

12

SIMD array processor

Page 13: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

13

Multiplication operation for each vector element in one dimensional matrix

• Needs n sums of the multiplicands• K = ∑ I (r). J (r ) for r = 0, 1, 2, …, up to (n−1)

Page 14: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

14

Multiplication operation for each vector element in two dimensional matrix

• Needs n sums of the multiplicands• K (p, q) = ∑ I (p, r). J (r, q ) for r = 0, 1, 2, …, up

to (n−1) • Where p = 0, 1, 2, …, up to (n−1)• q = 0, 1, 2, …, up to (n−1)• Array processor processes these in parallel

Page 15: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

15

Interleaved memory arrays interconnections with the processor

Memory array 1

Memory array 0

Memory array p

Memory array q

addr_A

Element A

addr_B

Element B

addr_C

Element C

addr_D

Element D

Operand issue logic

Scalar register file

Vector fixed point register file

Vector floating point register file

Vector address register file

Page 16: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

16

Word addresses of arrays A and B at input and element addresses array C as output

• From three execution units in eight clock cycles in an array processor

• Figure 7.12

Page 17: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

17

Summary

Page 18: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

18

• Array processor• SIMD processor• Attached processor• Memory interleaving in register files by

operands issue logic

We Learnt

Page 19: Array Processor

Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009

19

End of Lesson 05 onArray Processors