<<

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

Lesson 02: level and higher level Parallelism Concepts in Parallel Processing Objective

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

Schaum’s Outline of Theory and Problems of Architecture 2 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Pipeline Parallelism

Schaum’s Outline of Theory and Problems of 3 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Pipelining Parallelism Concepts - Superscalar

• 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

Schaum’s Outline of Theory and Problems of Computer Architecture 4 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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

Schaum’s Outline of Theory and Problems of Computer Architecture 5 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Two or More Parallel Pipelines

Schaum’s Outline of Theory and Problems of Computer Architecture 6 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Parallel pipelines

Schaum’s Outline of Theory and Problems of Computer Architecture 7 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 ARM7 pipelines in parallel

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

Schaum’s Outline of Theory and Problems of Computer Architecture 8 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Pipelining and instruction-level parallelism combine in the superscalars

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

Schaum’s Outline of Theory and Problems of Computer Architecture 9 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Examples of pipelining and parallel processing of instructions

• SunSparc • Pentium, • PowerPC •ARM

Schaum’s Outline of Theory and Problems of Computer Architecture 10 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Parallel processing techniques to exploit instruction-level parallelism

• Superscalar • VLIW processing • Vector processing • Array processing

Schaum’s Outline of Theory and Problems of Computer Architecture 11 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Instruction Issue Logic and Four execution units in a superscalar

Schaum’s Outline of Theory and Problems of Computer Architecture 12 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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)

Schaum’s Outline of Theory and Problems of Computer Architecture 13 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 VLIW Processing

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

Schaum’s Outline of Theory and Problems of Computer Architecture 14 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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

Schaum’s Outline of Theory and Problems of Computer Architecture 15 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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

Schaum’s Outline of Theory and Problems of Computer Architecture 16 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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 by using data-parallel architecture. There is single instruction processing multiple data in parallel processing units

Schaum’s Outline of Theory and Problems of Computer Architecture 17 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Array Processing

• An array processor functions as data parallelism by using data-parallel architecture • Single instruction processing multiple data in parallel processing units

Schaum’s Outline of Theory and Problems of Computer Architecture 18 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Multithreaded Processing

• The operations─ first divided into several threads, and then each 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

Schaum’s Outline of Theory and Problems of Computer Architecture 19 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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

Schaum’s Outline of Theory and Problems of Computer Architecture 20 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Multiprocessor Systems─ Highest level Coarse-grained Parallelism

• Multiprocessors give parallelism at processor level • An application divided into number of processes • Each may be broken into threads each of which processes by two or more processors or processor cores on single chip

Schaum’s Outline of Theory and Problems of Computer Architecture 21 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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

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

Schaum’s Outline of Theory and Problems of Computer Architecture 23 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 We Learnt

• 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

Schaum’s Outline of Theory and Problems of Computer Architecture 24 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 We Learnt

• Multithreaded processor • Multiprocessor system

Schaum’s Outline of Theory and Problems of Computer Architecture 25 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 End of Lesson 02 on Pipeline level and higher level Parallelism Concepts in Parallel Processing

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