Memory
Memory
Hardware/Software Introduction
Chapter 5 Memory
1
Outline
m x n: m words of n bits each
k = Log2(m) address input signals m words
or m = 2^k words
e.g., 4,096 x 8 memory:
n bits per word
32,768 bits
simultaneously
Qn-1 Q0
permanence
Storage
ROM Mask-programmed ROM Ideal memory
read only, bits stored without power
OTP ROM
RAM Life of
product
read and write, lose stored bits without
power Tens of EPROM EEPROM FLASH
years
Traditional distinctions blurred Battery Nonvolatile NVRAM
life (10
Advanced ROMs can be written to years)
e.g., EEPROM
In-system
SRAM/DRAM
Advanced RAMs can hold bits without programmable
Near
power zero Write
e.g., NVRAM ability
During External External External External
Write ability fabrication programmer, programmer, programmer programmer
In-system, fast
writes,
only one time only 1,000s OR in-system, OR in-system,
Manner and speed a memory can be of cycles 1,000s block-oriented
unlimited
cycles
written of cycles writes, 1,000s
of cycles
Storage permanence
ability of memory to hold stored bits Write ability and storage permanence of memories,
after they are written showing relative degrees along each axis (not to scale).
Uses Ak-1
lines Q2 and Q0
Output is 1010
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis 9
Implementing combinational function
Any combinational circuit of n functions of same k variables
can be done with 2^k x n ROM
Truth table
Inputs (address) Outputs
a b c y z 82 ROM
0 0 word 0
0 0 0 0 0
0 0 1 0 1 0 1 word 1
0 1 0 0 1 0 1
0 1 1 1 0 enable 1 0
1 0 0 1 0 1 0
1 0 1 1 1 c 1 1
1 1 0 1 1 b 1 1
1 1 1 1 1 1 1 word 7
a
y z
Extension of EEPROM
Same floating gate principle
Same write ability and storage permanence
Fast erase
Large blocks of memory erased at once, rather than one word at a time
Blocks typically several thousand bytes large
Writes to single words may be slower
Entire block must be read, word updated, then entire block written back
Used with embedded systems storing large data items in
nonvolatile memory
e.g., digital cameras, TV set-top boxes, cell phones
external view
Typically volatile memory r/w 2k n read and write
bits are not held without power supply enable memory
A0
Read and written to easily by embedded system
Ak-1
during execution
Q3 Q2 Q1 Q0
addr<10...0>
burst SRAM memory device characteristics
/CS1
device /CS2 A single read operation
Designed to be CS3
CLK
interfaced with 32-bit /WE
/ADSP
processors /OE
/ADSC
MODE
Capable of fast /ADV
/ADSP
sequential reads and /ADSC
addr <150>
/WE
TC55V2325F CS3
F-100
data<310>
block diagram
timing diagram
memory
Can be multiple levels of
cache
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis 22
Cache
Usually designed with SRAM
faster but more expensive than DRAM
Usually on same chip as processor
space limited, so much smaller than off-chip main memory
faster access ( 1 cycle vs. several cycles for main memory)
Cache operation:
Request for main memory access (read or write)
First, check cache for copy
cache hit
copy is in cache, quick access
cache miss
copy not in cache, read address and possibly its neighbors into cache
Several cache design choices
cache mapping, replacement policies, and write techniques
indicated by index V T D
if tags match, check valid bit
Valid bit Data
from memory
Offset
used to find particular word in cache line
Tag Offset
Data
V T D V T D V T D
Valid
= =
=
0.16
0.14
0.12
% cache miss
0.1 1 way
2 way
0.08
4 way
0.06 8 way
0.04
0.02
0
cache size
1 Kb 2 Kb 4 Kb 8 Kb 16 Kb 32 Kb 64 Kb 128 Kb
Data In Buffer
Sense
strobing ras and cas signals, Amplifiers
Col Decoder
rd/wr cas
respectively
Row Decoder
Row Addr. Buffer
or internal to DRAM device
ras
strobes consecutive memory address
Bit storage array
address periodically causing
memory content to be refreshed
Refresh circuitry disabled
during read or write operation
ras
cas
ras
cas
ras
cas
address
row col
data
data data data
Duties of MMU
Handles DRAM refresh, bus interface and arbitration
Takes care of memory sharing among multiple
processors
Translates logic memory addresses from processor to
physical memory addresses of DRAM
Modern CPUs often come with MMU built-in
Single-purpose processors can be used