Top Banner
Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia University Spring 2012
42

Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Mar 10, 2018

Download

Documents

buidan
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: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Fundamentals of Computer SystemsMemory

Stephen A. Edwards

Columbia University

Spring 2012

Page 2: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Atari Space Race, 1973

Page 3: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Atari Space Race PCB

Front Back (mirrored)

Page 4: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Read-Only Memories: Combinational Functions

2k × nROM

A0

A1

A2

...

Ak−1

D0

D1

...

Dn−1

General ROM:2k words

n bits per word

128× 1ROM

A0

A1

A2

A3

A4

A5

A6

D

Example:Space Race ROM

column

row

Page 5: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Implementing ROMs

0/1

0

Z: “notconnected”

0

1

0

1

1

1

Add. Data

00 01101 11010 10011 010

2-to-4Decoder

A1A0

0 1 1

1 1 0

1 0 0

0 1 0

Wordline 00

Wordline 11

Wordline 22

Wordline 33

Bitline 0

D0

Bitline 1

D1

Bitline 2

D2

Page 6: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Implementing ROMs

0/1

0

Z: “notconnected”

0

1

0

1

1

1

Add. Data

00 01101 11010 10011 010

2-to-4Decoder

1A10A0

0 1 1

1 1 0

1 0 0

0 1 0

Wordline 00

Wordline 11

Wordline 22

Wordline 33

Bitline 0

D0

Bitline 1

D1

Bitline 2

D2

1 0 0

0

0

1

0

Page 7: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Implementing ROMs

0/1

0

Z: “notconnected”

0

1

0

1

1

1

Add. Data

00 01101 11010 10011 010

2-to-4Decoder

A1A0

0

1

2

3

D0D1D2

Page 8: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Implementing ROMs

0/1

0

Z: “notconnected”

0

1

0

1

1

1

Add. Data

00 01101 11010 10011 010

2-to-4Decoder

A1A0

0

1

2

3

D0D1D2

0 01

1

1

0

1

Page 9: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Atari Space Race Schematic

Page 10: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

The 1971 DEC M792-YB Bootstrap Diode Matrix

32-word, 16-bit (64-byte) ROM diode matrix

Page 11: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

CMOS Mask-Programmed ROMs

Add. Data

00 01101 11010 10011 010

ROM “programmed”by selectivelyconnecting drainwires

Active-highwordlines

Page 12: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Mask ROM Die Photo

Page 13: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Color PROM in Pac-Man

00 0001 0702 6603 EF04 0005 F806 EA07 6F08 0009 3F0A 000B C90C 380D AA0E AF0F F610 00...

...1F 00

Page 14: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

A Floating Gate MOSFET

Cross section of a NOR FLASH transistor. Kawai et al., ISSCC 2008 (Renesas)

Page 15: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Floating Gate n-channel MOSFET

Channel

Drain Source

Floating Gate

Control GateSiO2

Floating gate uncharged; Control gate at 0V: Off

Page 16: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Floating Gate n-channel MOSFET

Channel

Drain Source

Floating Gate

Control GateSiO2+++++++++

−−−−−−−−+++++++++

−−−−−−−−

Floating gate uncharged; Control gate positive: On

Page 17: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Floating Gate n-channel MOSFET

Channel

Drain Source

Floating Gate

Control GateSiO2

−−−−

−−−−++++

++++

Floating gate negative; Control gate at 0V: Off

Page 18: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Floating Gate n-channel MOSFET

Channel

Drain Source

Floating Gate

Control GateSiO2++++++++

−−−−−−−

−−++

Floating gate negative; Control gate positive: Off

Page 19: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

EPROMs and FLASH use Floating-Gate MOSFETs

Page 20: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Static Random-Access Memory Cell

Word line

Bit line Bit line

Page 21: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Layout of a 6T SRAM Cell

��

���

!� !�$%� $%�&$

'()�

�����"#�����

Weste and Harris. Introduction to CMOS VLSI Design.Addison-Wesley, 2010.

Page 22: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Intel’s 2102 SRAM, 1024 × 1 bit, 1972

Page 23: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

2102 Block Diagram

Page 24: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

SRAM Timing

A12A11

A2A1A0

CS2

D7D6

D1D0

......

CS1

WEOE

62648K × 8SRAM

CS1

CS2

WE

OE

Addr 1 2

Data write 1 read 2

Page 25: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

6264 SRAM Block Diagram

CY6264-1

A1A2A3A4A5A6A7A8

I/O0

256 x 32 x 8ARRAY

INPUT BUFFER

COLUMN DECODERPOWERDOWN

I/O1

I/O2

I/O3

I/O4

I/O5

I/O6

I/O7CE1CE2WE

OE

Page 26: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Galaga CPU detail (Namco/Midway 1981)

Page 27: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Dynamic RAM Cell

Word line

Bit line

Page 28: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our Old Pal, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

means

and

means

Page 29: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our Old Pal, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

The decoder or“AND plane”

In a RAM or ROM,computes everyminterm

Pattern is notprogrammable

Page 30: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our Old Pal, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

The decoder or“OR plane”

One term for everyoutput

Pattern isprogrammable =the contents of theROM

Page 31: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our Old Pal, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

Can we do better?

Page 32: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Simplifying the Space Race ROM

0 0 0 00 0 0 00 1 0 00 0 0 0

A0

A1

A2A3

0 0 0 00 0 0 01 1 0 00 0 0 0

0 0 0 00 0 0 00 1 0 00 0 1 0

0 0 0 01 0 0 00 1 1 10 0 0 1

0 0 1 01 0 0 00 0 1 00 1 0 0

0 0 0 11 1 1 10 1 1 11 0 0 0

0 1 0 00 0 0 00 1 0 00 0 0 0

1 0 0 00 0 0 00 1 0 00 0 0 0

Essential minterms mean don’t expand these

Page 33: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 34: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210

321D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 35: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210

321

3210

D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 36: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210

321

3210

3210

310

3210

D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 37: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210

321

3210

3210

310

3210

3210

3210

D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 38: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210

321

3210

3210

310

3210

3210

3210

310

20

21

3210

D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 39: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210

321

3210

3210

310

3210

3210

3210

310

20

21

3210

3210

D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 40: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Our New PAL, the Space Race ROM0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A0A1A2A3 D0 D1 D2 D3 D4 D5 D6 D7

3210

321

3210

3210

310

3210

3210

3210

310

20

21

3210

3210

3210

D0=3210

D1=321

D2=3210+ 3210

D3=3210+ 310+3210+ 3210

D4=3210+ 3210+3210+ 3210

D5=310+ 20+ 21+3210+ 3210

D6=3210+ 3210

D7=3210+ 3210

Saved two ANDs

Page 41: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

A 22V10 PAL: Programmable AND/Fixed OR0 4 8 12 16 20 24 28

Increments

FirstFuseNumbers

32 36 40

Macro-cell

R = 5809P = 5808

R = 5811P = 5810

R = 5813P = 5812

R = 5815P = 5814

R = 5817P = 5816

Asynchronous Reset

23

22

21

20

19

1

2

3

4

5

(to all registers)

396

0

440

880

924

1452

1496

2112

2156

2860

I/O/Q

I/O/Q

I/O/Q

I/O/Q

I/O/Q

I

I

I

I

CLK/I

Macro-cell

Macro-cell

Macro-cell

Macro-cell

Page 42: Fundamentals of Computer Systems - Memorysedwards/classes/2012/3827-s… ·  · 2012-03-21Fundamentals of Computer Systems Memory Stephen A. Edwards Columbia ... write 1read 2. 6264

Field-Programmable Gate Arrays (FPGAs)

Switch BlockLE LE LE

SB SB

LE LE LE

LUT

16×1 RAMprogrammable switch

Switch Box: 6programmable

switches