DMA : Direct Memory Access


Alcune periferiche sono in grado di trasferire direttamente dati verso la memoria senza passare dalla CPU. Per questo ci sono appositi canali, chiamati "DMA channel". I diversi canali sono riservati alle diverse periferiche. Come per gli IRQ possono verificarsi conflitti se i canali DMA non sono assegnati correttamente. Ma problemi si verificano di rado nei PC moderni; nei vecchi PC c'erano solo 4 canali DMA, numerati da 0 a 3 e gestiti da un "DMA controller", quando il bus fu portato a 16 bit fu aggiunto un secondo controller per avere piu' canali.




Tavola dei canali DMA
numero del canale uso
0memory refresh
1scheda audio
2floppy
3schede SCSI, ed altre
4serve a collegare i 2 DMA controllers
5schede SCSI, rete
6 varie periferiche
7varie periferiche

Una evoluzione del concetto di DMA e' il "bus mastering" , in cui la periferica assume in controllo del bus per effettuare il trasferimento dei dati.