Memories.

Slides:



Advertisements
Similar presentations
Chapter 5 Internal Memory
Advertisements

Computer Organization and Architecture
Computer Organization and Architecture
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)
Introduction to CMOS VLSI Design Lecture 13: SRAM
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
1 The Basic Memory Element - The Flip-Flop Up until know we have looked upon memory elements as black boxes. The basic memory element is called the flip-flop.
11/29/2004EE 42 fall 2004 lecture 371 Lecture #37: Memory Last lecture: –Transmission line equations –Reflections and termination –High frequency measurements.
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.
Introduction to CMOS VLSI Design SRAM/DRAM
Overview Memory definitions Random Access Memory (RAM)
CS 151 Digital Systems Design Lecture 30 Random Access Memory (RAM)
Chapter 5 Internal Memory
Memory Taken from Digital Design and Computer Architecture by Harris and Harris and Computer Organization and Architecture by Null and Lobur.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
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.
Physical Memory and Physical Addressing By: Preeti Mudda Prof: Dr. Sin-Min Lee CS147 Computer Organization and Architecture.
Memory and Programmable Logic
Memory and Storage Dr. Rebhi S. Baraka
Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 12.1 EE4800 CMOS Digital IC Design & Analysis Lecture 12 SRAM Zhuo Feng.
CPEN Digital System Design
Digital Logic Design Instructor: Kasım Sinan YILDIRIM
Computer Architecture And Organization UNIT-II Structured Organization.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Memory Cell Operation.
Computer Memory Storage Decoding Addressing 1. Memories We've Seen SIMM = Single Inline Memory Module DIMM = Dual IMM SODIMM = Small Outline DIMM RAM.
Memory and Storage. Computer Memory Processor registers – Temporary storage locations within the CPU – Examples Instruction register – holds the instruction.
Computer Architecture Lecture 24 Fasih ur Rehman.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
Semiconductor Memory Types
Memory Devices 1. Memory concepts 2. RAMs 3. ROMs 4. Memory expansion & address decoding applications 5. Magnetic and Optical Storage.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 22 Memory Definitions Memory ─ A collection of storage cells together with the necessary.
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
DIGITAL SYSTEMS Read Only– and Random Access Memory ( ROM – RAM) Rudolf Tracht and A.J. Han Vinck.
Memory and Programmable Logic
Prof. Hsien-Hsin Sean Lee
ECE/CS 352 Digital Systems Fundamentals
Lecture 3. Lateches, Flip Flops, and Memory
Digital Logic Design Alex Bronstein Lecture 3: Memory and Buses.
CS 1251 Computer Organization N.Sundararajan
Computer Architecture & Operations I
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
COMP211 Computer Logic Design
Morgan Kaufmann Publishers
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
UCSD ECE 111 Prof. Farinaz Koushanfar Fall 2017
William Stallings Computer Organization and Architecture 8th Edition
Hakim Weatherspoon CS 3410 Computer Science Cornell University
EE345: Introduction to Microcontrollers Memory
Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
Digital Logic & Design Dr. Waseem Ikram Lecture 40.
Memory Basics Chapter 8.
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
MICROPROCESSOR MEMORY ORGANIZATION
Electronics for Physicists
Memory Basics Chapter 7.
Sequential Logic.
William Stallings Computer Organization and Architecture 8th Edition
ECE 352 Digital System Fundamentals
Lecture 10: Sequential Blocks Arrays
Presentation transcript:

Memories

What will we learn today? Common sequential building blocks Counters Shift registers How can we store data? Array organization of memories

Common Sequential Building Blocks Various Counters Up / down, program counters Serial / Parallel Converters Serial In - Serial Out : Shift Register Serial In - Parallel Out Parallel In - Serial Out Parallel In - Parallel Out : Normal Register

Counters Increments on each clock edge. Example uses: Used to cycle through numbers. For example, 000, 001, 010, 011, 100, 101, 110, 111, 000, 001… Example uses: Digital clock displays Program counter: keeps track of current instruction executing

Shift Register Shift a new value in on each clock edge Shift a value out on each clock edge Serial-to-parallel converter: converts serial input (Sin) to parallel output (Q0:N-1) Symbol Implementation

Shift Register with Parallel Load When Load = 1, acts as a normal N-bit register When Load = 0, acts as a shift register Now can act as a serial-to-parallel converter (Sin to Q0:N-1) or a parallel-to-serial converter (D0:N-1 to Sout)

Motivation: Memory Elements Memories are large blocks A significant portion of a modern circuit is memory. Memories are practical tools for system design Programmability, reconfigurability all require memory Allows you to store data and work on stored data Not all algorithms are designed to process data as it comes, some require data to be stored. Data type determines required storage SMS: 160 bytes 1 second normal audio: 64 kbytes 1 HD picture: 7.32 Mbytes

Die photograph of an Intel processor in 45nm

Larger Memory Blocks

How can we store data Flip-Flops (or Latches) Very fast, parallel access Expensive (one bit costs 20+ transistors)

How can we store data Flip-Flops (or Latches) Very fast, parallel access Expensive (one bit costs 20+ transistors) Static RAM (we will describe them in a moment) Relatively fast, only one data word at a time Less expensive (one bit costs 6 transistors)

How can we store data Flip-Flops (or Latches) Very fast, parallel access Expensive (one bit costs 20+ transistors) Static RAM (we will describe them in a moment) Relatively fast, only one data word at a time Less expensive (one bit costs 6 transistors) Dynamic RAM (we will describe them a bit later) Slower, reading destroys content (refresh), one data word at a time, needs special process Cheaper (one bit is only a transistor)

How can we store data Flip-Flops (or Latches) Very fast, parallel access Expensive (one bit costs 20+ transistors) Static RAM (we will describe them in a moment) Relatively fast, only one data word at a time Less expensive (one bit costs 6 transistors) Dynamic RAM (we will describe them a bit later) Slower, reading destroys content (refresh), one data word at a time, needs special process Cheaper (one bit is only a transistor) Other storage technology (hard disk, flash) Much slower, access takes a long time, non-volatile Per bit cost is lower (no transistors directly involved)

Array Organization of Memories Efficiently store large amounts of data Consists of a memory array (stores data) Address selection logic (selects one row of the array) Readout circuitry (reads data out) An M-bit value can be read or written at each unique N-bit address All values can be accessed, but only M-bits at a time Access restriction allows more compact organization

Memory Arrays Two-dimensional array of bit cells Each bit cell stores one bit An array with N address bits and M data bits: 2N rows and M columns Depth: number of rows (number of words) Width: number of columns (size of word) Array size: depth × width = 2N × M

Memory Array: Example 22 × 3-bit array Number of words: 4 Word size: 3-bits For example, the 3-bit word stored at address 10 is 100

Memory Arrays

Types of Memories Volatile memories (loses data when power is off) Static Random Access Memory (SRAM) Dynamic Random Access Memory (DRAM) Non-volatile memories (keeps data even without power) Read Only Memory (ROM) Various forms of flash memory (i.e. EEPROM)

Static Random Access Memory Volatile: Stores data by cross coupled inverters, once data is stored the inverters keep the value (therefore static) Historically called Random Access Memory, because data can be accessed in any order (unlike magnetic tapes which allowed only serial access)

Dynamic Random Access Memory Volatile: Stores data by charging a (small) capacitor Problem is that the charge on the capacitor will slowly discharge (memory will forget the value) with time. It is called Dynamic, because we have to refresh the contents before memory forgets what it stored. The larger the capacitor, the longer it takes to forget This costs area, ingenious methods are used to increase capacitance

Memory Array Organization Storage nodes in one column connected to one bitline Address decoder activates only ONE wordline Content of one line of storage available at output

Memory Array Organization Storage nodes in one column connected to one bitline Address decoder activates only ONE wordline Content of one line of storage available at output Active wordline 10 1

How is Access Controlled ? Access transistors configured as switches connect the bit storage to the bitline. Access controlled by the wordline DRAM SRAM

Read Only Memories Non Volatile: Read Only Memories (ROM) can be made much denser No need to change the content (no storage transistors) Denser array Used for keeping content that will not change Program of an embedded system Configuration data Look up tables Re-writable (flash) memories are commonly used These are actually programmable, but writing is very slow From an application point of view identical to ROMs

ROMs: Dot Notation

ROM Storage

ROM Logic Data2 = A1 Å A0 Data1 = A1 + A0 Data0 = A1A0

Logic with Memory Arrays Implement the following logic functions using a 22 × 3-bit memory array: X = AB Y = A + B Z = A B

Logic with Memory Arrays Called lookup tables (LUTs): look up output at each input combination (address)

Multi-ported Memories Port: address/data pair 3-ported memory: 2 read ports (A1/RD1, A2/RD2) 1 write port (A3/WD3, WE3 enables writing) Small multi-ported memories are called register files

Memory Arrays in Verilog // 256 x 3 memory module with one read/write port module dmem( input clk, // clock input we, // write enable input [7:0] a // 8-bit address input [2:0] wd, // 3-bit write data output [2:0] rd); // 3-bit read data reg [2:0] RAM[255:0]; // Memory array, holds // 256 entries each 3 bits wide assign rd = RAM[a]; // Read access always @(posedge clk) // with rising clock if (we) // if write enable RAM[a] <= wd; // write data is stored in array endmodule

What have we learned? Different ways of storing data Registers Static Memory Dynamic Memory Array organization Compact form One row active at a time