Pamięć podręczna procesora

Z Wikipedii, wolnej encyklopedii
Schemat pamięci podręcznej procesora

Pamięć podręczna procesora (ang. CPU cache) – jest pamięcią typu SRAM (pamięć statyczna) o krótkim czasie dostępu. Zlokalizowana jest często bezpośrednio w jądrze procesora. Zastosowanie wielopoziomowej hierarchii pamięci podręcznej zmniejsza średni czas dostępu do pamięci głównej.

Współcześnie stosuje się 2 i 3-poziomowe pamięci podręczne. Najważniejszymi parametrami funkcjonalnymi pamięci podręcznych są pojemność i czas dostępu. Pod względem budowy można wyróżnić 3 podstawowe typy organizacji pamięci:

  • pamięć całkowicie skojarzeniowa (ang. fully associative),
  • pamięć z odwzorowaniem bezpośrednim (ang. direct-mapped),
  • pamięć wielodrożna (set-associative).

L-1 cache[edytuj | edytuj kod]

Zlokalizowana we wnętrzu procesora pamięć podręczna pierwszego poziomu przyspiesza dostęp do bloków pamięci wyższego poziomu, który stanowi zależnie od konstrukcji pamięć operacyjną lub pamięć podręczną drugiego poziomu (L-2). Z uwagi na ograniczenia rozmiarów i mocy procesora zawsze jest najmniejsza. Umieszczona jest najbliżej głównego jądra procesora i umożliwia najszybszą komunikację procesora. Typowe pamięci L-1 współczesnych procesorów są 2-drożne, posiadają rozdzieloną pamięć danych i kodu, a długość linii wynosi 64 bajty.

L-2 cache[edytuj | edytuj kod]

Pamięć drugiego poziomu, o rozmiarze od 64 KB do 12 MB, 2, 4 lub 8-drożna, o długości linii od 64 do 128 bajtów, jest wykorzystywana jako bufor pomiędzy stosunkowo wolną pamięcią RAM a jądrem procesora i pamięcią cache L1. Ostatnimi procesorami nie posiadającymi pamięci podręcznej drugiego poziomu były pierwsze procesory Celeron (jądro Convington, taktowane 266–300 MHz). Obecność pamięci drugiego poziomu powoduje duży wzrost wydajności w wielu aplikacjach – dzieje się tak, ponieważ dane poddawane obróbce muszą być pobierane z pamięci RAM, która ma opóźnienia rzędu kilkudziesięciu-kilkuset nanosekund. Dzisiejsze procesory są wyposażone w złożone układy przewidywania, jakie dane będą potrzebne – dane te są pobierane z wyprzedzeniem do pamięci cache, która ma opóźnienia rzędu kilku-kilkunastu nanosekund, co znacznie skraca czas oczekiwania procesora na dane do obliczeń.

L-3 cache[edytuj | edytuj kod]

Pamięć podręczna procesora trzeciego poziomu jest wykorzystywana, gdy pamięć L2 jest niewystarczająca, aby pomieścić potrzebne dane. Obecność cache trzeciego poziomu pozwala na znaczącą poprawę wydajności w stosunku do procesorów o konstrukcji pamięci dwupoziomowej w wielu aplikacjach i programach. W systemach z wieloma procesorami lub rdzeniami, pamięć cache trzeciego poziomu najczęściej jest współdzielona przez wszystkie rdzenie i ma od kilku do kilkudziesięciu megabajtów.