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 -