It is cycle stealing mode, we assume with the formula x/y
Data is transferred word by word from DMA to memory .
Here total data size in Buffer is 64 Bytes . And 1 word = 64 bits is given , 64 bits = 8 Bytes
so for 64 B data we need to transfer 8 words means 8 times bus access is require by DMA. [ word size is 64 bit which is 8 byte hence to transfer 64 byte from CPU to MM, DMA has to steal the bus 8 times according to question because here in one time 8 byte will be transferred instead of 1 byte ]
each cycle time is 2 micro second, to transfer 64 Bytes it takes 8 * 2 =16 micro seconds
so Data preparation time is 16 microseconds .
Disk is sending 10 6 in 1sec
so 1 byte is sent in 1 microsec
for 64 byte it will be 64 microsec
it is cycle stealing so total time is 64 ms only as overlapping is happening ..
CPU efficiency = (16/64 ) * 100 = 25 %
so 25% of cpu time is consumed due to DMA activity .