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

Upload: nguyenhanh

Post on 05-Oct-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

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