Chapter 8 Memory Basics

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

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

ECE 485/585 Microprocessor System Design

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

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

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

Chapter 5 Internal Memory

Computer Organization. 8th Edition. Chapter 5 Internal Memory

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

Topic 21: Memory Technology

Topic 21: Memory Technology

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

The Memory Component

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

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

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

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?!

Chapter 4 Main Memory

EEM 486: Computer Architecture. Lecture 9. Memory

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

EE414 Embedded Systems Ch 5. Memory Part 2/2

ECE 341. Lecture # 16

Introduction read-only memory random access memory

Memory Hierarchy and Caches

Chapter 5. Internal Memory. Yonsei University

Views of Memory. Real machines have limited amounts of memory. Programmer doesn t want to be bothered. 640KB? A few GB? (This laptop = 2GB)

ECSE-2610 Computer Components & Operations (COCO)

UNIT V (PROGRAMMABLE LOGIC DEVICES)

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

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

ENGIN 112 Intro to Electrical and Computer Engineering

chapter 8 The Memory System Chapter Objectives

Introduction to memory system :from device to system

EECS 3201: Digital Logic Design Lecture 7. Ihab Amer, PhD, SMIEEE, P.Eng.

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

Random Access Memory (RAM)

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

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories

Design with Microprocessors

Chapter 6 Selected Design Topics

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

Memories: Memory Technology

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

COMPUTER ARCHITECTURES

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 3 Additional Gates and Circuits

CENG3420 Lecture 08: Memory Organization

Read and Write Cycles

Mainstream Computer System Components CPU Core 2 GHz GHz 4-way Superscaler (RISC or RISC-core (x86): Dynamic scheduling, Hardware speculation

Computer System Components

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

The DRAM Cell. EEC 581 Computer Architecture. Memory Hierarchy Design (III) 1T1C DRAM cell

CS 320 February 2, 2018 Ch 5 Memory

Address connections Data connections Selection connections

ECE 250 / CS250 Introduction to Computer Architecture

Research Collection. A survey of synchronous RAM architectures. Working Paper. ETH Library. Author(s): Gries, Matthias. Publication Date: 1999

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

The Memory Hierarchy 1

TECHNOLOGY BRIEF. Double Data Rate SDRAM: Fast Performance at an Economical Price EXECUTIVE SUMMARY C ONTENTS

ECE 152 Introduction to Computer Architecture

Memory latency: Affects cache miss penalty. Measured by:

Memory latency: Affects cache miss penalty. Measured by:

Computer Systems Laboratory Sungkyunkwan University

Main Memory. EECC551 - Shaaban. Memory latency: Affects cache miss penalty. Measured by:

Chapter 6 (Lect 3) Counters Continued. Unused States Ring counter. Implementing with Registers Implementing with Counter and Decoder

CS311 Lecture 21: SRAM/DRAM/FLASH

Lecture 18: DRAM Technologies

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

Fig. 6-1 Conventional and Array Logic Symbols for OR Gate

The Memory Hierarchy Part I

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II

EECS150 - Digital Design Lecture 17 Memory 2

COSC 6385 Computer Architecture - Memory Hierarchies (III)

Basics DRAM ORGANIZATION. Storage element (capacitor) Data In/Out Buffers. Word Line. Bit Line. Switching element HIGH-SPEED MEMORY SYSTEMS

APPLICATION NOTE. SH3(-DSP) Interface to SDRAM

Mainstream Computer System Components

Chapter 9 Computer Design Basics

CENG4480 Lecture 09: Memory 1

EECS150 - Digital Design Lecture 16 - Memory

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture. This Unit: Main Memory. Readings

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

Spring 2018 :: CSE 502. Main Memory & DRAM. Nima Honarmand

DRAM Main Memory. Dual Inline Memory Module (DIMM)

k -bit address bus n-bit data bus Control lines ( R W, MFC, etc.)

Later designs used arrays of small ferrite electromagnets, known as core memory.

Unit IV MEMORY SYSTEM PART A (2 MARKS) 1. What is the maximum size of the memory that can be used in a 16-bit computer and 32 bit computer?

Real Time Embedded Systems

Infineon HYB39S128160CT M SDRAM Circuit Analysis

EECS150 - Digital Design Lecture 16 Memory 1

CS 33. Memory Hierarchy I. CS33 Intro to Computer Systems XVI 1 Copyright 2016 Thomas W. Doeppner. All rights reserved.

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

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

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

Memory technology and optimizations ( 2.3) Main Memory

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

CSE502: Computer Architecture CSE 502: Computer Architecture

Design and Implementation of an AHB SRAM Memory Controller

machine cycle, the CPU: (a) Fetches an instruction, (b) Decodes the instruction, (c) Executes the instruction, and (d) Stores the result.

Transcription:

Logic and Computer Design Fundamentals Chapter 8 Memory Basics Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode)

Overview Memory definitions Random Access Memory (RAM) Static RAM (SRAM) integrated circuits Cells and slices Cell arrays and coincident selection Arrays of SRAM integrated circuits Dynamic RAM (DRAM) integrated circuits DRAM Types Synchronous (SDRAM) Double-Data Rate (DDR SRAM) RAMBUS DRAM (RDRAM) Arrays of DRAM integrated circuits Chapter 8 2

Memory Definitions Memory A collection of storage cells together with the necessary circuits to transfer information to and from them. Memory Organization the basic architectural structure of a memory in terms of how data is accessed. Random Access Memory (RAM) a memory organized such that data can be transferred to or from any cell (or collection of cells) in a time that is not dependent upon the particular cell selected. Memory Address A vector of bits that identifies a particular memory element (or collection of elements). Chapter 8 3

Memory Definitions (Continued) Typical data elements are: bit a single binary digit byte a collection of eight bits accessed together word a collection of binary bits whose size is a typical unit of access for the memory. It is typically a power of two multiple of bytes (e.g., 1 byte, 2 bytes, 4 bytes, 8 bytes, etc.) Memory Data a bit or a collection of bits to be stored into or accessed from memory cells. Memory Operations operations on memory data supported by the memory unit. Typically, read and write operations over some data element (bit, byte, word, etc.). Chapter 8 4

Memory Organization Organized as an indexed array of words. Value of the index for each word is the memory address. Often organized to fit the needs of a particular computer architecture. Some historically significant computer architectures and their associated memory organization: Digital Equipment Corporation PDP-8 used a 12-bit address to address 4096 12-bit words. IBM 360 used a 24-bit address to address 16,777,216 8-bit bytes, or 4,194,304 32-bit words. Intel 8080 (8-bit predecessor to the 8086 and the current Intel processors) used a 16-bit address to address 65,536 8-bit bytes. Chapter 8 5

Memory Block Diagram A basic memory system is shown here: k address lines are decoded to address 2 k words of memory. Each word is n bits. Read and Write are single control lines defining the simplest of memory operations. k Address Lines k Read Write 1 1 n Data Input Lines n Memory Unit 2 k Words n Bits per Word n n Data Output Lines Chapter 8 6

Memory Organization Example Example memory contents: A memory with 3 address bits & 8 data bits has: k = 3 and n = 8 so 2 3 = 8 addresses labeled 0 to 7. 2 3 = 8 words of 8-bit data Memory Address Binary Decimal Memory Content 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 2 1 0 1 1 0 0 0 1 0 1 1 3 0 0 0 0 0 0 0 0 1 0 0 4 1 0 1 1 1 0 0 1 1 0 1 5 1 0 0 0 0 1 1 0 1 1 0 6 0 0 1 1 0 0 1 1 1 1 1 7 1 1 0 0 1 1 0 0 Chapter 8 7

Basic Memory Operations Memory operations require the following: Data data written to, or read from, memory as required by the operation. Address specifies the memory location to operate on. The address lines carry this information into the memory. Typically: n bits specify locations of 2 n words. An operation Information sent to the memory and interpreted as control information which specifies the type of operation to be performed. Typical operations are READ and WRITE. Others are READ followed by WRITE and a variety of operations associated with delivering blocks of data. Operation signals may also specify timing info. Chapter 8 8

Basic Memory Operations (continued) Read Memory an operation that reads a data value stored in memory: Place a valid address on the address lines. Wait for the read data to become stable. Write Memory an operation that writes a data value to memory: Place a valid address on the address lines and valid data on the data lines. Toggle the memory write control line Chapter 8 9

Memory Operation Timing Most basic memories are asynchronous Storage in latches or storage of electrical charge No clock Controlled by control inputs and address Timing of signal changes and data observation is critical to the operation Read timing: Clock 20 ns T1 T2 T3 T4 T1 Address Address valid Memory enable Read/ Write Data output 65 ns Read cycle Data valid Chapter 8 10

Memory Operation Timing Write timing: Clock Address 20 ns T1 T2 T3 T4 T1 Address valid Memory enable Read/ Write Data input 75 ns Write cycle Data valid Critical times measured with respect to edges of write pulse (1-0-1): Address must be established at least a specified time before 1-0 and held for at least a specified time after 0-1 to avoid disturbing stored contents of other addresses Data must be established at least a specified time before 0-1 and held for at least a specified time after 0-1 to write correctly Chapter 8 11

RAM Integrated Circuits Types of random access memory Static information stored in latches Dynamic information stored as electrical charges on capacitors Charge leaks off Periodic refresh of charge required Dependence on Power Supply Volatile loses stored information when power turned off Non-volatile retains information when power turned off Chapter 8 12

Static RAM Cell Array of storage cells used to implement static RAM Storage Cell Select SR Latch Select input for control Dual Rail Data Inputs B and B Dual Rail Data Outputs C and C B B S R Q Q C C Chapter 8 13

Static RAM Bit Slice Represents all circuitry that is required for 2 n Word Select select 1-bit words 0 Multiple s Control Lines: Word select i one for each word Read/ Write Bit Select Data Lines: Data in Data out Data in Word select 2 n 2 1 B B Select S R S R Q Q Q Q RA M cell RA M cell C X X C X X S R Word select 0 Word select 1 Word select 2 n 2 1 Q Q RA M cell RA M cell RA M cell Read/Write logic Data in Data out Read/ Bit Write select (b) Symbol Read/ Write Write logic Bit select (a) Logic diagram Read logic Data out Chapter 8 14

2 n -Word 1-Bit RAM IC To build a RAM IC from a RAM slice, we need: Decoder decodes the n address lines to 2 n word select lines A 3-state buffer on the data output permits RAM ICs to enable be combined into a RAM with c 2 n words A 3 A 2 A 1 A 0 Data input Read/ Write Memory 16 x 1 RAM (a) Symbol A 3 A 2 A 1 A 0 Data output 4-to-16 Decoder 0 2 3 1 2 2 2 3 4 2 1 5 6 2 0 7 8 9 10 11 12 13 14 15 Data input Word select Read/Write logic Data in Data out Read/ Write Bit select Data output Read/Write Chip select (b) Block diagram Chapter 8 15

Cell Arrays and Coincident Selection Memory arrays can be very large => Large decoders Large fanouts for the bit lines The decoder size and fanouts can be reduced by approximately n by using a coincident selection in a 2-dimensional array Uses two decoders, one for words and one for bits Word select becomes Row select Bit select becomes Column select See next slide for example A 3 and A 2 used for Row select A 1 and A 0 for Column select Chapter 8 16

Cell Arrays and Coincident Selection (continued) A 3 A 2 Row decoder 2-to-4 Decoder 0 2 1 2 0 1 0 1 2 3 2 Row select 4 5 6 7 8 9 10 11 3 12 13 14 15 Read/Write logic Read/Write logic Read/Write logic Read/Write logic Data in Data out Read/ Write Bit select Data in Data out Read/ Write Bit select Data in Data out Read/ Write Bit select Data in Data out Read/ Write Bit select Data input Read/Write X X X X 0 1 Column select 2 3 Data output Column decoder 2-to-4 Decoder with enable 2 1 2 0 Enable A 1 A 0 Chip select Chapter 8 17

RAM ICs with > 1 Bit/Word Word length can be quite high. To better balance the number of words and word length, use ICs with > 1 bit/word See Figure 8-8 for example 2 Data input bits 2 Data output bits Row select selects 4 rows Column select selects 2 pairs of columns Chapter 8 18

Making Larger Memories Using the CS lines, we can make larger memories from smaller ones by tying all address, data, and R/W lines in parallel, and using the decoded higher order address bits to control CS. Using the 4-Word by 1- Bit memory from before, we construct a 16-Word by 1-Bit memory. A3 A2 A1 A0 R/W Decoder S1 S0 D3 D2 D1 D0 A1 A0 R/W CS A1 A0 R/W CS A1 A0 R/W CS A1 A0 R/W CS D-In D-Out D-In D-Out D-In D-Out D-In D-Out Data In Data Out Chapter 8 19

Making Wider Memories To construct wider memories from narrow ones, we tie the address and control lines in parallel and keep the data lines separate. For example, to make a 4- word by 4-bit memory from 4, 4-word by 1-bit memories Note: Both 16x1 and 4x4 A1 memories take 4-chips A0 and hold 16 bits of data. R/W CS A1 A0 R/W CS A1 A0 R/W CS A1 A0 R/W CS A1 A0 R/W CS Data In D-In D-Out D-In D-Out D-In D-Out D-In D-Out Data Out 3 2 1 0 3 2 1 0 Chapter 8 20

Dynamic RAM (DRAM) Basic Principle: Storage of information on capacitors. Charge and discharge of capacitor to change stored value Use of transistor as switch to: Store charge Charge or discharge See next slide for circuit, hydraulic analogy, and logical model. Chapter 8 21

Dynamic RAM (continued) B Select Select T C D (a) To Pump Stored 1 Stored 0 (b) (c) Write 1 Write 0 B D Q C (d) (e) Read 1 Read 0 C D model (h) (f) (g) Chapter 8 22

Dynamic RAM - Bit Slice C is driven by 3-state drivers Sense amplifier is used to change the small voltage change on C into H or L In the electronics, B, C, and the sense amplifier output are connected to make destructive read into non-destructive read Data in Word select 0 2 1 Write logic Read/ Write B Select Select D C D C Q Q Bit select DRA M cell model DRA M cell model (a) Logic diagram C Sense amplifier Read logic Word select 0 Word select 1 2 1 DRA M cell DRA M cell DRA M cell Read/Write logic Data in Data out Read/ Bit Write select Data out (b) Symbol Chapter 8 23

Dynamic RAM - Block Diagram Block Diagram See Figure 8-14 in text Refresh Controller and Refresh Counter Read and Write Operations Application of row address Application of column address Why is the address split? Why is the row address applied first? Chapter 8 24

Dynamic RAM Read Timing 20 ns Clock T1 T2 T3 T4 T1 Address Row Address Column Address RAS CAS Output enable Read/ Write Data output Hi-Z Data valid 65 ns Read cycle Chapter 8 25

DRAM Types Types to be discussed Synchronous DRAM (SDRAM) Double Data Rate SDRAM (DDR SDRAM) RAMBUS DRAM (RDRAM) Justification for effectiveness of these types DRAM often used as a part of a memory hierarchy (See details in chapter 14) Reads from DRAM bring data into lower levels of the hierarchy Transfers from DRAM involve multiple consecutively addressed words Many words are internally read within the DRAM ICs using a single row address and captured within the memory This read involves a fairly long delay Chapter 8 26

DRAM Types (continued) Justification for effectiveness of these types (continued) These words are then transferred out over the memory data bus using a series of clocked transfers These transfers have a low delay, so several can be done in a short time The column address is captured and used by a synchronous counter within the DRAM to provide consecutive column addresses for the transfers burst read the resulting multiple word read from consecutive addresses Chapter 8 27

Synchronous DRAM Transfers to and from the DRAM are synchronize with a clock Synchronous registers appear on: Address input Data input Data output Column address counter for addressing internal data to be transferred on each clock cycle beginning with the column address counts up to column address + burst size 1 Example: Memory data path width: 1 word = 4 bytes Burst size: 8 words = 32 bytes Memory clock frequency: 5 ns Latency time (from application of row address until first word available): 4 clock cycles Read cycle time: (4 + 8) x 5 ns = 60 ns Memory Bandwidth: 32/(60 x 10-9 ) = 533 Mbytes/sec Chapter 8 28

Double Data Rate Synchronous DRAM Transfers data on both edges of the clock Provides a transfer rate of 2 data words per clock cycle Example: Same as for synchronous DRAM Read cycle time = 60 ns Memory Bandwidth: (2 x 32)/(60 x 10-9 ) = 1.066 Mbytes/sec Chapter 8 29

RAMBUS DRAM (RDRAM) Uses a packet-based bus for interaction between the RDRAM ICs and the memory bus to the processor The bus consists of: A 3-bit row address bus A 5-bit column address bus A 16 or 18-bit (for error correction) data bus The bus is synchronous and transfers on both edges of the clock Packets are 4-clock cycles long giving 8 transfers per packet representing: A 12-bit row address packet A 20-bit column address packet A 128 or 144-bit data packet Multiple memory banks are used to permit concurrent memory accesses with different row addresses The electronic design is sophisticated permitting very fast clock speeds Chapter 8 30

Arrays of DRAM Integrated Circuits Similar to arrays of SRAM ICs, but there are differences typically handled by an IC called a DRAM controller: Separation of the address into row address and column address and timing their application Providing RAS and CAS and timing their application Performing refresh operations at required intervals Providing status signals to the rest of the system (e.g., indicating whether or not the memory is active or is busy performing refresh) Chapter 8 31

Terms of Use All (or portions) of this material 2008 by Pearson Education, Inc. Permission is given to incorporate this material or adaptations thereof into classroom presentations and handouts to instructors in courses adopting the latest edition of Logic and Computer Design Fundamentals as the course textbook. These materials or adaptations thereof are not to be sold or otherwise offered for consideration. This Terms of Use slide or page is to be included within the original materials or any adaptations thereof. Chapter 8 32