You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
This lesson explores how modern computers achieve high performance not just by making a single processor faster, but by performing multiple operations simultaneously. You need to understand different forms of parallelism, multi-core architectures, and their limitations.
There are physical limits to how fast a single processor core can run:
The solution: instead of making one core faster, use multiple cores or processing units working in parallel.
ILP exploits parallelism within a single instruction stream. The processor identifies instructions that do not depend on each other and executes them simultaneously.
DLP applies the same operation to multiple data items simultaneously.
TLP runs different threads or processes on different cores simultaneously.
A multi-core processor has two or more independent processing cores on a single chip, each capable of executing its own instruction stream.
┌──────────────────────────────────────┐
│ CPU Chip │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │Core 0│ │Core 1│ │Core 2│ ... │
│ │L1-I │ │L1-I │ │L1-I │ │
│ │L1-D │ │L1-D │ │L1-D │ │
│ └──┬───┘ └──┬───┘ └──┬───┘ │
│ └────┬────┘────┬────┘ │
│ Shared L2 / L3 Cache │
└──────────────┬───────────────────────┘
│
Main Memory (RAM)
Each core typically has its own L1 cache (split into instruction and data) and shares an L2 or L3 cache with the other cores.
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.