Memory Definitions
Download
Report
Transcript Memory Definitions
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.
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)
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).
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.).
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.
Historical Computers
DEC PDP-8
Intel 8080, 4,500 transistors
IBM 360
Memory Organization Example
Example memory
contents:
Memory Address
Binary Decimal
– A memory with 3
000
0
address bits & 8 data
001
1
bits has:
010
2
– k = 3 and n = 8
011
3
23 = 8 addresses
100
4
labeled 0 to 7.
101
5
11 0
6
– 23 = 8 words of 8-bit
111
7
data (1-byte data)
Memory
Content
10001111
11111111
10110001
00000000
10111001
10000110
00110011
11001100
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
SRAM is used in cache: temporary storage area where
frequently accessed data can be stored for rapid access.
Static RAM
Cell
2n-Word 1-Bit RAM IC
To build a RAM IC
from a RAM slice,
we need:
– Decoder decodes
the n address lines to
2n word select lines
– A 3-state buffer
on the data output.
A3
A3
A2
A2
A1
A1
A0
A0
16 x 1
RAM
Data
output
Data
input
Read/
Write
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
Memory
enable
Read/Write
logic
(a) Symbol
Data input
Data in
Data out
Read/ Bit
Write select
Read/Write
Chip select
(b) Block diagram
Data
output
Cell Arrays and Coincident Selection
Memory arrays can be very large
– Large decoders
– 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
Cell Arrays and Coincident Selection
(continued)
Example
For address 1001:
10 selects row 2
01 selects column 1
Cell 9 is accessed.
A3
Row decoder
2-to-4
Decoder
0
21
A2
20
RAM cell
0
RAM cell
1
RAM cell
2
RAM cell
3
RAM cell
4
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
Row
select
2
3
Data input
Read/Write
X
X
X
X
Column select
0
Column
decoder
1
2
3
2-to-4 Decoder
with enable
21
20
A1
A0
Enable
Chip select
Data
output
Making Larger Memory
Capacity: 64K words of 8 bits each
256K X 8 RAM (2 MB)
- Three-state outputs are connected
together to form 8 data output lines.
- Just one chip select (CS) will
be active at any time.
- RAM requires 18-bit address:
16 LSB address are applied to the address
are 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.
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
B
T
C
DRAM cell
Dynamic RAM - Bit Slice
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.”
Select
Word
select
0
Word
select
0
T
B
DRAM cell
Word
select
1
C
DRAM cell
DRAM cell
Word
select
2n -1
Word
select
2n - 1
DRAM cell
T
B
C
Read/Write
logic
Data in
Data out
Read/
Bit
Write
select
Sense
amplifier
Data in
Write logic
Read/
Write
Bit
select
(a) Logic diagram
Read logic
Data out
DRAM VS. SRAM
Cell size
Complexity
Cost/bit
Usage in large memory
Power considerations
Speed
memory access time increases
physical size of memory decreases
Memory Hierarchy
DRAM Types
Types to be discussed
– Synchronous DRAM (SDRAM)
– Double Data Rate SDRAM (DDR SDRAM)
– RAMBUS® DRAM (RDRAM)
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
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 ___
16 bytes can be transferred in 60 ns?
What is the Byte Rate/
Memory Bandwidth?
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 ns
time for accessing 16 byte data
packet = 32 clock cycles.
What is the Memory Bandwidth ?
If four packed are accessed, what
is the memory bandwidth?