Memory Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University.

Slides:



Advertisements
Similar presentations
Chapter 5 Internal Memory
Advertisements

Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
5-1 Memory System. Logical Memory Map. Each location size is one byte (Byte Addressable) Logical Memory Map. Each location size is one byte (Byte Addressable)
State and Finite State Machines
1 DIGITAL DESIGN I DR. M. MAROUF MEMORY Read-only memories Static read/write memories Dynamic read/write memories Author: John Wakerly (CHAPTER 10.1 to.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
What is memory? Memory is used to store information within a computer, either programs or data. Programs and data cannot be used directly from a disk or.
Arithmetic Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H 2.4 (signed), 2.5, 2.6, C.6, and Appendix C.6.
Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University State & Finite State Machines See: P&H Appendix C.7. C.8, C.10, C.11.
Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
1 The Basic Memory Element - The Flip-Flop Up until know we have looked upon memory elements as black boxes. The basic memory element is called the flip-flop.
11/29/2004EE 42 fall 2004 lecture 371 Lecture #37: Memory Last lecture: –Transmission line equations –Reflections and termination –High frequency measurements.
Overview Memory definitions Random Access Memory (RAM)
Registers –Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Chapter 3 Continued Logic Gates Logic Chips Combinational Logic Sequential Logic Flip Flops Registers Memory Timing State Machines.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
CS 151 Digital Systems Design Lecture 30 Random Access Memory (RAM)
Chapter 5 Internal Memory
State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
1 EE365 Read-only memories Static read/write memories Dynamic read/write memories.
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
CS1104-8Memory1 CS1104: Computer Organisation Lecture 8: Memory
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See: P&H Chapter 2.4, 3.2, B.2, B.5, B.6.
EKT 221 Digital Electronics II
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.8 (register files) and B.9.
ITEC 352 Lecture 24 Memory. Review Questions? Reminder: HW due on Wed. Night Intel 8080 CPU.
1 Random-Access Memory (RAM) Note: We’re skipping Sec 7.5 Today: First Hour: Static RAM –Section 7.6 of Katz’s Textbook –In-class Activity #1 Second Hour:
EKT 221 : Digital 2 Memory Basics
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Chapter: , 1.6, Appendix B.
Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
Memory and Storage Dr. Rebhi S. Baraka
Memory Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University.
Digital Logic Design Instructor: Kasım Sinan YILDIRIM
Numbers and Arithmetic Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University See: P&H Chapter , 3.2, C.5 – C.6.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub.
Kavita Bala CS 3410, Spring 2014 Computer Science Cornell University.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /3/2013 Lecture 9: Memory Unit Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL.
Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University MIPS Pipeline See P&H Chapter 4.6.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 8 – Memory Basics Logic and Computer Design.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 22 Memory Definitions Memory ─ A collection of storage cells together with the necessary.
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.8 (register files) and B.9.
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Memory and Repetitive Arithmetic Machines Prof. Sirer CS 316 Cornell University.
Computer Architecture Chapter (5): Internal Memory
Presentation on Digital Door Lock Digital System Design Presenter: Subash Chandra Pakhrin 072MSI616 MSC in Information and Comm. Engineering Pulchowk Campus.
Lecture 3. Lateches, Flip Flops, and Memory
Memories.
Chapter 5 Internal Memory
COMP211 Computer Logic Design
State & Finite State Machines
Morgan Kaufmann Publishers
Memory Units Memories store data in units from one to eight bits. The most common unit is the byte, which by definition is 8 bits. Computer memories are.
Prof. Hakim Weatherspoon
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Prof. Kavita Bala and Prof. Hakim Weatherspoon
Hakim Weatherspoon CS 3410 Computer Science Cornell University
William Stallings Computer Organization and Architecture 7th Edition
Memory and Repetitive Arithmetic Machines
Prof. Hakim Weatherspoon
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Presentation transcript:

Memory Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University

Big Picture: Building a Processor PC imm memory target offset cmp control =? new pc memory d in d out addr register file inst extend +4 A Single cycle processor alu

Goals for today Review Finite State Machines Memory Register Files Tri-state devices SRAM (Static RAM—random access memory) DRAM (Dynamic RAM)

Which statement(s) is true (A) In a Moore Machine output depends on both current state and input (B) In a Mealy Machine output depends on current state and input (C) In a Mealy Machine output depends on next state and input (D) All the above are true (E) None are true

General Case: Mealy Machine Outputs and next state depend on both current state and input Mealy Machine Next State Current State Input Output Registers Comb. Logic

Moore Machine Special Case: Moore Machine Outputs depend only on current state Next State Current State Input Output Registers Comb. Logic

Example #2: Digital Door Lock Digital Door Lock Inputs: keycodes from keypad clock Outputs: “unlock” signal display how many keys pressed so far

Door Lock: Inputs Assumptions: signals are synchronized to clock Password is B-A-B K A B KABMeaning 000Ø (no key) 110‘A’ pressed 101‘B’ pressed

Door Lock: Outputs Assumptions: High pulse on U unlocks door U D3D2D1D0D3D2D1D0 4 LED dec 8 Strategy: (1) Draw a state diagram (e.g. Moore Machine) (2) Write output and next-state tables (3) Encode states, inputs, and outputs as bits (4) Determine logic equations for next state and outputs

Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else B3 ”3” else (1) Draw a state diagram (e.g. Moore Machine)

Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else (1) Draw a state diagram (e.g. Moore Machine)

Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else Cur. State Output (2) Write output and next-state tables

Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else Cur. State Output Cur. State Output Idle“0” G1“1” G2“2” G3“3”, U B1“1” B2“2” (2) Write output and next-state tables

Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else Cur. StateInputNext StateCur. StateInputNext State (2) Write output and next-state tables

Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else Cur. StateInputNext State Cur. StateInputNext State IdleØ “B”G1 Idle“A”B1 G1Ø “A”G2 G1“B”B2 G2ØB2 G2“B”G3 G2“A”Idle G3anyIdle B1Ø KB2 Ø KIdle (2) Write output and next-state tables

(3) Encode states, inputs, and outputs as bits State Table Encoding Cur. StateOutput Idle“0” G1“1” G2“2” G3“3”, U B1“1” B2“2” U D3D2D1D0D3D2D1D0 4 dec 8 D3D3 D2D2 D1D1 D0D0 U K A B S2S2 S1S1 S0S KABMeaning 000Ø (no key) 110‘A’ pressed 101‘B’ pressed StateS2S2 S1S1 S0S0 Idle000 G1001 G2010 G3011 B1100 B2101 Cur. StateInputNext State IdleØ “B”G1 Idle“A”B1 G1Ø “A”G2 G1“B”B2 G2ØB2 G2“B”G3 G2“A”Idle G3anyIdle B1Ø KB2 Ø KIdle S2S2 S1S1 S0S0 S’ 2 S’ 1 S’ KAB xxx 000 1xx 000 1xx

Door Lock: Implementation 4 dec 3bit Reg clk U D 3-0 S 2-0 S’ 2-0 S 2-0 K A B D3D3 D2D2 D1D1 D0D0 U S2S2 S1S1 S0S (4) Determine logic equations for next state and outputs

Door Lock: Implementation 4 dec 3bit Reg clk U D 3-0 S 2-0 S’ 2-0 S 2-0 K A B S2S2 S1S1 S0S0 S’ 2 S’ 1 S’ KAB xxx 000 1xx 000 1xx

Door Lock: Implementation 4 dec 3bit Reg clk U D 3-0 S 2-0 S’ 2-0 S 2-0 K A B Strategy: (1) Draw a state diagram (e.g. Moore Machine) (2) Write output and next-state tables (3) Encode states, inputs, and outputs as bits (4) Determine logic equations for next state and outputs

Administrivia Make sure partner in same Lab Section this week Lab2 is out Due in one week, next Monday, start early Work alone Save your work! Save often. Verify file is non-zero. Periodically save to Dropbox, . Beware of MacOSX 10.5 (leopard) and 10.6 (snow-leopard) Use your resources Lab Section, Piazza.com, Office Hours, Homework Help Session, Class notes, book, Sections, CSUGLab No Homework this week

Administrivia Make sure to go to your Lab Section this week Find project partners this week (for upcoming project1 next week) Lab2 due in class this week (it is not homework) Design Doc for Lab1 due yesterday, Monday, Feb 4th Completed Lab1 due next week, Monday, Feb 11th Work alone Homework1 is due Wednesday Work alone Academic Integrity BUT, use your resources Lab Section, Piazza.com, Office Hours, Homework Help Session, Class notes, book, Sections, CSUGLab Second C Primer: Thursday, B14 Hollister, 6-8pm

Administrivia Check online syllabus/schedule Slides and Reading for lectures Office Hours Homework and Programming Assignments Prelims (in evenings): Tuesday, February 26 th Thursday, March 28 th Thursday, April 25 th Schedule is subject to change

Collaboration, Late, Re-grading Policies “Black Board” Collaboration Policy Can discuss approach together on a “black board” Leave and write up solution independently Do not copy solutions Late Policy Each person has a total of four “slip days” Max of two slip days for any individual assignment Slip days deducted first for any late assignment, cannot selectively apply slip days For projects, slip days are deducted from all partners 25% deducted per day late after slip days are exhausted Regrade policy Submit written request to lead TA, and lead TA will pick a different grader Submit another written request, lead TA will regrade directly Submit yet another written request for professor to regrade.

Lab1: Thoughts thus far Great experience! But, read all instructions (multiple times)! Sign up for design doc meetings early We were very lenient for Lab1 In future, CMS will lock the Friday after release lose points for not signing up before lock, canceling last minute, and/or not showing up Design doc meeting Not the same as office hours You are presenting your current design during design doc meeting Bring printout of your design document TA will grade and give feedback based on your presentation of your design

Goals for today Memory CPU: Register Files (i.e. Memory w/in the CPU) Scaling Memory: Tri-state devices Cache: SRAM (Static RAM—random access memory) Memory: DRAM (Dynamic RAM)

Goal: How do we store results from ALU computations? How do we use stored results in subsequent operations? Register File How does a Register File work? How do we design it?

Goals for Today Memory: Various technologies S-RAM, D-RAM, NV-RAM Non-Volatile RAM Data remains valid even through power outages More expensive Limited lifetime; after to 1M writes, NV-RAM degrades Flash cards

Memory Various technologies S-RAM, D-RAM, NV-RAM Static-RAM So called because once stored, data values are stable as long as electricity is supplied Based on regular flip-flops with gates Dynamic-RAM Data values require constant refresh Internal circuitry keeps capacitor charges Non-Volatile RAM Data remains valid even through power outages More expensive Limited lifetime; after to 1M writes, NV-RAM degrades

Big Picture: Building a Processor PC imm memory target offset cmp control =? new pc memory d in d out addr register file inst extend +4 A Single cycle processor alu

Register File N read/write registers Indexed by register number Dual-Read-Port Single-Write-Port 32 x 32 Register File QAQA QBQB DWDW RWRW RARA RBRB W

Register File Recall: Register D flip-flops in parallel shared clock extra clocked inputs: write_enable, reset, … clk D0 D3 D1 D bit reg clk

Register File N read/write registers Indexed by register number How to write to one register in the register file? Need a decoder Register File Reg 0 …. Reg 30 Reg 31 Reg 1 5-to-32 decoder 5 RWRW W D 32

Register File N read/write registers Indexed by register number How to write to one register in the register file? Need a decoder Activity# write truth table for 3-to-8 decoder Reg 0 …. Reg 30 Reg 31 Reg 1 5-to-32 decoder 5 RWRW W D 32

Register File N read/write registers Indexed by register number How to read from two registers? Need a multiplexor Register File 32 Reg 0 Reg 1 …. Reg 30 Reg 31 MUXMUX MUXMUX 32 QAQA QBQB 5 5 RBRB RARA ….

Register File N read/write registers Indexed by register number Implementation: D flip flops to store bits Decoder for each write port Mux for each read port 32 Reg 0 Reg 1 …. Reg 30 Reg 31 MUXMUX MUXMUX 32 QAQA QBQB 5 5 RBRB RARA …. 5-to-32 decoder 5 RWRW W D 32

Register File N read/write registers Indexed by register number Implementation: D flip flops to store bits Decoder for each write port Mux for each read port Dual-Read-Port Single-Write-Port 32 x 32 Register File QAQA QBQB DWDW RWRW RARA RBRB W

Register File N read/write registers Indexed by register number Implementation: D flip flops to store bits Decoder for each write port Mux for each read port What happens if same register read and written during same clock cycle?

Register File tradeoffs +Very fast (a few gate delays for both read and write) +Adding extra ports is straightforward – Doesn’t scale e.g. 32MB register file with 32 bit registers Need 32x 1M-to-1 multiplexor and 32x 10-to-1M decoder How many logic gates/transistors? Tradeoffs a b c d e f g h s2s2 s1s1 s0s0 8-to-1 mux

Takeway Register files are very fast storage (only a few gate delays), but does not scale to large memory sizes.

Goals for today Memory CPU: Register Files (i.e. Memory w/in the CPU) Scaling Memory: Tri-state devices Cache: SRAM (Static RAM—random access memory) Memory: DRAM (Dynamic RAM)

Next Goal How do we scale/build larger memories?

Building Large Memories Need a shared bus (or shared bit line) Many FlipFlops/outputs/etc. connected to single wire Only one output drives the bus at a time How do we build such a device? S0S0 D0D0 shared line S1S1 D1D1 S2S2 D2D2 S3S3 D3D3 S 1023 D 1023

Tri-State Devices E EDQ 00 z 01 z DQ Tri-State Buffers If enabled (E=1), then Q = D Otherwise, Q is not connected (z = high impedance)

Activity#2: Tri-State Buffer from an Inverter Q V supply Gnd D E EDQ 00 z 01 z DQ Tri-State Buffers If enabled (E=1), then Q = D Otherwise, Q is not connected (z = high impedance)

Tri-State Devices D Q E V supply Gnd D E EDQ 00 z 01 z DQ Tri-State Buffers If enabled (E=1), then Q = D Otherwise, Q is not connected (z = high impedance)

Tri-State Devices D Q E V supply Gnd E EDQ 00 z 01 z DQ Tri-State Buffers If enabled (E=1), then Q = D Otherwise, Q is not connected (z = high impedance) off z ABORNOR ABANDNAND

Tri-State Devices D Q E V supply Gnd E EDQ 00 z 01 z DQ Tri-State Buffers If enabled (E=1), then Q = D Otherwise, Q is not connected (z = high impedance) off on ABORNOR ABANDNAND

Tri-State Devices D Q E V supply Gnd E EDQ 00 z 01 z DQ Tri-State Buffers If enabled (E=1), then Q = D Otherwise, Q is not connected (z = high impedance) off on ABORNOR ABANDNAND

Shared Bus S0S0 D0D0 shared line S1S1 D1D1 S2S2 D2D2 S3S3 D3D3 S 1023 D 1023

Takeway Register files are very fast storage (only a few gate delays), but does not scale to large memory sizes. Tri-state Buffers allow scaling since multiple registers can be connected to a single output, while only one register actually drives the output.

Goals for today Memory CPU: Register Files (i.e. Memory w/in the CPU) Scaling Memory: Tri-state devices Cache: SRAM (Static RAM—random access memory) Memory: DRAM (Dynamic RAM)

Next Goal How do we build large memories? Use similar designs as Tri-state Buffers to connect multiple registers to output line. Only one register will drive output line.

Static RAM (SRAM)—Static Random Access Memory Essentially just D-Latches plus Tri-State Buffers A decoder selects which line of memory to access (i.e. word line) A R/W selector determines the type of access That line is then coupled to the data lines SRAM Data Address Decoder

Static RAM (SRAM)—Static Random Access Memory Essentially just D-Latches plus Tri-State Buffers A decoder selects which line of memory to access (i.e. word line) A R/W selector determines the type of access That line is then coupled to the data lines SRAM D in 8 D out 8 22 Address Chip Select Write Enable Output Enable SRAM 4M x 8

E.g. How do we design a 4 x 2 SRAM Module? (i.e. 4 word lines that are each 2 bits wide)? SRAM 2-to-4 decoder 2 Address DQ DQ DQ DQ DQ DQ DQ DQ D out [1]D out [2] D in [1]D in [2] enable Write Enable Output Enable 4 x 2 SRAM

SRAM 2-to-4 decoder 2 Address DQ DQ DQ DQ DQ DQ DQ DQ D out [1]D out [2] D in [1]D in [2] enable Write Enable Output Enable E.g. How do we design a 4 x 2 SRAM Module? (i.e. 4 word lines that are each 2 bits wide)?

SRAM 2-to-4 decoder 2 Address DQ DQ DQ DQ DQ DQ DQ DQ D out [1]D out [2] D in [1]D in [2] enable Write Enable Output Enable Bit line Word line E.g. How do we design a 4 x 2 SRAM Module? (i.e. 4 word lines that are each 2 bits wide)?

SRAM Cell Typical SRAM Cell B word line bit line Each cell stores one bit, and requires 4 – 8 transistors (6 is typical) Pass-Through Transistors

Disabled (wordline = 0) SRAM Cell Typical SRAM Cell B word line bit line 10 on 2) Enable (wordline = 1) 1)Pre-charge B = V supply /2 off 3) Cell pulls B low i.e. B = 0

Disabled (wordline = 0) SRAM Cell Typical SRAM Cell B word line bit line 10 on 1) Enable (wordline = 1) off 2) Drive B high i.e. B = 1 10→→

SRAM 2-to-4 decoder 2 Address DQ DQ DQ DQ DQ DQ DQ DQ D out [1]D out [2] D in [1]D in [2] enable Write Enable Output Enable Bit line Word line E.g. How do we design a 4 x 2 SRAM Module? (i.e. 4 word lines that are each 2 bits wide)?

SRAM 2-to-4 decoder 2 Address DQ DQ DQ DQ DQ DQ DQ DQ D out [1]D out [2] D in [1]D in [2] enable Write Enable Output Enable 4 x 2 SRAM E.g. How do we design a 4 x 2 SRAM Module? (i.e. 4 word lines that are each 2 bits wide)?

SRAM 22 Address D out D in Write Enable Output Enable 4M x 8 SRAM 8 8 E.g. How do we design a 4M x 8 SRAM Module? (i.e. 4M word lines that are each 8 bits wide)? Chip Select

SRAM 12 Address [21-10] 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 12 x 4096 decoder mux 1024 mux 1024 mux 1024 mux 1024 mux 1024 mux 1024 mux 1024 D out [7] 1 D out [6] 1 D out [5] 1 D out [4] 1 D out [3] 1 D out [2] 1 D out [1] 1 D out [0] 1 Address [9-0] 10 4M x 8 SRAM E.g. How do we design a 4M x 8 SRAM Module?

SRAM 12 Address [21-10] 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM 4k x 1024 SRAM Row decoder 1024 Address [9-0] 10 4M x 8 SRAM column selector, sense amp, and I/O circuits Shared Data Bus Chip Select (CS) R/W Enable 8 E.g. How do we design a 4M x 8 SRAM Module?

SRAM Modules and Arrays A 21-0 Bank 2 Bank 3 Bank 4 4M x 8 SRAM R/W msb lsb CS

SRAM A few transistors (~6) per cell Used for working memory (caches) But for even higher density… SRAM Summary

Dynamic RAM: DRAM Dynamic-RAM (DRAM) Data values require constant refresh Gnd word line bit line Capacitor Each cell stores one bit, and requires 1 transistors

Dynamic RAM: DRAM Dynamic-RAM (DRAM) Data values require constant refresh Gnd word line bit line Capacitor Pass-Through Transistors Each cell stores one bit, and requires 1 transistors

on Dynamic RAM: DRAM Dynamic-RAM (DRAM) Gnd word line bit line Capacitor Disabled (wordline = 0) 0 2) Enable (wordline = 1) 1)Pre-charge B = V supply /2 off 3) Cell pulls B low i.e. B = 0

Dynamic-RAM (DRAM) on Dynamic RAM: DRAM Gnd word line bit line Capacitor Disabled (wordline = 0) 0 1) Enable (wordline = 1) off 2) Drive B high i.e. B = 1 Charges capacitor 1→

Single transistor vs. many gates Denser, cheaper ($30/1GB vs. $30/2MB) But more complicated, and has analog sensing Also needs refresh Read and write back… …every few milliseconds Organized in 2D grid, so can do rows at a time Chip can do refresh internally Hence… slower and energy inefficient DRAM vs. SRAM

Memory Register File tradeoffs +Very fast (a few gate delays for both read and write) +Adding extra ports is straightforward – Expensive, doesn’t scale – Volatile Volatile Memory alternatives: SRAM, DRAM, … – Slower +Cheaper, and scales well – Volatile Non-Volatile Memory (NV-RAM): Flash, EEPROM, … +Scales well – Limited lifetime; degrades after to 1M writes

Summary We now have enough building blocks to build machines that can perform non-trivial computational tasks Register File: Tens of words of working memory SRAM: Millions of words of working memory DRAM: Billions of words of working memory NVRAM: long term storage (usb fob, solid state disks, BIOS, …) Next time we will build a simple processor!