The Basic Memory Element - The Flip-Flop: flip-flop (גלגלד) or latch. It is composed of 2 cross
The Basic Memory Element - The Flip-Flop: flip-flop (גלגלד) or latch. It is composed of 2 cross
The D Flip-Flop
Adding 2 AND gates to the flip-flop turns it into a stable
memory element. The 2 inputs are C (clock) and D (data).
When C is asserted (set to 1) the ff is open, the value of D
is stored in it, and Q becomes D. When C is deasserted
the ff is closed and Q is the value of whatever was stored
the last time the ff was open. C
Q
This type of flip-flop is
activated by the rising edge
_
of the clock. As the clock
Q
D
diagram shows:
D
D
C
D
latch
D
latch _
C
Q
Q
_
Q
Read register
number 1
Read
data 1
Read register
number 2
Read register
number 1
Register 0
Register 1
Register n 1
M
u
x
Register 0
n-to-1
decoder
n 1
Register n
Register 1
D
Read register
number 2
M
u
x
C
Register n 1
D
Read data 2
C
Register n
Register data
8
each location is
Write enable
called the width.
8
Typical access
Din[7 0]
5
times are 5-25 ns.
A 4 x 2 SRAM
Din[1]
Din[0]
D
C
Write enable
D
latch
D
Q
D
latch
Enable
Enable
2-to-4
decoder
D
latch
D
latch
Enable
Enable
Address
D
latch
D
latch
Enable
Enable
D
latch
Enable
D
latch
Enable
Dout[1]
7 Dout[0]
A 32K x 8 SRAM
We still need a large decoder and a large number of word lines
(the lines used to enable the individual cells).
The solution is to organize memories as rectangular ( )arrays
and use a 2-step decoding process: The 1st decoder creates an
address for the eight 512x64 arrays. Then a set of MUXs selects 1
bit out of every 64 bit-wide array.
Address
[14 6]
9-to-512
decoder 512
64
Address
[5 0]
Mux
Mux
Mux
Mux
Mux
Mux
Mux
Dout7
Dout6
Dout5
Dout4
Dout3
Dout2
Dout1
Mux
8Dout0
A 4M x 1 DRAM
DRAMs use a 2-level decoder: a row-access followed by a
column-acess. The row-access chooses a row and stores it in a set
of column latches. The column-access use a MUX to select the
data from the row. To save pins ( , )the same address
lines are used for both the row and column addresses: A pair of
signals RAS (Row Access Strobe) and CAS (Column Access
Strobe) are used to signal if a row or column address is being
supplied.
Row
Refresh is performed by reading
2048 2048
decoder
array
11-to-2048
a row and writing the values back.
In 1997, typical DRAM access
times are 60-110ns. The cost per Address[10 0]
Column latches
bit makes DRAM ideal for main
Mux
memory. The speed of SRAM
makes it ideal for caches.
Dout
10