DMA (Direct Memory Access – bezpośredni dostęp do pamięci) to mechanizm sprzętowy pozwalający na wykonywanie transferów danych pomiędzy pamięcią RAM a układami wejścia/wyjścia (lub czasem między obszarami pamięci) z minimalnym udziałem procesora.
W praktyce CPU nie musi kopiować danych instrukcja po instrukcji (np. pętlą odczyt-zapis). Zamiast tego zwykle:
- ustawia parametry transferu (źródło, cel, liczba bajtów/słów, tryb),
- uruchamia DMA,
- a następnie może wykonywać inne zadania, czekając na przerwanie lub flagę zakończenia.
Dlatego odpowiedź "korzystanie z pamięci RAM z pominięciem CPU" oddaje sens DMA: przesył danych odbywa się bez bieżącej obsługi przez CPU w każdym cyklu transferu (choć CPU zazwyczaj nadal inicjuje i nadzoruje operację).
Pozostałe odpowiedzi nie opisują funkcji DMA:
- "wykonywanie podwójnych rozkazów" nie jest cechą DMA; DMA nie dotyczy wykonywania instrukcji procesora, tylko transferu danych.
- "podwojenie częstotliwości zegara systemowego" to kwestia generatora zegara/PLL i konfiguracji taktowania, niezwiązana z kontrolerem DMA.
- "zatrzymywanie CPU w dowolnym momencie" może kojarzyć się z arbitrażem magistrali lub sygnałami wstrzymania, ale nie jest główną funkcją DMA w ujęciu egzaminacyjnym; DMA służy do sprawnego przesyłu danych, a nie do "dowolnego" zatrzymywania procesora.
Wskazówka egzaminacyjna: jeśli w odpowiedzi widzisz sformułowania typu "transfer danych bez angażowania CPU" lub "bezpośredni dostęp do RAM", to najczęściej opisują właśnie DMA.