PPT - ECE/CS 352 On

Download Report

Transcript PPT - ECE/CS 352 On

ECE/CS 352: Digital Systems Fundamentals
Lecture 27 – Memory Basics
Charles Kime & Thomas Kaminski
© 2004 Pearson Education, Inc.
Terms of Use
(Hyperlinks are active in View Show mode)
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)
 Arrays of DRAM integrated circuits
Chapter 9
2
Memory Definitions
 Memory ─ Storage cells and circuits to
transfer information to and from them
 Memory Organization ─ structure that
determines how data is accessed
 Random Access Memory (RAM) ─
uniform access latency to any element in
the memory
 Memory Address ─ A vector of bits that
identifies a particular memory element
Chapter 9
3
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 Data ─ a bit or a collection of bits to
be stored into or accessed from memory cells.
 Memory Operations ─ Typically, read and write
operations over some data element (bit, byte,
word, etc.).
Chapter 9
4
Memory Block Diagram
n Data Input Lines
 A basic memory system is
n
shown here:
 k address lines are
Memory
k Address Lines
Unit
k
decoded to address 2k
2k Words
words of memory.
n Bits per Word
1
Read
 Each word is n bits.
1
Write
 Read and Write control
lines enable reading from
n
and writing to memory
n Data Output Lines
Chapter 9
5
Memory Organization Example
 Example memory
contents:
• A memory with 3
address bits & 8
data bits has:
• k = 3 and n = 8 so
23 = 8 addresses
labeled 0 to 7.
• 23 = 8 words of 8-bit
data
Memory Address
Binary Decimal
000
001
010
011
100
101
11 0
111
0
1
2
3
4
5
6
7
Memory
Content
10001111
11111111
10110001
00000000
10111001
10000110
00110011
11001100
Chapter 9
6
Basic Memory Operations
 Memory operations 3-tuple:
• Data ─ written to or read from memory
• Address ─ specifies memory location
• Command ─ READ or WRITE
Chapter 9
7
Basic Memory Operations (continued)
 Read Memory
• Place a valid address on the address lines.
• Wait for the read data to become stable.
 Write Memory
• Place a valid address on the address lines and valid data on the
data lines.
• Toggle the memory write control line
 Usually the write enable line is defined as a clock with
precise timing requirements (e.g. Write Strobe).
• Otherwise, it is just an interface signal.
• Sometimes memory must acknowledge that it has completed
the operation.
Chapter 9
8
Memory Operation Timing
 Most basic memories are asynchronous
• Storage in latches or storage of electrical charge
• No clock
 Controlled by control inputs and address
 Timing of signal changes and data observation is critical to the
operation
 Read timing:
Clock
Address
20 ns
T1
T2
T3
T4
T1
Address valid
Memory
enable
Read/
Write
Data
output
Data valid
65 ns
Read cycle
Chapter 9
9
Memory Operation Timing
 Write timing:
20 ns
Clock
Address
T1
T2
T3
T4
T1
Address valid
Memory
enable
Read/
Write
Data
input
Data valid
75 ns
Write cycle
 Critical times measured with respect to edges of write pulse (1-0-1):
• Setup and hold time for address: address must be valid before pulse
begins and held beyond end of pulse to avoid disturbing stored contents
of other addresses
• Setup and hold for data: data must be valid before end of pulse and held
beyond end of pulse to write correctly
Chapter 9
10
RAM Integrated Circuits
 Types of random access memory
• Static – information stored in latches
• Dynamic – information stored as electrical charges
on capacitors
 Charge “leaks” off
 Periodic refresh of charge required
 Dependence on Power Supply
• Volatile – loses stored information when power
turned off
• Non-volatile – retains information when power
turned off
Chapter 9
11
Static RAM
Cell
 Array of storage cells used to implement static RAM
Select
 Storage Cell
• SR Latch
• Select input for
control
• Dual Rail Data
Inputs B and B
• Dual Rail Data
Outputs C and C
B
B
S
Q
R
Q
C
C
RAM cell
Chapter 9
12
Static RAM
Bit Slice
 Represents all circuitry that is required for 2n
1-bit words
Word
select
0
Select
B
• Multiple RAM cells
• Control Lines:
 Word select i
– one for each word
 Re ad / Write
 Bit Select
B
Q
R
Q
XC
C
X
RAM cell
Word
select
0
RAM cell
Word
select
1
Word
select
2n 1
• Data Lines:
 Data in
 Data out
S
RAM cell
Select
S
Q
R
Q
Word
select
1
2n
X
RAM cell
X
RAM cell
Read/Write
logic
Data in
S
Q
R
Q
Data in
Data out
Read/ Bit
Write select
(b) Symbol
Write logic
Read/
Write
Read logic
Bit
select
(a) Logic diagram
Chapter 9
Data out
13
2n-Word  1-Bit RAM IC
 To build a RAM IC
A3
from a RAM slice,
A2
we need:
A1
• Decoder decodes
A0
the n address lines to
2n word select lines Data
input
• A 3-state buffer
on the data output Read/
Write
permits RAM ICs to Memory
enable
be combined into a
RAM with c  2n words
A3
A2
A1
16 x 1
RAM
A0
Data
output
Word select
4-to-16
Decoder 0
1
23
2
RAM cell
3
22
4
5
21
6
RAM cell
0
7
2
8
9
10
11
12
13
14
15
RAM cell
Read/Write
logic
(a) Symbol
Data input
Data in
Data out
Read/ Bit
Write select
Data
output
Read/Write
Chip select
(b) Block diagram
Chapter 9
14
Cell Arrays and Coincident Selection
 Memory arrays can be very large =>
• Large decoders
• Large fanouts for the bit lines
• The decoder size and fanouts can be reduced by
approximately n 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
 See next slide for example
• A3 and A2 used for Row select
• A1 and A0 for Column select
Chapter 9
15
Cell Arrays and Coincident Selection
(continued)
A3
Row decoder
2-to-4
Decoder 0
21
A2
20
RAM cell
0
RAM cell
1
RAM cell
2
RAM cell
3
Row RAM cell
4
select
RAM cell
5
RAM cell
6
RAM cell
7
RAM cell
8
RAM cell
9
RAM cell
10
RAM cell
11
RAM cell
12
RAM cell
13
RAM cell
14
RAM cell
15
Read/Write
logic
Read/Write
logic
Read/Write
logic
Read/Write
logic
Data in
Data out
Read/ Bit
Write select
Data in
Data out
Read/ Bit
Write select
Data in
Data out
Read/ Bit
Write select
Data in
Data out
Read/ Bit
Write select
1
2
3
Data input
Read/Write
X
X
X
X
Column select
0
1
Column 2-to-4 Decoder
decoder with enable
21
20
A1
2
3
Data
output
Enable
A0
Chip select
Chapter 9
16
RAM ICs with > 1 Bit/Word
 Word length can be quite high.
 To better balance the number of words
and word length, use ICs with > 1
bit/word
Chapter 9
17
RAM with 2 Bits/Word
 Figure 9-8
• 2 input bits
• 2 output bits
• Row select
chooses 4 cells
• Column select
chooses within
pairs of
columns
Chapter 9
18
Making Larger Memories
 Tie all address,
data, and R/W
lines in parallel
 Decode highorder address bits
to control CS
 Use 4x1
memories to
construct 16x1 A3
A2
memory 
A1
A0
R/W
Data In
Decoder
D3
A1
D-In
A0
R/W
CS D-Out
D2
A1
D-In
A0
R/W
CS D-Out
D1
A1
D-In
A0
R/W
CS D-Out
S1 D0
S0
A1
D-In
A0
R/W
CS D-Out
Data Out
Chapter 9
19
Making Wider Memories
 Tie address and
control lines in
parallel
 Keep the data
lines separate
 Make a 4x4
memory from 4x1
memories
Data In
3210
A1 D-In
A0
R/W
CS D-Out
A1 D-In
A0
R/W
CS D-Out
A1 D-In
A0
R/W
CS D-Out
A1
A0
R/W
A1 D-In
A0
R/W
CS D-Out
CS
Data Out
Chapter 9
3210
20
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
Chapter 9
21
Dynamic RAM (continued)
Select
T
B
Stored 0
Stored 1
To Pump
C
DRAM cell
(b)
(a)
(c)
Write 1
Write 0
Select
B
D
Q
C
C
(d)
(e)
Read 1
Read 0
DRAM cell
model
(h)
(f)
(g)
Chapter 9
22
Dynamic RAM - Bit Slice
 C is driven by 3state drivers
 Sense amplifier is
used to change
the small voltage
change on C into
H or L
Word
select
0
Select
B
D
C
Q
C
Word
select
0
DRAM cell
model
DRAM cell
Word
select
1
Word
select
2n 2 1
DRAM cell
Select
D
Word
select
2n 2 1
Q
C
DRAM cell
model
DRAM cell
Read/Write
logic
Sense
amplifier
Data in
Data in
Data out
Read/ Bit
Write select
(b) Symbol
Write logic
Read/
Write
Bit
select
(a) Logic diagram
Read logic
Data out
Chapter 9
23
Dynamic RAM - Block Diagram
Chapter 9
24
Dynamic RAM Read Timing
20 ns
Clock
Address
T1
T2
T3
T4
T1
Column
Address
Row
Address
RAS
CAS
Output
enable
Read/
Write
Data
output
Hi-Z
Data valid
65 ns
Read cycle
Chapter 9
25
Synchronous DRAM w/Burst Read
 Transfers to and from the DRAM are synchronized with a clock
 Synchronous registers appear on:
• Address input
• Data input
• Data output
 Column address counter
• for addressing internal data to be transferred on each clock cycle
• beginning with the column address counts up to column address +
burst size – 1
 Example: Memory data path width: 1 word = 4 bytes
Burst size: 8 words = 32 bytes
Memory clock period: 5 ns (200 MHZ)
Latency to first word: 4 clock cycles
Read cycle time: (4 + 8) x 5 ns = 60 ns
Memory Bandwidth: 32/(60 x 10-9) = 533 Mbytes/sec
Chapter 9
26
Double Data Rate Synchronous DRAM
 Transfers data on both edges of the clock
 Provides a transfer rate of 2 data words per
clock cycle
 Example: Same as for synchronous DRAM
• Read cycle time = 60 ns
• Memory Bandwidth: (2 x 32)/(60 x 10-9) = 1.066
Mbytes/sec
Chapter 9
27
Arrays of DRAM Integrated Circuits
 Similar to arrays of SRAM ICs, but there are
differences typically handled by an IC called a
DRAM controller:
• Separation of the address into row address and
column address and timing their application
• Providing RAS and CAS and timing their
application
• Performing refresh operations at required intervals
• Providing status signals to the rest of the system
(e.g., indicating whether or not the memory is active
or is busy performing refresh)
Chapter 9
28
Summary
 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)
 Arrays of DRAM integrated circuits
Chapter 9
29
Terms of Use
 © 2004 by Pearson Education,Inc. All rights reserved.
 The following terms of use apply in addition to the standard Pearson
Education Legal Notice.
 Permission is given to incorporate these materials into classroom
presentations and handouts only to instructors adopting Logic and
Computer Design Fundamentals as the course text.
 Permission is granted to the instructors adopting the book to post these
materials on a protected website or protected ftp site in original or
modified form. All other website or ftp postings, including those
offering the materials for a fee, are prohibited.
 You may not remove or in any way alter this Terms of Use notice or
any trademark, copyright, or other proprietary notice, including the
copyright watermark on each slide.
 Return to Title Page
Chapter 9
30