Chapter 7 Memory Hierarchy

77
1 1998 Morgan Kaufmann Publishers Chapter 7 Memory Hierarchy

description

Chapter 7 Memory Hierarchy. Outline. Technology Trends. Processor Memory Latency Gap. Time of a full cache miss in instructions executed 1st Alpha: 340 ns/5.0 ns = 68 clks x 2 (136 instr.) 2nd Alpha: 266 ns/3.3 ns = 80 clks x 4 (320 instr.) - PowerPoint PPT Presentation

Transcript of Chapter 7 Memory Hierarchy

Page 1: Chapter 7 Memory Hierarchy

11998 Morgan Kaufmann Publishers

Chapter 7Memory Hierarchy

Page 2: Chapter 7 Memory Hierarchy

21998 Morgan Kaufmann Publishers

Outline

Page 3: Chapter 7 Memory Hierarchy

31998 Morgan Kaufmann Publishers

Technology Trends

Page 4: Chapter 7 Memory Hierarchy

41998 Morgan Kaufmann Publishers

Processor Memory Latency Gap

Time of a full cache miss in instructions executed• 1st Alpha: 340 ns/5.0 ns = 68 clks x 2 (136 instr.)• 2nd Alpha: 266 ns/3.3 ns = 80 clks x 4 (320 instr.)• 3rd Alpha: 180 ns/1.7 ns =108 clks x 6 (648 instr.)

Page 5: Chapter 7 Memory Hierarchy

51998 Morgan Kaufmann Publishers

Solution: Memory Hierarchy

Speed: Fastest Slowest Size: Smallest Biggest Cost: Highest Lowest

Page 6: Chapter 7 Memory Hierarchy

61998 Morgan Kaufmann Publishers

Memory Hierarchy: Principle

Page 7: Chapter 7 Memory Hierarchy

71998 Morgan Kaufmann Publishers

Why Hierarchy Works?

Page 8: Chapter 7 Memory Hierarchy

81998 Morgan Kaufmann Publishers

How Does It Work?

Speed (ns): 1’s 10’s 100’s 10,000,000’s 10,000,000,000’s (10’s ms) (10’s sec)Size(bytes): 100’s K’s M’s G’s T’s

Page 9: Chapter 7 Memory Hierarchy

91998 Morgan Kaufmann Publishers

Page 10: Chapter 7 Memory Hierarchy

101998 Morgan Kaufmann Publishers

How Is the Hierarchy Managed?

Page 11: Chapter 7 Memory Hierarchy

111998 Morgan Kaufmann Publishers

Memory Hierarchy Technology

Page 12: Chapter 7 Memory Hierarchy

121998 Morgan Kaufmann Publishers

Memory Hierarchy Technology

Page 13: Chapter 7 Memory Hierarchy

131998 Morgan Kaufmann Publishers

Memory Hierarchy: Terminology

Page 14: Chapter 7 Memory Hierarchy

141998 Morgan Kaufmann Publishers

4 Questions for Hierarchy Design

Page 15: Chapter 7 Memory Hierarchy

151998 Morgan Kaufmann Publishers

Memory System Design

Page 16: Chapter 7 Memory Hierarchy

161998 Morgan Kaufmann Publishers

Summary of Memory Hierarchy

Page 17: Chapter 7 Memory Hierarchy

171998 Morgan Kaufmann Publishers

Outline

Page 18: Chapter 7 Memory Hierarchy

181998 Morgan Kaufmann Publishers

Basics of Cache

Page 19: Chapter 7 Memory Hierarchy

191998 Morgan Kaufmann Publishers

Page 20: Chapter 7 Memory Hierarchy

201998 Morgan Kaufmann Publishers

Hits and Misses

Page 21: Chapter 7 Memory Hierarchy

211998 Morgan Kaufmann Publishers

Hits and Misses

Page 22: Chapter 7 Memory Hierarchy

221998 Morgan Kaufmann Publishers

Avoid Waiting for Memoryin Write Through

Page 23: Chapter 7 Memory Hierarchy

231998 Morgan Kaufmann Publishers

Exploiting Spatial Locality

Page 24: Chapter 7 Memory Hierarchy

241998 Morgan Kaufmann Publishers

Page 25: Chapter 7 Memory Hierarchy

251998 Morgan Kaufmann Publishers

Block Size Tradeoff

Block Size

Page 26: Chapter 7 Memory Hierarchy

261998 Morgan Kaufmann Publishers

Memory Design to Support Cache

Page 27: Chapter 7 Memory Hierarchy

271998 Morgan Kaufmann Publishers

Interleaving for Bandwidth

Page 28: Chapter 7 Memory Hierarchy

281998 Morgan Kaufmann Publishers

Cache Performance

Page 29: Chapter 7 Memory Hierarchy

291998 Morgan Kaufmann Publishers

Improving Cache Performance

Page 30: Chapter 7 Memory Hierarchy

301998 Morgan Kaufmann Publishers

Reduce Miss Ratio with Associativity

Page 31: Chapter 7 Memory Hierarchy

311998 Morgan Kaufmann Publishers

Set-Associative Cache

Page 32: Chapter 7 Memory Hierarchy

321998 Morgan Kaufmann Publishers

Possible Associativity Structures

Page 33: Chapter 7 Memory Hierarchy

331998 Morgan Kaufmann Publishers

Block Placement

Page 34: Chapter 7 Memory Hierarchy

341998 Morgan Kaufmann Publishers

Data Placement Policy

Page 35: Chapter 7 Memory Hierarchy

351998 Morgan Kaufmann Publishers

Cache Block Replacement

Page 36: Chapter 7 Memory Hierarchy

361998 Morgan Kaufmann Publishers

Comparing the Structures

Page 37: Chapter 7 Memory Hierarchy

371998 Morgan Kaufmann Publishers

A 4-Way Set-Associative Cache

Page 38: Chapter 7 Memory Hierarchy

381998 Morgan Kaufmann Publishers

Page 39: Chapter 7 Memory Hierarchy

391998 Morgan Kaufmann Publishers

Reduce Miss Penalty with Multilevel Caches

Page 40: Chapter 7 Memory Hierarchy

401998 Morgan Kaufmann Publishers

Sources of Cache Misses

Page 41: Chapter 7 Memory Hierarchy

411998 Morgan Kaufmann Publishers

Cache Design Space

Page 42: Chapter 7 Memory Hierarchy

421998 Morgan Kaufmann Publishers

Cache Summary

Page 43: Chapter 7 Memory Hierarchy

431998 Morgan Kaufmann Publishers

Outline

Page 44: Chapter 7 Memory Hierarchy

441998 Morgan Kaufmann Publishers

Virtual Memory

Page 45: Chapter 7 Memory Hierarchy

451998 Morgan Kaufmann Publishers

Virtual Memory

Page 46: Chapter 7 Memory Hierarchy

461998 Morgan Kaufmann Publishers

Why Virtual Memory?

Page 47: Chapter 7 Memory Hierarchy

471998 Morgan Kaufmann Publishers

Basic Issues in Virtual Memory

Page 48: Chapter 7 Memory Hierarchy

481998 Morgan Kaufmann Publishers

Paging

Page 49: Chapter 7 Memory Hierarchy

491998 Morgan Kaufmann Publishers

Key Decisions in Paging

Page 50: Chapter 7 Memory Hierarchy

501998 Morgan Kaufmann Publishers

Choosing the Page Size

Page 51: Chapter 7 Memory Hierarchy

511998 Morgan Kaufmann Publishers

Page Tables

Page 52: Chapter 7 Memory Hierarchy

521998 Morgan Kaufmann Publishers

Page Fault: What Happens When You Miss?

Page 53: Chapter 7 Memory Hierarchy

531998 Morgan Kaufmann Publishers

Handling Page Faults

Page 54: Chapter 7 Memory Hierarchy

541998 Morgan Kaufmann Publishers

Handling Page Faults

Page 55: Chapter 7 Memory Hierarchy

551998 Morgan Kaufmann Publishers

Page Replacement: 1-bit LRU

Architecture part: support dirty and used bits in the page table (how?)=> may need to update PTE on any instruction fetch, load, store

Page 56: Chapter 7 Memory Hierarchy

561998 Morgan Kaufmann Publishers

Impact of Paging (I)

Page 57: Chapter 7 Memory Hierarchy

571998 Morgan Kaufmann Publishers

Hashing: Inverted Page Tables

Page 58: Chapter 7 Memory Hierarchy

581998 Morgan Kaufmann Publishers

Two-level Page Tables

Page 59: Chapter 7 Memory Hierarchy

591998 Morgan Kaufmann Publishers

Impact of Paging (II)

Page 60: Chapter 7 Memory Hierarchy

601998 Morgan Kaufmann Publishers

Making Address Translation Practical

Page 61: Chapter 7 Memory Hierarchy

611998 Morgan Kaufmann Publishers

Translation Lookaside Buffer

Page 62: Chapter 7 Memory Hierarchy

621998 Morgan Kaufmann Publishers

Translation Lookaside Buffer

Page 63: Chapter 7 Memory Hierarchy

631998 Morgan Kaufmann Publishers

TLB of MIPS R2000

Page 64: Chapter 7 Memory Hierarchy

641998 Morgan Kaufmann Publishers

TLB in Pipeline

Page 65: Chapter 7 Memory Hierarchy

651998 Morgan Kaufmann Publishers

Page 66: Chapter 7 Memory Hierarchy

661998 Morgan Kaufmann Publishers

Processing inTLB+Cache

Page 67: Chapter 7 Memory Hierarchy

671998 Morgan Kaufmann Publishers

Possible Combinations of Events

Page 68: Chapter 7 Memory Hierarchy

681998 Morgan Kaufmann Publishers

Virtual Address and Cache

Page 69: Chapter 7 Memory Hierarchy

691998 Morgan Kaufmann Publishers

Virtually Addressed Cache

Page 70: Chapter 7 Memory Hierarchy

701998 Morgan Kaufmann Publishers

An Alternative: Overlapped TLB andCache Access

IF cache hit AND (cache tag = PA) then deliver data to CPUELSE IF [cache miss OR (cache tag = PA)] and TLB hit THENaccess memory with the PA from the TLB ELSE do standard VA translation

Page 71: Chapter 7 Memory Hierarchy

711998 Morgan Kaufmann Publishers

Problem with Overlapped Access

Page 72: Chapter 7 Memory Hierarchy

721998 Morgan Kaufmann Publishers

Protection with Virtual Memory

Page 73: Chapter 7 Memory Hierarchy

731998 Morgan Kaufmann Publishers

A Common Framework for MemoryHierarchies

Page 74: Chapter 7 Memory Hierarchy

741998 Morgan Kaufmann Publishers

Modern Systems

Page 75: Chapter 7 Memory Hierarchy

751998 Morgan Kaufmann Publishers

Challenge in Memory Hierarchy

Page 76: Chapter 7 Memory Hierarchy

761998 Morgan Kaufmann Publishers

Summary

Page 77: Chapter 7 Memory Hierarchy

771998 Morgan Kaufmann Publishers

Summary (cont.)