RAM - Random Access Memory
Static memory is an array of D flip-flops.
The access time is the same for all bits in the array.
Most memory chips are 1 bit wide, a byte is 8 chips side-by-side.

(Some memory chips are several bits wide - normally a power of 2)
The desired bit is selected by the use of address lines.
A typical memory device - 1 bit wide

The
Chip Select line acts as an Enable line to the chip
(when several banks of chips are being used)
and also to tri-state the Data line depending on how it is being accessed
The
R/
determines whether the memory is written to or read from.
When memory is being read the Data line acts as an output
Write access to memory
We need to: select 1 flip-flop
perform the write on a clock pulse
the pulse must arrive after the chip is selected and a write operation specified.
Use a decoder and the address lines to select a particular flip-flop
AND
this signal with the
,
R/
to act as a clock to strobe the data in.

Read access from memory

Place the correct bit on the output line by using a multiplexor
Use
the
,
R/
to enable a tri-state buffer.
1Mb Memories
We can make the above memory larger by making it Byte wide rather than bit wide.
This just means we have to copy 8 times the flip-flop column and its associated data in and data out lines.
The lines from the decoder and CS/RW logic go to each of the flip-flop columns.
For large Bit wide memories, we soon run into large numbers of pins to connect to the chip.
1Mbit needs:
20 address lines
1 data line
1 CS line
1 R/W line
2 power/ground
The decoder within the chip will need 1 million output lines!
To get round these problems, we arrange the memory as a 2 dimensional grid, 1024 x 1024 elements.
We use 2 decoders and send the address in 2 chunks - the row and column addresses.
1Mbit now needs:
10 address lines
1 data line
1 CAS/RAS strobe (column/row strobe)
1 CS line
1 R/W line
2 power/ground
The 2 decoders now have only 1024 lines each as outputs.
159.233 Lecture 5 -