Prefetching (w kontekście architektury procesora) oznacza wcześniejsze pobieranie kolejnych instrukcji do wewnętrznych buforów/kolejki, tak aby jednostka wykonawcza miała "pod ręką" następny rozkaz. Kluczowa idea brzmi: podczas gdy jedna instrukcja jest wykonywana, procesor może już pobierać następną. To ściśle wiąże się z potokowaniem (pipeline) cyklu rozkazowego, w którym fazy typu pobranie/dekodowanie/wykonanie mogą się na siebie nakładać.
Odpowiedź "wykonywanie przez procesor fazy pobrania następnego rozkazu w trakcie realizacji fazy wykonania rozkazu poprzedniego" trafnie opisuje tę równoległość na poziomie instrukcji (nakładanie faz). W efekcie procesor ogranicza przestoje, gdyby musiał czekać z pobraniem aż do zakończenia wykonania.
Pozostałe propozycje dotyczą innych zagadnień:
- "cecha systemu operacyjnego umożliwiająca równoczesne wykonywanie kilku procesów" opisuje wielozadaniowość/planowanie procesów w systemie operacyjnym. To inna warstwa: OS zarządza procesami/wątkami, a prefetching jest mechanizmem sprzętowym/architektonicznym procesora.
- "sposób pracy procesora polegający na przejściu do tryby pracy procesora Intel 8086" odnosi się do trybów pracy/kompatybilności, a nie do pobierania instrukcji z wyprzedzeniem. Dodatkowo jest to opis nieprecyzyjny językowo i nie definiuje prefetchingu.
- "właściwość procesorów umożliwiająca korzystanie ze wspólnych danych przez rdzenie, bez pośrednictwa pamięci umieszczonej na zewnątrz procesora" dotyczy współdzielenia danych i pamięci podręcznych/koherencji cache w układach wielordzeniowych. To temat pamięci i komunikacji między rdzeniami, a nie mechanizmu pobierania kolejnych instrukcji.
Wskazówka egzaminacyjna: jeśli w definicji pojawia się "pobranie następnej instrukcji zanim poprzednia się skończy", najczęściej chodzi o prefetching i/lub elementy potokowania. Gdy opis mówi o "kilku procesach" – to zwykle OS (wielozadaniowość), a gdy o "wspólnych danych rdzeni" – to cache/koherencja.