Sommario
Capitolo 1 Stato dell’arte
.………... 11.1 Memorie cache L2 tradizionali.………. 1
1.2 Memorie cache NUCA.………. 2
1.2.1 S-NUCA Private Channels.………... 2
1.2.2 S-NUCA Switched Channels.………... 4
1.3 Memorie cache D-Nuca.………... 5
1.3.1 Mapping dei blocchi.………... 6
1.3.2 Ricerca di un blocco.……….. 7
1.3.3 Promozione di un blocco.………... 7
1.3.4 Inserzione di un blocco.……….. 8
1.4 Confronto prestazioni.………... 8
1.5 Tecnica way-adapting.………... 10
1.6 Definizione di una cache D-Nuca Way-adaptable.………... 13
1.7 Le Fasi della simulazione.………... 14
Capitolo 2 Overhead di riconfigurazione per memorie cache D-Nuca
………… …Way-Adaptable
………... 152.1 Consumo Di Potenza.……… 15
2.2 Relazione tra consumo di potenza e prestazioni.……….. 16
Capitolo 3 Strumenti utilizzati
………... 193.1 Simulatore.………... 19
3.1.1 Sim-alpha way-adapting.……… 19
3.2 Configurazione cache D-NUCA.……….. 21
3.3 Benchmark.………... 24
Capitolo 4 Risultati
………... 25 4.1 Applu.……… 27 4.2 Art.………... 30 4.3 Bt.………... 33 4.4 Bzip2.………... 36 4.5 Cg.………... 39 4.6 Equake.………... 42 4.7 Galgel.………... 45 4.8 Gcc.………... 48 4.9 Mcf.………... 51 4.10 Mesa.………... 54 4.11 Mgrid………... 57 4.12 Parser.………... 60 4.13 Perlbmk.……….. 63 4.14 Sp.………... 66 4.15 Twolf.………... 69 4.16 Risultati Finali.………... 734.17 Consumo di Potenza..……….. 74
Conclusioni
.………... 79Elenco delle figure
Figura 1.2.1 - Organizzazione interna di una S-Nuca-1………... 2
Figura 1.2.2 - Organizzazione interna di una S-Nuca-2………... 4
Figura 1.3 - Architettura D-Nuca……….. 5
Figura 1.3.1 - Strategie di mapping……….. 6
Figura 1.5.1 - Modelli di località……….. 11
Figura 1.5.2 - Zone di funzionamento del meccanismo di way-adapting………. 11
Figura 1.5.3 - Diagramma delle transizioni della macchina a stati………... 12
Figura 1.7 - Fasi della simulazione……… 14
Figura 2.2.1 - Relazione IPC e Potenza……… 16
Figura 3.2.1 - Architettura della memoria a livelli………... 21
Figura 3.2.2 - Indirizzo fisico di una cache D-Nuca………. 22
Figura 3.2.3 - Routine in una cache D-Nuca……… 22
Figura 4.1.1 - Applu IPC………... 27
Figura 4.1.2 - Riconfigurazioni con Delay = 0……….. 27
Figura 4.1.3 - Distribuzione hit con Delay = 0………... 27
Figura 4.1.4 - Riconfigurazioni con Delay = 100……….. 27
Figura 4.1.5 - Distribuzione hit con Delay = 100………. 27
Figura 4.1.6 - Riconfigurazioni con Delay = 1.000………... 28
Figura 4.1.7 - Distribuzione hit con Delay = 1.000……….. 28
Figura 4.1.8 - Riconfigurazioni con Delay = 10.000………. 28
Figura 4.1.9 - Distribuzione hit con Delay = 10.000……… 28
Figura 4.1.10 - Riconfigurazioni con Delay = 100.000………. 28
Figura 4.1.11 - Distribuzione hit con Delay = 100.000……… 28
Figura 4.1.12 - Riconfigurazioni con Delay = 1.000.000……….. 28
Figura 4.1.13 - Distribuzione hit con Delay = 1.000.000………. 28
Figura 4.1.14 - Riconfigurazioni con Delay = 10.000.000……… …... 29
Figura 4.1.15 - Distribuzione hit con Delay = 10.000.000………... 29
Figura 4.1.16 - Riconfigurazioni con Delay = 30.000.000……… 29
Figura 4.1.17 - Distribuzione hit con Delay = 30.000.000………... 29
Figura 4.1.18 - Riconfigurazioni con Delay = 100.000.000……….. 29
Figura 4.1.19 - Distribuzione hit con Delay = 100.000.000………. 29
Figura 4.2.1 - Art IPC……… 30
Figura 4.2.2 - Riconfigurazioni con Delay = 0……….. 30
Figura 4.2.3 - Distribuzione hit con Delay = 0………. 30
Figura 4.2.4 - Riconfigurazioni con Delay = 100……….. 30
Figura 4.2.5 - Distribuzione hit con Delay = 100………. 30
Figura 4.2.6 - Riconfigurazioni con Delay = 1.000………... 31
Figura 4.2.7 - Distribuzione hit con Delay = 1.000……….. 31
Figura 4.2.8 - Riconfigurazioni con Delay = 10.000……….… 31
Figura 4.2.9 - Distribuzione hit con Delay = 10.000………. 31
Figura 4.2.10 - Riconfigurazioni con Delay = 100.000……….… 31
Figura 4.2.11 - Distribuzione hit con Delay = 100.000………. 31
Figura 4.2.12 - Riconfigurazioni con Delay = 10.000.000……….... 31
Figura 4.2.13 - Distribuzione hit con Delay = 10.000.000……… 31
Figura 4.2.14 - Riconfigurazioni con Delay = 30.000.000……… 32
Figura 4.2.15 - Distribuzione hit con Delay = 30.000.000……… 32
Figura 4.2.16 - Riconfigurazioni con Delay = 100.000.000……….. 32
Figura 4.2.17 - Distribuzione hit con Delay = 100.000.000……….. 32
Figura 4.3.2 - Riconfigurazioni con Delay = 0……….. 33
Figura 4.3.3 - Distribuzione hit con Delay = 0……….. 33
Figura 4.3.4 - Riconfigurazioni con Delay = 100……….…. 33
Figura 4.3.5 - Distribuzione hit con Delay = 100……….. 33
Figura 4.3.6 - Riconfigurazioni con Delay = 1.000……… …….. 34
Figura 4.3.7 - Distribuzione hit con Delay = 1.000………... 34
Figura 4.3.8 - Riconfigurazioni con Delay = 10.000………. 34
Figura 4.3.9 - Distribuzione hit con Delay = 10.000………. 34
Figura 4.3.10 - Riconfigurazioni con Delay = 100.000………. 34
Figura 4.3.11 - Distribuzione hit con Delay = 100.000………. 34
Figura 4.3.12 - Riconfigurazioni con Delay = 1.000.000……….. 34
Figura 4.3.13 - Distribuzione hit con Delay = 1.000.000……….. 34
Figura 4.3.14 - Riconfigurazioni con Delay = 10.000.000……… 35
Figura 4.3.15 - Distribuzione hit con Delay = 10.000.000……….... 35
Figura 4.3.16 - Riconfigurazioni con Delay = 30.000.000……….... 35
Figura 4.3.17 - Distribuzione hit con Delay = 30.000.000……… 35
Figura 4.3.18 - Riconfigurazioni con Delay = 100.000.000……….. 35
Figura 4.3.19 - Distribuzione hit con Delay = 100.000.000……….. 35
Figura 4.4.1 - Bzip2 IPC……….... 36
Figura 4.4.2 - Riconfigurazioni con Delay = 0……….. 36
Figura 4.4.3 - Distribuzione hit con Delay = 0……….. 36
Figura 4.4.4 - Riconfigurazioni con Delay = 100……….. 36
Figura 4.4.5 - Distribuzione hit con Delay = 100……….. 36
Figura 4.4.6 - Riconfigurazioni con Delay = 1.000………... 37
Figura 4.4.7 - Distribuzione hit con Delay = 1.000………... 37
Figura 4.4.8 - Riconfigurazioni con Delay = 10.000………. 37
Figura 4.4.9 - Distribuzione hit con Delay = 10.000………. 37
Figura 4.4.10 - Riconfigurazioni con Delay = 100.000………. 37
Figura 4.4.11 - Distribuzione hit con Delay = 100.000………. 37
Figura 4.4.12 - Riconfigurazioni con Delay = 1.000.000……….. 37
Figura 4.4.13 - Distribuzione hit con Delay = 1.000.000……….. 37
Figura 4.4.14 - Riconfigurazioni con Delay = 100.000.000……….. 38
Figura 4.4.15 - Distribuzione hit con Delay = 100.000.000……….. 38
Figura 4.5.1 - Cg IPC……….... 39
Figura 4.5.2 - Riconfigurazioni con Delay = 0……….. 39
Figura 4.5.3 - Distribuzione hit con Delay = 0……….. 39
Figura 4.5.4 - Riconfigurazioni con Delay = 100……….. 39
Figura 4.5.5 - Distribuzione hit con Delay = 100……….. 39
Figura 4.5.6 - Riconfigurazioni con Delay = 1.000……… ….. 40
Figura 4.5.7 - Distribuzione hit con Delay = 1.000………... 40
Figura 4.5.8 - Riconfigurazioni con Delay = 10.000………. 40
Figura 4.5.9 - Distribuzione hit con Delay = 10.000………. 40
Figura 4.5.10 - Riconfigurazioni con Delay = 100.000………. 40
Figura 4.5.11 - Distribuzione hit con Delay = 100.000………. 40
Figura 4.5.12 - Riconfigurazioni con Delay = 1.000.000……….. 40
Figura 4.5.13 - Distribuzione hit con Delay = 1.000.000……….. 40
Figura 4.5.14 - Riconfigurazioni con Delay = 10.000.000……… 41
Figura 4.5.15 - Distribuzione hit con Delay = 10.000.000……… 41
Figura 4.5.16 - Riconfigurazioni con Delay = 30.000.000……… 41
Figura 4.5.17 - Distribuzione hit con Delay = 30.000.000……… 41
Figura 4.5.19 - Distribuzione hit con Delay = 100.000.000……….. 41
Figura 4.6.1 - Equake IPC………. 42
Figura 4.6.2 - Riconfigurazioni con Delay = 0……… …. 42
Figura 4.6.3 - Distribuzione hit con Delay = 0……….. 42
Figura 4.6.4 - Riconfigurazioni con Delay = 100……….. 42
Figura 4.6.5 - Distribuzione hit con Delay = 100……….. 42
Figura 4.6.6 - Riconfigurazioni con Delay = 1.000………... 43
Figura 4.6.7 - Distribuzione hit con Delay = 1.000………... 43
Figura 4.6.8 - Riconfigurazioni con Delay = 10.000………. 43
Figura 4.6.9 - Distribuzione hit con Delay = 10.000………. 43
Figura 4.6.10 - Riconfigurazioni con Delay = 100.000………. 43
Figura 4.6.11 - Distribuzione hit con Delay = 100.000………. 43
Figura 4.6.12 - Riconfigurazioni con Delay = 1.000.000……….. 43
Figura 4.6.13 - Distribuzione hit con Delay = 1.000.000……….. 43
Figura 4.6.14 - Riconfigurazioni con Delay = 10.000.000……… 44
Figura 4.6.15 - Distribuzione hit con Delay = 10.000.000……… 44
Figura 4.6.16 - Riconfigurazioni con Delay = 30.000.000……… 44
Figura 4.6.17 - Distribuzione hit con Delay = 30.000.000……… 44
Figura 4.6.18 - Riconfigurazioni con Delay = 100.000.000……….. 44
Figura 4.6.19 - Distribuzione hit con Delay = 100.000.000……….. 44
Figura 4.7.1 - Galgel IPC……….. 45
Figura 4.7.2 - Riconfigurazioni con Delay = 0..……… 45
Figura 4.7.3 - Distribuzione hit con Delay = 0……….. 45
Figura 4.7.4 - Riconfigurazioni con Delay = 100……….. 45
Figura 4.7.5 - Distribuzione hit con Delay = 100……….. 45
Figura 4.7.6 - Riconfigurazioni con Delay = 1.000………... 46
Figura 4.7.7 - Distribuzione hit con Delay = 1.000………... 46
Figura 4.7.8 - Riconfigurazioni con Delay = 10.000………. 46
Figura 4.7.9 - Distribuzione hit con Delay = 10.000………. 46
Figura 4.7.10 - Riconfigurazioni con Delay = 100.000………. 46
Figura 4.7.11 - Distribuzione hit con Delay = 100.000………. 46
Figura 4.7.12 - Riconfigurazioni con Delay = 1.000.000……….. 46
Figura 4.7.13 - Distribuzione hit con Delay = 1.000.000……….. 46
Figura 4.7.14 - Riconfigurazioni con Delay = 10.000.000……….…... 47
Figura 4.7.15 - Distribuzione hit con Delay = 10.000.000……… 47
Figura 4.7.16 - Riconfigurazioni con Delay = 30.000.000……… …... 47
Figura 4.7.17 - Distribuzione hit con Delay = 30.000.000……… 47
Figura 4.7.18 - Riconfigurazioni con Delay = 100.000.000……….. 47
Figura 4.7.19 - Distribuzione hit con Delay = 100.000.000……….. 47
Figura 4.8.1 - Gcc IPC……….. 48
Figura 4.8.2 - Riconfigurazioni con Delay = 0……….. 48
Figura 4.8.3 - Distribuzione hit con Delay = 0……….. 48
Figura 4.8.4 - Riconfigurazioni con Delay = 100……….. 48
Figura 4.8.5 - Distribuzione hit con Delay = 100……….. 48
Figura 4.8.6 - Riconfigurazioni con Delay = 1.000………... 49
Figura 4.8.7 - Distribuzione hit con Delay = 1.000………... 49
Figura 4.8.8 - Riconfigurazioni con Delay = 10.000………. 49
Figura 4.8.9 - Distribuzione hit con Delay = 10.000………. 49
Figura 4.8.10 - Riconfigurazioni con Delay = 100.000………. 49
Figura 4.8.11 - Distribuzione hit con Delay = 100.000………. 49
Figura 4.8.13 - Distribuzione hit con Delay = 1.000.000……….. 49
Figura 4.8.14 - Riconfigurazioni con Delay = 10.000.000……… 50
Figura 4.8.15 - Distribuzione hit con Delay = 10.000.000……… 50
Figura 4.8.16 - Riconfigurazioni con Delay = 30.000.000……… 50
Figura 4.8.17 - Distribuzione hit con Delay = 30.000.000……… 50
Figura 4.8.18 - Riconfigurazioni con Delay = 100.000.000……….. 50
Figura 4.8.19 - Distribuzione hit con Delay = 100.000.000……….. 50
Figura 4.9.1 - Mcf IPC……….. 51
Figura 4.9.2 - Riconfigurazioni con Delay = 0……….. 51
Figura 4.9.3 - Distribuzione hit con Delay = 0……….. 51
Figura 4.9.4 - Riconfigurazioni con Delay = 100……….. 51
Figura 4.9.5 - Distribuzione hit con Delay = 100……….. 51
Figura 4.9.6 - Riconfigurazioni con Delay = 1.000………... 52
Figura 4.9.7 - Distribuzione hit con Delay = 1.000………... 52
Figura 4.9.8 - Riconfigurazioni con Delay = 10.000………. 52
Figura 4.9.9 - Distribuzione hit con Delay = 10.000………. 52
Figura 4.9.10 - Riconfigurazioni con Delay = 100.000………. 52
Figura 4.9.11 - Distribuzione hit con Delay = 100.000………. 52
Figura 4.9.12 - Riconfigurazioni con Delay = 1.000.000……….. 52
Figura 4.9.13 - Distribuzione hit con Delay = 1.000.000……….. 52
Figura 4.9.14 - Riconfigurazioni con Delay = 30.000.000……… 53
Figura 4.9.15 - Distribuzione hit con Delay = 30.000.000……… 53
Figura 4.10.1 - Mesa IPC……….. 54
Figura 4.10.2 - Riconfigurazioni con Delay = 0……… 54
Figura 4.10.3 - Distribuzione hit con Delay = 0……… 54
Figura 4.10.4 - Riconfigurazioni con Delay = 100……… 54
Figura 4.10.5 - Distribuzione hit con Delay = 100……… 54
Figura 4.10.6 - Riconfigurazioni con Delay = 1.000………. 55
Figura 4.10.7 - Distribuzione hit con Delay = 1.000………. 55
Figura 4.10.8 - Riconfigurazioni con Delay = 10.000………... 55
Figura 4.10.9 - Distribuzione hit con Delay = 10.000………... 55
Figura 4.10.10 - Riconfigurazioni con Delay = 100.000………... 55
Figura 4.10.11 - Distribuzione hit con Delay = 100.000………... 55
Figura 4.10.12 - Riconfigurazioni con Delay = 1.000.000……… 55
Figura 4.10.13 - Distribuzione hit con Delay = 1.000.000……… 55
Figura 4.10.14 - Riconfigurazioni con Delay = 10.000.000……….. 56
Figura 4.10.15 - Distribuzione hit con Delay = 10.000.000……….. 56
Figura 4.10.16 - Riconfigurazioni con Delay = 30.000.000……….. 56
Figura 4.10.17 - Distribuzione hit con Delay = 30.000.000……….. 56
Figura 4.10.18 - Riconfigurazioni con Delay = 100.000.000……… 56
Figura 4.10.19 - Distribuzione hit con Delay = 100.000.000……… 56
Figura 4.11.1 - Mgrid IPC……… 57
Figura 4.11.2 - Riconfigurazioni con Delay = 0……….... 57
Figura 4.11.3 - Distribuzione hit con Delay = 0……… 57
Figura 4.11.4 - Riconfigurazioni con Delay = 100……… 57
Figura 4.11.5 - Distribuzione hit con Delay = 100……… 57
Figura 4.11.6 - Riconfigurazioni con Delay = 1.000………. 58
Figura 4.11.7 - Distribuzione hit con Delay = 1.000………. 58
Figura 4.11.8 - Riconfigurazioni con Delay = 10.000………... 58
Figura 4.11.9 - Distribuzione hit con Delay = 10.000………... 58
Figura 4.11.11 - Distribuzione hit con Delay = 100.000………... 58
Figura 4.11.12 - Riconfigurazioni con Delay = 1.000.000……… 58
Figura 4.11.13 - Distribuzione hit con Delay = 1.000.000……… 58
Figura 4.11.14 - Riconfigurazioni con Delay = 10.000.000……….. 59
Figura 4.11.15 - Distribuzione hit con Delay = 10.000.000……….. 59
Figura 4.11.16 - Riconfigurazioni con Delay = 30.000.000……….. 59
Figura 4.11.17 - Distribuzione hit con Delay = 30.000.000……….. 59
Figura 4.11.18 - Riconfigurazioni con Delay = 100.000.000……….... 59
Figura 4.11.19 - Distribuzione hit con Delay = 100.000.000……… 59
Figura 4.12.1 - Parser IPC………. 60
Figura 4.12.2 - Riconfigurazioni con Delay = 0……… 60
Figura 4.12.3 - Distribuzione hit con Delay = 0……… 60
Figura 4.12.4 - Riconfigurazioni con Delay = 100……… 60
Figura 4.12.5 - Distribuzione hit con Delay = 100……… 60
Figura 4.12.6 - Riconfigurazioni con Delay = 1.000………. 61
Figura 4.12.7 - Distribuzione hit con Delay = 1.000………. 61
Figura 4.12.8 - Riconfigurazioni con Delay = 10.000………... 61
Figura 4.12.9 - Distribuzione hit con Delay = 10.000………... 61
Figura 4.12.10 - Riconfigurazioni con Delay = 100.000………... 61
Figura 4.12.11 - Distribuzione hit con Delay = 100.000………... 61
Figura 4.12.12 - Riconfigurazioni con Delay = 1.000.000……… 61
Figura 4.12.13 - Distribuzione hit con Delay = 1.000.000……… 61
Figura 4.12.14 - Riconfigurazioni con Delay = 10.000.000……….. 62
Figura 4.12.15 - Distribuzione hit con Delay = 10.000.000……….. 62
Figura 4.12.16 - Riconfigurazioni con Delay = 100.000.000……… 62
Figura 4.12.17 - Distribuzione hit con Delay = 100.000.000……… 62
Figura 4.13.1 - Perlbmk IPC………. 63
Figura 4.13.2 - Riconfigurazioni con Delay = 0……… 63
Figura 4.13.3 - Distribuzione hit con Delay = 0……… 63
Figura 4.13.4 - Riconfigurazioni con Delay = 100……… 63
Figura 4.13.5 - Distribuzione hit con Delay = 100……… 63
Figura 4.13.6 - Riconfigurazioni con Delay = 1.000………. 64
Figura 4.13.7 - Distribuzione hit con Delay = 1.000………. 64
Figura 4.13.8 - Riconfigurazioni con Delay = 10.000………... 64
Figura 4.13.9 - Distribuzione hit con Delay = 10.000………... 64
Figura 4.13.10 - Riconfigurazioni con Delay = 100.000………... 64
Figura 4.13.11 - Distribuzione hit con Delay = 100.000………... 64
Figura 4.13.12 - Riconfigurazioni con Delay = 1.000.000……… 64
Figura 4.13.13 - Distribuzione hit con Delay = 1.000.000……… 64
Figura 4.13.14 - Riconfigurazioni con Delay = 10.000.000……….. 65
Figura 4.13.15 - Distribuzione hit con Delay = 10.000.000……….. 65
Figura 4.13.16 - Riconfigurazioni con Delay = 30.000.000……….. 65
Figura 4.13.17 - Distribuzione hit con Delay = 30.000.000……….. 65
Figura 4.13.18 - Riconfigurazioni con Delay = 100.000.000……… 65
Figura 4.13.19 - Distribuzione hit con Delay = 100.000.000……… 65
Figura 4.14.1 - Sp IPC……….. 66
Figura 4.14.2 - Riconfigurazioni con Delay = 0……… 66
Figura 4.14.3 - Distribuzione hit con Delay = 0……… 66
Figura 4.14.4 - Riconfigurazioni con Delay = 100……… 66
Figura 4.14.5 - Distribuzione hit con Delay = 100……… 66
Figura 4.14.7 - Distribuzione hit con Delay = 1.000………. 67
Figura 4.14.8 - Riconfigurazioni con Delay = 10.000……… …….. 67
Figura 4.14.9 - Distribuzione hit con Delay = 10.000………... 67
Figura 4.14.10 - Riconfigurazioni con Delay = 100.000………... 67
Figura 4.14.11 - Distribuzione hit con Delay = 100.000………... 67
Figura 4.14.12 - Riconfigurazioni con Delay = 1.000.000……… 67
Figura 4.14.13 - Distribuzione hit con Delay = 1.000.000……… 67
Figura 4.14.14 - Riconfigurazioni con Delay = 10.000.000……… …. 68
Figura 4.14.15 - Distribuzione hit con Delay = 10.000.000……….. 68
Figura 4.14.16 - Riconfigurazioni con Delay = 30.000.000……… ……. 68
Figura 4.14.17 - Distribuzione hit con Delay = 30.000.000……….. 68
Figura 4.14.18 - Riconfigurazioni con Delay = 100.000.000………... 68
Figura 4.14.19 - Distribuzione hit con Delay = 100.000.000……… 68
Figura 4.15.1 - Twolf IPC……….... 69
Figura 4.15.2 - Riconfigurazioni con Delay = 0……… 69
Figura 4.15.3 - Distribuzione hit con Delay = 0……… 69
Figura 4.15.4 - Riconfigurazioni con Delay = 100……… 69
Figura 4.15.5 - Distribuzione hit con Delay = 100……… 69
Figura 4.15.6 - Riconfigurazioni con Delay = 1.000………. 70
Figura 4.15.7 - Distribuzione hit con Delay = 1.000………. 70
Figura 4.15.8 - Riconfigurazioni con Delay = 10.000………... 70
Figura 4.15.9 - Distribuzione hit con Delay = 10.000………... 70
Figura 4.15.10 - Riconfigurazioni con Delay = 100.000………... 70
Figura 4.15.11 - Distribuzione hit con Delay = 100.000………... 70
Figura 4.15.12 - Riconfigurazioni con Delay = 1.000.000……… 70
Figura 4.15.13 - Distribuzione hit con Delay = 1.000.000……… 70
Figura 4.15.14 - Riconfigurazioni con Delay = 10.000.000……….. 71
Figura 4.15.15 - Distribuzione hit con Delay = 10.000.000……….. 71
Figura 4.15.16 - Riconfigurazioni con Delay = 30.000.000……….. 71
Figura 4.15.17 - Distribuzione hit con Delay = 30.000.000……….. 71
Figura 4.15.18 - Riconfigurazioni con Delay = 100.000.000……… 71
Figura 4.15.19 - Distribuzione hit con Delay = 100.000.000……… 71
Figura 4.16.1 - Average IPC All Benchmark………... 73
Figura 4.16.2 - Average Degradation IPC %……….... 73
Figura 4.17.1 - Consumo di Potenza nel worst case………. 75
Figura 4.17.2 - Consumo di Potenza nel intermediate case……….. 75
Figura 4.17.3 - Consumo di Potenza nel best case……….... 75
Figura 4.17.4 - Numero medio di vie attive per ciascun benchmark………. 76
Figura 4.17.5 - Periodo di decisione medio per ciascun benchmark………. 77
Elenco delle tabelle
Tabella 1.2 – Performance di una cache UCA……….. 1
Tabella 1.2 – Performance di una cache S-NUCA-1………. 3
Tabella 1.2.2 – Performance di una cache S-NUCA-2……….. 4
Tabella 1.4.1 – Performance di una cache D-NUCA……… 9
Tabella 1.4.2 – Confronto IPC: UCA, S-NUCA-1, S-NUCA-2, D-NUCA……….. 9
Tabella 2.2.1 – Ritardi di accensione………. 17
Tabella 2.2.2 – Benchmark utilizzati……….. 17
Tabella 2.2.3 – Valori di Energia………... 17
Tabella 2.2.4 – Dimensioni di un banco………. 18
Tabella 2.2.5 – Energia per accendere un banco……… 18
Tabella 2.2.6 – Energia per accendere una via………... 18
Tabella 3.2.1 – Configurazioni D-NUCA al variare della tecnologia costruttiva………….. 21
Tabella 3.3 – Intervalli di simulazione dei Benchmark...………... 24
Tabella 4.17.1 – Parametri Energia dinamica….………... 74
Tabella 4.17.2 – Parametri Energia statica………. 74
Introduzione
Lo sviluppo delle tecnologie microelettroniche in questi ultimi anni ha reso possibile l’incremento del numero di dispositivi presenti all’interno del chip e l’innalzamento delle frequenze operative. Ciò ha portato ad un costante aumento delle prestazioni dei microprocessori. Una delle principali tecniche per ottenere questo aumento è data dall’adozione di memorie cache on-chip sempre più grandi.
Le memorie cache on-chip di ultimo livello assumono un ruolo determinante nell’architettura dei moderni processori, sia a livello di prestazioni che di consumo di potenza.
In particolare, per tecnologie con feature size inferiore ai 90nm, la potenza consumata in condizioni statiche, dovuta alle correnti di leakage, diventa una componente determinante. Poiché tale componente è proporzionale al numero di dispositivi fisici (transistor), le memorie cache on-chip di ultimo livello risultano la principale fonte di consumo di potenza statica. Al momento si realizzano cache per cui si ipotizzano tempi di latenza costanti senza considerare che, in una cache L2 di grandi dimensioni, i dati che risiedono in locazioni fisicamente lontane dal controller avranno dei ritardi di propagazione sempre più elevati. Un modello di cache che consideri tempi di accesso uniformi risulterà inadeguato, per questo motivo sono state introdotte le cache NUCA ( Non uniform Cache Architecture ) Le NUCA sono cache di secondo livello che si differenziano dalle cache tradizionali UCA ( Uniform Cache Architecture ) perché prevedono una matrice di sottobanchi indipendenti tra di loro. I sottobanchi di cui è composta la cache NUCA, a seconda della loro posizione rispetto al controller, saranno acceduti con latenze differenti. Il tempo di accesso al banco è in funzione della posizione del banco stesso rispetto al controller, di conseguenza i banchi più vicini al controller rispetto ai banchi più lontani, avranno minore latenza. Per sfruttare la minore latenza offerta dai sottobanchi più vicini al controller si utilizzano le cache D-Nuca (Dinamic - Nuca) che utilizzano meccanismi di migrazione dinamica per avvicinare al controller i dati più frequentemente acceduti (dati con elevata località temporale).
Per ridurre maggiormente il consumo di potenza nelle cache D-Nuca è stato introdotto un meccanismo di riconfigurazione dinamica delle cache (tecnica way-adapting) che usufruisce delle informazioni sulla località dei riferimenti delle applicazioni. La riconfigurazione consiste nell’accensione e nello spegnimento delle singole vie in fase di esecuzione con conseguente diminuzione del consumo di potenza statica (disabilitando le vie meno utilizzate) e una esigua perdita di performance.
Il lavoro di tesi si basa sullo studio dell’Overhead di riconfigurazione di memorie cache D-Nuca way-adaptable con l’obiettivo di limitare il consumo di potenza mantenendo le prestazioni su buoni livelli.
La valutazione di tale overhead è stata effettuata con strumenti di simulazione adoperando una piattaforma execution-driven (sim-alpha).
L’analisi ha comportato la modellazione delle performance e del consumo di potenza del sistema preso in esame, utilizzando applicazioni appartenenti alla suite di benchmark SPEC CPU 2000 e NAS Parallel Benchmark (NPB).
I risultati di questo studio dimostrano che l’overhead associato all’applicazione del meccanismo di accensione/spegnimento ha un impatto molto limitato sia sulle prestazioni che sul consumo di potenza.
L’intero documento sarà strutturato come segue:
• Capitolo 1: viene descritto, in modo generale, lo stato dell’arte riguardo le memorie cache UCA e NUCA e le tecniche di riconfigurazione applicate alla cache D-Nuca;
• Capitolo 2: si procede con la descrizione del consumo di potenza e della relazione consumo-prestazioni relative alla cache D-NUCA way-adaptable;
• Capitolo 3: si evidenziano gli strumenti usati durante il lavoro svolto;