Prefetcher
Mechanizm przewidujący, jakich danych procesor wkrótce zażąda, i ładujący je do pamięci podręcznej z wyprzedzeniem. Cel: ukryć opóźnienie pamięci, by dane czekały, gdy dotrze do nich instrukcja, i uniknąć chybienia w cache.
Działanie: sprzętowe prefetchery obserwują wzorce dostępu do pamięci i je ekstrapolują. Najprostsze wychwytują dostęp sekwencyjny (czytasz linię N — pobierz N+1); bardziej zaawansowane rozpoznają wzorce ze stałym krokiem (np. co 64 bajty, typowe w pętlach po tablicach), a nawet nieregularne. Gdy wzorzec zostanie rozpoznany, kolejne linie są pobierane w tle, podczas gdy procesor pracuje. Istnieje też prefetch programowy (kompilator lub programista wstawia jawne instrukcje). Wada: agresywny prefetching marnuje przepustowość pamięci i zaśmieca cache danymi, które nigdy nie zostaną użyte, jeśli zgadnięto źle. Dobry prefetcher bywa kluczowy przy obciążeniach intensywnie korzystających z pamięci.