Chapter 07: Instruction–Level Parallelism─ VLIW, Vector, Array and Multithreaded Processors …
Lesson 02: Pipeline 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 Computer Architecture 2 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 Pipeline Parallelism
Schaum’s Outline of Theory and Problems of Computer Architecture 3 Copyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009 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
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 C 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 data parallelism 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 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
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 process 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