5.1.3 Pamięci podręczne
Sposób odwzorowania adresów pamięci wyższego poziomu na adresy pamięci podręcznej:
• bezpośredni, 1-skojarzeniowy;
• sekcyjno-skojarzeniowy, n-skojarzeniowy (n > 1);
• skojarzeniowy, w pełni skojarzeniowy, asocjacyjny.
Zjawisko migotania pamięci podręcznej.
Przy odwzorowaniu innym niż bezpośrednie stosuje się następujące algorytmy zastępowania:
• LRU (least recently used, najdawniej ostatnio używany) - zastępowany jest ten blok, który pozostawał w pamięci podręcznej najdłużej bez odwoływania się do niego;
• FIFO (first in first out, pierwszy wchodzi pierwszy wychodzi) - zastępowany jest ten blok, który pozostawał w pamięci podręcznej najdłużej;
• LFU (least freąuently used, najrzadziej używany) - zastępowany jest ten blok, do którego było najmniej odwołań;
• zastępowany jest losowo wybrany blok.
Sposób uzgadniania zawartości pamięci wyższego poziomu z pamięcią podręczną podczas zapisu:
• zapis jednoczesny (ang. write through);
• zapis opóźniony (ang. copy/write back);
• zapis inchiswe;
• zapis exclusive.
Algorytmy zapewniania zgodności pamięci podręcznych:
• MOESI.
Poszczególne litery w nazwie algorytmu oznaczają dopuszczalny stan, w którym może znaleźć się blok (linia) pamięci podręcznej:
• M - modified - mam ważną kopię bloku, który został zmodyfikowany;
• O - owned - jestem właścicielem, ponoszą odpowiedzialność za wszystkie odwołania do tego bloku;
• E - exclusive - mam ważną kopię bloku, który nie został zmodyfikowany;
• S - shared - wszyscy mają kopię tego bloku;
• I - invalid - blok zawiera nieważne dane.
16