| Ten artykuł należy dopracować zgodnie z zaleceniami edycyjnymi: Tekst posiada błędy merytoryczne, wiele definicji nieencyklopedycznych, subiektywnych informacji itd. Należy go poprawić zgodnie z zaleceniami edycyjnymi.. Po wyeliminowaniu niedoskonałości prosimy usunąć szablon {{Dopracować}} z kodu tego artykułu. |
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 pozwala, korzystając z zasady lokalności przestrzennej i czasowej na zapewnienie złudzenia posiadania szybkiej i pojemnej pamięci głównej, a więc 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)
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 B.
Pamięć drugiego poziomu, o rozmiarze od 64KB do 12MB, 2,4 lub 8-drożna, o długości linii od 64 do 128 B, 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-300MHz). 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ń.
Pamięć podręczna procesora trzeciego poziomu jest wykorzystywana, kiedy pamięć L2 jest niewystarczająca aby pomieścić potrzebne dane. Najczęściej spotykana jest w procesorach dedykowanych do zastosowań serwerowych. 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. Jest "ratunkiem" przed sięgnięciem po dane do powolnej pamięci RAM, aczkolwiek gdy w pamięci L3 brakuje miejsca komputer szuka "pomocy" w powolnej pamięci RAM. W systemach z wieloma procesorami lub rdzeniami, pamięć cache trzeciego poziomu najczęściej jest współdzielona przez wszystkie rdzenie i ma od kilku do kilkunastu megabajtów (co jest niewielką ilością w porównaniu do pamięci RAM której rozmiar w nowszych komputerach oscyluje w granicach kilku gigabajtów). Jej wysoka wydajność wynika z droższych i lepszych komponentów, oraz bliższego fizycznego ulokowania przy procesorze.
| ||||||||||||||||||||||||||||||||