Professional Documents
Culture Documents
ET4270
TS. Nguyn c Minh
[Adapted from Computer Organization and Design, 4th Edition, Patterson & Hennessy, 2008, MK] [Adapted from Computer Architecture lecture slides, Mary Jane Irwin, 2008, PennState University]
Chng 4. B nh - Phn cp b nh
SET-HUST, 22/03/2011
T chc lp
S tn ch Ging vin Vn phng Email 3 (3-1-1-6) TS. Nguyn c Minh C9-401 minhnd1@gmail,com
Website
https://sites.google.com/site/fethutca/home
Sch
Computer Org and Design, 3rd Ed., Patterson &Hennessy, 2007 Digital Design and Computer Architecture, David Money Harris
Th nghim
3 bi
Bi tp
Gii thiu
HUST-FET, 17/04/2011
Lab 30%
20% 10% (Ti a 100 im)
Bi thi cui k
70%
Gii thiu
HUST-FET, 17/04/2011
Lch hc
Thi gian:
T 14h00 n 17h20 L thuyt: 11 bui x 135 pht / 1 bui Bi tp: 4 bui x 135 pht / 1 bui Thay i lch (ngh, hc b) s c thng bo trn website trc 2 ngy
Gii thiu
HUST-FET, 17/04/2011
Tng kt chng 3
Tt c cc b x l hin i u dng pipeline tng hiu sut (CPI=1 v ng h nhanh - fc ln) Tc ng h pipeline b gii hn bi giai on pipeline chm nht thit k pipeline cn bng l rt quan trng Cn pht hin v gii quyt xung t trong pipeline
Xung t iu khin t phn cng quyt nh r nhnh ln cc trng thi u trong pipeline
- Dng (nh hng CPI) - R nhnh chm (cn h tr ca trnh dch) - D on r nhnh tnh v ng (cn phn cng h tr)
HUST-FET, 17/04/2011
Datapath
Main Memory
Cache
Chng 4. B nh - Phn cp b nh
SET-HUST, 22/03/2011
Ni dung
Mc ch Tnh kh thi
Processor
Devices
B m c bn
Control
Memory
Input
Datapath
Output
Cache
Main Memory
B m kt hp B m a mc
B nh o
7 SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
10000
Performance
1000 100 10 1
Moores Law
Processor-Memory Performance Gap (grows 50%/year) DRAM 7%/year (2X/10yrs)
Bc tng b nh
1000
Chng 4. B nh - Phn cp b nh
Mc tiu ca phn cp b nh
Chng 4. B nh - Phn cp b nh
10
SET-HUST, 22/03/2011
Tp dng nguyn tc cc b cung cp cho ngi dng kch thc b nh ln nh cng ngh b nh r rt nhng tc cao nh cng ngh b nh nhanh nht
On-Chip Components Control Instr Data Cache Cache Second Level Cache (SRAM) Secondary Memory (Disk) ITLB DTLB
Datapath
Speed (%cycles): s
Size (bytes): Cost: 100s highest
Chng 4. B nh - Phn cp b nh
RegFile
1s
10Ks
10s
Ms
100s
Gs
10,000s
Ts lowest
11
SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
12
SET-HUST, 22/03/2011
Tnh cc b
Cache line/ block (unit of t rans fer between main and cache memories)
Chng 4. B nh - Phn cp b nh
13
SET-HUST, 22/03/2011
Cc mc phn cp b nh
Processor
Secondary Memory
Tnh bao hm 4-8 bytes (word) Ni dung trong L1$ l 1 L1$ tp con ca 8-32 bytes (block) ni dung L2$ trong L2$; l tp con ni 1 to 4 blocks dung trong Main Memory MM; l tp 1,024+ bytes (disk sector = page)ni dung con trong SM
14
SET-HUST, 22/03/2011
Khi (hoc ng): n v thng tin nh nht c (hoc khng c) trong b m lng thng tin nh nht c di chuyn gia 2 b nh 2 mc lin tip trong phn cp T l trng (Hit Rate): T l s ln truy cp b nh tm thy 1 mc trong phn cp b nh
Thi gian trng (Hit Time): Thi gian truy cp mc b nh trong phn cp b nh
Thi gian truy cp 1 khi + Thi gian xc nh trng/trt
T l trt (Miss Rate): T l s ln truy cp b nh khng tm thy 1 mc trong phn cp b nh 1 - (Hit Rate)
Tn tht trt (Miss Penalty): Thi gian thay th 1 khi mc b nh bng khi tng ng t mc b nh thp hn
Thi gian truy cp khi mc thp hn + Thi gian truyn khi n mc b nh c s trt + Thi gian chn khi vo mc + Thi gian a d liu ti ni yu cu
Thanh ghi B nh
B m b nh chnh
B nh chnh a
H iu hnh (b nh o) nh x a ch o v a ch vt l nh phn cng (Translation Lookaside Buffer) Ngi lp trnh (cc tp)
Chng 4. B nh - Phn cp b nh
16
SET-HUST, 22/03/2011
C s b m
Tr li 2 cu hi phn cng:
Q1: Mt mc d liu c trong b m hay khng? Q2: Mt mc d liu u trong b m? Mi khi b nh c nh x vo chnh xc 1 khi trong b m
- Nhiu khi trong b nh mc thp cng chia s 1 khi trong b m
nh x trc tip
nh x b nh (tr li cu hi Q2): (block address) modulo (# of blocks in the cache) C trng th(tag) gn vi mi khi b m, cha thng tin a ch (cc bt cao ca a ch) cn cho vic xc nh khi (tr li cu hi Q1)
17 SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
00
01 10 11
Q1: C trong b m khng? So snh trng th b m vi 2 bit cao ca a ch b nh xc nh khi d liu c trong b m khng?
Chng 4. B nh - Phn cp b nh
15
Chng 4. B nh - Phn cp b nh
19
SET-HUST, 22/03/2011
Hit
Tag
20 Index
Tag
10
Data
Index Valid
0 1 2 . . . 1021 1022 1023
20
32
Tnh cc b no s c tn dng?
Chng 4. B nh - Phn cp b nh 20 SET-HUST, 22/03/2011
Hit Tag
Data
20 Index
20
32
Tnh cc b no s c tn dng?
Chng 4. B nh - Phn cp b nh 21 SET-HUST, 22/03/2011
15
Chng 4. B nh - Phn cp b nh
22
SET-HUST, 22/03/2011
T l trt tng khi kch thc khi tr nn ng k so vi kch thc b m v vi cng kch thc b m s khi c th lu gi gim (tng trt do dung lng) Tng kch thc khi lm tn tht trt
a ch byte 32 bit B m nh x trc tip 2n khi, n bits cho trng index Kch thc khi l 2m t (2m+2 bytes), m bits cho trng block offset xc nh v tr t trong khi; 2 bits cho trng byte offset xc nh v tr byte trong t
Cn bao nhiu bit cho b m nh x trc tip kch thc 16KB d liu, kch thc khi l 4 t v d liu c nh a ch bng 32 bit?
Chng 4. B nh - Phn cp b nh
24
SET-HUST, 22/03/2011
X l trng b m
l iu ta cn!
Chng 4. B nh - Phn cp b nh
25
SET-HUST, 22/03/2011
or
Khng cp pht v ghi b qua vic ghi vo b m; ghi t vo b m ghi (tc l s ghi vo b nh mc kt tip), khng cn dng nu b m ghi khng y
Chng 4. B nh - Phn cp b nh
26
SET-HUST, 22/03/2011
o hiu nng b m
Gi s thi gian truy cp b nh khi trng b m c bao gm trong 1 chu k thc hin thng thng ca CPU th:
Tcpu I CPI Tc
Chng 4. B nh - Phn cp b nh
Tn tht tng i ca b m s tng khi hiu nng b x l tng (tng tc ng h v/hoc gim CPI)
Tc b nh khng c ci thin nhanh nhu tc b x l. Tn tht trt dng tnh CPIstall c o theo s chu k b x l cn thit x l trt CPIideal cng thp th nh hng ca dng do trt cng ln
Nu CPIideal gim xung 1? 0.5? 0.25? Nu t l trt b nh D$ tng ln 1%? 2%? Nu tc ng h CPU tng gp 2 (tn hao trt tng gp 2)?
ci tin t l trng nhng lm tng thi gian truy cp trng s n im m thi gian truy cp b m ln s vt qua ci tin do tng t l trng lm gim hiu nng
Thi gian truy cp b nh trung bnh (Average Memory Access Time - AMAT) l thi gian truy cp b nh khi tnh c 2 trng hp trng v trt b m
Tnh AMAT cho 1 b x l c chu k ng h 20 psec, tn tht trt 50 chu k, t l trt 0.02/1 lnh v thi gian truy cp b m 1 chu k?
30 SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
Khng trnh c:
Ln u truy cp khi Gii php: tng kch thc khi (lm tng tn tht trt, khi rt ln lm tng t l trt)
Dung lng:
B m khng th cha ton b cc khi truy cp bi chng trnh Gii php: tng kch thc b m (c th lm tng thi gian truy cp)
Xung t:
Nhiu v tr b nh cng c nh x vo 1 v tr b m Gii php 1: tng kch thc b m Gii php 2: tng kt hp trong b m (c th tng thi gian truy cp)
Chng 4. B nh - Phn cp b nh
31
SET-HUST, 22/03/2011
Yu cu vi h thng b nh
Tng thch vi cc c im ca b m
S dng DRAM h tr truy cp nhanh nhiu t, u tin cc DRAM tng thch vi kch thc khi ca b m
Bus b nh phi h tr c tc truy cp DRAM v cch truy cp Cho php tng bng thng gia bus b nh v b m
Chng 4. B nh - Phn cp b nh
32
SET-HUST, 22/03/2011
H thng b nh h tr b m
Kt ni bn ngoi chip v kin trc b nh nh hng n hiu nng tng th ca h thng rt nhiu
on-chip
CPU
Gi s
1.
Cache
2.
bus
DRAM Memory
3.
1 chu k bus b nh dng gi a ch addr 15 chu k c t th nht trong khi t DRAM (thi gian chu k 1 dng), 5 chu k cho cc t th 2, 3, 4 (thi gian truy cp ct) 1 chu k tr v 1 t d liu s byte truy cp t b nh v c truyn n b m/CPU trong mi chu k bus
33 SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
Column Address
+1 N cols
DRAM
N rows
Row Address
4th M-bit
Row Add
SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
on-chip
CPU
Khi kch thc khi l 1 t, truy cp b nh gy ra trt b m s gy ra dng pipeline trong s chu k cn tr v 1 t d liu t b nh
1 15 1 17 chu k bus b nh gi a ch chu k bus b nh c hng DRAM chu k bus b nh tr v d liu tng s chu k tn tht trt
Cache bus
DRAM Memory
Chng 4. B nh - Phn cp b nh
35
SET-HUST, 22/03/2011
on-chip
CPU
Cache bus
chu k gi a ch 1st chu k c t hng DRAM chu k tr v t cui tng chu k tn tht trt
DRAM Memory
15 cycles
Chng 4. B nh - Phn cp b nh
36
SET-HUST, 22/03/2011
on-chip
CPU
Cache bus
DRAM Memory
5 cycles
Chng 4. B nh - Phn cp b nh
37
SET-HUST, 22/03/2011
on-chip
CPU
Cache bus
4*1 =
4 chu k tr v d liu
20 tng chu k tn tht trt
15 cycles
DRAM DRAM DRAM DRAM Memory Memory Memory Memory bank 0 bank 1 bank 2 bank 3
15 cycles
15 cycles
15 cycles
Chng 4. B nh - Phn cp b nh
38
SET-HUST, 22/03/2011
Gim t l trt b m #1
1.
1 thi cc khc, 1 khi b nh c th c nh x vo bt c khi b m no b m kt hp ton phn (fully associative cache) Cch tha hip: chia b m thnh cc tp (sets); mi tp gm n ng (kt hp n ng - n-way set associative). Mi khi b nh c nh x vo 1 tp duy nht (xc nh bng trng index) v c th c t vo ng bt k trong tp (c n la chn)
index = (block address) modulo (# sets in the cache)
Chng 4. B nh - Phn cp b nh
39
SET-HUST, 22/03/2011
Gi s truy cp vo cc nh 0 4 0 4 0 4 0 4
Chng 4. B nh - Phn cp b nh
40
SET-HUST, 22/03/2011
B m kt hp n ng
B nh chnh 16 khi 1 t B m: 4 khi, 2 tp Way Set V Tag 0 1 Data 0000xx 0001xx 0010xx 0011xx 0100xx 0101xx 0110xx 0111xx 1000xx 1001xx 1010xx 1011xx 1100xx 1101xx 1110xx 1111xx Khi 1 t, 2 bit thp cui dng xc nh byte trong t (t 32b)
0 1
0 1
Q2: V tr t trong b m?
Chng 4. B nh - Phn cp b nh
41
SET-HUST, 22/03/2011
Truy cp nh trong b m kt hp 2 ng
Gi s truy cp vo cc nh 0 4 0 4 0 4 0 4
Chng 4. B nh - Phn cp b nh
42
SET-HUST, 22/03/2011
B m kt hp 4 ng
Byte offset
Tag
Index V Tag
0 1 2 . . . 253 254 255
22
8 V Tag
0 1 2 . . . 253 254 255
Index
Data
0 1 2 . . . 253 254 255
V Tag
Data
Data
0 1 2 . . . 253 254 255
V Tag
Data
Way 0
Way 1
Way 2
Way 3
32
Data
SET-HUST, 22/03/2011
B tr b m kt hp
Vi kch thc b m c nh, tng kt hp theo h s 2 s tng s khi trong mi tp (tng s ng) v gim s tp gim kch thc trng index 1 bt v tng kch thc trng tag 1 bit
Tag
Index
Chng 4. B nh - Phn cp b nh
44
SET-HUST, 22/03/2011
Gi thnh ca b m kt hp
Least Recently Used (LRU): khi b thay th l khi khng c s dng trong thi gian di nht
- Cn phn cng theo di khi c s dng khi no so vi cc khi khc trong cng tp - Vi kt hp 2 ng, dng mt bit cho mi tp t bit khi mt khi c truy cp
Gi thnh b m kt hp N ng
N khi so snh (tr v din tch) Tr khi MUX (chn tp) trc khi d liu sn sng D liu sn sng sau khi chn tp (v quyt nh Hit/Miss). Trong b m trc tip, khi b m sn sng trc khi quyt nh Hit/Miss
- Khng th gi s l trng tip tc v sau khi phc nu l trt
Chng 4. B nh - Phn cp b nh
45
SET-HUST, 22/03/2011
Li ch ca b m kt hp
La trn gia b m kt hp v b m trc tip ph thuc vo tn tht trt v gi thnh trin khai
12 10 4KB 8KB 16KB 32KB 64KB 128KB 256KB 512KB
Data from Hennessy & Patterson, Computer Architecture, 2003
Miss Rate
Chng 4. B nh - Phn cp b nh
Gim t l trt #2
2.
S dng b m a mc Mch tch hp ngy nay c th cha c b m mc 1 (L1 cache) ln hn hoc b m mc 2 thng nht (i.e., n cha c chng trnh v d liu); v thm ch c b m L3 thng nht V d:
CPIideal = 2 Tn tht trt = 100 chu k (truy cp b nh chnh) Tn tht trt truy cp UL2$ = 25 chu k 36% load/stores T l trt: L1-I$ = 2%, L1-D$ = 4%, UL2$ = 0.5% (t l trt ton cc)
Chng 4. B nh - Phn cp b nh
47
SET-HUST, 22/03/2011
Thit k b m a mc
Tn tht trt b m L1 c gim rt nhiu khi c b m L2 v th n c th nh hn (nhanh hn) nhng c t l trt cao hn Vi b m L2, thi gian truy cp khi trng khng quan trng bng t l trt
Chng 4. B nh - Phn cp b nh
48
SET-HUST, 22/03/2011
L1 associativity
L1 write policy L2 cache organization & size L2 associativity L2 write policy L2 write policy L3 cache organization & size L3 associativity L3 write policy
Chng 4. B nh - Phn cp b nh
1. Gim t l trt
B m kch thc ln t khi linh hot hn (tng kt hp) Khi kch thc ln (thng thng 16 n 64 bytes) Thm b m victim b m nh lu cc khi va b b
50 SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
Khi kch thc nh S dng b m ghi lu khi dirty (khi b thay i-cn ghi vo b nh) khng cn i kt thc ghi trc khi c khi mi Kim tra b m ghi (v/hoc b m victim) trong trng hp c trt Vi cc khi ln, np cc t quan trng trc S dng b m a mc Tng tc v bng thng b nh
- Bus rng hn - B nh xen k, DDR SDRAMs
Chng 4. B nh - Phn cp b nh
51
SET-HUST, 22/03/2011
Thanh ghi B nh
B m b nh chnh
B nh chnh a
H iu hnh (b nh o) nh x a ch o v a ch vt l nh phn cng (Translation Lookaside Buffer) Ngi lp trnh (cc tp)
Chng 4. B nh - Phn cp b nh
52
SET-HUST, 22/03/2011
Tp dng nguyn tc cc b cung cp cho ngi dng kch thc b nh ln nh cng ngh b nh r rt nhng tc cao nh cng ngh b nh nhanh nht
Processor
4-8 bytes (word)
Tnh bao hm Ni dung L1$ trong L1$ l 1 8-32 bytes (block) tp con ca ni L2$ dung trong L2$; l tp con 1 to 4 blocks ni dung trong Main Memory MM; l tp con ni dung trong 1,024+ bytes (disk sector = page) SM Secondary Memory Kch thc (tng i) ca b nh mi mc
Chng 4. B nh - Phn cp b nh
53
SET-HUST, 22/03/2011
B nh o
Cho php chia s an ton v hiu qu b nh gia cc chng trnh Cho php chy chng trnh ln hn kch thc b nh vt l n gin ha vic np chng trnh chy (i.e., m chng trnh c th c a vo bt k ch no trong b nh chnh) 1 chng trnh thng truy cp vo mt khng gian a ch nh ti trong 1 khong thi gian
Trong thi gian chy, a ch o c dch thnh a ch vt l (a ch b nh chnh) Khng gian o a ch ca chng trnh c chia thnh cc trang (kch thc c nh) hoc cc on (kch thc thay i)
54 SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
Dch a ch
Page offset
Page offset
12 11 0
Physical Address (PA) Mi yu cu b nh, u tin cn yu cu 1 s dch b nh t khng gian o thnh khng gian vt l
Chng 4. B nh - Phn cp b nh
Nguyn l dch a ch
Virtual page # Offset Physical page # Page table register Offset
Physical page V base addr
1 1 1 1 1 1 0 1 0 1 0
Main memory
a ch o vi b m
PA
Cache
Truy cp b nh (b m) rt tn km (mi ln truy cp thc cht l hai ln truy cp) S dng b m nhc v (Translation Lookaside Buffer TLB) mt b m nh lu tr cc chuyn i a ch va c s dng gn y trch vic tm trong bng trang
57 SET-HUST, 22/03/2011
Chng 4. B nh - Phn cp b nh
Tng tc dch a ch
Virtual page # V
1 1 1 0 1
Tag
TLB
Main memory
Disk storage
SET-HUST, 22/03/2011
VA CPU
data
Chng 4. B nh - Phn cp b nh
59
SET-HUST, 22/03/2011
Bn cu hi trong phn cp b m
Chng 4. B nh - Phn cp b nh
60
SET-HUST, 22/03/2011
Kt hp a ng
Kt hp ton phn
(Tng s mc)/ kt hp
1
kt hp (thng t 2 n 16)
Tng s mc
Phng php tm nh x trc tip Kt hp a ng Kt hp ton phn nh ch s (index) nh ch s tp; So snh th ca tp So snh th ca tt c cc mc. 1
S b so snh kt hp Tng s mc
SET-HUST, 22/03/2011
nh x trc tip duy nht 1 la chn Lun thay th Kt hp tp hoc kt hp ton phn
Ngu nhin LRU (Least Recently Used): thay th khi t c s dng nht trong thi gian di nht
Vi b m kt hp 2 ng, phng php thay th ngu nhin c t l trt cao hn 1,1 ln so vi phng php LRU LRU c chi ph (phn cng) cao khi p dng cho b m c kt hp cao (> 4-ng) v theo di thng tin s dng rt tn km
Chng 4. B nh - Phn cp b nh
62
SET-HUST, 22/03/2011
Write-through: Ghi xuyn Thng tin c ghi vo mc d liu c mc b nh hin ti v mc b nh k tip trong phn cp b nh.
Lun c kt hp cng b m ghi loi b thi gian ch ghi vo b nh mc k tip (cho n khi b m ghi cha y)
Write-back: Ghi sau Thng tin ch c ghi vo mc d liu mc b nh hin ti. Mc b thay i c ghi vo mc b nh k tip khi n b thay th.
Cn bit bn theo di 1 mc l b thay i hay khng H thng b nh o lun dng phng php ghi sau vi cc trang c nh du bn Ghi xuyn: trt khi c khng gy ra vic ghi d liu: n gin, r v d trin khai Ghi sau: ghi c cng tc ca b m, ghi lp li cn 1 ln ghi vo b nh mc thp
u nhc im?
Chng 4. B nh - Phn cp b nh
63
SET-HUST, 22/03/2011
Tng kt
Nguyn l cc b:
Mc d liu c t u? Mc d liu c tm nh th no? Thay th mc no khi trt? Thc hin ghi nh th no?
Bng trang nh x a ch o vo a ch vt l
Chng 4. B nh - Phn cp b nh
64
SET-HUST, 22/03/2011