



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth look into various types of memory systems, including sram, dram, and hard disks. It covers their capacities, latencies, costs, and access mechanisms. The document also discusses techniques for increasing throughput, such as pipelining and cache memory.
Typology: Slides
1 / 6
This page cannot be seen from the preview
Don't miss anything!




L15 â Memory Hierarchy 1
4/2/
6.004 â Spring 2009
4/2/
PC INST MADDRMDATA
BETA
MEMORY
Capacity
Latency
Cost
Register
100âs of bits
20 ps
100âs Kbytes
1 ns
100âs Mbytes
40 ns
Hard disk*
100âs Gbytes
10 ms
Want
1âs Gbytes
1 ns
cheap
ADDRDOUT ADDRDIN/DOUT
L15 â Memory Hierarchy 3
4/2/
6-T SRAM Cell
word line N
bit
bit
access FETs
staticbistablestorageelement word line N+
There are two bit-lines percolumn: one supplies the bit, theother itâs complement.On a Read Cycle:
A single word line is activated (driven to â1â), and the accesstransistors enable the selectedcells, and their complements,onto the bit lines.
0
1
1
Good, but
slow 0
Slow andalmost 1
Strong
1
Strong
0
Doesnât this violate our
static discipline?
Writes are similar to reads,except the bit-lines are drivenwith the desired value of the cell.The writing has to âoverpowerâthe original contents of thememory cell.
6.004 â Spring 2009
4/2/
(a.k.a. Register Files)
One can increase the number of SRAM ports by adding access
transistors. By carefully sizing the inverter pair, so that oneis strong and the other weak, we can assure that our WRITEbus will only fight with the weaker one, and the READs aredriven by the stronger one - thus minimizing both access andwrite times.
writeread0read
PU = 2 / 1PD = 4 / 1 PU = 2 / 2PD = 2 / 3
4/
5 / 1
2 / 1
2 / 1
wd
rd
rd
This transistor isolates the storagenode so that it wonât flip unintentionally.
L15 â Memory Hierarchy 5
4/2/
word line
bit
access FET
C in storage capacitor determined by:
C =
Ad
more area
better dielectric
thinner film 1-T DRAM Cell
V
REF
Explicit storage
capacitor
TiN top electrode (V
REF
)
Ta
2 O
5
dielectric
W bottomelectrode
polywordline
access fet
Canât we get
rid of the explicit
cap?
6.004 â Spring 2009
4/2/
Row Address Decoder
Col.
1
Col. 2
Col.
3
Col.^2
M
Row 1Row 2 Row 2
N
Column Multiplexer/Shifter
N M
Multiplexed Address (row first, then column)
bit lines
word lines
memory
cell (one bit)
D
t
1
t
2
t
3
t
4
The first thing that shouldpop into you mind whenasked to speed upthroughputâŚ
PIPELINING Synchronous DRAM
(SDRAM)
ClockDataout
Double-clocked Synchronous DRAM
(DDRAM)
but, alas, not latency
L15 â Memory Hierarchy 7
4/2/
Typical high-end drive: ⢠Average latency = 4 ms
6.004 â Spring 2009
4/2/
10
10
100
.
1 100 10 .
10
TAPE
DISK
DRAM
SRAM
AccessTime
.
Weâve explored a range ofcircuit-design trade-offs.
Track
Sector
Zoned-bit recording
Sector
Shaft
Track Cylinder
Figure by MIT OpenCourseWare.
L15 â Memory Hierarchy 13
4/2/
Program-Transparent Memory Hierarchy
Cache contains TEMPORARY COPIES of selected
main memory locations... eg. Mem[100] = 37
GOALS:1)
Improve the average access time
Transparency (compatibility, programming ease)
(1.0-
)
CPU
"CACHE"
DYNAMIC
RAM"MAIN
MEMORY"
100
37
(1-
)
HIT RATIO
:^
Fraction of refs found in CACHE.
MISS RATIO: Remaining references
.
m
c
m
c
c
ave
6.004 â Spring 2009
4/2/
=
1
t
ave
t c
t m
=
1
5
4 40
=
97.5%
L15 â Memory Hierarchy 15
4/2/
5-Second Access Time:
ALGORITHM: Look nearby for therequested information first, if itâs notthere, check secondary storage
6.004 â Spring 2009
4/2/
ON REFERENCE TO Mem[X]: Look for X among cache tags...HIT:
X = TAG(i) , for some cache line i
return DATA(i)
change DATA(i); Start Write to Mem(X)
MISS:
X not found in TAG of any cache line
REPLACEMENT SELECTION:
^
Select some line k to hold Mem[X] (Allocation)
READ:
Read Mem[X]Set TAG(k)=X, DATA(K)=Mem[X]
WRITE:
Start Write to Mem(X)Set TAG(k)=X, DATA(K)= new Mem[X]
MAIN MEMORY
(
!
)
Tag
Data
Mem[A]Mem[B]
Figure by MIT OpenCourseWare
L15 â Memory Hierarchy 17
4/2/
Nope, âSmithâ
Nope, âJonesâ
Nope, âBitwitâ
L15 â Memory Hierarchy 18
6.004 â Spring 2009
4/2/
Data
=? TAG
Data
=? TAG
Data
=?
IncomingAddress
DataOut
The extreme in associativity:
All comparisons made inparallel
Any data item could belocated in any cache location
L15 â Memory Hierarchy 19
4/2/
(non-associative)
NO Parallelism:
Look in JUST ONE place,determined by parameters ofincoming request (address bits)
... can use ordinary RAM as table
Need: Address Mapping Function!
Maps incoming BIG address to
small CACHE address⌠tellsus which
single
cache location
to use Direct Mapped
: just use a subset
of incoming address bits! Collision
when several addresses
map to same cache line.
L15 â Memory Hierarchy 20
6.004 â Spring 2009
4/2/
Find âBitwitâ
Find âBituminousâ
Find âBitdiddleâ
Nope, Iâve got
âBITWITâunder âBâ
Y Z
A B
Figure by MIT OpenCourseWare
Figure by MIT OpenCourseWare
Figure by MIT OpenCourseWare