4,450 views
1 votes
1 votes
Consider a system in which DMA technique is used to transfer 16 MB of data from an I/O device into memory. The bandwidth of I/O device is 128 KB/s. What percentage of time is the CPU in busy mode (approximately)?

6 Answers

4 votes
4 votes

This question is incomplete and the complete question is given in one of the answers.

For the transfer to begin I/O device first need to fill the interface buffer

So the time required = 16MB / 128KB/s = 128s. (In this period of time CPU remains busy doing its own work as it has its own control over the bus).

Now that our interface buffer is full DMA controller takes over the bus and transfer it to the main memory in 28 secs.(Here CPU remains idle as bus is in control of DMA controller).

So % of time CPU is busy = 100*(time period when CPU is busy) / (Total time)

= 100*(128) / (128 + 28)

= 82.05%

edited by
0 votes
0 votes

128 kb ----------------1 sec 

so in 1---------------1/128kb
16 MB-------------- (1/128kb)*16MB
                            =(16*106) /(128*103 )
                            =125 sec

 

0 votes
0 votes
cpu will be busy only when the cpu bus will be taken by the dma, i think this is totally dependent on you in which mode you run dma or use the time. so answer can't be specific it is a wrongly framed question ( i think so )

Related questions

0 votes
0 votes
1 answer
2
piyushkandari asked Aug 13, 2023
296 views
Consider a device operating on 8MBPS speed and tranferring the data to memory using cycle stealing mode of DMA.If it takes 250nsec to tranfer 16 bytes data to memory when...