retagged by
2,071 views
1 votes
1 votes
        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
retagged by

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%

Related questions

0 votes
0 votes
1 answer
2
Na462 asked Jul 23, 2018
1,104 views
Consider 8-bit DMA device operating in cycle stealing mode (Single Transfer Mode). Each DMA cycle takes 6 clock and each clock is of 2 MHz. An intermediate CPU machine cy...
2 votes
2 votes
4 answers
4
worst_engineer asked Jan 14, 2016
2,884 views
A hard disk with transfer rate of 20 kbps is constantly transferring data to memory using DMA cycle stealing mode. The size of data transfer is 32 bytes. The processor ru...