1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 9: Memory Technologies Oct 2, 2012.

Slides:



Advertisements
Similar presentations
Memory technology and exam review
Advertisements

Chapter 5 Internal Memory
Computer Organization and Architecture
Computer Organization and Architecture
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
1 Homework Reading –Tokheim, Chapter 12-1 through 12-4 Machine Projects –MP4 due at start of next class Labs –Continue with your assigned section.
COMP541 Memories - I Montek Singh Oct {8, 15}, 2014.
EECC341 - Shaaban #1 Lec # 19 Winter Read Only Memory (ROM) –Structure of diode ROM –Types of ROMs. –ROM with 2-Dimensional Decoding. –Using.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 8: Clocks, Counters, Timers, Capture, and Compare September.
ECE 301 – Digital Electronics Memory (Lecture #21)
Chapter 10. Memory, CPLDs, and FPGAs
1 Lecture 16B Memories. 2 Memories in General Computers have mostly RAM ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
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.
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.
Static Memory Outline –Types of Static Memory –Static RAM –Battery Backup –EPROM –Flash Memory –EEPROM Goal –Understand types of static memory –Understand.
Chapter 5 Internal Memory
Spring 2002EECS150 - Lec19-memory Page 1 EECS150 - Digital Design Lecture 18 - Memory April 4, 2002 John Wawrzynek.
1 Lecture 16B Memories. 2 Memories in General RAM - the predominant memory ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
1 EE365 Read-only memories Static read/write memories Dynamic read/write memories.
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
F1020/F1031 COMPUTER HARDWARE MEMORY. Read-only Memory (ROM) Basic instructions for booting the computer and loading the operating system are stored in.
CompE 460 Real-Time and Embedded Systems Lecture 5 – Memory Technologies.
Khaled A. Al-Utaibi Memory Devices Khaled A. Al-Utaibi
Memory Hierarchy.
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 5 Internal Memory.
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan ErnstMemories The third key component of a microprocessor-based system (besides.
COMP3221: Microprocessors and Embedded Systems
1 COMP541 Memories - I Montek Singh Feb 29, 2012.
Memories The third key component of a microprocessor-based system (besides the CPU and I/O devices). Classification Physical and external configuration.
© Banff and Buchan College 2007 DH2T 34 Computer Architecture 1 LO2 Lesson One Memory.
Chapter 5 Internal Memory. Semiconductor Memory Types.
Memory and Storage Dr. Rebhi S. Baraka
Memory Interface A Course in Microprocessor Electrical Engineering Dept. University of Indonesia.
Digital Design: Principles and Practices
 Seattle Pacific University EE Logic System DesignMemory-1 Memories Memories store large amounts of digital data Each bit represented by a single.
1 COMP541 Memories - I Montek Singh Oct 7, Topics  Overview of Memory Types Read-Only Memory (ROM): PROMs, FLASH, etc. Read-Only Memory (ROM):
Chapter 6: Internal Memory Computer Architecture Chapter 6 : Internal Memory Memory Processor Input/Output.
Chapter 4: MEMORY Internal Memory.
Memory and Register. Memory terminology read/write operation volotile/non volatile determine the capacity from input and output timing requirements of.
Computer Architecture Lecture 24 Fasih ur Rehman.
Semiconductor Memory Types
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 9: Memory Technologies Oct 4, 2011.
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Chapter 5 Internal Memory. contents  Semiconductor main memory - organisation - organisation - DRAM and SRAM - DRAM and SRAM - types of ROM - types of.
Computer Architecture Chapter (5): Internal Memory
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 9: Memory Technologies Oct 5, 2010.
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
Homework Reading Tokheim, Chapter 12-1 through 12-4.
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.
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 8th Edition
Semiconductor memories are classified in different ways. A distinction is made between read-only (ROM) and read-write (RWM) memories. The contents RWMs.
Presentation transcript:

1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 9: Memory Technologies Oct 2, 2012

2 Announcements Homework #1 due on Thursday Guest lecture on Thursday (Pat Pannuto) Course feedback

3 Mid-course corrections: What’s not going well? How can we do better?

iPhone Clock App 4 World Clock – display real time in multiple time zones Alarm – alarm at certain (later) time(s). Stopwatch – measure elapsed time of an event Timer – count down time and notify when count becomes zero

Motor/Light Control 5 Servo motors – PWM signal provides control signal DC motors – PWM signals control power delivery RGB LEDs – PWM signals allow dimming through current-mode control

Anatomy of a timer system 6 Prescaler Counter Clock Driver Xtal/Osc CompareCapture Low-Level Timer Subsystem Device Drivers Timer Abstractions and Virtualization Application Software Software Hardware Applications Operating System Internal External module timer(clr, ena, clk, alrm); input clr, ena, clk; output alrm; reg alrm; reg [3:0] count; clk) begin alrm <= 0; if (clr) count <= 0; else count <= count+1; end endmodule... timer_t timerX; initTimer();... startTimerOneShot(timerX, 1024);... stopTimer(timerX); I/O R/W typedef struct timer { timer_handler_t handler; uint32_t time; uint8_t mode; timer_t* next_timer; } timer_t; timer_tick: ldr r0, count; add r0, r0, #1...

7 Outline Minute quiz Announcements Memory Landscape Memory Architecture Non-volatile Memories Volatile Memories

External memory attaches to the processor via the external memory controller and bus 8 Atmel SAM3U

9 External memory bus transactions Read and write transactions Interfacing/handshaking Timing constraints Access speeds Wait states

10 Interface and architecture of external memory devices A: 20-bit address bus DQ: 8-bit data bus CE#: chip enable WE#: write enable OE#: output enable

11 Basic categories of memory Read-Only Memory (ROM) –Can only be read (accessed) –Cannot be written (modified) –Contents are often set before ROM is placed into the system Random-Access Memory (RAM) –Can be read/written –Term used for historical reasons –Technically, some ROMs are also random access Volatile memory –Loses contents when power is lost –Often stores program state, stack, and heap –In desktop/server systems, also stores program executable Non-volatile memory –Retains contents when power is lost –Used for boot code in almost every system

12 Memory technologies landscape VolatileNon-Volatile RAM Static RAM (SRAM) Dynamic RAM (DRAM) EEPROM Flash Memory FRAM MRAM BBSRAM ROM n/a Mask ROM PROM EPROM

13 Choosing the right memory requires balancing many tradeoffs Volatility: need to retain state during power down? Cost: wide range of absolute $ and $/bit costs Organization: 64Kbx1 or 8Kbx8? Interface –Serial or serial or parallel or parallel or parallel? –Synchronous or asynchronous? Access times: critical for high-performance Modify times: critical for write-intensive workloads Erase process: at wire-line speed or 5 minutes in UV? Erase granularity: word, page, sector, chip?

14 Outline Minute quiz Announcements Memory Landscape Memory Architecture Non-volatile Memories Volatile Memories

15 Internal organization of memory is usually an array Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell Mem Cell word lines bit lines Different memory types (e.g. SRAM vs DRAM) are distinguished by the technology used to implement the memory cell, e.g.: SRAM: 6T DRAM: 1T/1C What should be the aspect ratio (# rows vs #cols)?

Physical (on-chip) memory configuration Physical configurations are typically square Square minimizes length of (word line + bit line) Shorter length means –Shorter propagation time –Faster data access –Smaller t rc (read cycle time) Exercise: Assume n 2 memory cells configured as –n-by-n square array. What is the worst case delay? –n 2 -by-1 rectangular. What is the worst case delay? Exercise: Does wire length dominate access time? –Assume propagation speed on chip is 2/3 c (2x10^8 m/s) –Assume 1Mbit array is 1 cm x 1 cm 16

Logical (external) memory configuration External configurations are tall and narrow –More address lines (12 to 20+, typically) –Fewer data lines (8 or 16, typically) The narrower the configuration –The greater the pin efficiency –Adding one address pin cuts data pins in half –The easier the data bus routing Many external configurations for given capacity –64 Kb = 64K x 1(16 A + 1 D = 17 pins) –64 Kb = 32K x 2(15 A + 2 D = 17 pins) –64 Kb = 16K x 4(14 A + 4 D = 18 pins) –64 Kb = 8K x 8 (13 A + 8 D = 21 pins) –64 Kb = 4K x 16(12 A + 16 D = 28 pins) –64 Kb = 2K x 32(11 A + 32 D = 43 pins) 17

Control signals Select chip Select memory cell Control read/write Map internal array to external configuration (4x4  16x1) 18 2:4 decoder Memory Array 16 bits (4 x 4) 4:1 mux/demux D0 A0 A1 A2 A3 OE# CS# WE# Supporting circuitry is needed to address memory cell and enable reads and writes

19 Refresher on the memory-bus interface Chip Select (CS#) –Enables device –Ignores all other inputs if CS# is not asserted Write Enable (WE#) –Enables write tri-state buffer –Store D0 at specified address Output Enable (OE#) –Enable read tri-state buffer –Drive D0 with value at specified address

20 Outline Minute quiz Announcements Memory Landscape Memory Architecture Non-volatile Memories Volatile Memories

21 Mask ROM The “simplest” memory technology Presence/absence of diode at each cell denote value Pattern of diodes defined by mask used in fab process Contents are fixed when chip is made; cannot be changed High upfront setup costs (mask costs) Small recurring marginal costs Good for applications where Cost sensitivity drives design Upgrading contents not an issue e.g. boot ROM, CPU microcode Exercise: What “value” does a diode encode? What are the contents: Where A = 101? Where A = 110? word lines Bit lines

EPROM Erasable Programmable Read-Only Memory Constructed from floating gate FETs –Charge trapped on the FG erases cell –High voltage (13V +) applied to the control gate “Writes” the cell with a 0 Allows FG charge to be dissipated Erasing means changing form 0  1 –Uses UV light (not electrically!) –Electrons are trapped on a floating gate Writing means changing from 1  0 Erase unit is the whole device Retains data for years Not used much these days Costly because –Use of quartz window (UV transparent) –Use of ceramic package PROM (or OTP) is same, just w/o window 22

23 Flash Memory Electrically erasable (like EEPROM, unlike EPROM) Used in many reprogrammable systems these days Erase size is block (not word); can’t do byte modifications Erase circuitry moved out of cells to periphery Smaller size Better density Lower cost Reads are like standard RAM Can “write” bits/words (actually, change from 1  0) Write cycle is O(microseconds) Slower then RAM but faster than EEPROM To (re)write from 0  1, must explicitly erase entire block Erase is time consuming O(milliseconds to seconds) Floating gate technology Erase/write cycles are limited (10K to 100K, typically)

24 Outline Minute quiz Announcements Memory Landscape Memory Architecture Non-volatile Memories Volatile Memories

Static RAM SRAMs are volatile Basic cell –Bistable core 4T: uses pullup resistors for M2, M4 6T: uses P-FET for M2, M4 –Access transistors –BL, BL# are provided to improve noise margin 6T is typically used (but has poor density) Fast access times O(10 ns) Read/write speeds are symmetric Read/write granularity is word 25

Dynamic RAM Requires only 1T and 1C per cell Outstanding density and low cost Compare to the 6T’s per SRAM cell Cost advantage to DRAM technology Small charges involved  relatively slow –Bit lines must be pre-charged to detect bits –Reads are destructive; internal writebacks needed Values must be refreshed periodically –Prevents charge from leaking away –Complicates control circuitry slightly 26

27 Questions? Comments? Discussion?