ECE 485/585 Microprocessor System Design

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

Memories: Memory Technology

Topic 21: Memory Technology

Topic 21: Memory Technology

Computer Systems Laboratory Sungkyunkwan University

Chapter 8 Memory Basics

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

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

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

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

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

ECE 485/585 Microprocessor System Design

Computer Organization. 8th Edition. Chapter 5 Internal Memory

EE414 Embedded Systems Ch 5. Memory Part 2/2

ECE 485/585 Microprocessor System Design

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

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

Mainstream Computer System Components

EEM 486: Computer Architecture. Lecture 9. Memory

COMPUTER ARCHITECTURES

Introduction to memory system :from device to system

Computer System Components

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

Memory latency: Affects cache miss penalty. Measured by:

Memory latency: Affects cache miss penalty. Measured by:

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

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

Chapter 5 Internal Memory

EECS150 - Digital Design Lecture 17 Memory 2

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

ENEE 759H, Spring 2005 Memory Systems: Architecture and

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

CS311 Lecture 21: SRAM/DRAM/FLASH

MEMORY SYSTEM MEMORY TECHNOLOGY SUMMARY DESIGNING MEMORY SYSTEM. The goal in designing any memory system is to provide

ECE 485/585 Microprocessor System Design

Chapter 2: Memory Hierarchy Design (Part 3) Introduction Caches Main Memory (Section 2.2) Virtual Memory (Section 2.4, Appendix B.4, B.

Lecture 18: DRAM Technologies

Main Memory Systems. Department of Electrical Engineering Stanford University Lecture 5-1

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

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

CS152 Computer Architecture and Engineering Lecture 16: Memory System

Real Time Embedded Systems

Chapter 5. Internal Memory. Yonsei University

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

UNIT V (PROGRAMMABLE LOGIC DEVICES)

CpE 442. Memory System

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

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

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

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

Memory. Lecture 22 CS301

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

ECSE-2610 Computer Components & Operations (COCO)

Large and Fast: Exploiting Memory Hierarchy

ECE7995 (4) Basics of Memory Hierarchy. [Adapted from Mary Jane Irwin s slides (PSU)]

Introduction read-only memory random access memory

CENG4480 Lecture 09: Memory 1

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

Caches. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CS698Y: Modern Memory Systems Lecture-16 (DRAM Timing Constraints) Biswabandan Panda

Memory Device Evolution

Computer Memory. Textbook: Chapter 1

Design with Microprocessors

Design with Microprocessors

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

CENG3420 Lecture 08: Memory Organization

Design with Microprocessors

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

DRAM Main Memory. Dual Inline Memory Module (DIMM)

Chapter 4 Main Memory

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

Read and Write Cycles

Structure of Computer Systems. advantage of low latency, read and write operations with auto-precharge are recommended.

Memory Hierarchy and Caches

Mainstream Computer System Components

A Fast Synchronous Pipelined DRAM Architecture with SRAM Buffers

DRAM Overview & Devices. Intended CS7810 Plan

Spiral 2-9. Tri-State Gates Memories DMA

ISSN: [Bilani* et al.,7(2): February, 2018] Impact Factor: 5.164

The Memory Hierarchy 1

ECE 571 Advanced Microprocessor-Based Design Lecture 16

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

ECE 2300 Digital Logic & Computer Organization

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

Random Access Memory (RAM)

CS 320 February 2, 2018 Ch 5 Memory

ECE 341. Lecture # 16

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

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

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

An introduction to SDRAM and memory controllers. 5kk73

EECS150 - Digital Design Lecture 16 Memory 1

Lecture 20: Memory Hierarchy Main Memory and Enhancing its Performance. Grinch-Like Stuff

Memory Systems for Embedded Applications. Chapter 4 (Sections )

APPLICATION NOTE. SH3(-DSP) Interface to SDRAM

EECS150 - Digital Design Lecture 16 - Memory

CS 152 Computer Architecture and Engineering. Lecture 6 - Memory

ECE 250 / CS250 Introduction to Computer Architecture

TMS320C6000 EMIF: Overview of Support of High Performance Memory Technology

Transcription:

Microprocessor System Design Lecture 5: Zeshan Chishti DRAM Basics DRAM Evolution SDRAM-based Memory Systems Electrical and Computer Engineering Dept. Maseeh College of Engineering and Computer Science Sources: Lecture based on materials provided by Mark F. Jacob s DRAM Systems article Memory component datasheets

Outline Taxonomy of Memories Memory Hierarchy SRAM Basic Cell, Devices, Timing DRAM Basic Cell, Timing Memory Organization Multiple banks, interleaving DRAM Evolution DDR3 SDRAM DRAM modules Error Correction Memory Controllers

Dynamic RAM (DRAM)

DRAM Technology bit line DRAM Cell 1 transistor word line Bit state (1 or 0) stored as charge on a tiny capacitor Read is destructive must restore value Charge leaks out over time refresh Write Drive bit line Select desired word ( row ) Read Pre-charge bit line Select desired word ( row ) Sense charge Write value back (restore) Refresh! Periodically read each cell (forcing write-back)

Volatile Memory Comparison SRAM Cell DRAM Cell word line word line bit line Larger cell lower density, higher cost/bit Non-destructive Read No refresh required Simple read faster access Standard IC process natural for integration with logic Non-multiplexed address lines Density low enough to keep the number of address lines reasonable bit line Smaller cell higher density, lower cost/bit Destructive Read bit line Needs periodic refresh Complex read longer access time Special IC process difficult to integrate with logic circuits Multiplexed address lines Density >> SRAM density so would require lots of address lines

DRAM Device Pin Outs Cost Rules! Fewer pins, smaller package, less $ So Multiplex Data (In/Out) /WE asserted (low) for write /OE asserted (low) to enable output buffers Address (Row/Column) 256K = 18 address bits 9 row address bits 9 column address bits /RAS (Row Address Strobe) asserted after row placed on address pins Address /CAS (Column Address Strobe) asserted after column placed on address pins / 8 / 9 2Mb (256K x 8) DRAM Data (DQ) /RAS /CAS /WE /OE

DRAM Organization We want to keep row/column organization (square is good) but get devices of more than x1 bit wide (from Bruce Jacob)

Data Data In/Out In/Out Data In/Out Data In/Out Data In/Out Data In/Out Data In/Out Address Buffer Row Decoder Bit Line Bit Line Bit Line Bit Line Bit Line Bit Line Bit Line Bit Line Internal DRAM Organization 2Mb as 256K x 8 Square keeps the wires short: Power and speed advantages Less RC, faster pre-charge and discharge faster access time! A0 A8 9 Select the addressed bit 9 Memory Array Memory Memory (512 Array Array Memory Memory (512 x x 512) 512) (512 Array Array Memory Memory x 512) (512 (512 Array Array x x 512) 512) (512 (512 x x 512) 512) Word Word Line Line Word Word Line Line Word Word Line Line Word Line Memory Array (512 x 512) Word Line Sense Amps & I/O Column Decoder Do this 8 times Read 512 bits at a time Data In/Out D

DRAM Timing

DRAM Timing Read cycle - RAS + CAS (RAS asserted) Entire row is latched in a data register (CAS asserted) Data in register is multiplexed to output (RAS de-asserted) Data in data register is rewritten to row in array (CAS de-asserted) Output is released Write cycle - RAS + WE + CAS (RAS asserted) Entire row is latched in data register (WE asserted) Data to be written is stable (CAS asserted) Write Data to register (WE de-asserted) Data to be written is no longer stable (RAS de-asserted) Data in data register is rewritten to row in array (CAS de-asserted) Operation complete Refresh cycle - RAS Only (RAS asserted) Entire row is latched in data register (RAS de-asserted) The data in the register is rewritten to row in array

DRAM Read Timing Every DRAM access begins at: The assertion of the /RAS Two ways to read: early or late v. /CAS DRAM Read Cycle Time /RAS /CAS /WE /OE A 256K x 8 9 DRAM 8 D /RAS /CAS A /WE /OE Row Address Col Address Junk Row Address Col Address Junk D High Z Read Access Time Junk Data Out High Z Output Enable Delay Data Out Early Read Cycle: /OE asserted before /CAS Late Read Cycle: /OE asserted after /CAS

DRAM Write Timing /RAS DRAM WR Cycle Time /CAS A Row Address Col Address Junk Row Address Col Address Junk /OE /WE D Junk Data In Junk Data In Junk WR Access Time Early Wr Cycle: /WE asserted before /CAS WR Access Time Late Wr Cycle: /WE asserted after /CAS

Key DRAM Timing Parameters t RCD : RAS to CAS Delay Minimum time between RAS asserted and CAS asserted t CAC : Column Access Time Delay from falling /CAS to valid data out t RAC : Random Access Delay Determines Latency Minimum time from /RAS falling to valid data output Quoted as the speed of a DRAM t RAC = t RCD + t CAC t RAS : Row Address Strobe Minimum time /RAS must be maintained t RP : Row Pre-Charge Delay Minimum time to pre-charge before /RAS can be asserted again t RC : Row Cycle Time Determines Bandwidth Minimum time between successive row accesses t RC = t RAS + t RP

DRAM Evolution

DRAM Evolution A Technology Timeline FPM Fast Page Mode (< 1995) Other DRAM technologies EDO Extended Data Out (1996 1999) Rambus DRAM (RDRAM) Concurrent Rambus DRAM BEDO Burst Extended Data Out Direct Rambus DRAM (DRDRAM) SDRAM Synchronous DRAM (>1995) SDRAM Numerous Specialty DRAMs not shown Virtual Channel Memory (VCDRAM) DDR SDRAM (double data rate) Enhanced SDRAM (ESDRAM) DDR2 MoSys 1T-SRAM DDR3 Reduced Latency DRAM (RLDRAM) Fast Cycle DRAM (FCRAM) DDR4 By 2002 most PCs were shipping with SDRAM and DDR SDRAM By 2010 PCs were shipping with DDR3 in volume and still are (from Bruce Jacob & David Wang)

Conventional DRAM Read Timing (from Bruce Jacob & David Wang)

Fast Page Mode DRAM Read Timing Innovation Hold entire row (page) in sense amplifiers Benefit CPU can access each column in row without providing row address (and pre-charging) each time (from Bruce Jacob & David Wang)

Extended Data Out DRAM Read Timing Innovation Add latch between sense amplifiers and output pins Benefit Can begin pre-charging sooner (data from prior access remains valid) (from Bruce Jacob & David Wang)

Burst EDO DRAM Read Timing Innovation DRAM provides column data sequentially Benefit No need to transfer column address on each read (from Bruce Jacob & David Wang)

Synchronous DRAM Read Timing Innovation Pipeline access, command interface (vs. individual signals) Benefit Simplified timing, command interface, (from Bruce Jacob & David Wang)

SDRAM (Synchronous DRAM) Adopted for Pentium use Synchronous (clocked) interface RAS, CAS, WE, CS signals combined to make command Burst read/write Initial latency, then data every clock cycle Internal interleaved banks allow multiple rows (pages) to be open for read/write Ideal for cache line fill when bus width < cache line size

SDRAM Details Multiple banks of cell arrays are used to reduce access time: Ex: Each bank is 4K rows by 512 columns by 16 bits Read and Write operations are split into row access followed by column access These operations are controlled by sending commands Commands are sent using the RAS, CAS, CS, & WE pins. Address pins are time multiplexed During RAS operation, address lines select the bank and row During CAS operation, address lines select the column. ACTIVATE command opens a bank/row for operation Transfers contents of the entire row to a buffer Subsequent READ or WRITE commands access the contents of the row buffer For burst reads and writes during READ or WRITE the starting address of the block is supplied. Burst length is programmable as 1, 2, 4, 8 or a full page (entire row) with a burst terminate option Special commands are used for initialization (burst options etc.) A burst operation takes 4 (address/read row) + n cycles (for n words)

Functional Block Diagram 8 Meg x 16 SDRAM 2 12 = 4096 rows (pages) 2 2 = 4 banks 2 9 = 512 columns

Key SDRAM Timing Parameters

Key SDRAM Timing Parameters t RCD : Determines Latency Minimum time between an ACTIVATE command and Read command Analogous to DRAM parameter t RCD : Row Command Delay (RAS/CAS Delay) CL: CAS Latency Determines Latency Time between READ command and first data valid Analogous to DRAM parameter t CAC : Column Access Time t RAS Time between ACTIVATE command and end of restoration of data in DRAM array Analogous to DRAM parameter t RAS : Row Address Strobe t RP Time to pre-charge DRAM array in preparation for another row access Analogous to DRAM parameter t RP : Row Precharge Delay t RC Determines Bandwidth Time between successive row access to different rows t RC = t RAS + t RP Analogous to DRAM parameter t RC : Row Cycle Time

CL CAS Latency SDR DRAM examples (DDR can have CAS latency of 2.5)