optional · CSS study notes
Parallel Computer Architecture (2017)
CSS Optional — Paper-II, Section-A · Chapter 7 · 📌 Asked in CSS 2017
1. Definition
Parallel processing is the simultaneous use of multiple computing resources — execution units, cores, or processors — to carry out computation faster than a single sequential unit could.
2. Classification — Levels of Parallelism
- Instruction-Level Parallelism (ILP) — executing multiple instructions simultaneously within a single processor.
- Pipelining — overlapping the fetch/decode/execute stages of successive instructions, so several instructions are in different stages at once.
- Superscalar execution — multiple execution units allow more than one instruction to be issued per clock cycle.
- Multiprocessor systems — multiple independent CPUs (separate chips/packages) within one system, which may or may not share memory.
- Multicore systems — multiple processing cores integrated onto a single chip, sharing some resources (e.g., last-level cache) — today's standard approach to raising performance without raising clock speed.
🗺️ Architecture Diagram — Pipelining vs Sequential Execution
graph TD
subgraph SEQ["Sequential - no pipelining"]
S1["I1: Fetch Decode Execute"] --> S2["I2: Fetch Decode Execute"] --> S3["I3: Fetch Decode Execute"]
end
subgraph PIPE["Pipelined"]
direction LR
P1["Cycle 1: I1-Fetch"] --> P2["Cycle 2: I1-Decode, I2-Fetch"] --> P3["Cycle 3: I1-Execute, I2-Decode, I3-Fetch"]
end
🧮 Worked Example
- A GPU-style vector add across 1,000 elements using one instruction demonstrates data parallelism, distinct from ILP.
- A 5-stage pipeline that keeps all stages busy approaches one instruction completed per cycle, versus one instruction per 5 cycles sequentially — a theoretical 5× speedup (see Performance Metrics for Amdahl's Law limits on real speedup).
🔎 This page is the overview. For full depth with worked numericals on each sub-area, see the three dedicated pages: Instruction-Level Parallelism & Superscalar Processors, Parallel Processing, and Multi-Processor and Multi-core Systems.
🎯 CSS Exam Angle
📌 Your textbook explicitly flags this topic as asked in CSS 2017 — high-priority for revision.
🔁 Repeated CSS Questions
- Explain Instruction-Level Parallelism and pipelining with an example. (Asked CSS 2017)
- Differentiate between multiprocessor and multicore systems.
- What is a superscalar processor, and how does it improve throughput?
⚠️ MCQ Trap
Multicore = multiple cores on ONE chip (shared package); multiprocessor = multiple separate CPU chips in one system — do not conflate the two.