Direct memory access (DMA) is a feature of modern computers that allows certain hardware subsystems within the computer to access system memory independently of the central processing unit (CPU).
Without DMA, when the CPU is using programmed input/output, it is typically fully occupied for the entire duration of the read or write operation, and is thus unavailable to perform other work. With DMA, the CPU initiates the transfer, does other operations while the transfer is in progress, and receives an interrupt from the DMA controller when the operation is done. This feature is useful any time the CPU cannot keep up with the rate of data transfer, or where the CPU needs to perform useful work while waiting for a relatively slow I/O data transfer. Many hardware systems use DMA, including disk drive controllers, graphics cards, network cards and sound cards. DMA is also used for intra-chip data transfer in multi-core processors. Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without a DMA channel. Similarly, a processing element inside a multi-core processor can transfer data to and from its local memory without occupying its processor time, allowing computation and data transfer to proceed in parallel.
DMA can also be used for "memory to memory" copying or moving of data within memory. DMA can offload expensive memory operations, such as large copies or scatter-gather operations, from the CPU to a dedicated DMA engine. An implementation example is the I/O Acceleration Technology.
Read more about Direct Memory Access: Principle, Cache Coherency
Famous quotes containing the words direct, memory and/or access:
“Pleasure is the rock which most young people split upon; they launch out with crowded sails in quest of it, but without a compass to direct their course, or reason sufficient to steer the vessel; for want of which, pain and shame, instead of pleasure, are the returns of their voyage.”
—Philip Dormer Stanhope, 4th Earl Chesterfield (16941773)
“The pure serene of memory in one man,
A ripple widening from a single stone
Winding around the waters of the world.”
—Theodore Roethke (19081963)
“A girl must allow others to share the responsibility for care, thus enabling others to care for her. She must learn how to care in ways appropriate to her age, her desires, and her needs; she then acts with authenticity. She must be allowed the freedom not to care; she then has access to a wide range of feelings and is able to care more fully.”
—Jeanne Elium (20th century)