[go: up one dir, main page]

0% found this document useful (0 votes)
136 views27 pages

RAM and ROM

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 27

Memory

• Sequential circuits all depend upon the presence of memory.


– A flip-flop can store one bit of information.
– A register can store a single “word,” typically 32 or 64 bits.

• Memory allows us to store even larger amounts of data.


– Read Only Memory (ROM)
– Random Access Memory (RAM)
• Static RAM (SRAM)
• Dynamic RAM (DRAM)

1
Picture of Memory
Address Data
00000000
00000001
• You can think of memory as being one big array
00000002
of data.
.
– The address serves as an array index.
.
– Each address refers to one word of data.
.
.
• You can read or modify the data at any given .
memory address, just like you can read or .
modify the contents of an array at any given
.
index.
.
.
.
FFFFFFFD
FFFFFFFE
FFFFFFFF

Word 2
Memory Signal Types

• Memory signals fall into three groups


– Address bus - selects one of memory locations
– Data bus
• Read: the selected location’s stored data is put on the data bus
• Write (RAM): The data on the data bus is stored into the selected
location
– Control signals - specifies what the memory is to do
• Control signals are usually active low
• Most common signals are:
– CS: Chip Select; must be active to do anything
– RD: Read; active to read data
– WR: Write; active to write data

3
Read-only memory (ROM)

2k x n ROM • Non-volatile
– If un-powered, its content
k
ADRS Data n retains
• Read-only
CS Out – normal operation cannot change
RD contents

• k-bit ADRS specifies the address or location to read from


• A Chip Select, CS, enables or disables the RAM
• Read operation, RD
• Data Out will be the n-bit value stored at ADRS

4
ROM Programming

• Content loading (programming) done many ways depending on device


type
– Programmed ROM (PROM): contents loaded at the factory
• hardwired - can’t be changed
– OTP (One Time Programmable): Programmed by user
– UVPROM: reusable, erased by UV light
– EEPROM: Electrically erasable; clears entire blocks with single
operation

5
ROM Usage

• ROMs are useful for holding data that never changes.

– Arithmetic circuits might use tables to speed up computations of


logarithms or divisions.
– Many computers use a ROM to store important programs that should
not be modified, such as the system BIOS.
– Application programs of embedded systems, PDAs, game machines, cell
phones, vending machines, etc., are stored in ROMs

6
ROM Structure

7
Memories and functions

• ROMs are actually combinational devices, not


sequential ones!
– You can store arbitrary data into a ROM, so Address Data
the same address will always contain the A 2 A 1A 0 V 2 V1 V 0
same data. 000 000
– You can think of a ROM as a combinational 001 100
circuit that takes an address as input, and 010 110
produces some data as the output. 011 100
100 101
101 000
• A ROM table is basically just a truth table.
110 011
– The table shows what data is stored at each 111 011
ROM address.
– You can generate that data combinationally,
using the address as the input.

8
Logic-in-ROM Example

9
Introduction to RAM

• Random-access memory, or RAM, provides large quantities of


temporary storage in a computer system.
– Memory cells can be accessed to transfer information to or from
any desired location, with the access taking the same time
regardless of the location
• Volatility
– Most RAMs lose their memory when power is removed
– NVRAM = RAM + battery
– Or use EEPROM
• SRAM (Static RAM)
– Memory behaves like latches or flip-flops
• DRAM (Dynamic Memory)
– Memory lasts only for a few milliseconds
– Must “refresh” locations by reading or writing

10
Block diagram of RAM

2k x n memory
k ADDRESS DATA n
IN/OUT
RD/WR’
CS

• This block diagram introduces the main interface to RAM.


– A Chip Select, CS, enables or disables the RAM.
– ADRS specifies the address or location to read from or write to.
– RD/WR’ selects between reading from or writing to the memory.
To read from memory, RD/WR’ should be set to 1.
DATA IN/OUT will be the n-bit value stored at ADRS.
To write to memory, we set RD/WR’ to 0.
DATA IN/OUT is the n-bit value to save in memory.

11
Reading RAM

• To read from this RAM, the controlling circuit must:


– Enable the chip by ensuring CS = 1.
– Select the read operation, by setting RD/WR’ = 1.
– Send the desired address to the ADRS input.
– The contents of that address appear on DATA IN/OUT after a
little while.

2k x n memory
k ADDRESS DATA n
IN/OUT
RD/WR’
CS

12
Reading RAM

• 50 MHz CPU – 20 ns clock cycle time


• Memory access time= 65 ns
• Maximum time from the application of the address to the
appearance of the data at the Data Output

13
Writing RAM

• To write to this RAM, you need to:


– Enable the chip by setting CS = 1.
– Select the write operation, by setting RD/WR’ = 0.
– Send the desired address to the ADRS input.
– Send the word to store to the DATA IN/OUT.

2k x n memory
k ADDRESS DATA n
IN/OUT
RD/WR’
CS

14
Writing RAM

• 50 MHz CPU – 20 ns clock cycle time


• Write cycle time= 75 ns
• Maximum time from the application of the address to the
completion of all internal memory operations to store a word

15
Static memory

• How can you implement the memory chip?


• There are many different kinds of RAM.
– We’ll start off discussing static memory, which is most commonly
used in caches and video cards.
– Later we mention a little about dynamic memory, which forms the
bulk of a computer’s main memory.

• Static memory is modeled using one latch for each bit of storage.

• Why use latches instead of flip flops?


– A latch can be made with only two NAND or two NOR gates, but a
flip-flop requires at least twice that much hardware.
– In general, smaller is faster, cheaper and requires less power.
– The tradeoff is that getting the timing exactly right is a pain.

16
16x1 RAM Using a 4x4 RAM Cell Array

17
8x2 RAM Using a 4x4 RAM Cell Array

18
Typical memory sizes
Address Data
• Some typical memory capacities: 00000000
– PCs usually come with 128-256MB RAM. 00000001
– PDAs have 8-64MB of memory. 00000002
– Digital cameras and MP3 players can have .
32MB or more of storage. .
.
• Many operating systems implement virtual .
memory, which makes the memory seem larger .
than it really is. .
– Most systems allow up to 32-bit addresses. .
This works out to 232, or about four billion,
different possible addresses. .
– With a data size of one byte, the result is .
apparently a 4GB memory! .
– The operating system uses hard disk space FFFFFFFD
as a substitute for “real” memory. FFFFFFFE
FFFFFFFF

19
Dynamic memory

• Dynamic memory is built with capacitors.


– A stored charge on the capacitor represents a logical 1.
– No charge represents a logic 0.

• However, capacitors lose their charge after a few milliseconds. The


memory requires constant refreshing to recharge the capacitors.
(That’s what’s “dynamic” about it.)

• Dynamic RAMs tend to be physically smaller than static RAMs.


– A single bit of data can be stored with just one capacitor and one
transistor, while static RAM cells typically require 4-6 transistors.
– This means dynamic RAM is cheaper and denser—more bits can be
stored in the same physical area.

20
DRAM-chip internal organization

21
DRAM Including Refresh Logic

22
Dynamic vs. static memory

• In practice, dynamic RAM is used for a computer’s main memory, since


it’s cheap and you can pack a lot of storage into a small space.
– These days you can buy 256MB of memory for as little as $60.
– You can also load a system with 1.5GB or more of memory.

• The disadvantage of dynamic RAM is its speed.


– Transfer rates are 800MHz at best, which can be much slower than
the processor itself.
– You also have to consider latency, or the time it takes data to
travel from RAM to the processor.

• Real systems augment dynamic memory with small but fast sections of
static memory called caches.
– Typical processor caches range in size from 128KB to 320KB.
– That’s small compared to a 128MB main memory, but it’s enough to
significantly increase a computer’s overall speed.

23
ROMs vs. RAMs

• There are some important differences between ROM and RAM.


– ROMs are “non-volatile”—data is preserved even without power. On
the other hand, RAM contents disappear once power is lost.
– ROMs require special (and slower) techniques for writing, so they’re
considered to be “read-only” devices.

• Some newer types of ROMs do allow for easier writing, although the
speeds still don’t compare with regular RAMs.
– MP3 players, digital cameras and other toys use CompactFlash,
Secure Digital, or MemoryStick cards for non-volatile storage.
– Many devices allow you to upgrade programs stored in “flash ROM.”

24
DRAM read timing

Lect #15 Rissacher EE365


DRAM refresh timing

Lect #15 Rissacher EE365


DRAM write timing

Lect #15 Rissacher EE365

You might also like