Memory
Notes
- ROM - Read Only Memory
- Data persists when the power is removed
- PROM - programmable read only memory
- EPROM - erasable programmable ROM
- EEPROM - electronically erasable programmable ROM
- Works at the bit level.
- Large number of rewrites
- Flash Memory
- Limited number of rewrites
- Think flash drives
- RAM - Random Access Memory
- Data is removed when the power is removed.
- Common:
- An m-bit address line
- An n-bit data line
- A chip select (chip enable)
- Ram also usually has a read/write line
-
- To store data in memory
- Place the data on the data line
- Place the address on the address line
- Raise the W line, lower the W line
- Raise the chip-select
- To read data from memory
- Place the address on the address line
- Lower the W line, raise the W line
- Raise the Output Enable line
- Raise the chip-select
- Over the years the individual "bits" in memory have been constructed from different devices.
- Which has given rise to different "types" of memory.
- But the basic idea remains the same.
- Constructing a simple RAM
- You see different methods but the following is the general idea
- cells are arranged in a matrix
- Each row is a "word" of memory
- There are 2n rows
- A word is selected via an decoder, using an n bit address line
- An enable line is anded with an write line to determine that the chip is enabled and a write is to occur.
- This is then anded with the output of the decoder to select only one "word" to write to.
- The word select line (address) is used to drive a set of tri state devices that allow the bits of the word on a common bit bus
- The final output is selected with the enable line as well.
-
- Hennessy and Patterson suggest that the decoder and mux may need to have alternative circuits (or stacked as we have discussed) as the size of memory grows.
- In addition, we can employ multiple smaller memories to form a larger one.
- A 32x4 memory from 4 8x4 memory chips
-
- And this could be repeated wider for 16x8 or even higher memory
-
- The 8x4Mem file
- The Memory file, needs 8x4Mem