in CO and Architecture retagged by
2,055 views
1 vote
1 vote
        Initialize the address register
        Initialize the count to 500
LOOP:   Load a byte from device              
        Store in memory at address given by address register
        Increment the address register
        Decrement the count
        If count !=0 go to LOOP

This is a code to transfer 500 B from IO device to Memory 

The DMA controller requires 20 clock cycles for initialization and other overheads. Each DMA transfer cycle takes two clock cycles to transfer one byte of data from the device to the memory.

Calculate the

  • DMA transfer time . 
  • % time processor is busy
in CO and Architecture retagged by
by
2.1k views

1 Answer

5 votes
5 votes
DMA transfer time = 20 + 2*500 = 1020

It is similar to burst mode

% time processor busy = 20/1020 = 0.019 = 1.96% = 2%

4 Comments

 @Digvijaysingh_Gautam SIR , How did u calculated % time processor busy  ??

is it 20 /1040 given in my workbook. Not able to uinderstand 

0
0
I think it should be 20/1020

DMA takes 20 clock cycle for initialization, so during this time CPU can do useful work.

But for 1000 clock cycle DMA is sending data and during this time CPU is idle

So % time CPU busy = 20/(20+1000) = 20/1020
1
1
tku SIR :)
1
1

Related questions