profil

Pamięć podręczna cache

poleca 85% 195 głosów

Treść
Grafika
Filmy
Komentarze

? procesor (współpracujący z RAM) działa szybciej niż RAM dlatego musi chwile czekać w bezczynności na wynik jej działań. Dlatego stworzono pamięć podręczną cache ? znacznie szybszą niż RAM, w której są umieszczane dane, które prawdopodobnie zaraz procesor będzie potrzebował uzyskać z RAM (cache się ich ?domyśla?, a trafia poprawnie ok. 90%). Cache L1 jest wbudowany w procesor, ma więc taką samą częstotliwość taktowania, szybkość pracy. Dzięki temu procesor znacznie rzadziej musi się odwoływać do wolnej pamięci RAM. Jest kilka rodzajów pamięci cache: L1, L2, L3

? L1 zawsze zintegrowana z rdzeniem procesora, a więc taktowana tą samą częstotliwością, działająca z tą samą szybkością

? L1 ma decydujący wpływ na wydajność systemu

? działa gdy w L1 nastąpiło chybienie

? L2 zainstalowana jest na płycie głównej i działa z jej częstotliwością (szybszą niż w pamięci operacyjnej). Nowsze procesory są jednak zintegrowane z L2, która działa jak on i jak L1, czyli bardzo szybko

? gdy w L1 nastąpiło chybienie, procesor sięga do L2 po inne dane, które mogą być rzeczywiście potrzebne. Chodzi o to, by za wszelką cenę uniknąć konieczności sięgania do wyjątkowo powolnej pamięci operacyjnej

? L2 trafia poprawnie także 90%

? Wykorzystanie przez procesor L1: 90% czasu, L2: 9%, RAM: 1%. Opłaca się inwestować w ulepszanie L2 a nie RAM

? w pamięci cache znajdują się układy dodatkowej pamięci TAG RAM, przechowują one indeksy adresów danych pobranych z RAM do cachu; każdej linijce danych jest przypisywany znacznik określający ich adres. Gdy jest zapotrzebowanie na dane spod określonego adresu RAM, kontroler pamięci cache może łatwo przejrzeć taki indeks i sprawdzić czy dane te nie znajdują się w pamięci podręcznej. Cache ? dane, Tag RAM ? ich adresy z RAM-u

Ze względu na rodzaje znaczników wyróżnia się 3 rodzaje cachu:
? w pełni asocjacyjna ? kontroler pamięci cache, znając poszukiwany adres RAM leci po kolei po całej liście wszystkich adresów aktualnie nagromadzonych w cachu i sprawdza, czy poszukiwany się wśród nich znajduje
? bezpośrednio mapowana ? dany adres komórki RAM ma przypisane na stałe miejsce w cachu, tak więc jeśli kontroler cachu chce sprawdzić, czy dany adres znajduje się aktualnie w cachu, musi sprawdzić tylko jedno odpowiednie miejsce. Dla określonego adresu RAM pamięć cache musi zostać sprawdzona tylko jeden raz
? częściowo asocjacyjna ? forma pośrednia dwóch poprzednich. Dany adres może zostać umieszczony w kilku konkretnych miejscach pamięci cache; a w ilu konkretnie określa to n-ścieżkowość tej asocjacyjnej pamięci podręcznej; np. w 3-ścieżkowej pamięci cache adres może zostać umieszczony w 3ech konkretnych miejscach. Max-ścieżkowa pamięć cache staje się pamięcią w pełni asocjacyjną; min-ścieżkowa pamięć cache staje się bezpośrednio mapowana. ( ) Wzrost stopnia asocjacji zwiększa szanse odszukania wartości; (-) zajmuje to jednak trochę więcej czasu; dlatego ten rodzaj to optymalizacja wad i korzyści dwóch poprzednich

? zawartość pamięci cache musi oczywiście odpowiadać zawartości pamięci RAM. Tryb write-through - gdy procesor pobierze dane z pamięci podręcznej, jednocześnie są one również usuwane z pamięci operacyjnej, także każdy zapis do pamięci cache powoduje jednocześnie zapis do pamięci głównej. ( ) Jest to rozwiązanie bardzo proste i pewne, (-) niestety powodujące zmniejszenie szybkości działania systemu, gdyż następuje ciągły ruch na magistrali miedzy cache a RAM
? tryb write-back, przy zapisie najpierw aktualizowane są dane w pamięci podręcznej, a nie w operacyjnej. Zawartość pamięci cache i pamięci głównej są uzgadniane tylko w przypadku takiej potrzeby

Czy tekst był przydatny? Tak Nie

Czas czytania: 3 minuty