instruction–level parallelism vliw, vector, array and multithreaded processors

26
Lesson 02: Pipeline level and higher level Parallelism Concepts in Parallel Processing Chapter 07: Instruction–Level ParallelismVLIW, Vector, Array and Multithreaded Processors …

Upload: others

Post on 03-Feb-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

Lesson 02:Pipeline level and higher level Parallelism

Concepts in Parallel Processing

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

Processors …

Page 2: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

2

Objective

• To learn effects of parallel pipelines• To learn superscalar processors• Understand pipeline and higher levels of

parallelisms

Page 3: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

3

Pipeline Parallelism

Page 4: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

4

Pipelining Parallelism Concepts - Superscalar Processor

• Execute several instructions is parallel• Two or more instructions execute in parallel as

well as in pipeline• The instructions that make up a program are

handled in superscalar processors by the instruction issue logic

Page 5: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

5

Instruction issue logic

• The logic issues instructions to the units in parallel

• This allows control flow changes, such as branches, to occur simultaneously across all of the units, making it much easier to write and compile programs for instruction-level parallel superscalar processors

Page 6: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

6

Two or More Parallel Pipelines

Page 7: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

7

Parallel pipelines

Page 8: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

8

ARM7 pipelines in parallel

• Performance further improves in processors by allowing independent instructions to execute simultaneously (called instruction-level parallelism)

Page 9: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

9

Pipelining and instruction-level parallelism combine in the superscalars

• Most modern processors (called superscalars) employ both techniques to improve performance

Page 10: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

10

Examples of pipelining and parallel processing of instructions

• SunSparc• Pentium, • PowerPC• ARM

Page 11: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

11

Parallel processing techniques to exploit instruction-level parallelism

• Superscalar• VLIW processing• Vector processing• Array processing

Page 12: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

12

Instruction Issue Logic and Four execution units in a superscalar

Page 13: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

13

VLIW Processing

• VLIW instruction-level parallelism relies on the compiler to determine which instructions may be executed in parallel and providing that information to the processor hardware (instruction issue logic)

Page 14: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

14

VLIW Processing

• Require that programs be recompiled for the new architecture, but achieve very good performance on programs written in sequential languages such as C or FORTRAN when these programs are recompiled for a VLIW processor

Page 15: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

15

Vector Processing

• The operations such as multiply are first divided into several steps and a stream of operands (called vectors) operated in for each step parallel processing units

Page 16: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

16

Vector Processing

• A vector processor functions for instruction level parallelism by using instruction-parallel architecture along with vector element operands in the parallel processing pipelines

• It is most common special case of pipelining

Page 17: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

17

Array Processing

• The operations are first divided into several streams of operands (called array elements) and run for each stream in the parallel processing units

• It is a special case of pipelining, where the parallel pipelines operate on different streams of operands

• An array processor functions as data parallelism by using data-parallel architecture. There is single instruction processing multiple data in parallel processing units

Page 18: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

18

Array Processing

• An array processor functions as data parallelism by using data-parallel architecture

• Single instruction processing multiple data in parallel processing units

Page 19: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

19

Multithreaded Processing

• The operations─ first divided into several threads, and then each thread is divided into instruction streams

• Instruction streams in parallel• Concurrent execution of thread• When a thread is blocked or delayed then

another thread instruction-streams run in the pipelines

Page 20: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

20

Thread-issue-logic in Multithreaded Processing

• Can run different threads in time slicing mode or in priority mode

• A special case of parallel processing, where the parallel pipelines operate on instruction streams of a thread

Page 21: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

21

Multiprocessor Systems─ Highest level Coarse-grained Parallelism

• Multiprocessors give parallelism at processor level

• An application divided into number of processes • Each process may be broken into threads each of

which processes by two or more processors or processor cores on single chip

Page 22: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

22

Multiprocessor Systems─ Highest level Coarse-grained Parallelism

• Processors may be identical or heterogeneous and distributed

• Inter-process communication between different processors

• The ration of time spent in computation on one processor << the inter-process communication time

Page 23: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

23

Summary

Page 24: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

24

• Parallel Pipelines improves Performance• Superscalars has special hardware techniques

to enable issue of instructions after resolving conflicts by scheduling the instructions dynamically and by predicting branches by hardware in superscalar

• VLIW processor• Vector processor• Array processor

We Learnt

Page 25: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

25

• Multithreaded processor • Multiprocessor system

We Learnt

Page 26: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors

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

26

End of Lesson 02 on Pipeline level and higher level Parallelism

Concepts in Parallel Processing