ch5 Memory
ch5 Memory
ch5 Memory
Hardware/Software Introduction
Chapter 5 Memory
1
Outline
…
– m x n: m words of n bits each
–
m words
k = Log2(m) address input signals …
– or m = 2^k words
– e.g., 4,096 x 8 memory:
n bits per word
• 32,768 bits
• 12 address input signals
• 8 input/output data signals memory external view
r/w
2k × n read and write
• Memory access enable memory
Ak-1
– multiport: multiple accesses to different locations …
simultaneously
Qn-1 Q0
permanence
Traditional ROM/RAM distinctions
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
ability
• e.g., NVRAM
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
of cycles writes, 1,000s
written 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).
• Nonvolatile memory
• Can be read from but not written to, by a
processor in an embedded system External view
…
• Uses Ak-1
…
lines Q2 and Q0
• Output is 1010
Embedded Systems Design: A Unified 9
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Implementing combinational function
Truth table
Inputs (address) Outputs
a b c y z 8×2 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
–
floating gate
(a) Negative charges form a channel between source and drain
source drain
storing a logic 1
– (b) Large positive voltage at gate causes negative charges to
move out of channel and get trapped in floating gate storing a (a)
logic 0
– (c) (Erase) Shining UV rays on surface of floating-gate causes
negative charges to return to channel from floating gate restoring +15V
the logic 1
source drain
– (d) An EPROM package showing quartz window through which (b)
• 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
A0
• Read and written to easily by embedded system …
Ak-1
during execution …
– each input and output data line connects to each 4×4 RAM
cell in its column 2×4
enable
A0
– when row is enabled by decoder, each cell has logic A1
Memory
that stores input data bit when rd/wr indicates write cell
rd/wr
or outputs stored bit when rd/wr indicates read To every cell
Q3 Q2 Q1 Q0
• Capable of fast
MODE
/ADV
/ADSP
sequential reads and /ADSC
addr <15…0>
/WE
writes as well as /ADV /OE
TC55V2325F CS3
F-100
data<31…0>
block diagram
timing diagram
memory
– Can be multiple levels of
cache
Embedded Systems Design: A Unified 23
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Cache
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
0.1 1 way
% cache miss
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
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