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

Lecture 11: Caches (Basics) - uoc.gr

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 11: Caches (Basics) - uoc.gr

Lecture 11: Caches (Basics)

Iakovos Mavroidis

Computer Science Department

University of Crete

Page 2: Lecture 11: Caches (Basics) - uoc.gr

Who Cares about Memory Hierarchy?

Page 3: Lecture 11: Caches (Basics) - uoc.gr

Latency lags bandwidth

Page 4: Lecture 11: Caches (Basics) - uoc.gr

Memory abstraction in architecture

Page 5: Lecture 11: Caches (Basics) - uoc.gr

Levels of Memory Hierarchy

Page 6: Lecture 11: Caches (Basics) - uoc.gr

Definition of Cache

Page 7: Lecture 11: Caches (Basics) - uoc.gr

Memory Hierarchy: Apple iMac G5 (2005)

Page 8: Lecture 11: Caches (Basics) - uoc.gr

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

Page 9: Lecture 11: Caches (Basics) - uoc.gr

Locality

Page 10: Lecture 11: Caches (Basics) - uoc.gr

Memory Hierarchy: Terminology

Page 11: Lecture 11: Caches (Basics) - uoc.gr

Cache Hit

Page 12: Lecture 11: Caches (Basics) - uoc.gr

Cache Miss

Page 13: Lecture 11: Caches (Basics) - uoc.gr

Cache Measures

Page 14: Lecture 11: Caches (Basics) - uoc.gr

An example

Page 15: Lecture 11: Caches (Basics) - uoc.gr

4 Questions for Memory Hierarchy

Page 16: Lecture 11: Caches (Basics) - uoc.gr

Q1: Where to Place Blocks?

Page 17: Lecture 11: Caches (Basics) - uoc.gr

Simplest Cache: Direct Mapped

Page 18: Lecture 11: Caches (Basics) - uoc.gr

1 KB Direct Mapped Cache, 32B blocks

Page 19: Lecture 11: Caches (Basics) - uoc.gr

Direct Mapped Cache

Page 20: Lecture 11: Caches (Basics) - uoc.gr

Two-way Set Associative Cache

Page 21: Lecture 11: Caches (Basics) - uoc.gr

Two-way Set Associative Cache

Page 22: Lecture 11: Caches (Basics) - uoc.gr

Cache Mapping Example

Page 23: Lecture 11: Caches (Basics) - uoc.gr

Q2: How is a block found in the cache

Page 24: Lecture 11: Caches (Basics) - uoc.gr

Q3: Which block is replace on a miss

Page 25: Lecture 11: Caches (Basics) - uoc.gr

Q4: What happens on a write?

Page 26: Lecture 11: Caches (Basics) - uoc.gr

Write Buffers for Write-Through Caches

Page 27: Lecture 11: Caches (Basics) - uoc.gr

Another Write Buffer Optimization

Page 28: Lecture 11: Caches (Basics) - uoc.gr

Average Memory Access Time (AMAT)

Page 29: Lecture 11: Caches (Basics) - uoc.gr

Example

Page 30: Lecture 11: Caches (Basics) - uoc.gr

Example

Page 31: Lecture 11: Caches (Basics) - uoc.gr

Example

Page 32: Lecture 11: Caches (Basics) - uoc.gr

Example

Page 33: Lecture 11: Caches (Basics) - uoc.gr

Overlapping memory latency in OOO processors