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?

  1. A.

    Programmed I/O

  2. B.

    DMA

  3. C.

    Both programmed I/O and DMA

  4. 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.

Explore the full course: Mppsc Assistant Professor