,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
/DPHPRULDFDFKH
$FXUDGL
/XFD%UHYHJOLHUL *LXVHSSH3R]]L 'RQDWHOOD6FLXWR
DEIPoliMI0LODQR
OXFDEUHYHJOLHULJLXVHSSHSR]]LGRQDWHOODVFLXWR#SROLPLLW
YHUVLRQHGHOO¶DSULOH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
/DPHPRULDFDFKH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
2ELHWWLYR
&RPHPLJOLRUDUHOHSUHVWD]LRQL
DWWUDYHUVRLOVLVWHPDGLPHPRULD
/DJHUDUFKLDGLPHPRULD
/HPHPRULHFDFKHDUFKLWHWWXUH
$QDOLVLGHOOHSUHVWD]LRQLGHOODPHPRULD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
2ELHWWLYR
IRUQLUHDJOLXWHQWL XQDPHPRULDJUDQGHHYHORFH
IRUQLUHDOSURFHVVRUHLGDWLDOODYHORFLWjFRQFXLqLQ
JUDGRGLHODERUDUOL
3UREOHPD,OWDVVRGLFUHVFLWDQHOODYHORFLWjGHL
SURFHVVRULQRQqVWDWRVHJXLWRGDTXHOORGHOOH
PHPRULH
7HPSRGLDFFHVVRDOOH65$0 QVDOFRVWRGL
SHU 0E\WH
7HPSRGLDFFHVVRDOOH'5$0 QVDOFRVWRGL
SHU 0E\WH
7HPSRGLDFFHVVRDOGLVFRGDD PLOOLRQQVDO FRVWR GL SHU 0E\WH
,OSUREOHPDGHOODPHPRULD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHVWD]LRQLGLSURFHVVRULHFDFKH
µProc 60%/anno (2X/1.5yr)
DRAM 9%/anno (2X/10 anni) 1
10 100 1000
1980 1981 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
DRAM CPU
1982
Divario di prestazioni Processore-Memoria (cresce 50% / anno)
Prestazioni
Tempo
Legge di Moore
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
6ROX]LRQHJHUDUFKLDGL
PHPRULD
8WLOL]]DUHGLYHUVL
OLYHOOLGLPHPRULD
FRQWHFQRORJLH
GLYHUVHLQPRGRGD
RWWHQHUHXQEXRQ
FRPSURPHVVR
FRVWRSUHVWD]LRQL
CPU
Incremento del tempo di accesso da parte della CPU
Dimensioni della memoria ad ogni livello Livelli
della gerarchia di
memoria Livello 2
Livello 1
Livello n
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
/LYHOOL GHOODJHUDUFKLDGLPHPRULD
Registri CPU 100s Bytes
<10s ns
Cache K Bytes 10-100 ns 1-0.1 cents/bit
Memoria centrale M Bytes 200ns- 500ns
$.0001-.00001 cents /bit Disco
G Bytes, 10 ms (10,000,000 ns) 10 - 10 cents/bit-5 -6 Capacità Tempo di accesso Costo
Nastro infinito sec-min 10 -8
Registri
Cache
Memoria
Disco
Nastro
Istr. Operandi
Blocchi
Pagine
Files
Predisposizione Unità di trasf.
prog./compilatore 1-8 bytes
Controlore cache 8-128 bytes
OS 512-4K bytes
utente Mbytes
Livello superiore
Livello inferiore + veloce
+ grande
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
/RFDOLWj
,OSULQFLSLRFKHUHQGHODJHUDUFKLDGLPHPRULD
XQDEXRQDLGHDSHULQFUHPHQWDUHOH
SUHVWD]LRQLGHOVLVWHPDGLPHPRULD
/RFDOLWjLQRJQLLVWDQWHGLWHPSRXQ
SURJUDPPDDFFHGHDXQDSDUWHUHODWLYDPHQWH
SLFFRODGHOVXRVSD]LRGLLQGLUL]]DPHQWR
(VLVWRQRGXHGLYHUVLWLSLGLORFDOLWjWHPSRUDOH HVSD]LDOH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,OSULQFLSLRGLORFDOLWj
/RFDOLWjWHPSRUDOH VHXQGDWRYLHQH
UHIHUHQ]LDWRLQXQGDWRLVWDQWHqSUREDELOHFKH
ORVWHVVRGDWRYHQJDQXRYDPHQWHULFKLHVWRHQWUR
EUHYH
/RFDOLWj6SD]LDOH 6HXQGDWRYLHQHXWLOL]]DWRLQ
XQGDWRLVWDQWHqSUREDELOHFKHGDWLSRVL]LRQDWL
LQFHOOHGLPHPRULDDGLDFHQWLYHQJDQRDQFK¶HVVL
ULFKLHVWLHQWUREUHYH
1HJOLXOWLPL DQQLOHWHFQLFKHGLPLJOLRUDPHQWR
GHOOHSUHVWD]LRQLQHOO¶KDUGZDUHVLVRQREDVDWHVXO
SULQFLSLRGLORFDOLWj
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
*HUDUFKLDGLPHPRULD
6LFRQVLGHULQRVRORGXHOLYHOOLGLJHUDUFKLD
,OSURFHVVRUHULFKLHGHXQGDWRDOVLVWHPDGL
PHPRULD
/DULFKLHVWDYLHQHSULPDLQYLDWDDOOLYHOORGLPHPRULD
VXSHULRUHSLYLFLQRDOSURFHVVRUH
6HLOGDWRQRQqSUHVHQWHQHOOLYHOORVXSHULRUH
IDOOLPHQWRGHOODULFKLHVWDODULFHUFDYLHQH
HIIHWWXDWDQHOOLYHOORLQIHULRUH
Livello inf di memoria Livello sup.
di memoria Al Processore
Dal Processore
blocco X
blocco Y
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
*HUDUFKLDGLPHPRULD
GHILQL]LRQL
+LW VXFFHVVRGDWL SUHVHQWLLQXQEORFFRGHO
OLYHOORVXSHULRUH HVHPSLR%ORFFR ;
+LW5DWH WDVVRGLVXFFHVVRQXPHURGLDFFHVVLD
PHPRULDFKHWURYDQRLOGDWRQHOOLYHOORVXSHULRUHVXO
QXPHURWRWDOHGLDFFHVVL
+LW7LPH WHPSRGLVXFFHVVRWHPSRSHUDFFHGHUHDO
GDWRQHOOLYHOORVXSHULRUHGHOODJHUDUFKLD
7HPSRGLDFFHVVRDOOD5$0WHPSRSHU
GHWHUPLQDUHVXFFHVVRIDOOLPHQWRGHOODULFKLHVWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
0LVV IDOOLPHQWRLGDWLGHYRQRHVVHUH
UHFXSHUDWLGDOOLYHOORLQIHULRUHGHOOD
PHPRULD %ORFFR <
0LVV5DWHWDVVRGLIDOOLPHQWR
+LW5DWH
0LVV3HQDOW\ WHPSRGLIDOOLPHQWRWHPSR
QHFHVVDULRD VRVLWXLUH XQEORFFRQHOOLYHOOR
VXSHULRUHWHPSRSHUWUDVIHULUHLOEORFFR
DOSURFHVVRUH
+LW7LPH0LVV3HQDOW\
*HUDUFKLDGLPHPRULD
GHILQL]LRQL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
0HPRULDDOOLYHOORVXSHULRUHGHOOD
JHUDUFKLD
6IUXWWDUHLOSULQFLSLRGLORFDOLWjGHL
SURJUDPPLHWHQHUHLQPHPRULDFDFKHL
GDWLXWLOL]]DWLSLGLUHFHQWH
2ELHWWLYRIRUQLUHGDWLDOSURFHVVRUHLQ
XQRRGXHFLFOLGL FORFN
0HPRULDFDFKHYHORFHQHLWHPSLGL
DFFHVVRPDGLGLPHQVLRQLULGRWWH
&DFKH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHHSULQFLSLRGLORFDOLWj
/HPHPRULHFDFKHVIUXWWDQRLOSULQFLSLR
GLORFDOLWjVSD]LDOHWUDVIHUHQGRGDOOLYHOOR
LQIHULRUHGHOODJHUDUFKLDSLGDWLGL
TXDQWLQRQQHVLDQRVWDWLVWUHWWDPHQWH
ULFKLHVWLEORFFRROLQHDGLFDFKH
/DORFDOLWjWHPSRUDOHYLHQHVIUXWWDWD
QHOODVFHOWDGHOEORFFRGDVRVWLWXLUHQHOOD
JHVWLRQHGLXQIDOOLPHQWRHVVRVWLWXLUH
LOEORFFRDFXLVLqIDWWRDFFHVVRPHQRGL
UHFHQWH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
0HPRULDFDFKH
RUJDQL]]D]LRQH
'XHSUREOHPL
&RPHYHULILFRVHXQGDWRqSUHVHQWHLQ
FDFKH"
6HORqGRYHORWURYR"
3ULPRHVHPSLR
GLPHQVLRQHGHOODOLQHDGLFDFKH XQ GDWR
XQDSDURODGLPHPRULD
,QGLUL]]DPHQWRGLUHWWR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
0DSSLQJO¶LQGLUL]]RGHOGDWRLQFDFKH
FRUULVSRQGHDOO¶LQGLUL]]RLQPHPRULD
PRGXORLOQXPHURGLEORFFKL
&DFKH DLQGLUL]]DPHQWRGLUHWWR
00001 00101 01001 01101 10001 10101 11001 11101
000
Cache
Memory 001 010 011 100 101 110 111
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QGLUL]]DPHQWRQHOODFDFKHD
LQGLUL]]DPHQWRGLUHWWR
Memory
4 Byte Direct Mapped Cache Memory Address
0 1 2 3 4 5 6 7 8 9 A B C D E F
Cache Index 0
1 2 3
Ad ogni indirizzo di memoria corrisponde una ed una sola posizione nella cache.
Ad ogni posizione della cache corrispondono più indirizzi di memoria di livello inferiore
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHDLQGLUL]]DPHQWRGLUHWWR
3RVL]LRQH SXzHVVHUHRFFXSDWDGDGDWL
SURYHQLHQWLGD
,QGLUL]]LGLPHPRULD HWF
,QJHQHUDOHRJQLLQGLUL]]RGLPHPRULDLFXL
ELWPHQRVLJQLILFDWLYLGHOO¶LQGLUL]]RVRQR
,QGLUL]]R! !SRVL]LRQHLQFDFKH
4XDOHGDWRYDSRVWRLQFDFKH"
&RPHLGHQWLILFDUH XQLYRFDPHQWH LOGDWR
LQFDFKH"
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKH DLQGLUL]]DPHQWRGLUHWWRGL
.%\WH%\WH OLQHHGLFDFKH
3HUXQDFDFKH GL 1 E\WH
, 1ELW SLVLJQLILFDWLYLFRUULVSRQGRQRVHPSUH
DOO¶HWLFKHWWD
*OL 0ELWPHQRVLJQLILFDWLYLSHUPHWWRQRODVHOH]LRQHGHO
VLQJROR%\WHGLPHQVLRQHGHOODOLQHDGLFDFKH 0 E\WH
,QGLUL]]LGLPHPRULDGDELW.%\WHFDFKHFRQ
OLQHHGLFDFKHGD%\WHELWGLHWLFKHWWD
ELWSHUOLQHDGLFDFKHHELWPHQRVLJQLILFDWLYL
SHULQGLUL]]DUHLOVLQJRORE\WH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QGLUL]]DPHQWRQHOOHFDFKHD
LQGLUL]]DPHQWRGLUHWWR
,QGLUL]]RGLPHPRULDGL1ELWGLYLVRLQ
FDPSL
%ELWPHQRVLJQLILFDWLYLSHUPHWWRQRGLLQGLYLGXDUH
LOVLQJRORE\WHGHOODSDURODQHOODOLQHDGLFDFKH
6HODSDURODQRQqLQGLUL]]DELOHSHUE\WH%
.ELWSHULGHQWLILFDUHODSDURODDOO¶LQWHUQRGHOOD
OLQHDGLFDFKH
6HODOLQHDFRQWLHQHXQDVRODSDUROD.
0ELWSHULQGLYLGXDUHODSRVL]LRQHGHOODOLQHDGL
FDFKH
10.ELWGLHWLFKHWWDSHUYHULILFDUHFKHODOLQHD
GLFDFKHFRQWHQJDHVDWWDPHQWHO¶LQGLUL]]R
FHUFDWR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
(VHPSLR
,QGLUL]]LGLPHPRULDDELW
&DFKHDLQGLUL]]DPHQWRGLUHWWRFRQXQD
SDURODGLE\WHSHUOLQHDGLFDFKHH
OLQHHGLFDFKH
6WUXWWXUDGHOO¶LQGLUL]]RGLPHPRULD
%LWHSHULQGLYLGXDUHLOVLQJRORE\WH
%LWSHULQGLYLGXDUHODOLQHDGLFDFKH
%LWFRPHHWLFKHWWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHDLQGLUL]]DPHQWRGLUHWWR
Address (showing bit positions)
20 10
Byteı offset
Valid Tag Data
Index 0 1 2
1021 1022 1023 Tag
Index
Hit Data
20 32
31 30 13 12 11 2 1 0
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKH DLQGLUL]]DPHQWRGLUHWWR
3HUVIUXWWDUHODORFDOLWjVSD]LDOH OLQHDGL
FDFKHGLGLPHQVLRQLPDJJLRULHVSDUROH
31 30 29 28 27 ………16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Spiazzamento byte
4 K elementi Dati
Successo
D ato
128 bit Spiazzamento blocco
16 bit Indice Etichetta
Etichetta V
= 32 16
12 16
Indirizzo (con l’indicazione della posizione dei bit)
32 32 32
2
Multiplexer
32
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
6WUXWWXUDGHOOHFDFKHD
LQGLUL]]DPHQWRGLUHWWR
2JQLSRVL]LRQHGHOODFDFKHLQFOXGH
9DOLG ELW FKHLQGLFDVHTXHVWDSRVL]LRQH
FRQWLHQHRPHQRGDWLYDOLGL4XDQGRLO
FDOFRODWRUHYLHQHDFFHVRWXWWHOHSRVL]LRQL
GHOODFDFKHVRQRVHJQDODWHFRPH121YDOLGH
&DPSRHWLFKHWWD FKHFRQWLHQHLOYDORUHFKH
LGHQWLILFD XQLYRFDPHQWH O¶LQGLUL]]RGLPHPRULD
FRUULVSRQGHQWHDLGDWLPHPRUL]]DWL
&DPSRGDWL FKHFRQWLHQHXQDFRSLDGHLGDWL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QWHUD]LRQHWUDSURFHVVRUHHFDFKH
OHWWXUDRVFULWWXUDGLXQGDWR
6XFFHVVRLQOHWWXUDGLXQGDWR
2ELHWWLYRGDUDJJLXQJHUH
)DOOLPHQWRQHOODOHWWXUDGLXQGDWR
VWDOOR GHOOD &38ULFKLHVWDGHO EORFFR FRQWHQHQWHLOGDWRFHUFDWRDOODPHPRULD
FRSLDLQ FDFKHULSHWL]LRQH GHOO¶RSHUD]LRQH
GLOHWWXUDLQFDFKH
+LWYV0LVV LQOHWWXUD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
+LWYV 0LVVLQVFULWWXUD
6XFFHVVRQHOODVFULWWXUD
6RVWLWX]LRQHGHOGDWRVLDLQFDFKHVLDLQPHPRULD ZULWHWKURXJK
6FULWWXUD GHOGDWR VRORQHOOD FDFKHZULWHEDFNOD
FRSLDLQPHPRULDDYYLHQHLQXQVHFRQGRPRPHQWR
)DOOLPHQWRQHOODVFULWWXUD
VWDOOR GHOOD &38ULFKLHVWDGHO EORFFR FRQWHQHQWHLO
GDWRFHUFDWRDOODPHPRULDFRSLDLQ FDFKH
ULSHWL]LRQHGHOO¶RSHUD]LRQHGLVFULWWXUD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$XPHQWRGHOOHGLPHQVLRQLGHOODOLQHDGLFDFKH
EORFFRWHQGHDULGXUUHLOQXPHURGHLPLVV
3UHVWD]LRQL
1 KBı 8 KBı 16 KBı 64 KBı 256 KB
256 40%
35%
30%
25%
20%
15%
10%
5%
0%
Miss rate
64 16
4
Block size (bytes)
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
0LJOLRUDPHQWRGHOOH
SUHVWD]LRQL
0LJOLRUDUHVLDODUJKH]]DGLEDQGDYHORFLWjGL
HVHFX]LRQHVLDODWHQ]DWHPSRQHFHVVDULRSHU
VYROJHUHO¶RSHUD]LRQHXVRGLFDFKHPXOWLSOH
,QWURGXUUHXQDFDFKHVHSDUDWDSHULVWUX]LRQLH
GDWLVSOLW FDFKH
/HRSHUD]LRQLGLOHWWXUDVFULWWXUDSRVVRQRHVVHUH
VYROWHLQPRGRLQGLSHQGHQWHLQRJQLFDFKHÖ UDGGRSSLDODUJKH]]DGLEDQGDGHOODPHPRULD
3URFHVVRUHQHFHVVLWDGLGXHSRUWHGLFROOHJDPHQWR
DOODPHPRULD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
8WLOL]]RGLGXHFDFKHULVXOWDWL
VSHULPHQWDOL
Programma
Dim. Blocco (n. Parole)
Miss rate istruzioni
Miss rate dati
Miss rate globale effettivo
gcc 1 6.1% 2.1% 5.4%
4 2.0% 1.7% 1.9%
spice 1 1.2% 1.3% 1.2%
4 0.3% 0.6% 0.4%
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
$QDOLVLGHOOHSUHVWD]LRQL
0RGHOORVHPSOLILFDWR
7HPSRGLHVHFX]LRQH FLFOLGLHVHFX]LRQH
FLFOLGLVWDOOR × SHULRGRGHOFLFOR
&LFOLGLVWDOOR LVWUX]LRQL × PLVVUDWH × PLVV
SHQDOW\
'XHPRGLSHUPLJOLRUDUHOHSUHVWD]LRQL
ULGXUUH PLVVUDWH
ULGXUUHLO PLVVSHQDOW\
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
5LGXUUHLOPLVVUDWHPHGLDQWH DVVRFLDWLYLWj
Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Eight-way set associative (fully associative)
Tag Data Tag Data Tag Data Tag Data Four-way set associative Set
0 1
Tag Data One-way set associativeı
(direct mapped) Block
0
7 1 2 3 4 5 6
Tag Data Two-way set associative Set
0 1 2 3
Tag Data
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHFRPSOHWDPHQWH
DVVRFLDWLYH
8QGDWRSXzHVVHUHPHPRUL]]DWRLQ
TXDOXQTXHSRVL]LRQHGHOODFDFKH
1RQHVLVWHXQDUHOD]LRQHWUDLQGLUL]]RGL
PHPRULDGHOGDWRHSRVL]LRQHLQFDFKH
6WUXWWXUDGHOO¶LQGLUL]]RGLPHPRULDGL1
ELWFRQOLQHHGLFDFKHGL0 E\WH
0ELWPHQRVLJQLILFDWLYLGHOO¶LQGLUL]]R
LQGLYLGXDQRLOE\WHQHOODFDFKH
10ELWSLVLJQLILFDWLYLHWLFKHWWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHDVVRFLDWLYH
5LFHUFDGLXQGDWRQHOODFDFKHULFKLHGHLO
FRQIURQWRGLWXWWHOHHWLFKHWWHSUHVHQWLLQ
FDFKHFRQO¶HWLFKHWWDGHOO¶LQGLUL]]RGLPHPRULD
ULFKLHVWR
3HUDXPHQWDUHOHSUHVWD]LRQLODULFHUFD
DYYLHQHLQSDUDOOHOR
,QFDVRGLIDOOLPHQWRGHOODULFHUFDqQHFHVVDULR
FRSLDUHLOGDWRGDOODPHPRULDFHQWUDOH
6HODFDFKHqSLHQDQHFHVVDULRVRVWLWXLUHXQ
GDWR4XDOH"
6FHOWDFDVXDOH
6FHOWDGHOGDWRPHQRXWLOL]]DWRGLUHFHQWH/58
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHVHWDVVRFLDWLYH
2JQLEORFFRSXz HVVHUHPHVVRLQXQ
QXPHURSUHILVVDWRGLSRVL]LRQLDOPHQR
GXH
8QDFDFKHVHW-DVVRFLDWLYDLQFXLXQ
EORFFRSXz DQGDUHLQQ SRVL]LRQLYLHQH
GHILQLWDVHW-DVVRFLDWLYDDQ YLH
8QDFDFKHVHW-DVVRFLDWLYDDQ YLHq FRVWLWXLWDGDQXPHURVLLQVLHPLRJQXQR
GHLTXDOLFRPSUHQGHQ EORFFKL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHVHWDVVRFLDWLYH
2JQLEORFFRGHOODPHPRULDFRUULVSRQGH
DGXQXQLFRLQVLHPH GHOODFDFKHHGLO
EORFFRSXz HVVHUHPHVVRLQXQR
TXDOVLDVL GHJOLHOHPHQWLGLTXHVWR
LQVLHPH
&RPELQDODPRGDOLWjDLQGLUL]]DPHQWR
GLUHWWRSHUJOLLQVLHPLGHOODFDFKHHOD
PRGDOLWjFRPSOHWDPHQWHDVVRFLDWLYDSHU
LEORFFKLDOO¶LQWHUQRGHOO¶LQVLHPH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,QGLUL]]DPHQWRQHOOHFDFKH
VHWDVVRFLDWLYH
8QLQGLUL]]RGLPHPRULDGL1ELWq
VXGGLYLVRLQFDPSL
%ELWPHQRVLJQLILFDWLYLSHULQGLYLGXDUHLO
E\WHDOO¶LQWHUQRGHOODSDUROD
.ELWSHULQGLYLGXDUHODSDURODDOO¶LQWHUQR
GHOEORFFR
0ELWSHULQGLYLGXDUHO¶LQVLHPH
10.%FRPHHWLFKHWWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHVHWDVVRFLDWLYD
&DFKHDGXHYLHLQVLHPLGLEORFFKL
(TXLYDOHDGDYHUHGXHFDFKHDLQGLUL]]DPHQWR
GLUHWWRFKHRSHUDQRLQSDUDOOHOR
/DSDUWHGLLQGLUL]]RFKHLQGLYLGXDO¶LQVLHPH
VHOH]LRQDLGXHEORFFKLGHOODFDFKH
/HGXHHWLFKHWWHYHQJRQRFRQIURQWDWHLQ
SDUDOOHORFRQTXHOODGHOO¶LQGLUL]]RFHUFDWR
,OGDWRYLHQHVHOH]LRQDWRLQEDVHDOULVXOWDWR
GHLGXHFRQIURQWL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKH 6HW$VVRFLDWLYD D
GXHYLH
Dati cache Blocco 0 Etichetta
Valido
:
: :
Dati cache Blocco 0
Etichetta Valido
: :
:
Insieme
Mux 0
Sel11 Sel0
Blocco cache Etich. ind. =?
OR Hit
Etich. ind.
=?
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHVHWDVVRFLDWLYDDYLH
,QGLUL]]RGLPHPRULDELW
0HPRULDFDFKH.%\WHLQGLUL]]DELOHSHUE\WH
SDURODGD%\WHSHUEORFFR
2UJDQL]]D]LRQHGHOO¶LQGLUL]]R
%LWHSHULQGLUL]]DUHLE\WH
1XPHUREORFFKLQHOODFDFKH GLPHQVLRQLGHOOD
FDFKHGLPHQVLRQLGHOEORFFR
1XPHURGLLQVLHPLQHOODFDFKH QXPHURGLEORFFKL
GLPHQVLRQLGHOO¶LQVLHPH
%LWLQGLUL]]RGHOO¶LQVLHPHQHOODFDFKH
%LWHWLFKHWWD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&DFKHVHWDVVRFLDWLYDDYLH
3 1 3 0 2 9 2 8 2 7 … … … 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 8 7 6 5 4 3 2 1 0 I n d i r i z z o
D a t o E t i c h e t t a V
2 5 5 2 5 4 2 5 3 2 1 0 In d i c e
D a t i S u c c e s s o
M u l t i p l e x e r d a 4 a 1
=
2 2 8
D a t o E t i c h e t t a
V V E t i c h e t t a D a t o V E t i c h e t t a D a t o
= = =
2 2 3 2
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHVWD]LRQL
0%
3%
6%
9%
12%
15%
Eight-way Four-way
Two-way One-way
1 KBı 2 KBı 4 KBı 8 KB
Miss rate
Associativity 16 KBı
32 KBı 64 KBı 128 KB
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RQIURQWRWUDGLYHUVH
RUJDQL]]D]LRQLGLFDFKH
&DFKHVHWDVVRFLDWLYDD1YLH Y&DFKHD
LQGLUL]]DPHQWRGLUHWWR
1FRPSDUDWRUL YV
8QULWDUGRGRYXWRDO08;DJJLXQWLYRSHULGDWL
'DWLVRQRGLVSRQLELOLVROR'232 LOVHJQDOHGL
+LW0LVV
,QXQD FDFKH DLQGLUL]]DPHQWRGLUHWWRLO
EORFFRGLFDFKHULFKLHVWRqGLVSRQLELOH35,0$
GHOVHJQDOHGL +LW0LVV
3RVVLELOHLSRWL]]DUHXQVXFFHVVRHTXLQGL
SURVHJXLUH 6LUHFXSHUD VXFFHVVLYDPHQWHVHVL
WUDWWDYDLQUHDOWjGLXQIDOOLPHQWR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RQFOXVLRQLGRPDQGHVX
JHUDUFKLDGLPHPRULD
4'RYHSRUWDUHXQEORFFRQHOOLYHOORGL
PHPRULDVXSHULRUH"3RVL]LRQDPHQWR GHOEORFFR
4&RPHVLLGHQWLILFDXQEORFFRVHVLWURYDQHO
OLYHOORVXSHULRUH" ,GHQWLILFD]LRQHGHOEORFFR
44XDOHEORFFR GHYHHVVHUHVRVWLWXLWRQHOFDVR
GLXQIDOOLPHQWR" 6RVWLWX]LRQHGHOEORFFR
4&RVDVXFFHGHGXUDQWHXQDVFULWWXUD"
6WUDWHJLDGLVFULWWXUD
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3RVL]LRQDPHQWR GHOEORFFR
,QGLUL]]DPHQWRGLUHWWR
3RVL]LRQHXQLYRFDLQGLUL]]RGLPHPRULD
PRGXORQXPHURGHLEORFFKLLQFDFKH
&RPSOHWDPHQWHDVVRFLDWLYD
3RVL]LRQHTXDOXQTXHDOO¶LQWHUQRGHOODFDFKH
6HWDVVRFLDWLYD
3RVL]LRQHOLEHUDDOO¶LQWHUQRGHOO¶LQVLHPH
,QVLHPH LQGLUL]]RGLPHPRULDQXPHURGHL
EORFFKLPRGXORQXPHURGHJOLLQVLHPL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
,GHQWLILFD]LRQHGHOEORFFR
,QGLUL]]DPHQWRGLUHWWR
&DOFRORSRVL]LRQH
9HULILFDHWLFKHWWDHYHULILFDELWYDOLGR
&RPSOHWDPHQWHDVVRFLDWLYR
&RQIURQWDHWLFKHWWDLQRJQLEORFFRHYHULILFDELW
YDOLGR
6HWDVVRFLDWLYR
,GHQWLILFDLQVLHPH
&RQIURQWDHWLFKHWWHGHOO¶LQVLHPHHYHULILFDELW
YDOLGR
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
6RVWLWX]LRQHGHOEORFFR
'HILQLWRGDOO¶LQGLUL]]RQHOOHFDFKHD
LQGLUL]]DPHQWRGLUHWWR
&DFKHVHWDVVRFLDWLYH RUFRPSOHWDPHQWH DVVRFLDWLYH
&DVXDOH
/58/HDVW5HFHQWO\8VHG
$VVRFLDWLYLWj ZD\ ZD\ ZD\
'LP/58 &DVXDOH/58 &DVXDOH/58 &DVXDOH
.%
.%
.%
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
6WUDWHJLHGLVFULWWXUDGLXQ
EORFFR
:ULWHWKURXJK ²/¶LQIRUPD]LRQHYLHQH
VFULWWDVLDQHOEORFFRGHOOLYHOORVXSHULRUH
VLDQHOEORFFRGLOLYHOORLQIHULRUHGHOOD
PHPRULD
:ULWHEDFN ²/¶LQIRUPD]LRQHYLHQH
VFULWWDVRORQHOEORFFRGLOLYHOORVXSHULRUH ,OOLYHOORLQIHULRUHYLHQHDJJLRUQDWRVROR
TXDQGRDYYLHQHODVRVWLWX]LRQHGHO
EORFFRGLOLYHOORVXSHULRUH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
6WUDWHJLHGLVFULWWXUD
:ULWHEDFN
3HURJQLEORFFRGLFDFKHqQHFHVVDULR
PDQWHQHUHO¶LQIRUPD]LRQHVXOODVFULWWXUD
$GRJQLEORFFRqDVVRFLDWRXQELW
02',),&$FKHLQGLFDVHLOEORFFRLQFDFKH
qVWDWRPRGLILFDWRRPHQRHYDTXLQGL
FRSLDWRLQPHPRULDLQFDVRGLVRVWLWX]LRQH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
&RQIURQWRWUDVWUDWHJLHGL
VFULWWXUD
:ULWH7KURXJKIDOOLPHQWLLQOHWWXUHQRQVL
WUDPXWDQRLQVFULWWXUHLQPHPRULDSHQDOLWjGL
IDOOLPHQWRSLOXQJD
:ULWH%DFNQRQVLKDQQRDJJLRUQDPHQWL
ULSHWXWLGHOOHVWHVVHFHOOHGLPHPRULD
/¶DJJLRUQDPHQWRDYYLHQHXQDYROWDVROD
:ULWH7KURXJK YLHQHUHDOL]]DWRFRQEXIIHU GL
VFULWWXUD SHUQRQDXPHQWDUHWURSSRLWHPSLGL
VFULWWXUDGRYXWLDOOHLQIHULRULSUHVWD]LRQLGHOOD
PHPRULDGLOLYHOORLQIHULRUH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
%XIIHU GLVFULWWXUD SHU :ULWH
7KURXJK
1HFHVVDULRXQEXIIHUGLVFULWWXUDWUD &DFKH
H 0HPRULD
3URFHVVRUHVFULYHLGDWLLQFDFKHHQHOEXIIHU
GLVFULWWXUD
&RQWUROORUHGLPHPRULDVFULYHLFRQWHQXWLGHO
EXIIHULQPHPRULD
Processor Cache
Write Buffer
DRAM
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
7HPSRGLDFFHVVRDOOD
PHPRULD
7HPSRPHGLRGLDFFHVVRDOODPHPRULD
7DVVRGLVXFFHVVR[ WHPSRGLDFFHVVRDFDFKH
7DVVRGLIDOOLPHQWR [3HQDOLWjGLIDOOLPHQWR QVR FLFOLGLFORFN
7DVVRGLIDOOLPHQWR ± 7DVVRGLVXFFHVVR
3HQDOLWjGLIDOOLPHQWR
7HPSRGLDFFHVVRDOOLYHOORLQIHULRUHIODWHQ]DOLYHOOR
LQIHULRUH
7HPSRGLWUDVIHULPHQWRGLXQEORFFRGDOOLYHOORLQIHULRUH
IODUJKH]]DGLEDQGDWUDLGXHOLYHOOL
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
5LGX]LRQHGHOODSHQDOLWjGL
IDOOLPHQWRFDFKHPXOWLOLYHOOR
$JJLXQWDGLXQVHFRQGROLYHOORGLFDFKH
6SHVVRODFDFKHSULPDULDqSRVL]LRQDWDVXOORVWHVVR
FKLSGHOSURFHVVRUHGLPHQVLRQLULGRWWH
6LSRVVRQRXWLOL]]DUH 65$0 SHUDJJLXQJHUHXQD
FDFKHSULPDGHOODPHPRULDFHQWUDOH '5$0
3HQDOLWjGLIDOOLPHQWRVLULGXFHVHLOGDWRq
GLVSRQLELOHQHOVHFRQGROLYHOORGLFDFKHWHPSLGL
DFFHVVRLQIHULRUL
8WLOL]]RGLFDFKHPXOWLOLYHOOR
&HUFDUHGLRWWLPL]]DUHLOWHPSRGLVXFFHVVRGHOOD
FDFKHGLSULPROLYHOOR
&HUFDUHGLRWWLPL]]DUHLOWDVVRGLIDOOLPHQWRGHO
VHFRQGROLYHOORGLFDFKH
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
2UJDQL]]D]LRQHFDFKHDGXH
OLYHOOL
CPU chip
Cache istruzioni L1 Cache dati L1
Cache L2
Memoria centrale
BUS
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
3UHVWD]LRQLFRQGXHOLYHOOLGL
FDFKH
7HPSRPHGLRGLDFFHVVRDOODPHPRULD
7DVVRGLVXFFHVVR/[ WHPSRGLDFFHVVRDFDFKH/
WDVVRGLVXFFHVVR /[ WDVVRGLVXFFHVVR/[WHPSR
GLDFFHVVRDFDFKH/
WDVVRGLVXFFHVVR /[ WDVVRGLVXFFHVVR /[
SHQDOLWjGLIDOOLPHQWR/
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD
/RVSD]LRGLSURJHWWRGHOOH
FDFKH
'LYHUVHGLPHQVLRQLLQWHUDJHQWL
'LPHQVLRQHGHOOHFDFKH
'LPHQVLRQHGHLEORFFKL
$VVRFLDWLYLWj
3ROLWLFDGLVRVWLWX]LRQH
3ROLWLFDGLVFULWWXUDZULWHWKURXJK YV ZULWHEDFN
/DVFHOWDRWWLPDqVHPSUHXQFRPSURPHVVR
'LSHQGHGDOOHFDUDWWHULVWLFKHGLDFFHVVR
FDULFRGLODYRURXVR ,FDFKH'FDFKH
'LSHQGHGDWHFQRORJLHFRVWL
/DVFHOWDPLJOLRUHqVSHVVRODSLVHPSOLFH
Associativity Cache Size
Block Size
,QIRUPDWLFD,, ,OOLYHOORGLPLFURDUFKLWHWWXUD