The throughput of an I/O transfer mechanism depends on how much the CPU is involved during data movement between the I/O device and main memory.
DMA (Direct Memory Access) based I/O transfer:
DMA allows an I/O device to transfer data directly to or from main memory without continuous CPU involvement.
The CPU only initializes the transfer and is interrupted once the entire block transfer is complete.
Because large blocks of data are transferred autonomously by the DMA controller, this method provides the highest throughput.
Interrupt-driven I/O transfer:
In interrupt-driven I/O, the CPU is interrupted whenever the device is ready to transfer data.
Although more efficient than polling, the CPU still handles each data transfer, which limits throughput compared to DMA.
Polling-based I/O transfer:
The CPU repeatedly checks the status of the I/O device to determine readiness.
This wastes CPU cycles and significantly reduces throughput.
Programmed I/O transfer:
Here, the CPU is fully responsible for controlling and executing every data transfer instruction.
This results in the lowest throughput among all methods.
Final Answer:
The I/O transfer method that provides the highest throughput is DMA-based I/O transfer.