Co to jest kontroler DMA?
Kontroler DMA (ang. Direct Memory Access) to układ umożliwiający przesyłanie danych między urządzeniami wejścia/wyjścia a pamięcią RAM bez ciągłego udziału procesora.
DMA stosuje się po to, aby odciążyć procesor. Zamiast tego, żeby CPU kopiował każdy bajt danych, kontroler DMA może samodzielnie wykonać transfer, np. z dysku do pamięci operacyjnej.
Jak działa DMA?
Typowy przebieg działania DMA:
- Procesor zleca kontrolerowi DMA wykonanie transferu.
- Kontroler DMA przejmuje obsługę przesyłania danych.
- Dane są kopiowane między urządzeniem a pamięcią RAM.
- Po zakończeniu transferu kontroler informuje procesor, np. przez przerwanie.
Przykładowe zastosowania
DMA może być wykorzystywane przy przesyłaniu danych z:
- dysku twardego lub SSD,
- karty dźwiękowej,
- karty sieciowej,
- innych urządzeń wejścia/wyjścia.
DMA a mostek północny
Kontroler DMA nie jest poprawną odpowiedzią na pytanie o główny transfer danych między procesorem a pamięcią RAM. Tym zajmuje się w klasycznej architekturze mostek północny.
DMA dotyczy raczej sytuacji, gdy dane są przesyłane między urządzeniem a RAM-em bez bezpośredniego kopiowania ich przez procesor.
Do zapamiętania
DMA odciąża procesor, ale nie jest klasycznym komponentem odpowiedzialnym za komunikację CPU ↔ RAM.