A Fully Associative Software-Managed Cache Design
Erik G. Hallnor and Steven K. Reindhardt
Presented By: Maryam Sadooghi-Alvandi
A Fully Associative Software-Managed Cache Design Erik G. Hallnor - - PowerPoint PPT Presentation
A Fully Associative Software-Managed Cache Design Erik G. Hallnor and Steven K. Reindhardt Presented By: Maryam Sadooghi-Alvandi Motivation Two Trends: Growing DRAM access latency Multi-megabyte on-chip caches Motivation Two
Erik G. Hallnor and Steven K. Reindhardt
Presented By: Maryam Sadooghi-Alvandi
TAG TAG
TAG SET OFFSET
MATCH? MATCH?
TAG TAG
TAG SET OFFSET
MATCH? MATCH?
TAG TAG
TAG SET OFFSET
MATCH? MATCH?
DATA ARRAY
DATA ARRAY
DATA ARRAY
DATA ARRAY
PC
DATA ARRAY
PC
INDEX
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
TAG STATUS INDEX REPL.
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
MATCH? MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE
INDEX
TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE TE
INDEX
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE TE
MATCH?
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
TAG STATUS INDEX REPL.
TE TE
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
TAG STATUS INDEX REPL.
TE TE
1
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
TAG STATUS INDEX REPL.
TE TE
1 2
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
TAG STATUS INDEX REPL.
TE TE
1 2 3
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
TAG STATUS INDEX REPL.
TE TE
1 2 3 4 4
MATCH?
TAG
TAG OFFSET
HASH MATCH? MATCH? MATCH? MATCH?
TE TE TE TE
TAG STATUS INDEX REPL.
TE TE
1 2 3 4 4 5
L1 L2
repeatedly referenced
L1 L2
repeatedly referenced
L1 L2
accessed over when it was accessed
repeatedly accessed
used
FRESH POOL
1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1
POOL 0 POOL 1 POOL 2 POOL 3
HIT
least frequently used most frequently used
FRESH POOL
1
POOL 0 POOL 1 POOL 2 POOL 3
1
HIT
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
least frequently used most frequently used
FRESH POOL
1 1
POOL 0 POOL 1 POOL 2 POOL 3
EVICT
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
HIT
1
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
HIT
1 1
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
1
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
1
MISS
2
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
1
MISS
2
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
1
MISS
2
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
1
MISS
2
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
1
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
1
HIT
3
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
HIT
3 3
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
HIT
4
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
HIT
4
1
4
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
1
4
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
1
4
MISS
5
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
1
4
MISS
5
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
1
4
MISS
5
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3
1
4
MISS
5
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3 4
MISS
5
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3 4
MISS
5
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3 4
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3 4
MISS
6
EVICT
B2
B1 1
POOL 0 POOL 1 POOL 2
B3
3 4
MISS
6
B2
B1 1
POOL 0 POOL 1 POOL 2
3 4
MISS
6
B2
B1 1
POOL 0 POOL 1 POOL 2
3 4
MISS
6
B2
B1 1
POOL 0 POOL 1 POOL 2
3 4
MISS
6
B2
B1 1
POOL 0 POOL 1 POOL 2
3 4
B2
B1 1
POOL 0 POOL 1 POOL 2
3 4
MISS
7
EVICT
B2
B1 1
POOL 0 POOL 1 POOL 2
3 4
MISS
7
40,000 60,000 80,000 100,000 120,000 140,000 160,000 4 8 16 32 64 128 256 FA
LRU 128 LRU 256 LRU 512 OPT 128 OPT 256 OPT 512
BETTER
TPCC_LONG
40,000 60,000 80,000 100,000 120,000 140,000 160,000 4 8 16 32 64 128 256 FA
LRU 128 LRU 256 LRU 512 OPT 128 OPT 256 OPT 512
BETTER
LRU
TPCC_LONG
40,000 60,000 80,000 100,000 120,000 140,000 160,000 4 8 16 32 64 128 256 FA
LRU 128 LRU 256 LRU 512 OPT 128 OPT 256 OPT 512
BETTER
OPT
LRU
TPCC_LONG
50,000,000 100,000,000 150,000,000 200,000,000 250,000,000 4 8 16 32 64 128 256 FA
LRU 128 LRU 256 LRU 512 OPT 128 OPT 256 OPT 512
BETTER
OLTP1W
40,000 95,000 150,000 205,000 260,000 315,000 370,000 4 8 16 32 64 128 256 FA
LRU 128 LRU 256 LRU 512 OPT 128 OPT 256 OPT 512
BETTER
SPECWEB
40,000 95,000 150,000 205,000 260,000 315,000 370,000 4 8 16 32 64 128 256 FA
LRU 128 LRU 256 LRU 512 OPT 128 OPT 256 OPT 512
BETTER
SPECWEB
LRU
40,000 95,000 150,000 205,000 260,000 315,000 370,000 4 8 16 32 64 128 256 FA
LRU 128 LRU 256 LRU 512 OPT 128 OPT 256 OPT 512
BETTER
SPECWEB
OPT
LRU
BETTER
5 10 15 20 25 Millions of Misses L R U 4
A Y + P G C O L O R + V I C T I M L R U 8
A Y L R U 1 6
A Y C L O C K F A G E N F A L R U F A O P T F A OLTP1W
BETTER
5 10 15 20 25 Millions of Misses L R U 4
A Y + P G C O L O R + V I C T I M L R U 8
A Y L R U 1 6
A Y C L O C K F A G E N F A L R U F A O P T F A OLTP1W
BETTER
50 100 150 200 250 300 350 400 Thousands of Misses L R U 4
A Y + P G C O L O R + V I C T I M L R U 8
A Y L R U 1 6
A Y C L O C K F A G E N F A L R U F A O P T F A SPECWEB
BETTER
50 100 150 200 250 300 350 400 Thousands of Misses L R U 4
A Y + P G C O L O R + V I C T I M L R U 8
A Y L R U 1 6
A Y C L O C K F A G E N F A L R U F A O P T F A SPECWEB
BETTER
20 40 60 80 100 120 140 160 180 Thousands of Misses L R U 4
A Y + P G C O L O R + V I C T I M L R U 8
A Y L R U 1 6
A Y C L O C K F A G E N F A L R U F A O P T F A TPCC_LONG