Bus cycle takes 100 ns
Transfer of bus control from processor to device or device to processor, takes 250 ns
How long would the device tie up with the bus when transferring a block of 256 bytes assuming DMA uses cycle stealing mode?
In cycle stealing mode, bus is stolen by I/O device per bus cycle. Hence, in a bus cycle, 1 B is transferred at a time and then it releases bus and CPU executes an instruction for 1 bus cycle . And this is how both I/O and CPU alternate between bus cycles.
Hence, how long I/O ties up the bus =>
=> 256 ( 250 (to steal the bus) + 100 (transfer 1 B in one bus cycle) + 250 (to release the bus ))
=> 153600 ns
=> 0.153 ms
AND
Had it been burst mode for the transfer. There is no such stealing or any alternation for bus cycles. In one shot, complete data is sent.
75 KB/sec => So, to send 256 B, time taken for this transfer => 3.41 ms
Hence, how long I/O ties up the bus =>
=> 250 ns to transfer control to the I/O + send data in one shot + 250 ns to release the bus
=> 3.41 ms + 500 ns
=> 3.41 ms