Intra-Processor Parallel Architecture (C1)
Description: This module focuses on exploiting parallelism at the level of a single core (Intra Processor). Topics discussed include how the processors (architecture) can extract parallelism from a serial instruction stream using the concepts of instruction level parallelism (ILP), Data Level Parallelism (DLP), superscalar, out-of-order, and speculative execution. Additionally, the module is concerned with ways that the assembly language programmer (and hence the compiler) can identify parallelism in serial high level language as well as assembly language programs and enable the hardware to exploit this parallelism for improved performance. The module concentrates on ILP and DLP. For this end, an imaginary version of an extended MIPS processor is introduced, analyzed, and used for in-class demonstrations as well as homework assignments and exam questions. In addition, the module includes an introduction to the taxonomies of parallelism as well as the Amdahls law.
Recommended Length: Two lectures (~1:15 min)
Recommended Course: Computer Architecture, Computer Organization
Topics and Learning outcomes (per NSF/IEEE-TCPP PDC Curriculum):
- [Architecture] Taxonomy: Flynn's taxonomy, data vs. control parallelism, shared/distributed memory
- [Architecture, Algorithm] Amdahls law and its significance
- [Architecture] Level of parallelism: (a) Bit level parallelism; (b) Instructional level; (c) Data level; (d) Task level
- [Architecture] Superscalar (ILP): Describe opportunities for multiple instruction issue and execution (different instructions on different data)
- [Architecture] SIMD/Vector (e.g., SSE, Cray): Describe uses of SIMD/Vector (same operation on multiple data items), e.g., accelerating graphics for games.
- [Programming] Amdahl's law: Know that speedup is limited by the sequential portion of a parallel program, if problem size is kept fixed
- [Programming] Speedup: Understand how to compute speedup, and what it means
Lecture Material: [ PDF ] [ PPT ]
Sample Source Code:
Pedagogical Notes: available for instructors only
Sample Exam Question: available for instructors only