Which of the following best explains how Direct Memory Access (DMA) improves overall system performance?
Think about what happens when the CPU is not involved in every data transfer.
DMA enables peripherals to send or receive data directly to or from memory without needing the CPU to manage each byte. This reduces CPU load and speeds up data transfer.
What is the primary role of the DMA controller in a computer system?
Consider what component handles data movement independently of the CPU.
The DMA controller handles data transfers directly between memory and peripherals, bypassing the CPU to improve efficiency.
Which DMA transfer mode allows the CPU to continue processing while the DMA controller transfers one byte or word at a time, pausing the CPU only briefly?
Think about a mode where the DMA controller 'steals' CPU cycles without fully stopping the CPU.
Cycle stealing mode transfers data one unit at a time, briefly pausing the CPU to transfer each unit, allowing the CPU to continue processing between transfers.
Which statement correctly compares DMA with interrupt-driven I/O?
Consider how much the CPU is involved in each method.
DMA offloads data transfer from the CPU by handling it directly, whereas interrupt-driven I/O requires the CPU to respond to interrupts and move data manually.
Why can using DMA cause problems with CPU cache coherence, and what is a common solution?
Think about what happens if memory changes without the CPU knowing.
Since DMA bypasses the CPU, it can change memory contents without updating the CPU cache, leading to inconsistencies. Flushing or invalidating the cache ensures the CPU reads fresh data.