�Caches IV
Zoom link: cs61c.org/fa25/lecture-zoom
CS61C
UC Berkeley�Teaching Professor �Dan Garcia
cs61c.org
Great Ideas
in�Computer Architecture
(a.k.a. Machine Structures)
Garcia
Caches IV (1)
Garcia
Set-Associative Caches
Caches IV (2)
Garcia
N-Way Set Associative Cache (1/3)
Caches IV (3)
Garcia
Associative Cache Example
Memory
Memory �Address
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Cache Index
0
0
1
1
Caches IV (4)
Garcia
N-Way Set Associative Cache (2/3)
Caches IV (5)
Garcia
N-Way Set Associative Cache (3/3)
Caches IV (6)
Garcia
4-Way Set Associative Cache Circuit
tag
index
“One Hot” Encoding
🗹
Caches IV (7)
Garcia
Block Replacement with Example
Caches IV (8)
Garcia
Block Replacement Policy
Caches IV (9)
Garcia
Block Replacement Policy
Caches IV (10)
Garcia
Block Replacement Example
0, 2, 0, 1, 4, 0, 2, 3, 5, 4
0
0
1
1
loc 0
loc 1
set 0
set 1
Drawn another way
Caches IV (11)
Garcia
Block Replacement Example: LRU
Addresses 0, 2, 0, 1, 4, 0, ...
0
lru
2
1
lru
loc 0
loc 1
set 0
set 1
0
2
lru
set 0
set 1
0: miss, bring into set 0 (loc 0)
2: miss, bring into set 0 (loc 1)
0: hit
1: miss, bring into set 1 (loc 0)
4: miss, bring into set 0 (loc 1, replace 2)
0: hit
0
set 0
set 1
lru
lru
0
2
set 0
set 1
lru
lru
set 0
set 1
0
1
lru
lru
2
4
lru
set 0
set 1
0
4
1
lru
lru
lru
Caches IV (12)
Garcia
Cache Simulator!
Addresses 0, 2, 0, 1, 4, 0, ...
0
lru
2
1
lru
loc 0
loc 1
set 0
set 1
0
2
lru
set 0
set 1
0
set 0
set 1
lru
lru
0
2
set 0
set 1
lru
lru
set 0
set 1
0
1
lru
lru
2
4
lru
set 0
set 1
0
4
1
lru
lru
lru
🗹
www.ecs.umass.edu/ece/koren/architecture/Cache/frame1.htm
Should be compulsory
Caches IV (13)
Garcia
Average Memory Access Time (AMAT)
Caches IV (14)
Garcia
Big Idea
= Hit Time � + Miss Penalty x Miss Rate
Caches IV (15)
Garcia
Improving Miss Penalty
Proc
$2
DRAM
$
MEM
Solution: another cache between memory and the processor cache: Second Level (L2) Cache
Caches IV (16)
Garcia
Great Idea #3: Principle of Locality / Memory Hierarchy
Extremely fast
Extremely expensive�Tiny capacity
Processor chip
Fast
Priced reasonably�Medium capacity
DRAM chip –e.g. �DDR3/4/5�HBM/HBM2/3
Faster
Expensive�Small capacity
Let’s see Cache configuration on Dan’s computer…
hw.cachelinesize: 128 (bytes)
hw.l1icachesize: 131072 (IMEM cache … 128 KiB = 2^17 B)
hw.l1dcachesize: 65536 (DMEM cache … 64 KiB = 2^16 B)
hw.l2cachesize: 4194304 (L2 cache … 4 MiB = 2^22 B)
Caches IV (17)
Garcia
Analyzing Multi-level cache hierarchy
Proc
$2
DRAM
$
L1 hit
time
L1 Miss Rate
L1 Miss Penalty
Avg Mem Access Time =
L1 Hit Time + L1 Miss Rate * L1 Miss Penalty
L1 Miss Penalty =
L2 Hit Time + L2 Miss Rate * L2 Miss Penalty
Avg Mem Access Time =
L1 Hit Time + L1 Miss Rate * � (L2 Hit Time + L2 Miss Rate * L2 Miss Penalty)
L2 hit
time
L2 Miss Rate
L2 Miss Penalty
Caches IV (18)
Garcia
Example
= 1 + 0.05 x 20
= 1 + 1 cycles
= 2 cycles
Caches IV (19)
Garcia
Ways to reduce miss rate
Caches IV (20)
Garcia
Typical Scale
Caches IV (21)
Garcia
Example: with L2 cache
Caches IV (22)
Garcia
Example: without L2 cache
🗹
Caches IV (23)
Garcia
Actual CPUs
Caches IV (24)
Garcia
An Actual CPU – Early PowerPC
Caches IV (25)
Garcia
An Actual CPU – Pentium M
32KiB I$
32KiB D$
Caches IV (26)
Garcia
An Actual CPU – Intel core i7
(for off-chip DRAM)
Caches IV (27)
Garcia
Caches IV (28)
Garcia
How can DM beat 2-way?
2-way: 0m, 2m, 0h, 4m, 2m;
DM: 0m, 2m, 0h, 4m, 2h
Caches IV (29)
Garcia
And in Conclusion…
Caches IV (30)
Garcia