Direct Memory Access

Versione del 28 apr 2005 alle 23:50 di LjL (discussione | contributi) (Inizio traduzione)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Template:Traduci

Il DMA (Direct Memory Access, accesso diretto alla memoria) permette ad alcuni sottosistemi hardware di un computer di accedere alla memoria di sistema in lettura e/o scrittura indipendentemente dalla CPU. Il DMA è usato da molti sistemi hardware come controller di unità a disco, schede grafiche e schede audio.

DMA is an essential feature of all modern computers, as it allows devices of different speeds to communicate without subjecting the CPU to a massive interrupt load.

A DMA transfer essentially copies a block of memory from one device to another. While the CPU initiates the transfer, the transfer itself is performed by the DMA Controller. A typical example is moving a block of memory from external memory to faster, internal (on-chip) memory. Such an operation does not stall the processor and as a result it can be scheduled to perform other tasks. DMA transfers are essential to high performance embedded algorithms and skillfully created applications can outperform cache.

"Scatter-gather" DMA allows the transfer of data to multiple memory areas in a single DMA transaction. It is equivalent to the chaining together of multiple simple DMA requests. Again, the motivation is to off-load multiple I/O interrupt and data copy tasks from the CPU.

DRQ stands for DMA request; DACK for DMA acknowledge.

See also