1 / 13

La memoria cache

La memoria cache. Tecniche di rimpiazzo. Problemi con le cache. Ampiezza del blocco Tipi di Cache Misses Fully Associative Cache N-Way Associative Cache Politiche di rimpiazzo dei blocchi. Block Size. Benefici dalla località spaziale

Download Presentation

La memoria cache

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. La memoria cache Tecniche di rimpiazzo

  2. Problemi con le cache • Ampiezza del blocco • Tipi di Cache Misses • Fully Associative Cache • N-Way Associative Cache • Politiche di rimpiazzo dei blocchi

  3. Block Size • Benefici dalla località spaziale • Località spaziale: è probabile che le parole che si trovano vicine ad una parola richiesta siano nuovamente richieste in tempi brevi. • La località spaziale emerge spontaneamente nei programmi.

  4. Block Size • La frequenza di miss si riduce all’aumentare della dimensione dei blocchi. (miss rate) • Ma attenzione se la dimensione dei blocchi è troppo grande la frequenza di miss aumenta perchè si ridurrebbe il numero di blocchi presenti nella cache. • Il costo di una miss (miss penalty) aumenta al crescere della dimensione del blocco.

  5. tag tag tag tag tag tag tag tag tag tag tag dati dati dati dati dati dati dati dati dati dati dati tag tag tag tag dati dati dati dati 4 vie 2 vie mappa diretta completamente associativa Cache a confronto • Cache contenente 8 blocchi

  6. Esempio: mappa diretta • Cache da 4 parole • Sequenza di accessi: 0,8,0,6,8 (dim. Blocco=1B)

  7. Associativa a 2 vie • Cache da 4 parole • Sequenza di accessi: 0,8,0,6,8

  8. Completamente associativa • Cache da 4 parole • Sequenza di accessi: 0,8,0,6,8

  9. Block Replacement Policy (1/2) • Se abbiamo scelta dove andiamo a mettere un nuovo blocco?

  10. Block Replacement Policy (2/2) • Se è tutto vuoto, generalmente scriviamo il nuovo blocco nel primo. • Se tuttavia tutte le locazioni hanno già un blocco valido, possiamo usare una politica di rimpiazzo.

  11. Block Replacement Policy: LRU • LRU (Least Recently Used) • Idea: buttare fuori blocchi con accesso meno recente. • Pro: temporal locality => cose usate da poco potrebbero essere riusate a breve. Associatività: 2 vie 4 vie 8 vie Dimensione LRU Random LRU Random LRU Random 16 KB 5.2% 5.7% 4.7% 5.3% 4.4% 5.0% 64 KB 1.9% 2.0% 1.5% 1.7% 1.4% 1.5% 256 KB 1.15% 1.17% 1.13% 1.13% 1.12% 1.12%

  12. Esempio • Abbiamo una 2-way set associative cache con 4 word di capacità totale e blocchi da 1 word. • Supponiamo di voler effettuare gli accessi in memoria ai blocchi: 0, 2, 0, 1, 4, 0, 2, 3, 5, 4 Che percentuale di miss e di hit otterremo applicando la tecnica LRU?

  13. set 0 set 1 lru lru set 0 0 2 set 1 lru lru set 0 0 2 set 1 lru set 0 0 2 set 1 lru lru set 0 0 4 2 lru set 1 1 lru lru set 0 0 4 lru set 1 1 Example: LRU loc 0 loc 1 lru 0 • 0: miss, bring into set 0 (loc 0) • Addresses 0, 2, 0, 1, 4, 0, ... • 2: miss, bring into set 0 (loc 1) • 0: hit • 1: miss, bring into set 1 (loc 0) lru 1 • 4: miss, bring into set 0 (loc 1, replace 2) • 0: hit

More Related