Memory. Memory Technologies

Size: px
Start display at page:

Download "Memory. Memory Technologies"

Transcription

1 Memory Memory technologies Memory hierarchy Cache basics Cache variations Virtual memory Synchronization Galen Sasaki EE 36 University of Hawaii Memory Technologies Read Only Memory (ROM) Static RAM (SRAM) Basic cell: clocked D latch (vs. D flip flop) Array of cells: -dimension and 2-dimen RAM access: timing Dynamic RAM (DRAM) Basic cell Faster DRAM, e.g. synchronous DRAM Galen Sasaki EE 36 University of Hawaii 2

2 ROM Random access means that the access time (to read or write) is not dependent on the address -- different from hard disks ROM is random access but read only Programmable ROM (PROM) Erasable PROM (EPROM) Electrically EPROM (EEPROM) Galen Sasaki EE 36 University of Hawaii 3 RAM RAM is read and writeable random access memory Memory is erased when power goes off ROM doesn t lose memory when power goes off Static RAM: faster but more expensive Dynamic RAM: slower, smaller, and less expensive but it s getting faster Galen Sasaki EE 36 University of Hawaii 4 2

3 Components: CMOS n-channel transistor High(H) gate source gate = --> close gate = 0 --> open A B A B drain Low(L) or GND p-channel transistor High(H) High(H) gate source drain gate = --> open gate = 0 --> close A=L closed open Galen Sasaki EE 36 University of Hawaii 5 B Low(L) A=H open closed Low(L) B C Switch and NOR High(H) A better for H A A C C C Switch: When C = then switch is closed, i.e., A = B. When C = 0, switch is open B better for L B B A=L B=L Low(L) High(H) closed closed open Low(L) Y Y at least one is open High(H) A or B = H open at least one is closed Low(L) Y closed Galen Sasaki EE 36 University of Hawaii 6 3

4 Simple Memory Cell: D Latch Clock D Q Clock Similar to a D flip flop D Clock Clock Clock Q Clock = L, It holds its value Clock = H, Q = D, i.e., it s transparent from input to output. Clock = H Clock = L D Hold Q D Q Transparent Galen Sasaki EE 36 University of Hawaii 7 D Flip Flop D Master D Q Slave D Q Q Clock Clock Clock D Clock = L D Q D Q Q Transparent =D Hold Hold Clock Clock H L D Clock = H D Q Hold Clock L last value D Q of D Transparent while Clock Clock H = L Galen Sasaki EE 36 University of Hawaii 8 Q 4

5 Common Type bus bus Address CS R/W Static RAM READ Address R/W CS Delay Chip Select (CS): Asserting it will turn on the RAM WRITE Address R/W: Asserting it, will allow you to read it Unasserting it, will allow you to write to it R/W CS Address should be stable while CS = Min Time Galen Sasaki EE 36 University of Hawaii 9 -Bit SRAM Cell RAM bus Address bit Let s build it in steps. First consider just R/W CS R/W D Q Clock R/W A -bit memory cell Add in CS D Q Clock CS CS R/W R/W Galen Sasaki EE 36 University of Hawaii 0 5

6 -Bit SRAM RAM 0 bus Demultiplexer CS Address CS 0 R/W bit CS R/W CS R/W a3 a2 row addr row CS R/W 5 Address CS R/W column a3 a2 Galen a a0 Sasaki EE 36 University of Hawaii R/W 2 3 a a0 column addr CS 32-Bit SRAM RAM bus Address CS R/W CS R/W Address Address Address 6 bit Address CS Address CS Address CS CSR/W Address Address CSR/W Address CSR/W Address CSR/W Address CSR/W Address CSR/W d3 CSR/W CSR/W R/W R/W d0 Galen Sasaki EE 36 University of Hawaii 2 6

7 Dynamic RAM Memory cells can forget! Cells must be refreshed Less number of devices per bit Read destroys bits Write bit back after a read Word line Word line Word line Word line Word line Word line cell cell cell cell cell cell A cell Word line Passive transistor Capacitor Bit line R/W CS Sense/write amplifiers -- sense and amplifier data data Galen Sasaki EE 36 University of Hawaii 3 4M x DRAM Row decoder -to x 2048 array Address[0-0] Column latches Mux Latch 2048 bits at a time Throw away 2047 Dout Galen Sasaki EE 36 University of Hawaii 4 7

8 Memory Hierarchy Motivation, i.e., Why? Cache basics Contents Reading Replacement policy Writing consistency Example: Direct Mapped Blocks of memory: better efficiency Galen Sasaki EE 36 University of Hawaii 5 Memory Hierarchy Making large fast memory cheaply. Memory Types Access Times Cost/Mbyte (93) Static RAM (SRAM) fast (8-35 ns) $ Dynamic RAM (DRAM) slower (90-20 ns) $25-50 Hard Disk even slower (0-20 M ns) $-2 CPU cache (fast) main memory (slower) Galen Sasaki EE 36 University of Hawaii 6 8

9 Cache: Why does it work? CPU cache (fast) main memory (slower) Principle of locality: observation about executing programs Temoporal locality (locality in time): if an item is referenced, it will tend to be referenced soon, e.g., loops Spatial locality (locality in space): if an item is referenced, items that have nearly the same address values will tend to be referenced soon. Galen Sasaki EE 36 University of Hawaii 7 Temporal Locality main: add $,$2,$3 andi $2,$5,9... loop: beq skip... j loop skip:.... spatial locality temporal locality Galen Sasaki EE 36 University of Hawaii 8 9

10 index cache 038 Cache holds copies of the contents of memory Memory access: read/write hit: find element in cache miss: element not in cache Cache Basics Replacement policy: if we store something new in the cache, where do we write it? Example: Least Recently Used (LRU) -- the oldest one. 038 Main Galen Sasaki EE 36 University of Hawaii 9 Cache Contents valid bit: used or unused tag main memory address-- it s an identifier of where the data comes from data contents from memory age used by LRU policy this is updated every time the memory address is accessed Galen Sasaki EE 36 University of Hawaii 20 0

11 Read Processor Step cache request addr 024 check if 024 is in cache (check tags) HIT main memory MISS Step 2 Step 2 Processor data for 024 cache update age of 024 main memory Processor cache req 024 main memory data for 024 load 024 in cache and (possibly) replace something. update age of 024 Galen Sasaki EE 36 University of Hawaii 2 Write Processor write addr 024 HIT Step cache check if 024 is in cache (check tags) main memory MISS Step 2 Step 2 Processor write addr 024 cache update age of 024 main memory? Depends on write policy Processor write addr 024 cache replace something main memory Galen Sasaki EE 36 University of Hawaii 22

12 Memory Write Three approaches:. Write-through: write to both cache and main memory. Simple, but large overhead. processor write fast cache slow memory 2. Write-buffer: write-through, but there is a buffer that takes care of the writing to memory. Buffer allows CPU to go onto the next operation If buffer is not finished before the next memory access then CPU stalls until the writethrough is finished. processor one or more writes buffer stalls occur if writes aren t cache completed before next instruction that needs the word memory Galen Sasaki EE 36 University of Hawaii Write-back: write to cache Memory Write Update main memory when item in cache is replaced. More complicated. write cache update only if necessary memory cache contents v tag data dirty bit : indicates if the contents have to be written back to memory if replaced in cache Galen Sasaki EE 36 University of Hawaii 24 2

13 Example: Direct Mapped Caching: Variations. Where do you place a new entry? Or which do you replace? E.g., Least Recently Used 2. In case of write, when do you write back into main memory? E.g., write-through (always) Direct Mapped deals with. You want to place the contents of memory location A into the cache. You use the value of A to determine this. Thus, A is always placed into the same position in the cache. (Different than LRU) Most common way is to use the last few bits of A. Easy to find data in cache (don t have to search entire contents) Galen Sasaki EE 36 University of Hawaii 25 Direct Mapped Example cache index cache Use the last two bits to determine the cache index to map memory contents to. Why the last two bits, rather than the first two bits? Main Galen Sasaki EE 36 University of Hawaii 26 3

14 Direct Mapped Example cache Main Window the size of the cache Galen Sasaki EE 36 University of Hawaii 27 Cache Contents valid bit: used unused data contents from memory tag main memory address minus last bits main memory address = tag + cache index (e.g., 0) Galen Sasaki EE 36 University of Hawaii 28 4

15 Direct Mapped Hardware address byte offset (2 bits) CPU index Cache Hit & v tag data = Galen Sasaki EE 36 University of Hawaii 29 Blocks of Memory * Speed things up by organizing memory into blocks of words. o Access blocks instead of words o Take advantage of spatial locality of references Address Block Number or Block Address Bit offset (2 bits) Block Offset (indicates where the word is in the block) Block 00 Block 0 Main Block 0 Block Galen Sasaki EE 36 University of Hawaii 30 5

16 Memory Organization Main memory Interleaved word block address Cache * Access time of block is approx. access time of a single word. block # block offset bit offset CPU Galen Sasaki EE 36 University of Hawaii 3 Cache address tag block # index block offset bit offset v tag CPU = Mux Hit & Galen Sasaki EE 36 University of Hawaii 32 6

17 Memory Hierarchy Miss rate 40% 35% 30% 25% 20% 5% 0% 5% Bigger blocks mean smaller miss rates BUT Higher miss penalties TRADE OFF 0% Block size (bytes) KB 8 KB 6 KB 64 KB 256 KB Galen Sasaki EE 36 University of Hawaii 33 Designing memory systems to support caches CPU CPU CPU bus & mux Cache Cache Cache bus wide bus Memory Memory one-word-wide wide memory interleaved Example: clock cycle to send address 5 clock cycles for each DRAM access initiated clock cycle to send a word of data Galen Sasaki EE 36 University of Hawaii 34 7

18 Memory Access READ: same as before Step. Check if word is in cache Step 2. HIT: Read word from cache MISS: Read block (and word) from main memory. Put block in cache WRITE: different for write through Step. Read block from main memory into cache Write into main memory and cache Galen Sasaki EE 36 University of Hawaii 35 Cache Variations Associative memory Set associate memory Two levels of caching Galen Sasaki EE 36 University of Hawaii 36 8

19 Associative Memory Cache Contents Each element contains: tag, data, valid bit, age Access Cache Check cache by checking all elements (check tags of all elements to see if there s a hit) Replacement policy: can be more intelligent to reduce misses E.g., least recently used (LRU): need to update age field E.g., random Lowers miss rate but increases hardware complexity (and maybe speed) Galen Sasaki EE 36 University of Hawaii 37 Associative Memory Hardware byte offset (2 bits) v addr age data v addr age data v addr age data v addr age data addre ss = = = = CPU & & & & Hit Hit Hit Hit Hit OR 4-to- Multiplexer Galen Sasaki EE 36 University of Hawaii 38 9

20 Set Associative * Associative: Reduces the chance of a miss. Large complexity because all blocks must be searched * Direct-Mapped: Simpler complexity * Set Associative (Generalization of above): A block is mapped to a set just as in direct mapped A block may be mapped anywhere within its set just as in associative Blocks Sets set index is the set address Cache Words n-way set associative means n blocks in a set Galen Sasaki EE 36 University of Hawaii 39 Set Associative Main Memory block 0 A block is a super word Block #s are the addresses block # (b bits) block size = 2 k words k bits block block 2 Word address 00 2 m sets m bits set index block 3 block 4 block 5 set 0 set n-way set associative cache associative with n blocks block 6 block 7 direct map to the set using set index set 2 m- - Galen Sasaki EE 36 University of Hawaii 40 20

21 Cache Performance A. CPU time = ( CPU execution clock cycles + memory-stall clock cycles) x clock cycle time. memory-stall clock cycles = read-stall cycles + write-stall cycles B. Read-stall cycles = reads/program * read miss rate * read miss penalty C. Write-stall cycles = writes/program * write miss rate * write miss penalty + write buffer stalls usually negligible D. Simplifying case: Write and read penalties are about the same, and write buffer stalls are negligible. Memory-stall cycles = memory access/program * miss rate * miss penalty Galen Sasaki EE 36 University of Hawaii 4 5% Memory Hierarchy 2% 9 % Miss rate 6 % 3 % 0 % O n e-wa y Tw o-way Four-w ay Eight-w ay Associativity KB 6 KB 2 KB 32 K B 4 KB 64 K B 8 KB 28 KB Galen Sasaki EE 36 University of Hawaii 42 2

22 Improving Performance Set associative memory Choose set and block size so that hardware is fast (hit time) minimize miss rate Two Level Cache CPU single chip CPU Min hit time Level cache direct mapped cache Min miss rate Lowers miss penalty of L cache Level 2 cache SRAM set associative LRU Main memory Main memory Galen Sasaki EE 36 University of Hawaii 43 Really big memory Virtual Memory E.g., there are 32 bits in an address, addressing up to around 4 billion bytes. 64 bit addresses address much much more. Much bigger than main memory. Virtual memory is this really big memory but data is physically stored in all kinds of stuff Galen Sasaki EE 36 University of Hawaii 44 22

23 Virtual Memory Main memory Really big memory virtual addresses Page 0 Pages instead of blocks Page Page 2 Pages are reasonably big chunks of bytes Pages are stored in main memory (physical memory) or hard disk Page 3 Page 4 Page 5 Page 6 Page 7 Hard disk Etc How do you keep track of where the pages are? Galen Sasaki EE 36 University of Hawaii 45 Virtual Memory Processor page table register virtual addresses Page 0 Page Address Translation Main memory a cache for hard disk Page Table does address translation page #s location Page 2 Page 3 5 Page 4 7 Page 5 Page 6 Page 7 Hard disk Etc Galen Sasaki EE 36 University of Hawaii 46 23

24 Accessing Virtual Memory virtual address virtual page # page offset Translation lookaside buffer (TLB) (It s a cache for the page table) location of page Page table Use offset to get the exact word or byte within the page Galen Sasaki EE 36 University of Hawaii 47 Virtual Memory Disk accesses are slow memory management can be done in software page sizes are large (0s of Kbytes) to mitigate slow access times of disks miss penalties are very large so associative memory least recently used or even more complicated strategies write-back rather than write-through Galen Sasaki EE 36 University of Hawaii 48 24

25 Virtual Memory Programs do not have to be in contiguous portions of memory. They can be on pages located anywhere. Note that strategy for virtual memory is different than for caches because of the high miss penalties Galen Sasaki EE 36 University of Hawaii 49 Buses Galen Sasaki EE 36 University of Hawaii 50 25

26 Memory Hierarchy Galen Sasaki EE 36 University of Hawaii 5 Memory Hierarchy Virtual address Virtual page number Page offset Translation Physical page number Page offset Physical address Galen Sasaki EE 36 University of Hawaii 52 26

27 Memory Hierarchy Page table register V irtu a l a dd ress Virtual page number Page offset 20 2 V a lid Physical page number Page table If 0 th en p ag e is no t pre sen t in m em o ry Physical page number Page offset Physical address Galen Sasaki EE 36 University of Hawaii 53 Virtual page number Memory Hierarchy Valid Page table Physical page or disk address Physical memory Disk storage Galen Sasaki EE 36 University of Hawaii 54 27

28 Memory Hierarchy V irtu al p ag e n u m b er V alid Ta g T LB P h ysical p a ge ad d ress 0 P hysical m em ory P ag e tab le Ph ysical p ag e V alid or d isk ad d ress D isk storag e Galen Sasaki EE 36 University of Hawaii 55 Memory Hierarchy V irtual address V irtu a l p a g e n u m b e r P a g e o ffs e t V a lid D irt y T a g P h y s ic a l p a g e n u m b e r T L B T L B h it 20 P h y sica l p a g e nu m be r P a g e o ffs e t P h ys ica l a d d re s s P hysical address tag C a c h e in d e x B y te o ffs e t V a lid T a g D a ta C a ch e 3 2 C a ch e h it Galen Sasaki EE 36 University of Hawaii 56 D a ta 28

29 Memory Hierarchy Virtual address TLB access TLB miss excep tion No TLB hit? Yes Physical address No Write? Yes Try to read data from cach e No Write access bit on? Yes Cach e miss stall No Cache hit? Yes Write p rotection exception Write data into cach e, update th e tag, and put th e data and th e address in to the write buffer Deliver data to the CPU Galen Sasaki EE 36 University of Hawaii 57 4 % Memory Hierarchy 2 % 0 % Miss rate per type 8 % 6 % 4 % 2 % C a p a c ity 0 % C a c h e s iz e (K B ) O n e - w a y F o u r -w a y T w o - w a y E ig h t- w a y Galen Sasaki EE 36 University of Hawaii 58 29

30 Memory Hierarchy 00 Improvement factor Ye ar C PU (f ast) C P U (slo w ) D R AM D R AM C PU (slo w ) C PU (fast) D R AM cycle tim es slo w P (M H z) Galen Sasaki EE 36 University of Hawaii 59 H i t Memory Hierarchy A d d re s s (s h o w i n g b it p o s i tio n s ) T a g In d e x B y t e o f f s e t D a t a In d e x 0 2 V a l id T a g D a ta Galen Sasaki EE 36 University of Hawaii 60 30

31 Memory Hierarchy A d d re s s (s h o w in g b it p o sitio n s ) H it 6 4 B y te o ffs e t D a ta 6 bits 32 bits Valid Tag D ata 6 K e n trie s Galen Sasaki EE 36 University of Hawaii 6 Memory Hierarchy Address (showing bit positions) Hit Tag Byte offset Index Block offset 6 bits 28 bits V Tag 4K entries Mux 32 Galen Sasaki EE 36 University of Hawaii 62 3

32 Memory Hierarchy A d d r ess In d e x 0 2 V T a g V Tag V T ag V T ag to - m u ltip lex o r H it D ata Galen Sasaki EE 36 University of Hawaii 63 Memory Hierarchy Direct mapped Set associative Block # Set # Fully associative Tag 2 Tag 2 Tag 2 Search Search Search Galen Sasaki EE 36 University of Hawaii 64 32

33 Memory Hierarchy CPU CPU CPU Cache Multiplexor Cache Cache Bus Bus Bus Memory Memory bank 0 Memory bank Memory bank 2 Memory bank 3 Memory b. Wide memory organization c. Interleaved memory organization a. One-word-wide memory organization Galen Sasaki EE 36 University of Hawaii 65 Memory Hierarchy O n e - w a y se t a ss o cia tiv e (d ire c t m a p p e d ) B lo c k T a g D a ta S e t T w o - w a y se t a ss o cia tiv e T a g D a ta T a g D a ta S e t 0 F o u r- w a y s e t a s s o c ia tiv e T ag Tag Tag Tag E ig h t- w a y se t a s so c ia tiv e (fu lly a ss o c ia tiv e ) Tag D ata T ag D ata Tag Tag Tag Tag Tag Tag D ata Galen Sasaki EE 36 University of Hawaii 66 33

34 Memory Hierarchy CPU Levels in the memory hierarchy Level Level 2 Increasing distance from the CPU in access time Level n Size of the memory at each level Galen Sasaki EE 36 University of Hawaii 67 Memory Hierarchy Speed CPU Size Cost ($/bit) Fastest Memory Smallest Highest Memory Slowest Memory Biggest Lowest Galen Sasaki EE 36 University of Hawaii 68 34

35 Memory Hierarchy X4 X Xn 2 X4 X Xn 2 Xn X2 Xn X2 Xn X3 a. Before the reference to Xn X3 b. After the reference to Xn Galen Sasaki EE 36 University of Hawaii 69 Memory Hierarchy Cache Memory Galen Sasaki EE 36 University of Hawaii 70 35

36 Memory Hierarchy Processor are transferred Galen Sasaki EE 36 University of Hawaii 7 36

Chapter Seven. Large & Fast: Exploring Memory Hierarchy

Chapter Seven. Large & Fast: Exploring Memory Hierarchy Chapter Seven Large & Fast: Exploring Memory Hierarchy 1 Memories: Review SRAM (Static Random Access Memory): value is stored on a pair of inverting gates very fast but takes up more space than DRAM DRAM

More information

Chapter Seven. SRAM: value is stored on a pair of inverting gates very fast but takes up more space than DRAM (4 to 6 transistors)

Chapter Seven. SRAM: value is stored on a pair of inverting gates very fast but takes up more space than DRAM (4 to 6 transistors) Chapter Seven emories: Review SRA: value is stored on a pair of inverting gates very fast but takes up more space than DRA (4 to transistors) DRA: value is stored as a charge on capacitor (must be refreshed)

More information

Memory Hierarchy: Motivation

Memory Hierarchy: Motivation Memory Hierarchy: Motivation The gap between CPU performance and main memory speed has been widening with higher performance CPUs creating performance bottlenecks for memory access instructions. The memory

More information

Memory Hierarchies. Instructor: Dmitri A. Gusev. Fall Lecture 10, October 8, CS 502: Computers and Communications Technology

Memory Hierarchies. Instructor: Dmitri A. Gusev. Fall Lecture 10, October 8, CS 502: Computers and Communications Technology Memory Hierarchies Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 10, October 8, 2007 Memories SRAM: value is stored on a pair of inverting gates very fast

More information

Memory Hierarchy: The motivation

Memory Hierarchy: The motivation Memory Hierarchy: The motivation The gap between CPU performance and main memory has been widening with higher performance CPUs creating performance bottlenecks for memory access instructions. The memory

More information

Memory. Lecture 22 CS301

Memory. Lecture 22 CS301 Memory Lecture 22 CS301 Administrative Daily Review of today s lecture w Due tomorrow (11/13) at 8am HW #8 due today at 5pm Program #2 due Friday, 11/16 at 11:59pm Test #2 Wednesday Pipelined Machine Fetch

More information

Chapter 7 Large and Fast: Exploiting Memory Hierarchy. Memory Hierarchy. Locality. Memories: Review

Chapter 7 Large and Fast: Exploiting Memory Hierarchy. Memory Hierarchy. Locality. Memories: Review Memories: Review Chapter 7 Large and Fast: Exploiting Hierarchy DRAM (Dynamic Random Access ): value is stored as a charge on capacitor that must be periodically refreshed, which is why it is called dynamic

More information

CpE 442. Memory System

CpE 442. Memory System CpE 442 Memory System CPE 442 memory.1 Outline of Today s Lecture Recap and Introduction (5 minutes) Memory System: the BIG Picture? (15 minutes) Memory Technology: SRAM and Register File (25 minutes)

More information

CPU issues address (and data for write) Memory returns data (or acknowledgment for write)

CPU issues address (and data for write) Memory returns data (or acknowledgment for write) The Main Memory Unit CPU and memory unit interface Address Data Control CPU Memory CPU issues address (and data for write) Memory returns data (or acknowledgment for write) Memories: Design Objectives

More information

Chapter Seven. Memories: Review. Exploiting Memory Hierarchy CACHE MEMORY AND VIRTUAL MEMORY

Chapter Seven. Memories: Review. Exploiting Memory Hierarchy CACHE MEMORY AND VIRTUAL MEMORY Chapter Seven CACHE MEMORY AND VIRTUAL MEMORY 1 Memories: Review 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

More information

CS152 Computer Architecture and Engineering Lecture 16: Memory System

CS152 Computer Architecture and Engineering Lecture 16: Memory System CS152 Computer Architecture and Engineering Lecture 16: System March 15, 1995 Dave Patterson (patterson@cs) and Shing Kong (shing.kong@eng.sun.com) Slides available on http://http.cs.berkeley.edu/~patterson

More information

CENG 3420 Computer Organization and Design. Lecture 08: Cache Review. Bei Yu

CENG 3420 Computer Organization and Design. Lecture 08: Cache Review. Bei Yu CENG 3420 Computer Organization and Design Lecture 08: Cache Review Bei Yu CEG3420 L08.1 Spring 2016 A Typical Memory Hierarchy q Take advantage of the principle of locality to present the user with as

More information

Concept of Memory. The memory of computer is broadly categories into two categories:

Concept of Memory. The memory of computer is broadly categories into two categories: Concept of Memory We have already mentioned that digital computer works on stored programmed concept introduced by Von Neumann. We use memory to store the information, which includes both program and data.

More information

LECTURE 11. Memory Hierarchy

LECTURE 11. Memory Hierarchy LECTURE 11 Memory Hierarchy MEMORY HIERARCHY When it comes to memory, there are two universally desirable properties: Large Size: ideally, we want to never have to worry about running out of memory. Speed

More information

Chapter 6 Objectives

Chapter 6 Objectives Chapter 6 Memory Chapter 6 Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured.

More information

CSE 431 Computer Architecture Fall Chapter 5A: Exploiting the Memory Hierarchy, Part 1

CSE 431 Computer Architecture Fall Chapter 5A: Exploiting the Memory Hierarchy, Part 1 CSE 431 Computer Architecture Fall 2008 Chapter 5A: Exploiting the Memory Hierarchy, Part 1 Mary Jane Irwin ( www.cse.psu.edu/~mji ) [Adapted from Computer Organization and Design, 4 th Edition, Patterson

More information

k -bit address bus n-bit data bus Control lines ( R W, MFC, etc.)

k -bit address bus n-bit data bus Control lines ( R W, MFC, etc.) THE MEMORY SYSTEM SOME BASIC CONCEPTS Maximum size of the Main Memory byte-addressable CPU-Main Memory Connection, Processor MAR MDR k -bit address bus n-bit data bus Memory Up to 2 k addressable locations

More information

a) Memory management unit b) CPU c) PCI d) None of the mentioned

a) Memory management unit b) CPU c) PCI d) None of the mentioned 1. CPU fetches the instruction from memory according to the value of a) program counter b) status register c) instruction register d) program status word 2. Which one of the following is the address generated

More information

CHAPTER 6 Memory. CMPS375 Class Notes Page 1/ 16 by Kuo-pao Yang

CHAPTER 6 Memory. CMPS375 Class Notes Page 1/ 16 by Kuo-pao Yang CHAPTER 6 Memory 6.1 Memory 233 6.2 Types of Memory 233 6.3 The Memory Hierarchy 235 6.3.1 Locality of Reference 237 6.4 Cache Memory 237 6.4.1 Cache Mapping Schemes 239 6.4.2 Replacement Policies 247

More information

Chapter 5 Large and Fast: Exploiting Memory Hierarchy (Part 1)

Chapter 5 Large and Fast: Exploiting Memory Hierarchy (Part 1) Department of Electr rical Eng ineering, Chapter 5 Large and Fast: Exploiting Memory Hierarchy (Part 1) 王振傑 (Chen-Chieh Wang) ccwang@mail.ee.ncku.edu.tw ncku edu Depar rtment of Electr rical Engineering,

More information

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Computer Organization. 8th Edition. Chapter 5 Internal Memory William Stallings Computer Organization and Architecture 8th Edition Chapter 5 Internal Memory Semiconductor Memory Types Memory Type Category Erasure Write Mechanism Volatility Random-access memory (RAM)

More information

Donn Morrison Department of Computer Science. TDT4255 Memory hierarchies

Donn Morrison Department of Computer Science. TDT4255 Memory hierarchies TDT4255 Lecture 10: Memory hierarchies Donn Morrison Department of Computer Science 2 Outline Chapter 5 - Memory hierarchies (5.1-5.5) Temporal and spacial locality Hits and misses Direct-mapped, set associative,

More information

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 20 Dr. Kuo-pao Yang

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 20 Dr. Kuo-pao Yang CHAPTER 6 Memory 6.1 Memory 341 6.2 Types of Memory 341 6.3 The Memory Hierarchy 343 6.3.1 Locality of Reference 346 6.4 Cache Memory 347 6.4.1 Cache Mapping Schemes 349 6.4.2 Replacement Policies 365

More information

The Memory Hierarchy Part I

The Memory Hierarchy Part I Chapter 6 The Memory Hierarchy Part I The slides of Part I are taken in large part from V. Heuring & H. Jordan, Computer Systems esign and Architecture 1997. 1 Outline: Memory components: RAM memory cells

More information

Chapter 5 Internal Memory

Chapter 5 Internal Memory Chapter 5 Internal Memory Memory Type Category Erasure Write Mechanism Volatility Random-access memory (RAM) Read-write memory Electrically, byte-level Electrically Volatile Read-only memory (ROM) Read-only

More information

ECE468 Computer Organization and Architecture. Memory Hierarchy

ECE468 Computer Organization and Architecture. Memory Hierarchy ECE468 Computer Organization and Architecture Hierarchy ECE468 memory.1 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Input Datapath Output Today s Topic:

More information

Memory. Objectives. Introduction. 6.2 Types of Memory

Memory. Objectives. Introduction. 6.2 Types of Memory Memory Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured. Master the concepts

More information

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts Hardware/Software Introduction Chapter 5 Memory Outline Memory Write Ability and Storage Permanence Common Memory Types Composing Memory Memory Hierarchy and Cache Advanced RAM 1 2 Introduction Memory:

More information

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction Hardware/Software Introduction Chapter 5 Memory 1 Outline Memory Write Ability and Storage Permanence Common Memory Types Composing Memory Memory Hierarchy and Cache Advanced RAM 2 Introduction Embedded

More information

CPS101 Computer Organization and Programming Lecture 13: The Memory System. Outline of Today s Lecture. The Big Picture: Where are We Now?

CPS101 Computer Organization and Programming Lecture 13: The Memory System. Outline of Today s Lecture. The Big Picture: Where are We Now? cps 14 memory.1 RW Fall 2 CPS11 Computer Organization and Programming Lecture 13 The System Robert Wagner Outline of Today s Lecture System the BIG Picture? Technology Technology DRAM A Real Life Example

More information

Contents. Memory System Overview Cache Memory. Internal Memory. Virtual Memory. Memory Hierarchy. Registers In CPU Internal or Main memory

Contents. Memory System Overview Cache Memory. Internal Memory. Virtual Memory. Memory Hierarchy. Registers In CPU Internal or Main memory Memory Hierarchy Contents Memory System Overview Cache Memory Internal Memory External Memory Virtual Memory Memory Hierarchy Registers In CPU Internal or Main memory Cache RAM External memory Backing

More information

Locality. Cache. Direct Mapped Cache. Direct Mapped Cache

Locality. Cache. Direct Mapped Cache. Direct Mapped Cache Locality A principle that makes having a memory hierarchy a good idea If an item is referenced, temporal locality: it will tend to be referenced again soon spatial locality: nearby items will tend to be

More information

Memory Hierarchy Technology. The Big Picture: Where are We Now? The Five Classic Components of a Computer

Memory Hierarchy Technology. The Big Picture: Where are We Now? The Five Classic Components of a Computer The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Datapath Today s Topics: technologies Technology trends Impact on performance Hierarchy The principle of locality

More information

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Organization Part II Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn,

More information

ECE ECE4680

ECE ECE4680 ECE468. -4-7 The otivation for s System ECE468 Computer Organization and Architecture DRA Hierarchy System otivation Large memories (DRA) are slow Small memories (SRA) are fast ake the average access time

More information

Advanced Memory Organizations

Advanced Memory Organizations CSE 3421: Introduction to Computer Architecture Advanced Memory Organizations Study: 5.1, 5.2, 5.3, 5.4 (only parts) Gojko Babić 03-29-2018 1 Growth in Performance of DRAM & CPU Huge mismatch between CPU

More information

Memory latency: Affects cache miss penalty. Measured by:

Memory latency: Affects cache miss penalty. Measured by: Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store a bit, but require a periodic data refresh by reading every row. Static RAM may be used for main memory

More information

Memory Technologies. Technology Trends

Memory Technologies. Technology Trends . 5 Technologies Random access technologies Random good access time same for all locations DRAM Dynamic Random Access High density, low power, cheap, but slow Dynamic need to be refreshed regularly SRAM

More information

Chapter 7- Memory System Design

Chapter 7- Memory System Design Chapter 7- Memory ystem esign RM structure: Cells and Chips Memory boards and modules Cache memory Virtual memory The memory as a sub-system of the computer CPU Main Memory Interface equence of events:

More information

CS161 Design and Architecture of Computer Systems. Cache $$$$$

CS161 Design and Architecture of Computer Systems. Cache $$$$$ CS161 Design and Architecture of Computer Systems Cache $$$$$ Memory Systems! How can we supply the CPU with enough data to keep it busy?! We will focus on memory issues,! which are frequently bottlenecks

More information

CS 61C: Great Ideas in Computer Architecture. The Memory Hierarchy, Fully Associative Caches

CS 61C: Great Ideas in Computer Architecture. The Memory Hierarchy, Fully Associative Caches CS 61C: Great Ideas in Computer Architecture The Memory Hierarchy, Fully Associative Caches Instructor: Alan Christopher 7/09/2014 Summer 2014 -- Lecture #10 1 Review of Last Lecture Floating point (single

More information

Topics in Memory Subsystem

Topics in Memory Subsystem Memory Subsystem Topics in Memory Subsystem ο The Components of the Memory System ο RAM Structure: The Logic Designer s Perspective ο Memory Boards and Modules ο Two-Level Memory Hierarchy ο The Cache

More information

Course Administration

Course Administration Spring 207 EE 363: Computer Organization Chapter 5: Large and Fast: Exploiting Memory Hierarchy - Avinash Kodi Department of Electrical Engineering & Computer Science Ohio University, Athens, Ohio 4570

More information

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved. Computer Architecture Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr nizamettinaydin@gmail.com Internal Memory http://www.yildiz.edu.tr/~naydin 1 2 Outline Semiconductor main memory Random Access Memory

More information

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Chapter 5. Large and Fast: Exploiting Memory Hierarchy Chapter 5 Large and Fast: Exploiting Memory Hierarchy Principle of Locality Programs access a small proportion of their address space at any time Temporal locality Items accessed recently are likely to

More information

Main Memory. EECC551 - Shaaban. Memory latency: Affects cache miss penalty. Measured by:

Main Memory. EECC551 - Shaaban. Memory latency: Affects cache miss penalty. Measured by: Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store a bit, but require a periodic data refresh by reading every row (~every 8 msec). Static RAM may be

More information

Memory latency: Affects cache miss penalty. Measured by:

Memory latency: Affects cache miss penalty. Measured by: Main Memory Main memory generally utilizes Dynamic RAM (DRAM), which use a single transistor to store a bit, but require a periodic data refresh by reading every row. Static RAM may be used for main memory

More information

CS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches

CS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches CS 61C: Great Ideas in Computer Architecture Direct Mapped Caches Instructor: Justin Hsia 7/05/2012 Summer 2012 Lecture #11 1 Review of Last Lecture Floating point (single and double precision) approximates

More information

Background. Memory Hierarchies. Register File. Background. Forecast Memory (B5) Motivation for memory hierarchy Cache ECC Virtual memory.

Background. Memory Hierarchies. Register File. Background. Forecast Memory (B5) Motivation for memory hierarchy Cache ECC Virtual memory. Memory Hierarchies Forecast Memory (B5) Motivation for memory hierarchy Cache ECC Virtual memory Mem Element Background Size Speed Price Register small 1-5ns high?? SRAM medium 5-25ns $100-250 DRAM large

More information

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition William Stallings Computer Organization and Architecture 6th Edition Chapter 5 Internal Memory 5.1 Semiconductor Main Memory 5.2 Error Correction 5.3 Advanced DRAM Organization 5.1 Semiconductor Main Memory

More information

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory William Stallings Computer Organization and Architecture 6th Edition Chapter 5 Internal Memory Semiconductor Memory Types Semiconductor Memory RAM Misnamed as all semiconductor memory is random access

More information

ECE 485/585 Microprocessor System Design

ECE 485/585 Microprocessor System Design Microprocessor System Design Lecture 4: Memory Hierarchy Memory Taxonomy SRAM Basics Memory Organization DRAM Basics Zeshan Chishti Electrical and Computer Engineering Dept Maseeh College of Engineering

More information

Computer Organization and Assembly Language (CS-506)

Computer Organization and Assembly Language (CS-506) Computer Organization and Assembly Language (CS-506) Muhammad Zeeshan Haider Ali Lecturer ISP. Multan ali.zeeshan04@gmail.com https://zeeshanaliatisp.wordpress.com/ Lecture 2 Memory Organization and Structure

More information

Memory systems. Memory technology. Memory technology Memory hierarchy Virtual memory

Memory systems. Memory technology. Memory technology Memory hierarchy Virtual memory Memory systems Memory technology Memory hierarchy Virtual memory Memory technology DRAM Dynamic Random Access Memory bits are represented by an electric charge in a small capacitor charge leaks away, need

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Cache 11232011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Review Memory Components/Boards Two-Level Memory Hierarchy

More information

EE414 Embedded Systems Ch 5. Memory Part 2/2

EE414 Embedded Systems Ch 5. Memory Part 2/2 EE414 Embedded Systems Ch 5. Memory Part 2/2 Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology Overview 6.1 introduction 6.2 Memory Write Ability and Storage

More information

The Memory Hierarchy & Cache

The Memory Hierarchy & Cache Removing The Ideal Memory Assumption: The Memory Hierarchy & Cache The impact of real memory on CPU Performance. Main memory basic properties: Memory Types: DRAM vs. SRAM The Motivation for The Memory

More information

ECE 341. Lecture # 16

ECE 341. Lecture # 16 ECE 341 Lecture # 16 Instructor: Zeshan Chishti zeshan@ece.pdx.edu November 24, 2014 Portland State University Lecture Topics The Memory System Basic Concepts Semiconductor RAM Memories Organization of

More information

The levels of a memory hierarchy. Main. Memory. 500 By 1MB 4GB 500GB 0.25 ns 1ns 20ns 5ms

The levels of a memory hierarchy. Main. Memory. 500 By 1MB 4GB 500GB 0.25 ns 1ns 20ns 5ms The levels of a memory hierarchy CPU registers C A C H E Memory bus Main Memory I/O bus External memory 500 By 1MB 4GB 500GB 0.25 ns 1ns 20ns 5ms 1 1 Some useful definitions When the CPU finds a requested

More information

MEMORY. Objectives. L10 Memory

MEMORY. Objectives. L10 Memory MEMORY Reading: Chapter 6, except cache implementation details (6.4.1-6.4.6) and segmentation (6.5.5) https://en.wikipedia.org/wiki/probability 2 Objectives Understand the concepts and terminology of hierarchical

More information

Lecture-14 (Memory Hierarchy) CS422-Spring

Lecture-14 (Memory Hierarchy) CS422-Spring Lecture-14 (Memory Hierarchy) CS422-Spring 2018 Biswa@CSE-IITK The Ideal World Instruction Supply Pipeline (Instruction execution) Data Supply - Zero-cycle latency - Infinite capacity - Zero cost - Perfect

More information

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM Memories Overview Memory Classification Read-Only Memory (ROM) Types of ROM PROM, EPROM, E 2 PROM Flash ROMs (Compact Flash, Secure Digital, Memory Stick) Random Access Memory (RAM) Types of RAM Static

More information

Registers. Instruction Memory A L U. Data Memory C O N T R O L M U X A D D A D D. Sh L 2 M U X. Sign Ext M U X ALU CTL INSTRUCTION FETCH

Registers. Instruction Memory A L U. Data Memory C O N T R O L M U X A D D A D D. Sh L 2 M U X. Sign Ext M U X ALU CTL INSTRUCTION FETCH PC Instruction Memory 4 M U X Registers Sign Ext M U X Sh L 2 Data Memory M U X C O T R O L ALU CTL ISTRUCTIO FETCH ISTR DECODE REG FETCH EXECUTE/ ADDRESS CALC MEMOR ACCESS WRITE BACK A D D A D D A L U

More information

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction Chapter 6 Objectives Chapter 6 Memory Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured.

More information

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Computer Organization and Structure. Bing-Yu Chen National Taiwan University Computer Organization and Structure Bing-Yu Chen National Taiwan University Large and Fast: Exploiting Memory Hierarchy The Basic of Caches Measuring & Improving Cache Performance Virtual Memory A Common

More information

Caches and Memory Hierarchy: Review. UCSB CS240A, Winter 2016

Caches and Memory Hierarchy: Review. UCSB CS240A, Winter 2016 Caches and Memory Hierarchy: Review UCSB CS240A, Winter 2016 1 Motivation Most applications in a single processor runs at only 10-20% of the processor peak Most of the single processor performance loss

More information

Textbook: Burdea and Coiffet, Virtual Reality Technology, 2 nd Edition, Wiley, Textbook web site:

Textbook: Burdea and Coiffet, Virtual Reality Technology, 2 nd Edition, Wiley, Textbook web site: Textbook: Burdea and Coiffet, Virtual Reality Technology, 2 nd Edition, Wiley, 2003 Textbook web site: www.vrtechnology.org 1 Textbook web site: www.vrtechnology.org Laboratory Hardware 2 Topics 14:332:331

More information

Caches. Hiding Memory Access Times

Caches. Hiding Memory Access Times Caches Hiding Memory Access Times PC Instruction Memory 4 M U X Registers Sign Ext M U X Sh L 2 Data Memory M U X C O N T R O L ALU CTL INSTRUCTION FETCH INSTR DECODE REG FETCH EXECUTE/ ADDRESS CALC MEMORY

More information

Transistor: Digital Building Blocks

Transistor: Digital Building Blocks Final Exam Review Transistor: Digital Building Blocks Logically, each transistor acts as a switch Combined to implement logic functions (gates) AND, OR, NOT Combined to build higher-level structures Multiplexer,

More information

HY225 Lecture 12: DRAM and Virtual Memory

HY225 Lecture 12: DRAM and Virtual Memory HY225 Lecture 12: DRAM and irtual Memory Dimitrios S. Nikolopoulos University of Crete and FORTH-ICS May 16, 2011 Dimitrios S. Nikolopoulos Lecture 12: DRAM and irtual Memory 1 / 36 DRAM Fundamentals Random-access

More information

MIPS) ( MUX

MIPS) ( MUX Memory What do we use for accessing small amounts of data quickly? Registers (32 in MIPS) Why not store all data and instructions in registers? Too much overhead for addressing; lose speed advantage Register

More information

Summer 2003 Lecture 18 07/09/03

Summer 2003 Lecture 18 07/09/03 Summer 2003 Lecture 18 07/09/03 NEW HOMEWORK Instruction Execution Times: The 8088 CPU is a synchronous machine that operates at a particular clock frequency. In the case of the original IBM PC, that clock

More information

CS152 Computer Architecture and Engineering Lecture 17: Cache System

CS152 Computer Architecture and Engineering Lecture 17: Cache System CS152 Computer Architecture and Engineering Lecture 17 System March 17, 1995 Dave Patterson (patterson@cs) and Shing Kong (shing.kong@eng.sun.com) Slides available on http//http.cs.berkeley.edu/~patterson

More information

CSF Improving Cache Performance. [Adapted from Computer Organization and Design, Patterson & Hennessy, 2005]

CSF Improving Cache Performance. [Adapted from Computer Organization and Design, Patterson & Hennessy, 2005] CSF Improving Cache Performance [Adapted from Computer Organization and Design, Patterson & Hennessy, 2005] Review: The Memory Hierarchy Take advantage of the principle of locality to present the user

More information

Chapter 7-1. Large and Fast: Exploiting Memory Hierarchy (part I: cache) 臺大電機系吳安宇教授. V1 11/24/2004 V2 12/01/2004 V3 12/08/2004 (minor)

Chapter 7-1. Large and Fast: Exploiting Memory Hierarchy (part I: cache) 臺大電機系吳安宇教授. V1 11/24/2004 V2 12/01/2004 V3 12/08/2004 (minor) Chapter 7-1 Large and Fast: Exploiting Memory Hierarchy (part I: cache) 臺大電機系吳安宇教授 V1 11/24/2004 V2 12/01/2004 V3 12/08/2004 (minor) 臺大電機吳安宇教授 - 計算機結構 1 Outline 7.1 Introduction 7.2 The Basics of Caches

More information

14:332:331. Week 13 Basics of Cache

14:332:331. Week 13 Basics of Cache 14:332:331 Computer Architecture and Assembly Language Fall 2003 Week 13 Basics of Cache [Adapted from Dave Patterson s UCB CS152 slides and Mary Jane Irwin s PSU CSE331 slides] 331 Lec20.1 Fall 2003 Head

More information

The University of Adelaide, School of Computer Science 13 September 2018

The University of Adelaide, School of Computer Science 13 September 2018 Computer Architecture A Quantitative Approach, Sixth Edition Chapter 2 Memory Hierarchy Design 1 Programmers want unlimited amounts of memory with low latency Fast memory technology is more expensive per

More information

Memory memories memory

Memory memories memory Memory Organization Memory Hierarchy Memory is used for storing programs and data that are required to perform a specific task. For CPU to operate at its maximum speed, it required an uninterrupted and

More information

CENG3420 Lecture 08: Memory Organization

CENG3420 Lecture 08: Memory Organization CENG3420 Lecture 08: Memory Organization Bei Yu byu@cse.cuhk.edu.hk (Latest update: February 22, 2018) Spring 2018 1 / 48 Overview Introduction Random Access Memory (RAM) Interleaving Secondary Memory

More information

Memory Hierarchy. Mehran Rezaei

Memory Hierarchy. Mehran Rezaei Memory Hierarchy Mehran Rezaei What types of memory do we have? Registers Cache (Static RAM) Main Memory (Dynamic RAM) Disk (Magnetic Disk) Option : Build It Out of Fast SRAM About 5- ns access Decoders

More information

EN1640: Design of Computing Systems Topic 06: Memory System

EN1640: Design of Computing Systems Topic 06: Memory System EN164: Design of Computing Systems Topic 6: Memory System Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University Spring

More information

Spring 2016 :: CSE 502 Computer Architecture. Caches. Nima Honarmand

Spring 2016 :: CSE 502 Computer Architecture. Caches. Nima Honarmand Caches Nima Honarmand Motivation 10000 Performance 1000 100 10 Processor Memory 1 1985 1990 1995 2000 2005 2010 Want memory to appear: As fast as CPU As large as required by all of the running applications

More information

EN1640: Design of Computing Systems Topic 06: Memory System

EN1640: Design of Computing Systems Topic 06: Memory System EN164: Design of Computing Systems Topic 6: Memory System Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University Spring

More information

CPU Pipelining Issues

CPU Pipelining Issues CPU Pipelining Issues What have you been beating your head against? This pipe stuff makes my head hurt! L17 Pipeline Issues & Memory 1 Pipelining Improve performance by increasing instruction throughput

More information

Memory hierarchy Outline

Memory hierarchy Outline Memory hierarchy Outline Performance impact Principles of memory hierarchy Memory technology and basics 2 Page 1 Performance impact Memory references of a program typically determine the ultimate performance

More information

CENG 3420 Computer Organization and Design. Lecture 08: Memory - I. Bei Yu

CENG 3420 Computer Organization and Design. Lecture 08: Memory - I. Bei Yu CENG 3420 Computer Organization and Design Lecture 08: Memory - I Bei Yu CEG3420 L08.1 Spring 2016 Outline q Why Memory Hierarchy q How Memory Hierarchy? SRAM (Cache) & DRAM (main memory) Memory System

More information

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I) COMP3221: Microprocessors and Embedded Systems Lecture 23: Memory Systems (I) Overview Memory System Hierarchy RAM, ROM, EPROM, EEPROM and FLASH http://www.cse.unsw.edu.au/~cs3221 Lecturer: Hui Wu Session

More information

EECS151/251A Spring 2018 Digital Design and Integrated Circuits. Instructors: John Wawrzynek and Nick Weaver. Lecture 19: Caches EE141

EECS151/251A Spring 2018 Digital Design and Integrated Circuits. Instructors: John Wawrzynek and Nick Weaver. Lecture 19: Caches EE141 EECS151/251A Spring 2018 Digital Design and Integrated Circuits Instructors: John Wawrzynek and Nick Weaver Lecture 19: Caches Cache Introduction 40% of this ARM CPU is devoted to SRAM cache. But the role

More information

Chapter Seven Morgan Kaufmann Publishers

Chapter Seven Morgan Kaufmann Publishers Chapter Seven Memories: Review 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 on capacitor (must be

More information

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,

More information

Caches and Memory Hierarchy: Review. UCSB CS240A, Fall 2017

Caches and Memory Hierarchy: Review. UCSB CS240A, Fall 2017 Caches and Memory Hierarchy: Review UCSB CS24A, Fall 27 Motivation Most applications in a single processor runs at only - 2% of the processor peak Most of the single processor performance loss is in the

More information

Memory Hierarchy and Caches

Memory Hierarchy and Caches Memory Hierarchy and Caches COE 301 / ICS 233 Computer Organization Dr. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals Presentation Outline

More information

EEC 483 Computer Organization

EEC 483 Computer Organization EEC 483 Computer Organization Chapter 5 Large and Fast: Exploiting Memory Hierarchy Chansu Yu Table of Contents Ch.1 Introduction Ch. 2 Instruction: Machine Language Ch. 3-4 CPU Implementation Ch. 5 Cache

More information

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing Microcontroller Systems ELET 3232 Topic 11: General Memory Interfacing 1 Objectives To become familiar with the concepts of memory expansion and the data and address bus To design embedded systems circuits

More information

CSE502: Computer Architecture CSE 502: Computer Architecture

CSE502: Computer Architecture CSE 502: Computer Architecture CSE 502: Computer Architecture Memory Hierarchy & Caches Motivation 10000 Performance 1000 100 10 Processor Memory 1 1985 1990 1995 2000 2005 2010 Want memory to appear: As fast as CPU As large as required

More information

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM)

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM) Memory Types Two basic types: ROM: Read-only memory RAM: Read-Write memory Four commonly used memories: ROM Flash (EEPROM) Static RAM (SRAM) Dynamic RAM (DRAM) Generic pin configuration: Address connection

More information

Cache Architectures Design of Digital Circuits 217 Srdjan Capkun Onur Mutlu http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted from Digital Design and Computer Architecture, David Money Harris

More information

Page 1. Memory Hierarchies (Part 2)

Page 1. Memory Hierarchies (Part 2) Memory Hierarchies (Part ) Outline of Lectures on Memory Systems Memory Hierarchies Cache Memory 3 Virtual Memory 4 The future Increasing distance from the processor in access time Review: The Memory Hierarchy

More information

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip Reducing Hit Times Critical Influence on cycle-time or CPI Keep L1 small and simple small is always faster and can be put on chip interesting compromise is to keep the tags on chip and the block data off

More information

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved. 1 Memory + 2 Location Internal (e.g. processor registers, cache, main memory) External (e.g. optical disks, magnetic disks, tapes) Capacity Number of words Number of bytes Unit of Transfer Word Block Access

More information