CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan ErnstMemories The third key component of a microprocessor-based system (besides.

Slides:



Advertisements
Similar presentations
Computer Organization and Architecture
Advertisements

+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
D75P 34 – HNC Computer Architecture Week 10 Computer Memory. © C Nyssen/Aberdeen College 2003 All images © C Nyssen/Aberdeen College except where stated.
COMP541 Memories - I Montek Singh Oct {8, 15}, 2014.
ECE 301 – Digital Electronics Memory (Lecture #21)
Chapter 10. Memory, CPLDs, and FPGAs
Overview Memory definitions Random Access Memory (RAM)
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
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 EE365 Read-only memories Static read/write memories Dynamic read/write memories.
Memory. When we receive some instruction or information we retain them in our memory. Similarly a computer stores the instructions for solving a problem,
F1020/F1031 COMPUTER HARDWARE MEMORY. Read-only Memory (ROM) Basic instructions for booting the computer and loading the operating system are stored in.
1 The 8051 Microcontroller and Embedded Systems CHAPTER INTERFACING TO EXTERNAL MEMORY.
Physical Memory By Gregory Marshall. MEMORY HIERARCHY.
8051 INTERFACING TO EXTERNAL MEMORY
Khaled A. Al-Utaibi Memory Devices Khaled A. Al-Utaibi
2. Memory. Main memory – speed & types Organization of RAM RAM – Random Access Mem Static RAM [SRAM] - In SRAM, a bit of data is stored using the state.
Memory Hierarchy.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 5 Internal Memory.
Memory and Programmable Logic
Random access memory.
Memory and Programmable Logic Dr. Ashraf Armoush © 2010 Dr. Ashraf Armoush.
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.
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
Memory and Storage Dr. Rebhi S. Baraka
Chapter 3 Internal Memory. Objectives  To describe the types of memory used for the main memory  To discuss about errors and error corrections in the.
Internal Memory.
Digital Design: Principles and Practices
INTRODUCTION  Major advantage of digital over analog is the ability to easily store large quantities of digital information and data.  Memory – store.
1 COMP541 Memories - I Montek Singh Oct 7, Topics  Overview of Memory Types Read-Only Memory (ROM): PROMs, FLASH, etc. Read-Only Memory (ROM):
SKILL AREA: 1.2 MAIN ELEMENTS OF A PERSONAL COMPUTER.
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.
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
AHMEDABAD INSTITUTE OF TECHNOLOGY
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
Internal Memory.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
Module IV Memory Organization.
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
COMPUTER ORGANISATION AND ARCHITECTURE
William Stallings Computer Organization and Architecture 8th Edition
Module IV Memory Organization.
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
Introduction to Computing Chapter 0
MICROPROCESSOR MEMORY ORGANIZATION
William Stallings Computer Organization and Architecture 8th Edition
Presentation transcript:

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan ErnstMemories The third key component of a microprocessor-based system (besides the CPU and I/O devices). Classification Physical and external configuration Timing Types

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Basic Categories Writable? Read-Only Memory (ROM): –Can only be read; cannot be modified (written) by the processor. Contents of ROM chip are set before chip is placed into the system. Random-Access Memory (RAM) : –Read/write memory. Although technically inaccurate, term is used for historical reasons. (ROMs are also random access.) Savable? Volatile memories –Lose their contents when power is turned off. Typically used to store program while system is running. Non-volatile memories do not. –Required by every system to store instructions that get executed when system powers up (boot code).

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan ErnstClassification ROMRAM VolatileStatic RAM (SRAM) Dynamic RAM (DRAM) Non-volatileMask ROMEEPROM PROMFlash memory EPROMBBSRAM Note that we can write some of these “ROMS”

Memory 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 are distinguished by technology for storing bit in memory cell. Why square??

Support Circuitry memory array 16 bits (4x4) 2 to 4 decoder A0 A1 A2 A3 4:1 mux/demux OE# CS# WE# D0 Control signals: Control read/write of array Map internal physical array to external configuration (4x4  16x1)

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Interface (1/2) Physical configurations are typically square. –Minimize length word + bit line  minimize access delays. External configurations are “tall and narrow”. The narrower the configuration, the higher the pin efficiency. (Adding one address pin cuts data pins in half.) –Several external configurations available for a given capacity. –64Kbits may be available as 64Kx1, 32Kx2, 16Kx4,…

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Interface (2/2) Chip Select (CS#): Enables device. If not asserted, device ignores all other inputs (sometimes entering low-power mode). Write Enable (WE#): Store D0 at specified address. Output Enable (OE#): Drive value at specified address onto D0.

Memory Timing: Reads t RC ADDR CS# OE# DATA t AV t CS t OE Access time : Time required from start of a read access to valid data output. –Access time specified for each of the three conditions required for valid data output (valid address, chip select, output enable) Time to valid data out depends on which of these is on critical path. tRC: Minimum time required from start of one access to start of next. –For most memories equal to access time.

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst System-Level Read Timing addr buffers addr decode data buffers CPU A RD/WR# D CS# ADDR OE# D memory t abuf t adec t dbuf t inv If the CPU starts driving the address and RD/WR# at the same time, what is the access time?

Memory Timing: Writes ADDR CS# WE# DATA t WC t AW t CW t WP t AS t DS t DH Write happens on rising edge of WE’. Separate access times t AW, t CW, t WP specified for address valid, CS#, WE#. Typically, t AS = 0, meaning that WE# may not be asserted before address is valid. Setup and hold times required for data. Write cycle time t WC is typically in the order of tAW.

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Static RAM Volatile memory Each cell is basically a flip-flop 4—6 transistors per cell  relatively poor density Very fast (access times under 1ns commonplace) Reads/writes at same speed word line bit line +bit line -

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Dynamic RAM word line bit line One transistor + capacitor per cell  outstanding density Very small charges involved  relatively slow Bit lines must be precharged to detect bit values. Reads are destructive; internal writebacks required. Values must be periodically refreshed or charge will leak away.

Memory Timing: Reads t RC ADDR CS# OE# DATA t AV t CS t OE Access time : Time required from start of a read access to valid data output. –Access time specified for each of the three conditions required for valid data output (valid address, chip select, output enable) Time to valid data out depends on which of these is on critical path. tRC: Minimum time required from start of one access to start of next. –For most memories equal to access time. – For DRAMs could exceed 2x. Why?

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Mask ROM By far the simplest technique. Presence/absence of diode at each cell denotes binary value. Pattern of diodes defined by mask used in fabrication process. Contents fixed when the chip is made; cannot be changed. Large setup cost (design mask), small marginal cost. Good for high-volume applications where upgrading contents is not an issue. What value is stored by presence of diode? word lines bit lines

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Programmable ROM (PROM) Replace the diode in each cell of a Mask ROM by diode + fuse (fusible-link PROM). Initial contents are all 1s. Users program memory by blowing fuses to create 0s. Plug chip into PROM programmer (“burner”) device and download data file. One-time programmable

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst UV Erasable PROM (EPROM) Replace PROM fuse with pass transistor controlled by “floating” (i.e. electrically insulated) gate. Program by charging gate to switch pass transistor. (Use special “burner” to apply high voltage that overcomes insulation.) Erase by discharging all gates using ultraviolet light. (UV photons carry electrons across insulation.) Insulation eventually breaks down  limited number of erase/reprogram cycles (100s to 1000s). Costly: Requires special package with window. Largely displaced by flash memory.

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Electrically Erasable PROM (EEPROM) Similar to UV EPROM, but with on-chip circuitry to electrically charge/discharge floating gates (no UV). Writable by CPU  really a RAM despite name. Reads/wites much like generic RAM: Internal circuitry erases affected byte/word, then reprograms to new value. Write cycle in the order of a millisecond. High voltage input (e.g. 12V) required for writing. Limited number of write cycles (1000s). Selective erasing requires extra circuitry in each memory cell  Lower density and higher cost than EPROM.

Flash Memory Electrically erasable like EEPROM, but only in large 8—128K blocks (not a byte at a time). Erase circuitry moves out of cells to periphery  substantially better density than EEPROM. Reads much like generic RAM Writes for locations in erased blocks: write cycle in a few microseconds slower than volatile RAM but faster than EEPROM To rewrite locations, must explicitly erase entire block: erase can take several seconds erased blocks can be rewritten a byte at a time Floating gate technology  Erase/reprogram cycle limit (10K-100K cycles per block)

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Flash Applications Flash technology has made rapid advances in recent years. cell density rivals DRAM; better than EPROM; much better than EEPROM. multiple gate voltages can encode 2 bits per cell. many-GB devices available ROMs and EPROMs rapidly becoming obsolete. Replacing hard disks in some applications. smaller, lighter, faster more reliable (no moving parts) cost effective PDAs, cell phones, laptops, iPods, etc…

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Battery-Backed Static RAM (BBSRAM) Standard volatile SRAM device with battery backup. Key advantage: writes take as much time as reads. Circuitry required to switch battery on/off.

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Memories in our setup… Internal SRAM 26 KB Fast SRAM Internal Flash EEPROM 448 KB – 5 V programming The programming power can be Enabled/Disabled via the config switches External EPROM U2/U3 – Holds the monitor program shipped with the board. External SRAM 512 KB – U4-U7 External Flash EEPROM 512 KB – U15/U16 (underneath the EPROMS)

CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Using Memories to Embed The role of ROMs: Every system must have boot-up code in a ROM or battery-backed RAM ROMs have somewhat limited write-cycles, so use them for read-only stuff like: code constants and static variables The role of RAMs: Testing and development of software (what we’re doing currently) Storing dynamic data – anything writable. local variables (the stack) dynamic memory (the heap)