← Back to Home

ELEC3020 - Lecture 3
Memory - Slides

Types of Memory

ROM Read Only Memory

  • Read only
  • Keeps data when powered down
    RAM Random Access Memory
  • Read/Write access
  • Loses data when powered down

ROM

  • Keeps data when powered down
  • Contents cannot be changed
  • Used for system boot

Types of ROM

  • ROM Read Only Memory
    • Can never be changes
  • PROM Programmable ROM
    • Comes empty
    • Can be ‘programmed’ but changes are permanent
  • EPROM Erasable Programmable ROM
    • Original state can be restored through UV exposure
  • EEPROM Electronically Erasable Programmable ROM
    • Can be electrically programmed/erased many times

ROM Implementation

The basic schematic of a ROM implementation consists of three primary components:

  • Address Inputs (): specify which byte in memory is selected
  • Decoder: an -to-2 decoder takes input address lines and activates exactly one output row line corresponding to that address
  • Data Bus / Column Lines (): the output lines that display the byte stored at the activated address line

The horizontal lines are connected to any number of vertical lines through either a diode or transistor connection. When a singular horizontal line is powered by the decoder, it activates the connected vertical output lines.
centre
As we can see, the diode/transistor connections are persistent and will remain the same even if the ROM is powered off.


RAM

  • Loses data when powered down
  • Content can be changed at any time
  • Can store programs or data

There are two types of RAM: static RAM and dynamic RAM. SRAM is more expensive and works as intended. DRAM is cheaper, but ‘leaks’ memory contents over short time period -> requires periodic ‘refresh’ every memory cell.

RAM Implementation

RAM implementation is similar to ROM, but we replace the connection element '' by an active switch.

DRAM has only one Field-Effect Transistor (FET) per bit but requires a ‘refresh’ operation every ~64ms for the whole memory.

DRAM Transistor Connection:
centre
SRAM uses 6 FETs per bit using CMOS (Complimentary Metal Oxide Silicon) technology.


Memory Size

One Byte = Eight Bits

Memory Sizes

  • Kilobyte (KB = Bytes = Bytes)
  • Megabyte (MB = KB = Bytes)
  • Gigabyte (GB = MB = Bytes)
  • Terabyte (TB = GB = Bytes

Note: upper-case symbols (KB, MB, etc.) follow traditional computing memory sizes (KB = 1024), but lower-case symbols (kB, mB, etc.) are rounded using decimal math (kB = 1000).

We call a set of 8 data lines a data bus. Instead of running two bytes of memory on two bus lines, we instead reuse the same line. Only one device is allowed to send data at a time. We ensure this through the use of tri-state buffers.

Given our address lines have a bus size of , we can store bytes!

Memory Control

We use several control lines to control our memory chips:

  • Chip-SELECT’ -> activate memory chip
  • Output-ENABLE’ -> write data to bus
  • Read/Write’ -> activate writing (RAM only)

These control lines turn ON when they are unpowered (logical ‘0’) which is indicated by the in their name. This is the standard for most memory chips. You can set a control line to always be ON by routing it to ground.


Address Space

A memory cell’s width is called a word. We can calculate the total size of a memory module through the formula:

Memory module sizes are always in powers of 2. We increase the number of address lines by one starting with one line for 2 cells.
centre
The number of data lines required is equal to the number of bits in the memory cell.


ELEC3020 - Lecture 5