Memories and the Memory Subsystem; The Memory Hierarchy; Caching; ROM.

Slides:



Advertisements
Similar presentations
MEMORY popo.
Advertisements

Outline Memory characteristics SRAM Content-addressable memory details DRAM © Derek Chiou & Mattan Erez 1.
Chapter 5 Internal Memory
Prith Banerjee ECE C03 Advanced Digital Design Spring 1998
5-1 Memory System. Logical Memory Map. Each location size is one byte (Byte Addressable) Logical Memory Map. Each location size is one byte (Byte Addressable)
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
These slides incorporate figures from Digital Design Principles and Practices, third edition, by John F. Wakerly, Copyright 2000, and are used by permission.
1 DIGITAL DESIGN I DR. M. MAROUF MEMORY Read-only memories Static read/write memories Dynamic read/write memories Author: John Wakerly (CHAPTER 10.1 to.
Memory Basics. 8-1 Memory definitions Memory is a collection of cells capable of storing binary information. Two types of memory: –Random-Access Memory.
Memory (RAM) Organization Each location is addressable Addresses are binary numbers Addresses used at different granularities –each bit is possible, but.
Main Mem.. CSE 471 Autumn 011 Main Memory The last level in the cache – main memory hierarchy is the main memory made of DRAM chips DRAM parameters (memory.
Introduction to Chapter 12
EECC341 - Shaaban #1 Lec # 19 Winter Read Only Memory (ROM) –Structure of diode ROM –Types of ROMs. –ROM with 2-Dimensional Decoding. –Using.
Memories and the Memory Subsystem;
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
DRAM. Any read or write cycle starts with the falling edge of the RAS signal. –As a result the address applied in the address lines will be latched.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Nov. 19, 2003 Topic: Main Memory (DRAM) Organization.
1 Pertemuan 17 Internal Memory: I Matakuliah: T0324 / Arsitektur dan Organisasi Komputer Tahun: 2005 Versi: 1.
Registers –Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Memory It’s all about storing bits--binary digits
CS 151 Digital Systems Design Lecture 30 Random Access Memory (RAM)
Memory Devices Wen-Hung Liao, Ph.D..
Memory Key component of a computer system is its memory system to store programs and data. ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides12.ppt.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Nov. 18, 2002 Topic: Main Memory (DRAM) Organization – contd.
1 EE365 Read-only memories Static read/write memories Dynamic read/write memories.
8-5 DRAM ICs High storage capacity Low cost Dominate high-capacity memory application Need “refresh” (main difference between DRAM and SRAM) -- dynamic.
Chapter 6 Memory and Programmable Logic Devices
Contemporary Logic Design Sequential Case Studies © R.H. Katz Transparency No Chapter #7: Sequential Logic Case Studies 7.6 Random Access Memories.
Physical Memory and Physical Addressing By: Preeti Mudda Prof: Dr. Sin-Min Lee CS147 Computer Organization and Architecture.
CompE 460 Real-Time and Embedded Systems Lecture 5 – Memory Technologies.
Memory Technology “Non-so-random” Access Technology:
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 8 – Memory Basics Logic and Computer Design.
Chapter 4 ระบบหน่วยความจำ The Memory System
Memory and Programmable Logic
Basic concepts Maximum size of the memory depends on the addressing scheme: 16-bit computer generates 16-bit addresses and can address up to 216 memory.
COMP3221: Microprocessors and Embedded Systems
Survey of Existing Memory Devices Renee Gayle M. Chua.
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
Memory Systems Embedded Systems Design and Implementation Witawas Srisa-an.
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Memory System Unit-IV 4/24/2017 Unit-4 : Memory System.
Main Memory CS448.
CS 312 Computer Architecture Memory Basics Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki
University of Tehran 1 Interface Design DRAM Modules Omid Fatemi
Asynchronous vs. Synchronous Counters Ripple Counters Deceptively attractive alternative to synchronous design style State transitions are not sharp! Can.
Memories and the Memory Subsystem; The Memory Hierarchy; Caching; ROM.
Computer Architecture Lecture 24 Fasih ur Rehman.
How do you model a RAM in Verilog. Basic Memory Model.
Memory Devices 1. Memory concepts 2. RAMs 3. ROMs 4. Memory expansion & address decoding applications 5. Magnetic and Optical Storage.
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
COMP541 Memories II: DRAMs
1 Adapted from UC Berkeley CS252 S01 Lecture 18: Reducing Cache Hit Time and Main Memory Design Virtucal Cache, pipelined cache, cache summary, main memory.
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.
CS 1410 Intro to Computer Tecnology Computer Hardware1.
“With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
RAM RAM - random access memory RAM (pronounced ramm) random access memory, a type of computer memory that can be accessed randomly;
COMP541 Memories II: DRAMs
CS 1251 Computer Organization N.Sundararajan
COMP541 Memories II: DRAMs
Memory Units Memories store data in units from one to eight bits. The most common unit is the byte, which by definition is 8 bits. Computer memories are.
Subject Name: Embedded system Design Subject Code: 10EC74
Digital Logic & Design Dr. Waseem Ikram Lecture 40.
Memory Basics Chapter 8.
Memory Basics Chapter 7.
Bob Reese Micro II ECE, MSU
Presentation transcript:

Memories and the Memory Subsystem; The Memory Hierarchy; Caching; ROM

Memory: Some embedded systems require large amounts; others have small memory requirements Often must use a hierarchy of memory devices Memory allocation may be static or dynamic Main concerns [in embedded systems]: make sure allocation is safe minimize overhead

Memory types: RAM DRAM—asynchronous; needs refreshing SRAM—asynchronous; no refreshing Semistatic RAM SDRAM—synchronous DRAM ROM—read only memory PROM—one time EPROM—reprogram (uv light) EEPROM—electrical reprogramming FLASH—reprogram without removing from circuit

fig_04_01 Standard memory configuration: Memory a “virtual array” Address decoder Signals: address, data, control

fig_04_02 ROM—usually read-only (some are programmable-”firmware”) transistor (0 or 1)

fig_04_04 SRAM—similar to ROM In this example—6 transistors per cell (compare to flipflop?)

fig_04_05 SRAM read: precharge bi and not bi to a value halfway between 0 and 1; word line drives bi’s to stored value SRAM write: R/W line is driven low

fig_04_06 Dynamic RAM: only 1 transistor per cell READ causes transistor to discharge; it must be restored each time refresh cycle time determined by part specification

fig_04_08 DRAM read and write timing:

fig_04_08 Comparison—SRAM / DRAM

fig_04_09 Memory: typical organization (SRAM or DRAM):

fig_04_11 Two important time intervals: access time and cycle time

fig_04_12 Terminology: Block: logical unit of transfer Block size Page—logical unit; a collection of blocks Bandwidth—word transition rate on the I/O bus (memory can be organized in bits, bytes, words) Latency—time to access first word in a sequence Block access time—time to access entire block

Memory interface: Restrictions which must be dealt with: Size of RAM or ROM width of address and data I/O lines

fig_04_14 Memory example: 4K x 16 SRAM Uses 2 8-bit SRAMs (to achieve desired word size) Uses 4 1K blocks (to achieve desired number of words) Address: 10 bits within a block 2 bits to specify block— CS (chip select)

fig_04_16 Write: 8-bit bus, two cycles per word

fig_04_17 Read: choose upper or lower bits to put on the bus

If insufficient I/O lines: must multiplex signals and store in registers until data is accumulated (common in embedded system applications) Requires MAR / MDR configuration typically

DRAM: Variations available: EDO, SDRAM, FPM— basically DRAMs trying to accommodate ever faster processors Techniques: --synchronize DRAM to system clock --improve block accessing --allow pipelining As with SRAM, typically there are insufficient I/O pins and multiplexing must be used

fig_04_19 Terminology: RAS—row address strobe CAS—column address strobe note either leading or trailing edge can capture address RAS cycle time RAS to CAS delay Refresh period

fig_04_20 Example: EDO—extended data output: one row, multiple columns

fig_04_21 Refreshing the DRAM: overhead; must refresh all rows, not just those accessed; Will this be controlled internally or externally? Example: refresh one row at a time, external refresh 4M memory: 4K rows, 1K columns: 22 address bits 12 I/O pins, 10 shared between row and column Refresh each row every 64 ms 2-phase clock (for greater flexibility), 50 MHz source

fig_04_22 Refresh timing: must refresh one row every 16 musec Use a 9-bit counter incremented from either phase of the 25 MHz clock, refresh at count 384 (15.36musec)—this provides some timing margin

fig_04_23 Refresh address—12 bit binary counter—increment following the completion of each row refresh

fig_04_24 Address selection: Read / write refresh

fig_04_25 Refresh arbitration: avoid R/W conflicts 1.If normal R/W operation starts, allow it to complete 2.If refresh operation has started, remember R/W operation 3.For a tie, normal R/W operation has priority Required signals: R/W—has been initiated Refresh interval—has elapsed Normal request—by arbitration logic Refresh request—by arbitration logic Refresh grant—by arbitration logic Normal active—R/W has started Refresh active—refresh has started

fig_04_25 Row and column addresses (column only 10 bits): Generate row, column addresses on phase 1, RAS, CAS on phase 2:

fig_04_27 Arbitration circuit: request portion followed by grant portion

fig_04_28 Complete system:

fig_04_29 R/W cycles:

fig_04_30 Memory organization: Typical “Memory map” For power loss

fig_04_31 Memory hierarchy

fig_04_32 Paging / Caching Why it typically works: locality of reference (spatial/temporal) “working set” Note: in real-time embedded systems, behavior may be atypical; but caching may still be a useful technique

fig_04_33 Typical memory system with cache: hit rate (miss rate) important

Basic caching strategies: Direct-mapped Associative Block-set associativequestions: what is “associative memory”? what is overhead? what is efficiency (hit rate)? is bigger cache better?