Poprawna odpowiedź to CACHE, bo właśnie tak nazywa się pamięć podręczna procesora. Pamięć cache to bardzo szybka pamięć półprzewodnikowa, zbudowana zazwyczaj z komórek SRAM, umieszczona bezpośrednio w procesorze lub bardzo blisko niego. Jej głównym zadaniem jest przechowywanie najczęściej używanych danych i instrukcji, żeby procesor nie musiał za każdym razem odwoływać się do dużo wolniejszej pamięci RAM. W praktyce różnica w czasie dostępu między rejestrem CPU, cache, RAM a dyskiem jest ogromna, dlatego wszystkie współczesne procesory x86, ARM i inne mają wielopoziomową pamięć cache: L1, L2, a często także L3. L1 jest najszybsza i najmniejsza, L2 i L3 są trochę wolniejsze, ale pojemniejsze. Z mojego doświadczenia, przy analizie wydajności aplikacji systemowych i gier, bardzo często widać, że to właśnie efektywne wykorzystanie cache decyduje o realnej szybkości, a nie sama częstotliwość taktowania. Dobre praktyki programistyczne, takie jak lokalność odwołań do pamięci (sekwencyjny dostęp do danych, trzymanie struktur danych „obok siebie”), są projektowane właśnie pod działanie cache. W technice komputerowej przyjmuje się model pamięci hierarchicznej, gdzie cache jest kluczowym elementem między rejestrami procesora a pamięcią operacyjną RAM. W diagnostyce sprzętu i przy doborze procesora do konkretnego zastosowania (np. serwery, stacje robocze, komputery do gier) zwraca się uwagę nie tylko na liczbę rdzeni, ale też na wielkość i organizację pamięci cache. W skrócie: cache to taki „sprytny bufor” blisko CPU, który minimalizuje opóźnienia i pozwala maksymalnie wykorzystać możliwości procesora.
W tym pytaniu łatwo się pomylić, bo wszystkie podane typy pamięci faktycznie istnieją w technice komputerowej, ale pełnią zupełnie inne role niż pamięć podręczna procesora. Procesorowa pamięć podręczna to pamięć cache, natomiast ROM, EPROM czy NVRAM to różne rodzaje pamięci nieulotnych, używanych do innych zadań. ROM (Read-Only Memory) to pamięć tylko do odczytu, historycznie wykorzystywana np. do przechowywania firmware’u, prostych BIOS‑ów czy stałych tablic. Jej zawartość jest zapisywana na etapie produkcji układu i nie można jej normalnie zmienić w warunkach eksploatacyjnych. Jest nieulotna, czyli po odłączeniu zasilania dane pozostają, ale jest też relatywnie wolna w porównaniu z pamięcią cache i zupełnie inaczej wykorzystywana – nie służy do buforowania bieżących danych procesora, tylko do przechowywania stałego kodu. EPROM (Erasable Programmable ROM) to rozwinięcie koncepcji ROM – można ją zaprogramować, a potem skasować (tradycyjnie promieniowaniem UV) i zaprogramować ponownie. Stosowano ją szeroko w starszych urządzeniach embedded, płytach głównych, sterownikach przemysłowych. Z punktu widzenia architektury systemu to nadal pamięć nieulotna na firmware, a nie szybka pamięć pośrednia dla CPU. NVRAM (Non-Volatile RAM) bywa często mylona z pamięcią podręczną, bo w nazwie ma „RAM”, ale to inna kategoria. NVRAM to pamięć o dostępie swobodnym, która zachowuje dane po wyłączeniu zasilania. W komputerach PC typowym przykładem jest pamięć, w której przechowywana jest konfiguracja BIOS/UEFI, ustawienia czasu, kolejność bootowania itd. Działa ona wolniej niż cache i nie jest bezpośrednio używana przez procesor jako warstwa przyspieszająca dostęp do RAM. Typowy błąd myślowy przy tym pytaniu polega na tym, że skoro mówimy o pamięci powiązanej z procesorem lub płytą główną, to każda specjalna pamięć wydaje się „podręczna”. Jednak w architekturze komputerów termin „pamięć podręczna” ma bardzo konkretne znaczenie: to szybka, zazwyczaj ulotna pamięć (SRAM), zintegrowana z CPU, działająca automatycznie jako bufor między procesorem a pamięcią operacyjną. ROM, EPROM i NVRAM nie spełniają tych kryteriów – są przede wszystkim nośnikiem trwałej konfiguracji i kodu, a nie mechanizmem przyspieszania dostępu do danych roboczych.