Direct Memory Access: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 8:
Il DMA è usato da molti sistemi hardware come [[controller]] di [[Disco rigido|unità a disco]], [[scheda grafica|schede grafiche]] e [[scheda audio|schede audio]].
Essenzialmente, in un trasferimento DMA un blocco di memoria viene copiato da una periferica a un'altra. Il distacco del [[bus (informatica)|bus dati]] dal [[processore]] per assegnarlo al controllo del DMA, che questi utilizza per il trasferimento dei dati tra le due periferiche, avviene tramite dei ''bus switches'' su richiesta del DMAC. La CPU si limita a dare avvio al trasferimento rilasciando il bus dati, mentre il trasferimento vero e proprio è svolto dal ''controller DMA'' (DMAC). Un caso tipico è lo spostamento di un blocco di memoria da unità di memoria esterna alla [[memoria primaria|memoria principale]]. Se questa operazione, come avviene grazie al DMA, non blocca il processore, esso può continuare a svolgere altre operazioni.
Il DMA gestisce i trasferimenti tra CPU e periferiche tramite l'utilizzo di diverse linee (Acknowledge, richiesta, controllo) e di due [[registro (informatica)|registri]] (DC e IOAR). Nel momento in cui la CPU necessita di dati presenti in memoria carica in IOAR l'indirizzo dal quale iniziare
Il trasferimento tra DMA e I/O può avvenire in diversi modi:
|