ECEN 449 Microprocessor System Design. Memories. Texas A&M University

Similar documents
ECEN 449 Microprocessor System Design. Memories

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

ECE 2300 Digital Logic & Computer Organization

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

CS152 Computer Architecture and Engineering Lecture 16: Memory System

Memory Expansion. Lecture Embedded Systems

CpE 442. Memory System

Topic 21: Memory Technology

Topic 21: Memory Technology

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Memories: Memory Technology

Read and Write Cycles

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

! Memory Overview. ! ROM Memories. ! RAM Memory " SRAM " DRAM. ! This is done because we can build. " large, slow memories OR

+1 (479)

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

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

ECE 485/585 Microprocessor System Design

Chapter 8 Memory Basics

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

CENG3420 Lecture 08: Memory Organization

CMOS Logic Circuit Design Link( リンク ): センター教官講義ノートの下 CMOS 論理回路設計

Module 6 : Semiconductor Memories Lecture 30 : SRAM and DRAM Peripherals

Introduction to SRAM. Jasur Hanbaba

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

ECSE-2610 Computer Components & Operations (COCO)

Memory & Logic Array. Lecture # 23 & 24 By : Ali Mustafa

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Module 5a: Introduction To Memory System (MAIN MEMORY)

ECE 341. Lecture # 16

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

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

Lecture 18: DRAM Technologies

UNIT V (PROGRAMMABLE LOGIC DEVICES)

Memory technology and optimizations ( 2.3) Main Memory

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

EEM 486: Computer Architecture. Lecture 9. Memory

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

CS311 Lecture 21: SRAM/DRAM/FLASH

ECE 485/585 Microprocessor System Design

Introduction to CMOS VLSI Design Lecture 13: SRAM

CENG4480 Lecture 09: Memory 1

Chapter 5 Internal Memory

SRAM. Introduction. Digital IC

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Digital Integrated Circuits Lecture 13: SRAM

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

Address connections Data connections Selection connections

Memory Basics. Course Outline. Introduction to Digital Logic. Copyright 2000 N. AYDIN. All rights reserved. 1. Introduction to Digital Logic.

RTL Design (2) Memory Components (RAMs & ROMs)

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Design and Implementation of an AHB SRAM Memory Controller

Very Large Scale Integration (VLSI)

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

ENGIN 112 Intro to Electrical and Computer Engineering

Announcement. Computer Architecture (CSC-3501) Lecture 20 (08 April 2008) Chapter 6 Objectives. 6.1 Introduction. 6.

The Memory Hierarchy Part I

Semiconductor Memory Classification. Today. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. CPU Memory Hierarchy.

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

CENG 4480 L09 Memory 2

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

Introduction read-only memory random access memory

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

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

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

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

ELCT 912: Advanced Embedded Systems

Computer Memory Basic Concepts. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

Chapter Two - SRAM 1. Introduction to Memories. Static Random Access Memory (SRAM)

Memory and Programmable Logic

Mark Redekopp, All rights reserved. EE 352 Unit 10. Memory System Overview SRAM vs. DRAM DMA & Endian-ness

CSE502: Computer Architecture CSE 502: Computer Architecture

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture

Spiral 2-9. Tri-State Gates Memories DMA

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

CS 320 February 2, 2018 Ch 5 Memory

15-740/ Computer Architecture Lecture 19: Main Memory. Prof. Onur Mutlu Carnegie Mellon University

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

CSE140: Components and Design Techniques for Digital Systems

Memory Challenges. Issues & challenges in memory design: Cost Performance Power Scalability

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall

Information Storage and Spintronics 10

Main Memory (RAM) Organisation

EE141-Fall 2007 Digital Integrated Circuits. ROM and Flash. Announcements. Read-Only Memory Cells. Class Material. Semiconductor Memory Classification

The Memory Hierarchy. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 3, 2018 L13-1

10/24/2016. Let s Name Some Groups of Bits. ECE 120: Introduction to Computing. We Just Need a Few More. You Want to Use What as Names?!

Where Have We Been? Ch. 6 Memory Technology

The Memory Hierarchy 1

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

! Memory. " RAM Memory. " Serial Access Memories. ! Cell size accounts for most of memory array size. ! 6T SRAM Cell. " Used in most commercial chips

COMPUTER ARCHITECTURES

EEC 483 Computer Organization

Contents. Main Memory Memory access time Memory cycle time. Types of Memory Unit RAM ROM

Chapter 5. Internal Memory. Yonsei University

EECS150 - Digital Design Lecture 17 Memory 2

Introduction to memory system :from device to system

Transcription:

ECEN 449 Microprocessor System Design Memories 1

Objectives of this Lecture Unit Learn about different types of memories SRAM/DRAM/CAM Flash 2

SRAM Static Random Access Memory 3

SRAM Static Random Access Memory 4

SRAM function When RowSelect = 1, cell can be written or read Cell written by precharging bit/bit~ lines to required value Write drivers more powerful than NOT gates Cell read by comparing bit/bit~ lines 5

Multi-ported SRAM Sometimes we want to read and write at the same time For example, registers in a processor chip Support 2 reads and 1 write at the same time Add more bit and word lines. 6

Dual Ported SRAM BitB Line WordB Line 7

Dual Ported SRAM Second Design 8

Register cell 2 Reads and 1 Write 9

SRAM 16 words, each word = 4bits 10

Register File 32 Registers each 32 bits 11

SRAM Access timing cycles 12

DRAM Dynamic RAM 13

DRAM function Charge on the capacitance remembers 1 Charge dissipates over time Over time 1 becomes 0 Need to refresh memory To read, Row Select = 1, charge is transferred to bit line Capacitor discharged Every read requires rewriting read value back 14

DRAM organization 15

DRAM organization Must amplify small charge on cell cap many times to drive off-chip Makes it slower than SRAM Select which of millions of bits to read or write 16

DRAM organization Typically Din, Dout combined into D pins WrEn (WriteEnable) and OEn (Output Enable) distinguish whether Data pins are input or output WrEn asserted, OEn deasserted D = Din (Write Cycle) WrEn deasserted, OEn asserted D = Dout (Read cycle) Column and Row addresses are serially input on address pins Column Address Select (CAS), Row Address Select (RAS) lines used RAS asserted => latch address as row address CAS asserted => latch address as column address 17

DRAM Read Timing 18

DRAM Write Timing 19

SRAM/DRAM comparison Speed SRAM +, DRAM Use SRAM for cache, network buffers, etc. Volatility SRAM retains data while power is on DRAM must be refreshed every few milliseconds Cost SRAM -, DRAM ++ Use DRAM for big, cheap memories Overhead SRAM +, DRAM (due to refreshing and clocks) Use SRAM for small memories, DRAM for big 20

Content Addressable Memory (CAM) In normal memories, we access data stored at a particular address We give the address as input, to write/read data What if we want to access data by its contents? Content addressable memories Used extensively in network routers/switches Look up CAM tutorial at http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf 21

Example use of CAMs Network Router Destination Address Next Hop Output Port 0011 1xxx 1 0010 0000 2 0010 0100 3 Xxxx xxxx 1 22

Example use of CAMs network routers Given a destination address, we want to find which way to send the packet The routing table as organized as shown We want to match the contents of the routing table entries to the destination address to find the direction in which to send the packet Addresses may be completely or partially specified Don t cares or a concise way of representing many addresses Saves space in the routing table 23

Binary CAMs 24

CAM Cell 25

Binary CAMs CAM can be designed as 10-Transistor cell Storage cell = 6-transistor SRAM Match line is precharged high When the Content in the cell doesn t match the data on the search lines, match line is discharged => no match 26

CAM architecture 27

CAM architecture When a line matches, we can output the address or location of that content When multiple entries match, output the first match Gives priority to earlier entries 28

Ternary CAM In many applications, we need to store Don t cares Three states: 0, 1, X Use two bits of actual storage to encode the three different values For example, use 01 = 0, 10 = 1, 00 = X 29

TCAM Cell 30

TCAM Precharge Match line high When stored data matches search line match line stays high Otherwise, match line pulled low 31

Persistent memory SRAM/DRAM lose memory when power is turned off More persistent memory needed for several applications Photos in a digital camera Bootable code or settings on circuits Flash memory used for these applications Memory persists across power on/off cycles Small size 32

Flash memory Charge stored on an isolated conductor called floating gate Charge has no path to dissipate The charge on the floating gate controls the current flowing between source and drain Tells if a 1 or 0 is in the cell To erase the cell, a reverse voltage is applied between the drain and the controlling gate Charge is dissipated through tunneling 33

Flash Memory Cell 34

Erasing Flash memory 35

Memory organizations 36

Single word Memory Organization Word typically = 32 bits or 4 bytes Addresses normally for bytes a 31 a 30.a 2 a 1 a 0 -- address bits a 1 a 0 not used when accessing memory Byte 0 Byte 1 Byte 2 Byte 3 Address bus 30 Data bus 32 37

Wide Memory Organization Memory is slow compared to cache/processor There is normally locality in memory accesses If you access location A, likely to access A+1, A+2 Why not access multiple words at a time to reduce access times Word 0 Word 1 Word 2 Word 3 Address bus 28 Data bus 128 38

Interleaved Memory Organization Organize memory into banks Each bank can be separately accessed Data is distributed across multiple banks to increase parallelism Address Bus Data Bus 39

Interleaved Memory Organization Can keep multiple banks busy at the same time Give address to first bank, then a different address to second bank so on Data accesses will be in different stages in different banks Somewhat like pipelined Consider 4-bank memory with each bank organized as 2-word wide 3 bits a 2 a 1 a 0 needed to address the 2-words (8 bytes) Each bank is addressed by the same a 4 a 3 bits. Bank 0 will have a 4 a 3 = 00, bank 1 will have a 4 a 3 = 11. 40

Interleaved Memory Organization Can function as a wide-word access if we give the consecutive addresses to different banks Can also access different words from different banks that are not consecutive As long as there are no bank conflicts When will have bank conflicts in our example? Flash memories/drives have wide bank organizations An example drive: with 2048 banks with each bank holding 512-byte sector Access 1MB memory fast 41