main memory systembojnordi/classes/6810/f19/slides/20...main memory system cs/ece 6810: computer...

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

Upload: others

Post on 21-Mar-2021

1 views

Category:

Documents


0 download

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