Top Banner
MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah
28

MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

Mar 21, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

MAIN MEMORY SYSTEM

CS/ECE 6810: Computer Architecture

Mahdi Nazm Bojnordi

Assistant Professor

School of Computing

University of Utah

Page 2: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

Overview

¨ Announcement¤ Tonight: Homework 4 submission deadline

¨ This and the following lectures¤ Dynamic random access memory (DRAM)¤ DRAM operations¤ Memory scheduling basics¤ Emerging memory technologies

Page 3: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

Recall: DRAM Row Buffer

¨ All reads and writes are performed through RB

Data Array

Row Buffer (RB)

DRAM Cell

DRAMSense Amp.

Row Access Strobe (RAS)

Column Access Strobe (CAS)

Page 4: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Access

¨ DRAM read is destructive¤ After a read, contents of cells are destroyed

Precharge Activate Sense

Reading a zero

Reading a one

Page 5: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Access

¨ DRAM read is destructive¤ After a read, contents of cells are destroyed

Precharge Activate Sense

Reading a zero

Reading a one

0V/2

?

Page 6: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Access

¨ DRAM read is destructive¤ After a read, contents of cells are destroyed

Precharge Activate Sense

Reading a zero

Reading a one

0V/2

?

1V/2

?

Page 7: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Access

¨ DRAM read is destructive¤ After a read, contents of cells are destroyed

Precharge Activate Sense

Reading a zero

Reading a one

0V/2

?

1V/2

?

1V/2 + �

0

Page 8: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Access

¨ DRAM read is destructive¤ After a read, contents of cells are destroyed

Precharge Activate Sense

Reading a zero

Reading a one

0V/2

?

1V/2

?

1V/2 + �

0

0V/2

?

Page 9: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Access

¨ DRAM read is destructive¤ After a read, contents of cells are destroyed

Precharge Activate Sense

Reading a zero

Reading a one

0V/2

?

1V/2

?

1V/2 + �

0

0V/2

?

1V/2

?

Page 10: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Access

¨ DRAM read is destructive¤ After a read, contents of cells are destroyed

Precharge Activate Sense

Reading a zero

Reading a one

0V/2

?

1V/2

?

1V/2 + �

0

0V/2

?

1V/2

?

1V/2 - �

V

Page 11: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Operations

¨ Main DRAM operations are¤ Precharge bitlines to prepare subarray for activating a

wordline¤ Activate a row by connecting DRAM cells to the bitlines

and start sensing¤ Read the contents of a data block from the row buffer¤ Write new contents for data block into the row buffer¤ Refresh DRAM cells

n can be done through a precharge followed by an activate

Page 12: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Row Buffer

¨ Row buffer holds a single row of the array¤ A typical DRAM row (page) size is 8KB

¨ The entire row is moved to row buffer; but only a block is accessed each time

¨ Row buffer access possibilities¤ Row buffer hit: no need for a precharge or activate

n ~20ns only for moving data between pins and RB

¤ Row buffer miss: activate (and precharge) are neededn ~40ns for an empty rown ~60ns for on a row conflict

Page 13: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM System

¨ DRAM chips can perform basic operations

CPU Chip

Memory Modules

DRAM Chips

Page 14: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Control

¨ DRAM chips have no intelligence¤ An external controller dictates operations¤ Modern controllers are integrated on CPU

¨ Basic DRAM timings are¤ tCAS: column access strobe (RDàDATA)¤ tRAS: row active strobe (ACTàPRE)¤ tRP: row precharge (PREàACT)¤ tRC: row cycle (ACTàPREàACT)¤ tRCD: row to column delay (ACTàRD/WT) Data

Array

Row Buffer

Dec

oder

Page 15: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Control

¨ DRAM chips have no intelligence¤ An external controller dictates operations¤ Modern controllers are integrated on CPU

¨ Basic DRAM timings are¤ tCAS: column access strobe (RDàDATA)¤ tRAS: row active strobe (ACTàPRE)¤ tRP: row precharge (PREàACT)¤ tRC: row cycle (ACTàPREàACT)¤ tRCD: row to column delay (ACTàRD/WT) Data

Array

Row Buffer

Dec

oder

CPU

DRAM Controller

Page 16: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

Enforcing Timing

Page 17: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD BRD A

X

Y

Requests

Cmd

Addr

Data

A

B

Page 18: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD BRD A

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

Page 19: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD BRD A

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

tRCD

A

Page 20: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD BRD A

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X A

Rd

tRCD

A

Page 21: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD BRD A

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

DatatCAS

A

Rd

tRCD

A

Page 22: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD B

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

DatatCAS

A

Rd

tRCD

A

Page 23: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD B

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

DatatCAS

A

Rd

tRCD

Pr

tRAS

A

Page 24: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD B

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

DatatCAS

tRP

A

Rd

tRCD

Pr

tRAS

Page 25: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD B

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

DatatCAS

Act

Y

tRP

A

Rd

tRCD

Pr

tRAS

Page 26: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD B

X

Y

Requests

Cmd

Addr

Data

A

B

Act

X

DatatCAS

Act

Y

tRP

tRC

A

Rd

tRCD

Pr

tRAS

Page 27: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

RD B

X

Y

Requests

Cmd

Addr

Data

A

B

Rd

B

Act

X

DatatCAS

Act

Y

tRP

tRC

A

Rd

tRCD

Pr

tRAS

B

Page 28: MAIN MEMORY SYSTEMbojnordi/classes/6810/f19/slides/20...MAIN MEMORY SYSTEM CS/ECE 6810: Computer Architecture Mahdi NazmBojnordi Assistant Professor School of Computing University

DRAM Timing Example

¨ Access time¤ Row hit: tCAS

¤ Row empty: tRCD + tCAS

¤ Row conflict: tRP + tRCD + tCAS

Data Array

Row Buffer

X

Y

Requests

Cmd

Addr

Data

A

B

Rd

B

Data

Act

X

DatatCAS

Act

Y

tRP

tRC

A

Rd

tRCD

Pr

tRAS

B