Phân FҩS Eӝ QKӟ: 7ҥL sao nó KRҥW ÿӝQJ? &өF Eӝ theo WKӡL gian z 1ӃX PӝW Yӏ trí Eӝ QKӟ ÿѭӧF truy FұS thì nó VӁ VӟP ÿѭӧF truy FұSOҥL /ѭX các Gӳ OLӋX YӯD ÿѭӧF truy FұS QKLӅX QKҩW ӣJҫQ Eӝ
Trang 1SET-HUST, 22/03/2011 1
Trang 2Sách Computer Org and Design, 3rd Ed., Patterson &Hennessy, ©2007
Digital Design and Computer Architecture, David Money Harris
Thí QJKLӋP 3 bài
Bài WұS Theo FKѭѫQJ, ÿӅ bài xem trên trang web
Trang 3HUST-FET, 17/04/2011 3
*LӟL WKLӋX
Trang 4/ӏFK KӑF
7ӯ 14h00 ÿӃQ 17h20
Lý WKX\ӃW: 11 EXәL x 135 phút / 1 EXәL
Bài WұS: 4 EXәL x 135 phút / 1 EXәL
Thay ÿәL OӏFK (QJKӍ, KӑF bù) VӁ ÿѭӧF thông báo trên website WUѭӟF 2 ngày
Trang 57әQJ NӃW FKѭѫQJ 3
HUST-FET, 17/04/2011 5
KLӋX VXҩW (CPI=1 và ÿӗQJ Kӗ nhanh - fc OӟQ)
FKұP QKҩW ± WKLӃW NӃ pipeline cân EҵQJ là UҩW quan WUӑQJ
Trang 61KҳF OҥL: Các thành SKҫQ Fѫ EҧQ FӫD máy tính
Trang 8Processor-Memory Performance Gap
1 10 100
DRAM 7%/year (2X/10yrs)
Processor-Memory Performance Gap (grows 50%/year)
Trang 9³%ӭF WѭӡQJ Eӝ QKӟ´
0.01 0.1 1 10 100 1000
Core Memory
WăQJ KLӋX QăQJ chung
SET-HUST, 22/03/2011 9
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 100өF tiêu FӫD phân FҩS Eӝ QKӟ
z %ҵQJ phân FҩS Eӝ QKӟ
z %ҵQJ song song
Trang 11Second Level Cache (SRAM)
Phân FҩS Eӝ QKӟ thông WKѭӡQJ
Control
Datapath
Secondary Memory (Disk)
Cost: highest lowest
QKѭQJ ӣWӕF ÿӝ cao QKѭ công QJKӋ Eӝ QKӟ nhanh QKҩW
SET-HUST, 22/03/2011 11
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 12Phân FҩS Eӝ QKӟ: 7ҥL sao nó KRҥW ÿӝQJ?
&өF Eӝ theo WKӡL gian
z 1ӃX PӝW Yӏ trí Eӝ QKӟ ÿѭӧF truy FұS thì nó VӁ VӟP ÿѭӧF truy FұSOҥL
/ѭX các Gӳ OLӋX YӯD ÿѭӧF truy FұS QKLӅX QKҩW ӣJҫQ Eӝ [ӱ lý
&өF Eӝ theo không gian
z 1ӃX PӝW Yӏ trí Eӝ QKӟ ÿѭӧF truy FұS thì các Yӏ trí có ÿӏD FKӍ JҫQ
ÿy VӁ VӟP ÿѭӧF truy FұS
ĈѭD các NKӕL Eӝ QKӟ FKӭD các Wӯ FҥQK nhau ÿӃQ JҫQ Eӝ [ӱ lýKѫQ
Trang 13Tính FөF Eӝ
SET-HUST, 22/03/2011 13
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
9-instruction program loop
Address mapping (many-to-one)
Cache memory
Main memory
Cache line/ block (unit of t rans fer between main and cache memories)
7tQKFөFEӝWKHR
không gian và
WKӡLJLDQ
Trang 144-8 bytes ( word )
1 to 4 blocks
1,024+ bytes ( disk sector = page ) 8-32 bytes ( block )
Trang 15Phân FҩS Eӝ QKӟ: Khái QLӋP
KӕL (KRһF ÿѭӡQJ): ÿѫQ Yӏ thông tin QKӓ QKҩW có (KRһF không có) trong
Eӝ ÿӋP ± OѭӧQJ thông tin QKӓ QKҩW ÿѭӧF di FKX\ӇQ JLӳD 2 Eӝ QKӟ ӣPӭF liên WLӃS trong phân FҩS
7ӹ OӋ trúng (Hit Rate): 7ӹ OӋ Vӕ OҫQ truy FұS Eӝ QKӟ tìm WKҩ\ ӣPӭF
trong phân FҩS Eӝ QKӟ
z 7KӡL gian trúng (Hit Time): 7KӡL gian truy FұS PӭF Eӝ QKӟ ÿy trong phân FҩS Eӝ QKӟ
7KӡL gian truy FұS 1 NKӕL + 7KӡL gian xác ÿӏQK trúng/WUѭӧW
7ӹ OӋ WUѭӧW (Miss Rate): 7ӹ OӋ Vӕ OҫQ truy FұS Eӝ QKӟ không tìm WKҩ\ ӣPӭF trong phân FҩS Eӝ QKӟ 1 - (Hit Rate)
z 7әQ WKҩW WUѭӧW (Miss Penalty): 7KӡL gian thay WKӃ 1 NKӕL ӣPӭF Eӝ QKӟ ÿy EҵQJ NKӕL WѭѫQJ ӭQJ Wӯ PӭF Eӝ QKӟ WKҩS KѫQ
7KӡL gian truy FұS NKӕL ӣPӭF WKҩS KѫQ + 7KӡL gian WUX\ӅQ NKӕL ÿӃQ PӭF Eӝ QKӟ có Vӵ WUѭӧW + 7KӡL gian chèn NKӕL váo PӭF ÿy + 7KӡL gian ÿѭD Gӳ OLӋX WӟL QѫL yêu FҫX
Hit Time << Miss Penalty
SET-HUST, 22/03/2011 15
&KѭѫQJ 4 %ӝ QKӟ - Phân FҩS Eӝ QKӟ
Trang 16z 1JѭӡL OұS trình (các WӋS)
Trang 17 7Uҧ OӡL 2 câu KӓL ӣSKҫQ FӭQJ:
z Q1: 0ӝW PөF Gӳ OLӋX có trong Eӝ ÿӋP hay không?
z Q2: 0ӝW PөF Gӳ OLӋX ӣÿkX trong Eӝ ÿӋP?
z Ánh [ҥ Eӝ QKӟ (WUҧ OӡL câu KӓL Q2):
(block address) modulo (# of blocks in the cache)
z Có WUѭӡQJ WKҿ(tag) JҳQ YӟL PӛL NKӕL Eӝ ÿӋP, FKӭD thông tin ÿӏD FKӍ (các bít cao FӫD ÿӏD FKӍ) FҫQ cho YLӋF xác ÿӏQK NKӕL(WUҧ OӡL câu KӓL Q1)
&ѫ Vӣ Eӝ ÿӋP
SET-HUST, 22/03/2011 17
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 18Vӕ ± ÿӇ xác ÿӏQK NKӕL
Eӝ ÿӋP nào (i.e., chiaOҩ\ Gѭ cho Vӕ NKӕLtrong Eӝ ÿӋP)
Trang 19Truy FұS ô QKӟ YӟL Eӝ ÿӋP ánh [ҥ WUӵF WLӃS
0 1 2 3 4 3 4 15
%ҳW ÿҫX YӟL Eӝ ÿӋP UӛQJ ± WҩW Fҧ
các NKӕL trong Eӝ ÿӋP ÿѭӧF ÿiQK
GҩX không KӧS OӋ
SET-HUST, 22/03/2011 19
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 20 Các NKӕL 1 Wӯ, kích WKѭӟF Eӝ ÿӋP = 1K Wӯ (hay 4KB)
Ví Gө 4.2 %ӝ ÿӋP ánh [ҥ WUӵF WLӃS MIPS
20 Tag
10 Index
Data Index Valid Tag
0 1 2 1021 1022 1023
31 30 13 12 11 2 1 0
Byte offset
20
Data
32 Hit
Trang 21%ӝ ÿӋP ánh [ҥ WUӵF WLӃS NKӕL QKLӅX Wӯ
8 Index
Data Index Valid Tag
0 1 2 253
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 227ұQ GөQJ tính FөF Eӝ không gian
%ҳW ÿҫX YӟL Eӝ ÿӋP UӛQJ ± WҩW Fҧ
các NKӕL trong Eӝ ÿӋP ÿѭӧF ÿiQK
GҩX không KӧS OӋ
Trang 237Ӎ OӋ WUѭӧW vs Kích WKѭӟF NKӕL vs Kích WKѭӟF Eӝ ÿӋP
0 5 10
SET-HUST, 22/03/2011 23
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 24Kích WKѭӟF các WUѭӡQJ trong Eӝ ÿӋP
WUѭӡQJ WKҿ
z ĈӏD FKӍ byte 32 bit
z %ӝ ÿӋP ánh [ҥ WUӵF WLӃS 2n NKӕL, n bits cho WUѭӡQJ index
z Kích WKѭӟF NKӕL là 2m Wӯ (2m+2 bytes), m bits cho WUѭӡQJ block offset xác ÿӏQK Yӏ trí Wӯ trong NKӕL; 2 bits cho WUѭӡQJ byte offset xác ÿӏQK Yӏ trí byte trong Wӯ
WKѭӟF 16KB Gӳ OLӋX, kích WKѭӟF NKӕL là 4 Wӯ và Gӳ OLӋX ÿѭӧF ÿiQK ÿӏD FKӍ EҵQJ 32 bit?
Trang 25 ĈӑF trúng (I$ và D$)
z Ĉy là ÿLӅX ta FҫQ!
z yêu FҫX Eӝ ÿӋP và Eӝ QKӟ SKҧL WKӕQJ QKҩW
- luôn ghi Gӳ OLӋX vào Fҧ NKӕL Eӝ ÿӋP và vào Eӝ QKӟ ӣPӭF NӃ WLӃS ( ghi xuyên - write-through )
- ghi YӟL WӕF ÿӝ FӫD Eӝ QKӟ ӣPӭF NӃ WLӃS ± FKұP KѫQ! ± VӱGөQJ Eӝ ÿӋP ghi (write buffer) và FKӍ GӯQJ khi Eӝ ÿӋP ghi ÿҫ\
z cho phép Eӝ ÿӋP và Eӝ QKӟ không WKӕQJ QKҩW
- FKӍ ghi Gӳ OLӋX vào Eӝ ÿӋP ( ghi OҥL write-back NKӕL Eӝ ÿӋP vào Eӝ QKӟ ӣPӭF NӃ WLӃS khi NKӕL Eӝ ÿӋP Eӏ Oҩ\ OҥL)
- FҫQ 1 bít EҭQ (dirty) cho PӛL NKӕL Eӝ ÿӋP ÿӇ FKӍ ra là NKӕL ÿy FҫQ ÿѭӧF ghi OҥL vào Eӝ nhó khi nó Eӏ Oҩ\ OҥL ± có WKӇ dùng Eӝ ÿӋP ghi ÿӇ WăQJ WӕF YLӋF ghi OҥL các NKӕL Eӝ ÿӋP EҭQ
;ӱ lý trúng Eӝ ÿӋP
SET-HUST, 22/03/2011 25
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 26;ӱ lý WUѭӧW Eӝ ÿӋP (.KӕL kích WKѭӟF 1 Wӯ)
z GӯQJ ÿѭӡQJ ӕQJ, QҥS NKӕL Wӯ Eӝ QKӟ ӣPӭF NӃ WLӃS, ÿѭD vào EӝÿӋP và JӱL Wӯ ÿѭӧF yêu FҫX WӟL Eӝ [ӱ lý, WLӃS WөF ÿѭӡQJ ӕQJ
write_buffer_stalls
z &ҩS phát và ghi ± ĈҫX tiên ÿӑF NKӕL Wӯ Eӝ QKӟ và ghi Wӯ vào NKӕL
or
z Không FҩS phát và ghi± Eӓ qua YLӋF ghi vào Eӝ ÿӋP; ghi Wӯ vào
Eӝ ÿӋP ghi (WӭF là VӁ ghi vào Eӝ QKӟ ӣPӭF NӃW WLӃS), không FҫQGӯQJ QӃX Eӝ ÿӋP ghi không ÿҫ\
Trang 27ĈR KLӋX QăQJ Eӝ ÿӋP
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
c ideal
c cpu
T MemStallC
CPI I
T CPI
I T
u
u
u
u
) (
Trang 28ҦQK KѭӣQJ FӫD KLӋX QăQJ Eӝ ÿӋP
[ӱ lý WăQJ (WăQJ WӕF ÿӝ ÿӗQJ Kӗ và/KRһF JLҧP CPI)
z 7ӕF ÿӝ Eӝ QKӟ không ÿѭӧF FҧL WKLӋQ nhanh nhu WӕF ÿӝ Eӝ [ӱ lý 7әQ WKҩW WUѭӧW dùng ÿӇ tính CPIstall ÿѭӧF ÿR theo Vӕ chu NǤ Eӝ [ӱ lýFҫQ WKLӃW ÿӇ [ӱ lý WUѭӧW
z CPIideal càng WKҩS thì ҧQK KѭӣQJ FӫD GӯQJ do WUѭӧW càng OӟQ
JҩS 2)?
Trang 297KӡL gian truy FұS Eӝ QKӟ trung bình (AMAT)
Î FҧL WLӃQWӍ OӋ trúng QKѭQJ làm WăQJ WKӡL gian truy FұS trúng
Î VӁ ÿӃQ ÿLӇP mà tKӡL gian truy FұS Eӝ ÿӋP OӟQ VӁ YѭӧW qua FҧLWLӃQGRWăQJ WӍ OӋ trúng Î làm JLҧP KLӋX QăQJ
Access Time - AMAT) là WKӡL gian truy FұS Eӝ QKӟ khi tính
Fҧ 2 WUѭӡQJ KӧS trúng và WUѭӧW Eӝ ÿӋP
WKҩW WUѭӧW 50 chu NǤ, WӍ OӋ WUѭӧW 0.02/1 OӋQK và WKӡL gian truy FұS Eӝ ÿӋP 1 chu NǤ?
SET-HUST, 22/03/2011 30
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 30Nguyên nhân WUѭӧW Eӝ ÿӋP
Trang 31Yêu FҫX YӟL KӋ WKӕQJ Eӝ QKӟ
z Bus Eӝ QKӟ SKҧL Kӛ WUӧ ÿѭӧF WӕF ÿӝ truy FұS DRAM và cáchtruy FұS
z Cho phép WăQJ EăQJ thông JLӳD bus Eӝ QKӟ và Eӝ ÿӋP
SET-HUST, 22/03/2011 32
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 32 .ӃW QӕL bên ngoài chip và NLӃQ trúc Eӝ QKӟ ҧQK KѭӣQJ
&ҩX trúc 1 Wӯ (bus UӝQJ 1 Wӯ và Eӝ QKӟ có các ô QKӟ 1 Wӯ)
3. 1 chu NǤ ÿӇ WUҧ YӅ 1 Wӯ Gӳ OLӋX
z Vӕ byte truy FұS Wӯ Eӝ QKӟ và ÿѭӧF WUX\ӅQ
ÿӃQ Eӝ ÿӋP/CPU trong PӛL chu NǤ bus
Trang 33M-bit Output
M bit planes
N x M SRAM
Row Address
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 34QKӟ gây ra WUѭӧW Eӝ ÿӋP VӁ gây ra GӯQJ pipeline trong Vӕ chu NǤ FҫQ ÿӇ WUҧ YӅ 1 Wӯ Gӳ OLӋX Wӯ Eӝ QKӟ
chu NǤ bus Eӝ QKӟ ÿӇ JӱL ÿӏD FKӍchu NǤ bus Eӝ QKӟ ÿӇ ÿӑF hàng DRAMchu NǤ bus Eӝ QKӟ ÿӇ WUҧ YӅ Gӳ OLӋXWәQJ Vӕ chu NǤ WәQ WKҩW WUѭӧW
4/17 = 0.235 byte/chu NǤ bus Eӝ QKӟ
1 15117
Trang 35WәQJ chu NǤ WәQ WKҩW WUѭӧW
SET-HUST, 22/03/2011 36
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 36WәQJ chu NǤ WәQ WKҩW WUѭӧW
Trang 37%ӝ QKӟ xen NӁ; Bus ÿӝ UӝQJ 4 Wӯ
20
DRAM Memory
DRAM Memory bank 3
SET-HUST, 22/03/2011 38
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 38*LҧP WӍ OӋ WUѭӧW Eӝ ÿrP #1
Ӣ Eӝ ÿӋP ánh [ҥ WUӵF WLӃS 1 NKӕL Eӝ QKӟ ÿѭӧF ánh [ҥ
E̽W F NKӕL Eӝ ÿӋP nào ± Eӝ ÿӋP NӃW KӧS toàn SKҫQ (fully associative cache)
0ӛL NKӕL Eӝ QKӟ ÿѭӧF ánh [ҥ vào 1 WұS duy QKҩW (xác
ÿӏQK EҵQJ WUѭӡQJ index) và có WKӇ ÿѭӧF ÿһW vào ÿѭӡQJ
EҩW NǤ trong WұS (có n OӵD FKӑQ)
index = (block address) modulo (# sets in the cache)
Trang 39Truy FұS ô QKӟ trong Eӝ ÿӋP ánh [ҥ WUӵF WLӃS
%ҳW ÿҫX YӟL Eӝ ÿrP UӛQJ ± WҩW Fҧ các NKӕL
ÿѭӧF ÿiQK GҩX không KӧS OӋ
SET-HUST, 22/03/2011 40
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 406ӱGөQJ bít WKҩS WLӃStheo ÿӇ xác ÿӏQK WұS(i.e., chia Oҩ\ SKҫQ Gѭcho Vӕ WұS trong EӝÿӋP)
Trang 41Truy FұS ô QKӟ trong Eӝ ÿӋP NӃW KӧS 2 ÿѭӡQJ
%ҳW ÿҫX YӟL Eӝ ÿrP UӛQJ ± WҩW Fҧ các
NKӕL ÿѭӧF ÿiQK GҩX không KӧS OӋ
SET-HUST, 22/03/2011 42
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 42%ӝ ÿӋP NӃW KӧS 4 ÿѭӡQJ
28 = 256 WұS 4 ÿѭӡQJ (PӛL ÿѭӡQJ FKӭD 1 NKӕL)
31 30 13 12 11 2 1 0 Byte offset
Data Tag
V
0 1 2 253 254 255
Data Tag
V
0 1 2 253 254 255
Data Tag
V
0 1 2 253 254 255
Index V Tag Data
Trang 43%ӕ trí Eӝ ÿӋP NӃW KӧS
Vӕ 2 VӁ WăQJ Vӕ NKӕL trong PӛL WұS (WăQJ Vӕ ÿѭӡQJ) và
JLҧP Vӕ WұS ± JLҧP kích WKѭӟF WUѭӡQJ index 1 bít và WăQJ
Block offset Byte offset Index
Tag
SET-HUST, 22/03/2011 44
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 44Giá thành FӫD Eӝ ÿӋP NӃW KӧS
z Least Recently Used (LRU): NKӕL Eӏ thay WKӃ là NKӕL không ÿѭӧF VӱGөQJ trong WKӡL gian dài QKҩW
- &ҫQ SKҫQ FӭQJ ÿӇ theo dõi NKӕL ÿѭӧF VӱGөQJ khi nào so YӟL các NKӕL khác trong cùng WұS
- 9ӟL NӃW KӧS 2 ÿѭӡQJ, dùng PӝW bit cho PӛL WұS ĺ ÿһW bit khi PӝW NKӕL ÿѭӧF truy FұS
z N NKӕL so sánh (WUӉ và GLӋQ tích)
z 7UӉ NKӕL MUX (FKӑQ WұS) WUѭӟF khi Gӳ OLӋX VҹQ sàng
z 'ӳ OLӋX VҹQ sàng sau khi FKӑQ WұS (và TX\ӃW ÿӏQK Hit/Miss) Trong
Eӝ ÿӋP WUӵF WLӃS, NKӕL Eӝ ÿӋP VҹQ sàng WUѭӟF khi TX\ӃW ÿӏQK
Hit/Miss
- Không WKӇ JLҧ Vӱlà trúng ÿӇ WLӃS WөF và sau ÿy khôi SKөF QӃX là WUѭӧW
Trang 45/ӧL ích FӫD Eӝ ÿӋP NӃW KӧS
WKXӝF vào WәQ WKҩW WUѭӧW và giá thành WULӇQ khai
0 2 4 6 8 10 12
1-way 2-way 4-way 8-way
Data from Hennessy &
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 46*LҧP WӍ OӋ WUѭӧW #2
ÿӋP L3 WKӕQJ QKҩW
Ví Gө:
z CPIideal = 2
z 7әQ WKҩW WUѭӧW = 100 chu NǤ (truy FұS Eӝ QKӟ chính)
z 7әQ WKҩW WUѭӧW truy FұS UL2$ = 25 chu NǤ
z 36% load/stores
z 7Ӎ OӋ WUѭӧW: L1-I$ = 2%, L1-D$ = 4%, UL2$ = 0.5% (WӍ OӋ WUѭӧW toàn
FөF)
Trang 47OӋ WUѭӧW cao KѫQ
WUӑQJ EҵQJ WӍ OӋ WUѭӧW
z 7KӡL gian truy FұS trúng L2$ xác ÿӏQK WәQ WKҩW WUѭӧW L1$
SET-HUST, 22/03/2011 48
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 48L1 cache
organization & size
Split I$ and D$; 32KB for each per core; 64B blocks
Split I$ and D$; 64KB for each per core; 64B blocks
L1 associativity 4-way (I), 8-way (D) set
assoc.; ~LRU replacement
2-way set assoc.; LRU replacement
L1 write policy write-back, write-allocate write-back, write-allocate
L2 cache
organization & size
Unified; 256MB (0.25MB) per core; 64B blocks
Unified; 512KB (0.5MB) per core; 64B blocks
L2 write policy write-back, write-allocate write-back, write-allocate
L3 cache
organization & size
Unified; 8192KB (8MB) shared by cores; 64B blocks
Unified; 2048KB (2MB) shared by cores; 64B blocks
shared by fewest cores L3 write policy write-back, write-allocate write-back; write-allocate
Trang 497әQJ NӃW: &ҧL WKLӋQ KLӋX QăQJ Eӝ ÿӋP
z KӕL kích WKѭӟF OӟQ (thông WKѭӡQJ 16 ÿӃQ 64 bytes)
z Thêm Eӝ ÿӋP ³YLFWLP´± Eӝ ÿӋP QKӓ OѭX các NKӕL YӯD Eӏ Eӓ
SET-HUST, 22/03/2011 50
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 507әQJ NӃW: &ҧL WKLӋQ KLӋX QăQJ Eӝ ÿӋP
z KӕL kích WKѭӟF QKӓ
z 6ӱGөQJ Eӝ ÿӋP ghi ÿӇ OѭX NKӕL ³GLUW\´NKӕL ÿm Eӏ thay ÿәL-FҫQghi vào Eӝ QKӟ) Î không FҫQ ÿӧL NӃW thúc ghi WUѭӟF khi ÿӑFNKӕL PӟL
z LӇP tra Eӝ ÿӋP ghi (và/KRһF Eӝ ÿӋP ³YLFWLP´ WURQJWUѭӡQJKӧS ÿӑF WUѭӧW
z 9ӟL các NKӕL OӟQ, QҥS các Wӯ quan WUӑQJ WUѭӟF
z 6ӱGөQJ Eӝ ÿӋP ÿD PӭF
z 7ăQJ WӕF ÿӝ và EăQJ thông Eӝ QKӟ
- Bus UӝQJ KѫQ
Trang 51'ӏFK FKX\ӇQ Gӳ OLӋX JLӳD các PӭF Eӝ QKӟ
SET-HUST, 22/03/2011 52
z 1JѭӡL OұS trình (các WӋS)
Trang 52Review: The Memory Hierarchy
4-8 bytes ( word )
1 to 4 blocks
1,024+ bytes ( disk sector = page ) 8-32 bytes ( block )
QKѭQJ ӣWӕF ÿӝ cao QKѭ công QJKӋ Eӝ QKӟ nhanh QKҩW
Trang 53%ӝ QKӟ ҧR
Cho phép chia Vҿ an toàn và KLӋX TXҧ Eӝ QKӟ JLӳD các FKѭѫQJtrình
Cho phép FKҥ\ FKѭѫQJ trình OӟQ KѫQ kích WKѭӟF Eӝ QKӟ YұW lý
ĈѫQ JLҧQ hóa YLӋF QҥS FKѭѫQJ trình ÿӇ FKҥ\ (i.e., mã FKѭѫQJtrình có WKӇ ÿѭӧF ÿѭD vào EҩW NǤ FKӛ nào trong Eӝ QKӟ chính)
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 54'ӏFK ÿӏD FKӍ
QKӟ Wӯ không gian ҧR thành không gian YұW lý
z 7UѭӧW Eӝ QKӟ ҧR (trang không có trong Eӝ QKӟ YұW lý) JӑL là OӛLtrang (page fault)
Virtual Address (VA)
Page offset Virtual page number
31 30 12 11 0
Page offset Physical page number
Physical Address (PA)
29 12 11 0
Translation
SKҫQ FӭQJ và SKҫQ PӅP
Trang 55Nguyên lý GӏFK ÿӏD FKӍ
Physical page base addr
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 56hit data
WKӵF FKҩW là hai OҫQ truy FұS)
TLB) ± PӝW Eӝ ÿӋP QKӓ OѭX WUӳ các FKX\ӇQ ÿәL ÿӏD FKӍ YӯD ÿѭӧF VӱGөQJ JҫQ ÿk\ ÿӇ trách YLӋF tìm trong EҧQJ trang
Trang 577ăQJ WӕF GӏFK ÿӏD FKӍ
Physical page base addr
1 1 1 0 1
Tag
Physical page base addr V
TLB
Page Table
(in physical memory)
SET-HUST, 22/03/2011 58
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
Trang 58TLB trong phân FҩS Eӝ QKӟ
Main Memory
hit
data
lation
Trans-hit
miss
¾ t
¼ t
Trang 59%ӕQ câu KӓL trong phân FҩS Eӝ ÿӋP
SET-HUST, 22/03/2011 60
Trang 603KѭѫQJ pháp tìm 6ӕ Eӝ so sánhÁnh [ҥ WUӵF WLӃS ĈiQK FKӍ Vӕ (index) 1
.ӃW KӧS ÿD
ÿѭӡQJ
ĈiQK FKӍ Vӕ WұS; So sánhWKҿ FӫD WұS
Ĉӝ NӃW KӧS
.ӃW KӧS toàn
SKҫQ
So sánh WKҿ FӫD WҩW Fҧ cácPөF
+RһF EҧQJ (trang) tra FӭXriêng
7әQJ Vӕ PөF0
Trang 61Q3: Thay WKӃ PөF nào khi có WUѭӧW
SET-HUST, 22/03/2011 62
GөQJ UҩW WӕQ kém
Trang 62Q4: Làm gì khi ghi?
PӭF Eӝ QKӟ KLӋQ WҥL và PӭF Eӝ QKӟ NӃ WLӃS trong phân FҩS Eӝ QKӟ
z Luôn ÿѭӧF NӃW KӧS cùng Eӝ ÿӋP ghi ÿӇ ORҥL Eӓ WKӡL gian FKӡ ghi vào Eӝ QKӟ ӣPӭF NӃ WLӃS (cho ÿӃQ khi Eӝ ÿӋP ghi FKѭD ÿҫ\)
Eӝ QKӟ KLӋQ WҥL 0өF Eӏ thay ÿәL ÿѭӧF ghi vào PӭF Eӝ QKӟ NӃ WLӃS khi
nó Eӏ thay WKӃ
z &ҫQ ELW³EҭQ´ÿӇ theo dõi 1 PөF là Eӏ thay ÿәL hay không
z +Ӌ WKӕQJ Eӝ QKӟ ҧR luôn dùng SKѭѫQJ pháp ghi sau YӟL các trang ÿѭӧF ÿiQK GҩX ³EҭQ´
Trang 637әQJ NӃW
SET-HUST, 22/03/2011 64
&KѭѫQJ%ӝQKӟ- 3KkQFҩSEӝQKӟ
z &KѭѫQJ trình có WKӇ truy FұS vào PӝW SKҫQ khá QKӓ không gianÿӏD FKӍ WҥL 1 WKӡL ÿLӇP
- &өF Eӝ WKӡL gian - Temporal Locality
- &өF Eӝ không gian - Spatial Locality