MAIN MEMORY SYSTEM Mahdi Nazm Bojnordi Assistant Professor School - - PowerPoint PPT Presentation

main memory system
SMART_READER_LITE
LIVE PREVIEW

MAIN MEMORY SYSTEM Mahdi Nazm Bojnordi Assistant Professor School - - PowerPoint PPT Presentation

MAIN MEMORY SYSTEM Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 4 submission deadline: Nov. 6 th This and the following lectures


slide-1
SLIDE 1

MAIN MEMORY SYSTEM

CS/ECE 6810: Computer Architecture

Mahdi Nazm Bojnordi

Assistant Professor School of Computing University of Utah

slide-2
SLIDE 2

Overview

¨ Announcement

¤ Homework 4 submission deadline: Nov. 6th

¨ This and the following lectures

¤ Dynamic random access memory (DRAM) ¤ DRAM operations ¤ Memory scheduling basics ¤ Emerging memory technologies

slide-3
SLIDE 3

Recall: Address Translation

¨ Exploit locality to reduce address translation time

¤ Offset bits are copied from virtual address

Physical Memory

Page Frame 0 Page Frame 1 Page Frame 2 Page Frame N-1 …

Virtual Address Physical Address

  • ffset
  • ffset

Virtual Page No Page frame No

slide-4
SLIDE 4

Recall: Address Translation

¨ Exploit locality to reduce address translation time

¤ OS maintains the page table for address translation

Physical Memory

Page Frame 0 Page Frame 1 Page Frame 2 Page Frame N-1 …

Virtual Address Physical Address

  • ffset
  • ffset

Virtual Page No Page frame No

Page Table

slide-5
SLIDE 5

Recall: Translation Lookaside Buffer

¨ Exploit locality to reduce address translation time

¤ Keep recent translation in a buffer for future references

Physical Memory

Page Frame 0 Page Frame 1 Page Frame 2 Page Frame N-1 …

Virtual Address Physical Address

  • ffset
  • ffset

Virtual Page No Page frame No

Page Table

1 1

TLB

slide-6
SLIDE 6

TLB in Memory Hierarchy

¨ On a TLB miss, is the page loaded in memory?

¤ Yes: takes 10’s cycles to update the TLB ¤ No: page fault

n Takes 1,000,000’s cycles to load the page and update TLB

Processor Core TLB Lookup Cache Main Memory VA hit PA miss Data hit

slide-7
SLIDE 7

TLB in Memory Hierarchy

¨ On a TLB miss, is the page loaded in memory?

¤ Yes: takes 10’s cycles to update the TLB ¤ No: page fault

n Takes 1,000,000’s cycles to load the page and update TLB

Processor Core TLB Lookup Cache Main Memory VA hit PA miss Translaltion miss Data hit

slide-8
SLIDE 8

TLB in Memory Hierarchy

¨ On a TLB miss, is the page loaded in memory?

¤ Yes: takes 10’s cycles to update the TLB ¤ No: page fault

n Takes 1,000,000’s cycles to load the page and update TLB

Processor Core TLB Lookup Cache Main Memory VA hit PA miss Translaltion miss Data hit Physically indexed, physically tagged: TLB on critical path!

slide-9
SLIDE 9

Physically Indexed Caches

¨ Problem: increased critical path due to sequential

access to TLB and cache

Virtual Page No Page Offset TLB Physical Frame Page Offset

slide-10
SLIDE 10

Physically Indexed Caches

¨ Problem: increased critical path due to sequential

access to TLB and cache

Virtual Page No Page Offset TLB Physical Frame Page Offset Tag Array Data Array = Data Block hit/miss* Tag Index Byte

slide-11
SLIDE 11

Physically Indexed Caches

¨ Problem: increased critical path due to sequential

access to TLB and cache

Virtual Page No Page Offset TLB Physical Frame Page Offset Tag Array Data Array = Data Block hit/miss* Tag Index Byte

Observation: lower address bits (page offset) are not translated

slide-12
SLIDE 12

Virtually Indexed Caches

¨ Idea: Index into cache in parallel with page number

translation in TLB

Virtual Page No Page Offset TLB Tag Array Data Array = Data Block hit/miss* Tag Index Byte

slide-13
SLIDE 13

Virtually Indexed Caches

¨ Idea: Index into cache in parallel with page number

translation in TLB

Virtual Page No Page Offset TLB Tag Array Data Array = Data Block hit/miss* Tag Index Byte

what if the page offset is not equal to index+byte?

slide-14
SLIDE 14

Main Memory

slide-15
SLIDE 15

Computer System Overview

¨ DRAM technology is commonly used for main

memory

slide-16
SLIDE 16

Computer System Overview

¨ DRAM technology is commonly used for main

memory

CPU

slide-17
SLIDE 17

Computer System Overview

¨ DRAM technology is commonly used for main

memory

CPU Memory

slide-18
SLIDE 18

Computer System Overview

¨ DRAM technology is commonly used for main

memory

CPU Memory

¨ SRAM is used for

caches

¨ DRAM is used for

main memory

¨ DRAM is accessed

  • n a TLB or last

level cache miss

slide-19
SLIDE 19

Static vs. Dynamic RAM

Static RAM (SRAM) Dynamic RAM (DRAM)

wordline bitline bitline wordline bitline

slide-20
SLIDE 20

Static vs. Dynamic RAM

¨ Fast and leaky

¤ 6 transistors per bit ¤ Normal CMOS Tech.

¨ Static volatile

¤ Retain data as long as

powered on

¨ Dense and slow

¤ 1 transistor per bit ¤ Special DRAM process

¨ Dynamic volatile

¤ Periodic refreshing is

required to retain data

Static RAM (SRAM) Dynamic RAM (DRAM)

slide-21
SLIDE 21

DRAM Organization

¨ DRAM array is organized as rowscolumns

slide-22
SLIDE 22

DRAM Organization

¨ DRAM array is organized as rowscolumns

wordline bitline

slide-23
SLIDE 23

DRAM Organization

¨ DRAM array is organized as rowscolumns

decoder

wordline bitline

slide-24
SLIDE 24

DRAM Organization

¨ DRAM array is organized as rowscolumns

decoder Sense Amplifier row buffer

wordline bitline

slide-25
SLIDE 25

DRAM Organization

¨ DRAM array is organized as rowscolumns

decoder Sense Amplifier row buffer

wordline bitline

Data Block multiplexer

slide-26
SLIDE 26

DRAM Organization

¨ DRAM array is organized as rowscolumns

decoder Row Address Column Address Sense Amplifier row buffer

wordline bitline

Data Block multiplexer

slide-27
SLIDE 27

DRAM Organization

¨ DRAM array is organized as rowscolumns

decoder Row Address Column Address Sense Amplifier row buffer

wordline bitline

Data Block multiplexer All reads and writes are performed through the row buffer

slide-28
SLIDE 28

DRAM Row Buffer

¨ All reads and writes are performed through RB

Data Array Row Buffer (RB) DRAM Cell DRAM Sense Amp. Row Access Strobe (RAS) Column Access Strobe (CAS)

slide-29
SLIDE 29

Reading DRAM Cell

¨ DRAM read is destructive

¤ After a read, contents of cells are destroyed

Precharge Activate Sense Reading a zero Reading a one

slide-30
SLIDE 30

Reading DRAM Cell

¨ DRAM read is destructive

¤ After a read, contents of cells are destroyed

Precharge Activate Sense Reading a zero Reading a one

V/2 ?

slide-31
SLIDE 31

Reading DRAM Cell

¨ DRAM read is destructive

¤ After a read, contents of cells are destroyed

Precharge Activate Sense Reading a zero Reading a one

V/2 ? 1 V/2 ?

slide-32
SLIDE 32

Reading DRAM Cell

¨ DRAM read is destructive

¤ After a read, contents of cells are destroyed

Precharge Activate Sense Reading a zero Reading a one

V/2 ? 1 V/2 ? 1 V/2 +

slide-33
SLIDE 33

Reading DRAM Cell

¨ DRAM read is destructive

¤ After a read, contents of cells are destroyed

Precharge Activate Sense Reading a zero Reading a one

V/2 ? 1 V/2 ? 1 V/2 + V/2 ?

slide-34
SLIDE 34

Reading DRAM Cell

¨ DRAM read is destructive

¤ After a read, contents of cells are destroyed

Precharge Activate Sense Reading a zero Reading a one

V/2 ? 1 V/2 ? 1 V/2 + V/2 ? 1 V/2 ?

slide-35
SLIDE 35

Reading DRAM Cell

¨ DRAM read is destructive

¤ After a read, contents of cells are destroyed

Precharge Activate Sense Reading a zero Reading a one

V/2 ? 1 V/2 ? 1 V/2 + V/2 ? 1 V/2 ? 1 V/2 - V