Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf ·...

33
Lecture 11: Caches (Basics) Iakovos Mavroidis Computer Science Department University of Crete

Transcript of Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf ·...

Page 1: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Lecture 11: Caches (Basics)

Iakovos Mavroidis

Computer Science Department

University of Crete

Page 2: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Who Cares about Memory Hierarchy?

Page 3: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Latency lags bandwidth

Page 4: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Memory abstraction in architecture

Page 5: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Levels of Memory Hierarchy

Page 6: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Definition of Cache

Page 7: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Memory Hierarchy: Apple iMac G5 (2005)

Page 8: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

iMac’s PowerPC 970 (G5): All caches on-chip

Page 9: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Locality

Page 10: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Memory Hierarchy: Terminology

Page 11: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Cache Hit

Page 12: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Cache Miss

Page 13: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Cache Measures

Page 14: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

An example

Page 15: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

4 Questions for Memory Hierarchy

Page 16: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Q1: Where to Place Blocks?

Page 17: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Simplest Cache: Direct Mapped

Page 18: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

1 KB Direct Mapped Cache, 32B blocks

Page 19: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Direct Mapped Cache

Page 20: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Two-way Set Associative Cache

Page 21: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Two-way Set Associative Cache

Page 22: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Cache Mapping Example

Page 23: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Q2: How is a block found in the cache

Page 24: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Q3: Which block is replace on a miss

Page 25: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Q4: What happens on a write?

Page 26: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Write Buffers for Write-Through Caches

Page 27: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Another Write Buffer Optimization

Page 28: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Average Memory Access Time (AMAT)

Page 29: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Example

Page 30: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Example

Page 31: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Example

Page 32: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Example

Page 33: Lecture 11: Caches (Basics) - University of Cretehy425/2013f/lectures/Lec11_caches_basics.pdf · Lecture 11: Caches (Basics) ... iMac’s PowerPC 970 (G5): All caches on-chip . ...

Overlapping memory latency in OOO processors