22
CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc.

CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Embed Size (px)

Citation preview

Page 1: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

CPEN 315 - Digital System Design

Chapter 8 – Memory

C. Gerousis© Logic and Computer Design Fundamentals, 4rd Ed., Mano

Prentice Hall

Charles Kime & Thomas Kaminski

© 2008 Pearson Education, Inc.

Page 2: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Overview

Memory definitions Random Access Memory (RAM) Static RAM (SRAM) integrated circuits

– Cells and slices– Cell arrays and coincident selection

Arrays of SRAM integrated circuits Dynamic RAM (DRAM) integrated circuits DRAM Types

– Synchronous (SDRAM)– Double-Data Rate (DDR SRAM)– RAMBUS DRAM (RDRAM)

Page 3: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Memory Definitions

Memory ─ A collection of storage cells together with the necessary circuits to transfer information to and from them.

Random Access Memory (RAM) ─ RAM is called "random access" because any storage location can be accessed directly (independent of the physical location of the data.)

Memory Address ─ A vector of bits that identifies a particular memory element (or collection of elements).

Page 4: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Memory Definitions (Continued)

Typical data elements are:– bit ─ a single binary digit– byte ─ a collection of eight bits accessed together– word ─ a collection of binary bits whose size is a

typical unit of access for the memory. It is typically a power of two multiple of bytes (e.g., 1 byte, 2 bytes, 4 bytes, 8 bytes, etc.)

Memory Operations ─ operations on memory data supported by the memory unit. Typically, read and write operations over some data element (bit, byte, word, etc.).

Page 5: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Memory Organization

Organized as an indexed array of words. Value of the index for each word is the memory address.

Some historically significant computer architectures and their associated memory organization:– Digital Equipment Corporation PDP-8 – used a 12-bit address

to address 4096 12-bit words.

– IBM 360 – used a 24-bit address to address 16,777, 216 8-bit bytes.

– Intel 8080 – (8-bit predecessor to the 8086 and the current Intel processors) used a 16-bit address to address 65,536 8-bit bytes.

Page 6: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Intel 8080, 4,500 transistors

Historical Computers

IBM 360DEC PDP-8

Page 7: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Memory Organization Example

Example memory contents:

– A memory with 3 address bits & 8 data bits has:

– k = 3 and n = 8

23 = 8 addresses labeled 0 to 7.

– 23 = 8 words of 8-bit data (1-byte data)

Memory Address Binary Decimal

Memory Content

0 0 0 0 1 0 0 0 1 1 1 1

0 0 1 1 1 1 1 1 1 1 1 1

0 1 0 2 1 0 1 1 0 0 0 1

0 1 1 3 0 0 0 0 0 0 0 0

1 0 0 4 1 0 1 1 1 0 0 1

1 0 1 5 1 0 0 0 0 1 1 0

1 1 0 6 0 0 1 1 0 0 1 1

1 1 1 7 1 1 0 0 1 1 0 0

Page 8: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Static RAM Cell Array of storage cells used to implement static RAM Storage Cell

– SR Latch– Select input for

control– Dual Rail Data

Inputs B and B– Dual Rail Data

Outputs C and C

Select

B

RAM cell

C

C

B

S

R

Q

Q

SRAM is used in cache: temporary storage area where frequently accessed data can be stored for rapid access.

Page 9: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Static RAM Cell

Page 10: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

2n-Word 1-Bit RAM IC

To build a RAM ICfrom a RAM slice,we need:

– Decoder decodesthe n address lines to2n word select lines

– A 3-state buffer

on the data output.

Dataoutput

A3

A2

A1

A0

Datainput

(a) Symbol

Read/Write

Memoryenable

16 x 1RAM

Read/

Word select

Read/Writelogic

Data inData out

WriteBitselect

(b) Block diagram

RAM cell

RAM cell

RAM cell

Data input

Chip select

Read/Write

Dataoutput

A3

A2

A1

A0

23

22

21

20

4-to-16Decoder 0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Page 11: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Memory arrays can be very large– Large decoders– The decoder size and fanouts can be reduced by

approximately by using a coincident selection in a 2-dimensional array

– Uses two decoders, one for words and one for bits

– Word select becomes Row select– Bit select becomes Column select

Cell Arrays and Coincident Selection

n

Page 12: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Cell Arrays and Coincident Selection (continued)

Data input

Read/Write

X XX

A1 A0

RAM cell0

RAM cell4

RAM cell8

RAM cell12

Read/Writelogic

Data inData out

Read/Write

Bitselect

RAM cell1

RAM cell5

RAM cell9

RAM cell13

Read/Writelogic

Data inData out

Read/Write

Bitselect

RAM cell2

RAM cell6

RAM cell10

RAM cell14

Read/Writelogic

Data inData out

Read/Write

Bitselect

RAM cell3

RAM cell7

RAM cell11

RAM cell15

Read/Writelogic

Data inData out

Read/Write

Bitselect

Columndecoder

2-to-4 Decoderwith enable

21 20

0 1

Column select

2

Enable

3

Chip select

Dataoutput

Rowselect

Row decoder

A2

A3

X

2-to-4Decoder

20

21

1

2

3

0

ExampleFor address 1001:10 selects row 201 selects column 1Cell 9 is accessed.

Page 13: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Making Larger Memory

Capacity: 64K words of 8 bits each

Page 14: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

256K X 8 RAM (2 MB)

- Three-state outputs are connectedtogether to form 8 data output lines.

- Just one chip select (CS) willbe active at any time.

- RAM requires 18-bit address: 16 LSB address are applied to the addressare applied to the inputs of each RAM.2 MSB are applied to 2-to-4 decoder.

- Address bits 16 and 17 determine the particular chips that is selected.

Page 15: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Dynamic RAM (DRAM)

Basic Principle: Storage of information on capacitors.

Charge and discharge of capacitor to change stored value

Use of transistor as “switch” to:– Store charge– Charge or discharge

Select

BT

C

DRAM cell

Page 16: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Data in

(a) Logic diagram

Select

Wordselect0

Wordselect2n- 1

Write logic

Bitselect

Data outRead logic

Senseamplifier

Read/Write

B T

C

DRAM cell

B T

C Read/Writelogic

Data inData out

Bitselect

DRAM cell

DRAM cell

DRAM cell

Wordselect0

Wordselect1

Wordselect2n - 1

Read/Write

C is driven by 3-state drivers

Sense amplifier is used to change the small voltage difference on C into H or L “to refresh the value of a bit stored in a DRAM cell.”

Dynamic RAM - Bit Slice

Page 17: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

DRAM VS. SRAM

Cell size Complexity Cost/bit Usage in large memory Power considerations Speed

Page 18: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

phys

ical

siz

e of

mem

ory

decr

ease

s

mem

ory

acce

ss ti

me

incr

ease

s

Memory Hierarchy

Page 19: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

DRAM Types

Types to be discussed– Synchronous DRAM (SDRAM)– Double Data Rate SDRAM (DDR SDRAM)– RAMBUS® DRAM (RDRAM)

Page 20: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Synchronous DRAM Transfers to and from the DRAM are synchronize with a clock Comparison of byte rate for reading bytes from SDRAM to that of basic DRAM: Assume READ cycle time of basic DRAM = 60 ns

DRAM byte rate (Memory Bandwidth)

= 16.67 MB/sec

Clock period of SDRAM = 7.5 ns

SDRAM = 66.67 MB/sec

If the read burst = 8 bytes,

What is the read cycle? 90 ns

What is the byte rate for

the SDRAM? 88.89 MB/sec

SDRAM EXAMPLE

Page 21: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

Double Data Rate Synchronous DRAM (DDR SDRAM)

Transfers data on both edges of the clock Example: Same as for synchronous DRAM

– Read cycle time = 60 ns, read burst = 8 bytes.

– for DDR ___ bytes can be transferred in 60 ns?

What is the Byte Rate/

Memory Bandwidth?

SDRAM EXAMPLE

16

Page 22: CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall Charles Kime & Thomas

RAMBUS DRAM (RDRAM) Uses a packet-based bus for interaction between the RDRAM ICs and the

memory bus to the processor The bus consists of:

– A 3-bit row address bus

– A 5-bit column address bus

– A 16 or 18-bit (for error correction) data bus

The electronic design is sophisticated permitting very fast clock speeds

Use clock period 1.875 nstime for accessing 16 byte datapacket = 32 clock cycles.What is the Memory Bandwidth ?If four packed are accessed, whatis the memory bandwidth?

RDRAM EXAMPLE