Computer Organization CS224 Fall 2012 Lessons 37 & 38.

Slides:



Advertisements
Similar presentations
Morgan Kaufmann Publishers Large and Fast: Exploiting Memory Hierarchy
Advertisements

The Memory Hierarchy CPSC 321 Andreas Klappenecker.
1 Lecture 20 – Caching and Virtual Memory  2004 Morgan Kaufmann Publishers Lecture 20 Caches and Virtual Memory.
1 Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
Computer ArchitectureFall 2007 © November 12th, 2007 Majd F. Sakr CS-447– Computer Architecture.
Caching I Andreas Klappenecker CPSC321 Computer Architecture.
1  1998 Morgan Kaufmann Publishers Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
11/3/2005Comp 120 Fall November 10 classes to go! Cache.
Revision Mid 2 Prof. Sin-Min Lee Department of Computer Science.
1  2004 Morgan Kaufmann Publishers Chapter Seven.
1 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value is stored as a charge.
Memory: PerformanceCSCE430/830 Memory Hierarchy: Performance CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu (U. Maine)
Computer ArchitectureFall 2007 © November 12th, 2007 Majd F. Sakr CS-447– Computer Architecture.
Morgan Kaufmann Publishers Large and Fast: Exploiting Memory Hierarchy
Lecture 31: Chapter 5 Today’s topic –Direct mapped cache Reminder –HW8 due 11/21/
Computing Systems Memory Hierarchy.
Memory Hierarchy and Cache Design The following sources are used for preparing these slides: Lecture 14 from the course Computer architecture ECE 201 by.
Chapter 5 Large and Fast: Exploiting Memory Hierarchy.
Five Components of a Computer
EECS 318 CAD Computer Aided Design LECTURE 10: Improving Memory Access: Direct and Spatial caches Instructor: Francis G. Wolff Case.
Chapter 5 Large and Fast: Exploiting Memory Hierarchy CprE 381 Computer Organization and Assembly Level Programming, Fall 2013 Zhao Zhang Iowa State University.
Cache Basics Define temporal and spatial locality.
Lecture 19 Today’s topics Types of memory Memory hierarchy.
1 CMPE 421 Advanced Computer Architecture Accessing a Cache PART1.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 10 Memory Hierarchy.
King Fahd University of Petroleum and Minerals King Fahd University of Petroleum and Minerals Computer Engineering Department Computer Engineering Department.
Morgan Kaufmann Publishers
Chapter 5 Large and Fast: Exploiting Memory Hierarchy.
University of Texas at Austin CS352H - Computer Systems Architecture Fall 2009 Don Fussell CS352H: Computer Systems Architecture Topic 11: Memory Hierarchy.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
1 How will execution time grow with SIZE? int array[SIZE]; int sum = 0; for (int i = 0 ; i < ; ++ i) { for (int j = 0 ; j < SIZE ; ++ j) { sum +=
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
The Goal: illusion of large, fast, cheap memory Fact: Large memories are slow, fast memories are small How do we create a memory that is large, cheap and.
Chapter 5 Large and Fast: Exploiting Memory Hierarchy.
ECE 15B Computer Organization Spring 2011 Dmitri Strukov Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy,
1 Chapter Seven. 2 Users want large and fast memories! SRAM access times are ns at cost of $100 to $250 per Mbyte. DRAM access times are ns.
Morgan Kaufmann Publishers Large and Fast: Exploiting Memory Hierarchy
CS.305 Computer Architecture Memory: Caches Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made available.
Caches Hiding Memory Access Times. PC Instruction Memory 4 MUXMUX Registers Sign Ext MUXMUX Sh L 2 Data Memory MUXMUX CONTROLCONTROL ALU CTL INSTRUCTION.
1 Chapter Seven CACHE MEMORY AND VIRTUAL MEMORY. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4.
Memory Hierarchy How to improve memory access. Outline Locality Structure of memory hierarchy Cache Virtual memory.
1 Chapter Seven. 2 Users want large and fast memories! SRAM access times are ns at cost of $100 to $250 per Mbyte. DRAM access times are ns.
1  1998 Morgan Kaufmann Publishers Chapter Seven.
1  2004 Morgan Kaufmann Publishers Locality A principle that makes having a memory hierarchy a good idea If an item is referenced, temporal locality:
Caches 1 Computer Organization II © McQuain Memory Technology Static RAM (SRAM) – 0.5ns – 2.5ns, $2000 – $5000 per GB Dynamic RAM (DRAM)
The Memory Hierarchy (Lectures #17 - #20) ECE 445 – Computer Organization The slides included herein were taken from the materials accompanying Computer.
1 Lecture 10 Cache Peng Liu Physical Size Affects Latency 2 Small Memory CPU Big Memory CPU  Signals have further to travel  Fan.
Chapter 5 Large and Fast: Exploiting Memory Hierarchy.
1 Chapter Seven. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value.
1 How will execution time grow with SIZE? int array[SIZE]; int sum = 0; for (int i = 0 ; i < ; ++ i) { for (int j = 0 ; j < SIZE ; ++ j) { sum +=
The Memory Hierarchy Cache, Main Memory, and Virtual Memory Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Chapter 7 Large and Fast: Exploiting Memory Hierarchy.
Morgan Kaufmann Publishers Large and Fast: Exploiting Memory Hierarchy
Yu-Lun Kuo Computer Sciences and Information Engineering
The Goal: illusion of large, fast, cheap memory
CS352H: Computer Systems Architecture
Morgan Kaufmann Publishers Large and Fast: Exploiting Memory Hierarchy
How will execution time grow with SIZE?
Morgan Kaufmann Publishers Memory & Cache
Morgan Kaufmann Publishers
The Memory Hierarchy Chapter 5
CACHE MEMORY.
ECE 445 – Computer Organization
10/16: Lecture Topics Memory problem Memory Solution: Caches Locality
Morgan Kaufmann Publishers Memory Hierarchy: Cache Basics
Morgan Kaufmann Publishers Memory Hierarchy: Introduction
CS-447– Computer Architecture Lecture 20 Cache Memories
Chapter Five Large and Fast: Exploiting Memory Hierarchy
Memory Hierarchy Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Memory Principles.
Presentation transcript:

Computer Organization CS224 Fall 2012 Lessons 37 & 38

Memory Technology  Static RAM (SRAM) l 0.5ns – 2.5ns, $2000 – $5000 per GB  Dynamic RAM (DRAM) l 50ns – 70ns, $20 – $75 per GB  Magnetic disk l 5ms – 20ms, $0.20 – $2 per GB  Ideal memory l Access time of SRAM l Capacity and cost/GB of disk §5.1 Introduction

Principle of Locality  Programs access a small proportion of their address space at any time  Temporal locality l Items accessed recently are likely to be accessed again soon l e.g., instructions in a loop, induction variables  Spatial locality l Items near those accessed recently are likely to be accessed soon l E.g., sequential instruction access, array data

Taking Advantage of Locality  Memory hierarchy  Store everything on disk  Copy recently accessed (and nearby) items from disk to smaller DRAM memory l Main memory  Copy more recently accessed (and nearby) items from DRAM to smaller SRAM memory l Cache memory attached to CPU

Memory Hierarchy Levels  Block (aka line): unit of copying l May be multiple words  If accessed data is present in upper level l Hit: access satisfied by upper level -Hit ratio: hits/accesses  If accessed data is absent l Miss: block copied from lower level -Time taken: miss penalty -Miss ratio: misses/accesses = 1 – hit ratio l Then accessed data supplied from upper level

Cache Memory  Cache memory l The level of the memory hierarchy closest to the CPU  Given accesses X 1, …, X n–1, X n §5.2 The Basics of Caches  How do we know if the data is present?  Where do we look?

Direct Mapped Cache  Location determined by address  Direct mapped: only one choice l (Block address) modulo (#Blocks in cache)  #Blocks is a power of 2  Use low-order address bits

Tags and Valid Bits  How do we know which particular block is stored in a cache location? l Store block address as well as the data l Actually, only need the high-order bits l Called the tag  What if there is no data in a location? l Valid bit: 1 = present, 0 = not present l Initially 0

Cache Example  8-blocks, 1 word/block, direct mapped  Initial state IndexVTagData 000N 001N 010N 011N 100N 101N 110N 111N

Cache Example IndexVTagData 000N 001N 010N 011N 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss110

Cache Example IndexVTagData 000N 001N 010Y11Mem[11010] 011N 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss010

Cache Example IndexVTagData 000N 001N 010Y11Mem[11010] 011N 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Hit Hit010

Cache Example IndexVTagData 000Y10Mem[10000] 001N 010Y11Mem[11010] 011Y00Mem[00011] 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss Miss Hit000

Cache Example IndexVTagData 000Y10Mem[10000] 001N 010Y10Mem[10010] 011Y00Mem[00011] 100N 101N 110Y10Mem[10110] 111N Word addrBinary addrHit/missCache block Miss010

Address Subdivision

Example: Larger Block Size  64 blocks, 16 bytes/block l To what block number does address 1200 map?  Block address =  1200/16  = 75  Block number = 75 modulo 64 = 11 TagIndexOffset bits6 bits22 bits

Block Size Considerations  Larger blocks should reduce miss rate l Due to spatial locality  But in a fixed-sized cache l Larger blocks  fewer of them -More competition  increased miss rate l Larger blocks  pollution  Larger miss penalty l Can override benefit of reduced miss rate l Early restart and critical-word-first can help

Cache Misses  On cache hit, CPU proceeds normally  On cache miss l Stall the CPU pipeline l Fetch block from next level of hierarchy l Instruction cache miss -Restart instruction fetch l Data cache miss -Complete data access