A system transfer data blocks of 2000 bytes with programmed I/O, each byte…
2026
A system transfer data blocks of 2000 bytes with programmed I/O, each byte transfer takes 6 CPU cycles, with direct memory access (DMA), the block transfer takes 3000 Cycles total, with CPU setup overhead of 200 cycles. The CPU clock is 1 GHZ. Which is more CPU-efficient for large block transfer?
- A.
Programmed I/O
- B.
DMA
- C.
Both programmed I/O and DMA
- D.
Depends on block size
Attempted by 40 students.
Show answer & explanation
Correct answer: B
To determine CPU efficiency, compare the total CPU cycles used by each method. For Programmed I/O: 2000 bytes × 6 cycles/byte = 12,000 CPU cycles. For DMA: 3000 transfer cycles + 200 setup overhead = 3,200 CPU cycles. Since 3,200 is significantly less than 12,000, DMA is more CPU-efficient for large block transfers.