26
Copyright © 2007 Elsevier 5-<64> Memory Arrays Address Data Array N M Efficiently store large amounts of data Three common types: Dynamic random access memory (DRAM) Static random access memory (SRAM) Read only memory (ROM) An M-bit data value can be read or written at each unique N- bit address.

DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

  • Upload
    ngonhu

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<64>

Memory Arrays

Address

Data

ArrayN

M

• Efficiently store large amounts of data• Three common types:

– Dynamic random access memory (DRAM)– Static random access memory (SRAM)– Read only memory (ROM)

• An M-bit data value can be read or written at each unique N-bit address.

Page 2: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<65>

• Two-dimensional array of bit cells • Each bit cell stores one bit• An array with N address bits and M data bits:

– 2N rows and M columns– Depth: number of rows (number of words)– Width: number of columns (size of word)– Array size: depth × width = 2N × M

Memory Arrays

Address

Data

ArrayN

M

Address Data11

10

01

00

depth

0 1 0

1 0 0

1 1 0

0 1 1

width

Address

Data

Array2

3

Page 3: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<66>

• 22 × 3-bit array• Number of words: 4• Word size: 3-bits• For example, the 3-bit word stored at address 10 is 100

Memory Array: Example

Example: Address Data11

10

01

00

depth

0 1 0

1 0 0

1 1 0

0 1 1

width

Address

Data

Array2

3

Page 4: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<67>

Memory Arrays

Address

Data

1024-word x32-bitArray

10

32

Page 5: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<68>

Memory Array Bit Cells

Example:

Page 6: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<69>

Memory Array Bit Cells

Example:0

1

Z

Z

Page 7: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<70>

• Wordline: – similar to an enable– allows a single row in the memory array to be read or written– corresponds to a unique address– only one wordline is HIGH at any given time

Memory Array

wordline311

10

2:4Decoder

Address

01

00

storedbit = 0wordline2

wordline1

wordline0

storedbit = 1

storedbit = 0

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 1

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 1

storedbit = 1

bitline2 bitline1 bitline0

Data2 Data1 Data0

2

Page 8: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<71>

Types of Memory

• Random access memory (RAM): volatile• Read only memory (ROM): nonvolatile

Page 9: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<72>

RAM: Random Access Memory

• Volatile: loses its data when the power is turned off• Read and written quickly• Main memory in your computer is RAM (DRAM)

Historically called random access memory because any data word can be accessed as easily as any other (in contrast to sequential access memories such as a tape recorder)

Page 10: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<73>

ROM: Read Only Memory

• Nonvolatile: retains data when power is turned off• Read quickly, but writing is impossible or slow• Flash memory in cameras, thumb drives, and digital

cameras are all ROMs

Historically called read only memory because ROMs were written at manufacturing time or by burning fuses. Once ROM was configured, it could not be written again. This is no longer the case for Flash memory and other types of ROMs.

Page 11: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<74>

Types of RAM

• Two main types of RAM:– Dynamic random access memory (DRAM)– Static random access memory (SRAM)

• Differ in how they store data:– DRAM uses a capacitor– SRAM uses cross-coupled inverters

Page 12: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<75>

Robert Dennard, 1932 -

• Invented DRAM in 1966 at IBM

• Others were skeptical that the idea would work

• By the mid-1970’s DRAM was in virtually all computers

Page 13: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<76>

• Data bits stored on a capacitor• Called dynamic because the value needs to be refreshed

(rewritten) periodically and after being read:– Charge leakage from the capacitor degrades the value– Reading destroys the stored value

DRAM

wordline

bitline

storedbit

Page 14: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<77>

DRAM

wordline

bitline

wordline

bitline

+ +storedbit = 1

storedbit = 0

Page 15: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<78>

SRAM

wordlinebitline bitline

Page 16: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<79>

wordline311

10

2:4Decoder

Address

01

00

storedbit = 0wordline2

wordline1

wordline0

storedbit = 1

storedbit = 0

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 1

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 1

storedbit = 1

bitline2 bitline1 bitline0

Data2 Data1 Data0

2

Memory Arrays

wordlinebitline bitline

wordline

bitlineDRAM bit cell: SRAM bit cell:

Page 17: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<80>

ROMs: Dot Notation

wordline

bitline

wordline

bitline

bit cellcontaining 0

bit cellcontaining 1

Page 18: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<81>

Fujio Masuoka, 1944-

• Developed memories and high speed circuits at Toshiba from 1971-1994.

• Invented Flash memory as an unauthorized project pursued during nights and weekends in the late 1970’s.

• The process of erasing the memory reminded him of the flash of a camera

• Toshiba slow to commercialize the idea; Intel was first to market in 1988

• Flash has grown into a $25 billion per year market.

Page 19: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<82>

ROM Storage

Address Data11

10

01

00

depth

0 1 0

1 0 0

1 1 0

0 1 1

width

Page 20: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<83>

ROM Logic

Data2 = A1 ⊕ A0

Data1 = A1 + A0

Data0 = A1A0

Page 21: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<84>

Example: Logic with ROMs

• Implement the following logic functions using a 22 × 3-bit ROM:– X = AB– Y = A + B– Z = AB

Page 22: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<85>

Example: Logic with ROMs

• Implement the following logic functions using a 22 × 3-bit ROM:– X = AB– Y = A + B– Z = A B 11

10

2:4Decoder

A, B

ZYX

01

00

2

Page 23: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<86>

Logic with Any Memory Array

wordline311

10

2:4Decoder

Address

01

00

storedbit = 0wordline2

wordline1

wordline0

storedbit = 1

storedbit = 0

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 1

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 1

storedbit = 1

bitline2 bitline1 bitline0

Data2 Data1 Data0

2

Data2 = A1 ⊕ A0

Data1 = A1 + A0

Data0 = A1A0

Page 24: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<87>

Logic with Memory Arrays

• Implement the following logic functions using a 22 × 3-bit memory array:– X = AB– Y = A + B– Z = A B

wordline311

10

2:4Decoder

A, B

01

00

storedbit = 1wordline2

wordline1

wordline0

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 1

storedbit = 1

storedbit = 0

storedbit = 1

storedbit = 0

storedbit = 0

storedbit = 0

storedbit = 0

bitline2 bitline1 bitline0

X Y Z

2

Page 25: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<88>

Logic with Memory Arrays

• Called lookup tables (LUTs): look up output at each input combination (address)

storedbit = 1

storedbit = 0

00

01

2:4Decoder

A

storedbit = 0

bitline

storedbit = 0

Y

B

10

11

4-word x 1-bit Array

A B Y0 00 11 01 1

0001

TruthTable

A1

A0

Page 26: DDCA Ch5 [Read-Only] - USPwiki.icmc.usp.br/images/4/42/Aula_20_-_memoria_harris_book.pdf · 01 00 depth 01 0 10 0 11 0 ... Copyright © 2007 Elsevier 5- RAM: Random Access

Copyright © 2007 Elsevier 5-<89>

Multi-ported Memories

A1

A3WD3

WE3

A2

CLK

Array

RD2RD1 M

MNN

NM

• Port: address/data pair• 3-ported memory

– 2 read ports (A1/RD1, A2/RD2)– 1 write port (A3/WD3, WE3 enables writing)

• Small multi-ported memories are called register files