Lecture3: Multi-core CPU
Why parallelism?
- ILP(Instruction Level Parallelism) doesn’t provide CPU performance improvement (ILP ~= 4)
- Parallelism is “primary” way to increase application performance
- data parallelism, thread parallelism is main stream
Two key concepts that driven modern computer
- Parallel execution
- Efficiently accessing memory
1. Parallelism
Idea #1: Increasing # of transistor to add more cores
Rathre than sophisticated logic that help single-thread performance
Just duplicate core!!
- each core is slower than when running a single instruction stream
- But, Due to multi-core, Total speed-up increased
If # of core increased, execution context(register file) for each core should be smaller.
Beacause we have same die area! → Individual register file should be smaller
Idea #2: Add ALUs to increase computer power (SIMD paradigm)
Amortize cost/complexity of manging instruction stream
Single Instruction, Multiple Data
- Same instruction broadcast to all ALUs
- And executed in parallel on all ALUs
- ex) vector program
Idea #3: Idea #1 + Idea #2 ⇒ Mult “SIMD” core processor
'EE > Parallel Computer Architecture' 카테고리의 다른 글
[Parallel Computer Architecture] Fine-Grained Multithreading (0) | 2022.07.17 |
---|---|
[Parallel Computer Architecture] Combination of Vector & Array processor (0) | 2022.07.16 |
[Parallel Computer Architecture] Memory access of vector processor (0) | 2022.07.16 |
[Parallel Computer Architecture] SIMD Processors (0) | 2022.07.10 |