Practice question · Multiple choice
Polling, interrupts and DMA all move data between a device and memory. Why does adding DMA improve throughput far more than switching from polling to interrupts?
Hints
- Under interrupts, who moves each byte from the device to memory?
- Ask what the CPU is doing during a 1000-byte transfer under each scheme.
Show the answer
C. Because with interrupts the CPU still copies every byte; DMA does not.
Why
Polling wastes the CPU asking 'ready yet?'; interrupts fix that and the CPU still executes every copy. DMA removes that too, program the controller once and it transfers the lot, interrupting at the end, so involvement drops from a thousand operations to two. The cost is bus contention and stale cached copies, which is why cache coherence appears as soon as DMA does.
Practise Input-Output and Peripheral Communication
The app has 5 more questions on this lesson, and keeps your place in the course. Computer Science I is free to start.
More questions on Input-Output and Peripheral Communication
- Order what happens when a device signals the CPU with an interrupt.
- Sort each peripheral by the direction in which data mainly flows.
- A DMA controller writes data into memory while the CPU holds an older copy of that region in its cache. What…
- Match each mechanism or component to what it does.
- Select every statement that is a genuine advantage of interrupts over polling.