CS61C: Great Ideas in Computer Architecture (aka Machine Structures)
Lecture 27: Caches IV
Instructors: Dan Garcia, Justin Yokota
#
CS 61C
Fall 2023
Agenda
2
CS 61C
Fall 2023
Caching Example: Matrix Multiply
3
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
4
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x100 | 0 | 0 | 0xBF 0x16 0x88 0x2B |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
5
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x100 | 0 | 0 | 0xBF 0x16 0x88 0x2B |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
6
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x040 | 1 | 0 | 0x01 0x02 0x03 0x04 |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
7
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x080 | 1 | 0 | 0x11 0x15 0x19 0x1D |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
8
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x040 | 1 | 0 | 0x01 0x02 0x03 0x04 |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
9
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x080 | 1 | 0 | 0x11 0x15 0x19 0x1D |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
10
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x040 | 1 | 0 | 0x01 0x02 0x03 0x04 |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
11
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x080 | 1 | 0 | 0x11 0x15 0x19 0x1D |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
12
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x040 | 1 | 0 | 0x01 0x02 0x03 0x04 |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
13
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x080 | 1 | 0 | 0x11 0x15 0x19 0x1D |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
14
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x0C0 | 1 | 1 | 0xFA 0x?? 0x?? 0x?? |
1 | 0x133 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
15
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x040 | 1 | 0 | 0x01 0x02 0x03 0x04 |
1 | 0x080 | 1 | 0 | 0x12 0x16 0x1A 0x1E |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
16
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x040 | 1 | 0 | 0x01 0x02 0x03 0x04 |
1 | 0x080 | 1 | 0 | 0x12 0x16 0x1A 0x1E |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Direct-Mapped
17
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Index | Tag | V | Dirty | Data |
0 | 0x0C0 | 1 | 1 | 0xFA 0x04 0x?? 0x?? |
1 | 0x080 | 1 | 0 | 0x12 0x16 0x1A 0x1E |
2 | 0x156 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
3 | 0x0E9 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Two bad cache types
Is there another way?
18
CS 61C
Fall 2023
Agenda
19
CS 61C
Fall 2023
N-Way Set Associative Cache (1/3)
20
CS 61C
Fall 2023
Associative Cache Example
21
Address | Memory |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
|
|
|
|
0
0
1
1
CS 61C
Fall 2023
N-Way Set Associative Cache (2/3)
22
CS 61C
Fall 2023
4-Way Set Associative Cache Circuit
tag
index
“One Hot” Encoding
🗹
Caches IV (23)
Garcia, Yokota
Analyzing Cache Effectiveness
24
FA 1M blocks | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
FA 4 blocks | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
2SA 4 blocks | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
DM 4 blocks | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
CS 61C
Fall 2023
N-Way Set Associative Cache (3/3)
25
CS 61C
Fall 2023
Agenda
26
CS 61C
Fall 2023
Block Replacement Policy
27
CS 61C
Fall 2023
Eviction Policies
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
29
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 0 | 0 | 0 | 0xBF 0x16 0x88 0x2B |
0x733 | 0 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
0x156 | 0 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
0x4E9 | 0 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
30
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 0 | 0 | 0 | 0xBF 0x16 0x88 0x2B |
0x733 | 0 | 0 | 0 | 0x3B 0x18 0xF1 0xB3 |
0x156 | 0 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
0x4E9 | 0 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
31
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 1 | 0 | 2 | 0x01 0x02 0x03 0x04 |
0x200 | 1 | 0 | 1 | 0x11 0x15 0x19 0x1D |
0x156 | 0 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
0x4E9 | 0 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
32
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 1 | 0 | 2 | 0x01 0x02 0x03 0x04 |
0x200 | 1 | 0 | 1 | 0x11 0x15 0x19 0x1D |
0x156 | 0 | 0 | 0 | 0xE6 0x57 0x49 0xEE |
0x4E9 | 0 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
33
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 1 | 0 | 3 | 0x01 0x02 0x03 0x04 |
0x200 | 1 | 0 | 2 | 0x11 0x15 0x19 0x1D |
0x300 | 1 | 1 | 1 | 0xFA 0x?? 0x?? 0x?? |
0x4E9 | 0 | 0 | 0 | 0xB5 0x81 0x67 0x3F |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
34
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 1 | 0 | 3 | 0x01 0x02 0x03 0x04 |
0x200 | 1 | 0 | 4 | 0x11 0x15 0x19 0x1D |
0x300 | 1 | 1 | 1 | 0xFA 0x04 0x?? 0x?? |
0x201 | 1 | 0 | 2 | 0x12 0x16 0x1A 0x1E |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
35
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 1 | 0 | 3 | 0x01 0x02 0x03 0x04 |
0x202 | 1 | 0 | 2 | 0x13 0x17 0x1B 0x1F |
0x300 | 1 | 1 | 1 | 0xFA 0x04 0x0E 0x?? |
0x201 | 1 | 0 | 4 | 0x12 0x16 0x1A 0x1E |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
36
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x100 | 1 | 0 | 4 | 0x01 0x02 0x03 0x04 |
0x101 | 1 | 0 | 1 | 0x05 0x06 0x07 0x08 |
0x300 | 1 | 1 | 2 | 0xFA 0x04 0x0E 0x18 |
0x203 | 1 | 0 | 3 | 0x14 0x18 0x1C 0x20 |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
37
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x200 | 1 | 0 | 1 | 0x11 0x15 0x19 0x1D |
0x101 | 1 | 0 | 2 | 0x05 0x06 0x07 0x08 |
0x300 | 1 | 1 | 3 | 0xFA 0x04 0x0E 0x18 |
0x203 | 1 | 0 | 4 | 0x14 0x18 0x1C 0x20 |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
38
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | | | | |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x200 | 1 | 0 | 3 | 0x11 0x15 0x19 0x1D |
0x101 | 1 | 0 | 1 | 0x05 0x06 0x07 0x08 |
0x300 | 1 | 1 | 4 | 0xFA 0x04 0x0E 0x18 |
0x301 | 1 | 1 | 2 | 0x6A 0x?? 0x?? 0x?? |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
39
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | 260 | 270 | 280 |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x200 | 1 | 0 | 4 | 0x11 0x15 0x19 0x1D |
0x101 | 1 | 0 | 2 | 0x05 0x06 0x07 0x08 |
0x201 | 1 | 0 | 1 | 0x12 0x16 0x1A 0x1E |
0x301 | 1 | 1 | 3 | 0x6A 0x84 0x9E 0xB8 |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
40
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | 260 | 270 | 280 |
5 | 6 | 7 | 8 | | | | | |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x202 | 1 | 0 | 4 | 0x13 0x17 0x1B 0x1F |
0x101 | 1 | 0 | 3 | 0x05 0x06 0x07 0x08 |
0x203 | 1 | 0 | 2 | 0x14 0x18 0x1C 0x20 |
0x301 | 1 | 1 | 1 | 0x6A 0x84 0x9E 0xB8 |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
41
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | 260 | 270 | 280 |
5 | 6 | 7 | 8 | | 618 | 658 | 670 | 696 |
9 | 10 | 11 | 12 | | | | | |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x102 | 1 | 0 | 3 | 0x09 0x0A 0x0B 0x0C |
0x202 | 1 | 0 | 4 | 0x13 0x17 0x1B 0x1F |
0x302 | 1 | 1 | 1 | 0xDA 0x04 0x2E 0x58 |
0x203 | 1 | 0 | 2 | 0x14 0x18 0x1C 0x20 |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
42
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | 260 | 270 | 280 |
5 | 6 | 7 | 8 | | 618 | 658 | 670 | 696 |
9 | 10 | 11 | 12 | | 986 | 1028 | 1070 | 1112 |
13 | 14 | 15 | 16 | | | | | |
Tag | V | Dirty | LRU | Data |
0x202 | 1 | 0 | 4 | 0x13 0x17 0x1B 0x1F |
0x103 | 1 | 0 | 3 | 0x0D 0x0E 0x0F 0x10 |
0x203 | 1 | 0 | 2 | 0x14 0x18 0x1C 0x20 |
0x303 | 1 | 1 | 1 | 0x4A 0x84 0xBE 0xF8 |
CS 61C
Fall 2023
Caching Example: Write-Back Fully Associative with LRU
43
| | | | Bt | 17 | 21 | 25 | 29 |
| | | | | 18 | 22 | 26 | 30 |
| | | | | 19 | 23 | 27 | 31 |
| | | | | 20 | 24 | 28 | 32 |
A | | | | | C | | | |
1 | 2 | 3 | 4 | | 250 | 260 | 270 | 280 |
5 | 6 | 7 | 8 | | 618 | 658 | 670 | 696 |
9 | 10 | 11 | 12 | | 986 | 1028 | 1070 | 1112 |
13 | 14 | 15 | 16 | | 1354 | 1412 | 1470 | 1528 |
Tag | V | Dirty | LRU | Data |
0x202 | 0 | 0 | 4 | 0x13 0x17 0x1B 0x1F |
0x103 | 0 | 0 | 3 | 0x0D 0x0E 0x0F 0x10 |
0x203 | 0 | 0 | 2 | 0x14 0x18 0x1C 0x20 |
0x303 | 0 | 0 | 1 | 0x4A 0x84 0xBE 0xF8 |
CS 61C
Fall 2023
Agenda
44
CS 61C
Fall 2023
Definition Slide
45
CS 61C
Fall 2023
AMAT computation
46
CS 61C
Fall 2023
Big Idea
47
CS 61C
Fall 2023
Improving Miss Penalty
48
CS 61C
Fall 2023
Agenda
49
CS 61C
Fall 2023
Multilevel Caches
50
CS 61C
Fall 2023
Multilevel Caches
51
CS 61C
Fall 2023
AMAT in Multilevel Caches
52
| Hit time | Hit rate |
L1 Cache | 1 ns | 50% |
L2 Cache | 4 ns | 75% |
L3 Cache | 40 ns | 80% |
SRAM | 80 ns | 100% |
CS 61C
Fall 2023
53
CS 61C
Fall 2023
AMAT in Multilevel Caches
54
| Hit time | Hit rate |
L1 Cache | 1 ns | 50% |
L2 Cache | 4 ns | 75% |
L3 Cache | 40 ns | 80% |
SRAM | 80 ns | 100% |
CS 61C
Fall 2023
Agenda
55
CS 61C
Fall 2023
An Actual CPU – Early PowerPC
56
CS 61C
Fall 2023
An Actual CPU – Pentium M
32KiB I$
32KiB D$
CS 61C
Fall 2023
Multilevel Caches
58
CS 61C
Fall 2023
Multilevel Caches
59
CS 61C
Fall 2023
Conclusion
60
CS 61C
Fall 2023