instruction–level parallelism vliw, vector, array and multithreaded processors
TRANSCRIPT
![Page 1: Instruction–Level Parallelism VLIW, Vector, Array and Multithreaded Processors](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020705/61fb826d2e268c58cd5f039f/html5/thumbnails/26.jpg)
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