CPU Polling in I/O Transfer Methods: DMA, Interrupt-Driven, Program-Controlled, and Asynchronous I/O

CPU Polling in I/O Transfer Methods: DMA, Interrupt-Driven, Program-Controlled, and Asynchronous I/O

Verified Sources
Nov 4, 2026

In computer architecture, the key distinction among I/O transfer methods is how the CPU learns that data is ready and how much the CPU is involved during the transfer.

To the question—“Which I/O transfer method involves the CPU polling the device until data is read?”—the method is Program-controlled I/O, because the CPU repeatedly checks (polls) the device’s status registers until data becomes available.

A helpful way to contrast the options:

Therefore, the correct choice is: (iii) Program-controlled I/O.

I/O and DMA (intro concepts)

Core concepts and mapping to the question

CPU polling is the defining behavior of program-controlled I/O: the CPU issues I/O commands, then loops checking device readiness until the transfer can proceed.

Meanwhile:

  • Interrupt-driven I/O avoids continuous polling by notifying the CPU when the device is ready.
  • DMA (Direct Memory Access) lets a DMA controller move data without the CPU actively copying each word.
  • Asynchronous I/O typically uses mechanisms like callbacks/completions; the CPU is not stuck in a tight “poll until ready” loop.

Key terms to remember (for exams)

  • Program-controlled I/O
  • Interrupt-driven I/O
  • DMA
  • Asynchronous I/O

Deciding which option uses CPU polling

  1. 1
    Step 1

    Polling means the CPU repeatedly checks the device status (often in a loop) until data is ready to be read.

  2. 2
    Step 2

    If the CPU keeps checking until ready, it’s program-controlled I/O.

  3. 3
    Step 3

    i) DMA: CPU is not doing word-by-word transfer; a DMA controller moves data. ii) Interrupt-driven: CPU is alerted by an interrupt, not by continuous polling. iii) Program-controlled: CPU actively polls. iv) Asynchronous I/O: completion happens later; CPU doesn’t necessarily poll in a tight loop.

  4. 4
    Step 4

    Therefore the method that involves CPU polling until data is read is iii) Program-controlled I/O.

  5. 5
    Step 5

    Correct answer: (iii) Program-controlled I/O.

Performance/behavior intuition (why polling happens only in one option)

Polling creates CPU overhead because time is spent repeatedly checking status bits, which is wasteful when the device takes a while to become ready.

Below is a comparison focused on the question’s criterion: CPU polling vs CPU notification vs delegated transfer.

MethodCPU polls the device status until ready?Who moves data (conceptually)Typical CPU behavior during wait
i) DMANoDMA controllerCPU can do other work; notified on completion
ii) Interrupt-driven I/ONoDevice + (often) controller/handler pathCPU waits for an interrupt/event
iii) Program-controlled I/OYesCPU reads/writes via port/registersCPU loops checking readiness
iv) Asynchronous I/OUsually no tight pollingOften OS/device mechanismCPU continues; completion later (callback/completion event)

Polling Intensity vs I/O Method (conceptual)

Higher bars mean more CPU time spent repeatedly checking readiness.

Exam trick

If the wording mentions the CPU “repeatedly checking” or “waiting in a loop until ready,” that’s almost always program-controlled I/O.

Common confusion

DMA is often described as “CPU involvement reduced,” but that’s different from “CPU polling.” DMA delegates data movement to a DMA controller rather than keeping the CPU polling status continuously.

Quick FAQ

Knowledge Check

Question 1 of 4
Q1Single choice

Which I/O transfer method involves the CPU polling the device until data is read?