DMA - bezpośredni dostęp do pamięci

Słownik kwalifikacji ELM.02 - Montaż oraz instalowanie układów i urządzeń elektronicznych

Co to jest DMA?

DMA (ang. Direct Memory Access) oznacza bezpośredni dostęp do pamięci. Jest to mechanizm stosowany w mikrokomputerach i systemach mikroprocesorowych, który pozwala przesyłać dane między pamięcią RAM a urządzeniami wejścia/wyjścia bez ciągłego udziału procesora CPU.

W typowej transmisji bez DMA procesor musi pobrać dane z jednego miejsca i zapisać je w drugim. Przy dużej ilości danych zajmuje to dużo czasu procesora. Układ DMA przejmuje część tej pracy.

Do czego służy DMA?

DMA wykorzystuje się m.in. do szybkiego przesyłania danych między:

  • pamięcią RAM a dyskiem,
  • pamięcią RAM a kartą dźwiękową,
  • pamięcią RAM a kartą sieciową,
  • pamięcią RAM a kontrolerem grafiki,
  • pamięcią RAM a przetwornikami ADC/DAC w mikrokontrolerach.

Jak działa DMA?

Procesor konfiguruje kontroler DMA, podając np.:

  • adres źródłowy danych,
  • adres docelowy,
  • liczbę bajtów do przesłania,
  • kierunek transmisji.

Następnie kontroler DMA wykonuje przesyłanie danych samodzielnie. W tym czasie CPU może wykonywać inne zadania albo zostać chwilowo odsunięty od magistrali systemowej. Po zakończeniu transmisji DMA może zgłosić procesorowi przerwanie.

Najważniejsza cecha egzaminacyjna

Układ DMA pozwala na używanie pamięci RAM bez pośrednictwa CPU. Nie zwiększa częstotliwości zegara, nie wykonuje podwójnych poleceń i nie służy głównie do zatrzymywania procesora w dowolnym momencie.

Zapamiętaj

DMA = szybki transfer danych + odciążenie procesora + bezpośredni dostęp do RAM.