5,378 views

A processor is fetching instructions at the rate of $1$ MIPS. A DMA module is used to transfer characters to RAM from a device transmitting at $9600$ bps. How much time will the processor be slowed down due to DMA activity?

1. $9.6$ms
2. $4.8$ms
3. $2.4$ms
4. $1.2$ms

Please provide some good solution to this question.

### Subscribe to GO Classes for GATE CSE 2022

External Device sends data to DMA module in 1 sec =9600 bits

=9600/8=1200 Bytes

Now Processor runs instructions in 1 second= 1 Million  (because 1 MIPS means 1 million instructions per second)

= 10 ^ 6

So time will the processor be slowed down due to DMA activity =  1200 / (10^6)= 0.0012 seconds

= 1.2 ms

by
32 57 81

how  do we know that it is 9600 bit per second bcz it may be 9600 byte per sec
bps -> bits per sec

Bps -> bytes per sec
How you divide two time unit and get msec as time unit? can you pls explain?
How can we divide cancel out Bytes and Instructions?

I mean as per the formula the unit of answer will be

Bytes * seconds / Instructions

How are we cancelling out bytes and instructions? Is it assumed 1 Instruction is of 1 Byte?

DMA usually operates in cycle stealing mode, where it transfers 1 byte per cycle. //Default assumption.

So, given DMA bandwidth = 9600bps = 1200 bytes per sec.

1 MIPS = 1 Million Instructions Per Second.

So, normally, CPU fetches $10^6$ instructions each second.

Now, CPU can fetch $10^6 - 1200$ instructions per second. //Assumption 1 instruction = 1B

Rate of change = $\frac{10^6-(10^6-1200)}{10^6}$ = $\frac{1200}{10^6}$ = $1.2*10^{-3}$

Option D

by
4 8 39

### 1 comment

thanx for the right concept

Assuming Data Width of the System bus is Byte,DMA Will run every Cycle for every Byte.which has arrived.

So,

10^6 bits  in   1 second
1 bit   in 1/10^6 second
9600 bits in    9600* 1/10^6 seconds
9600/8 bytes in    9600/8* 1/10^6 seconds

Which gives 1.2 ms  or 1MIPS..

Option D)

by
18 31 76

How did u get "10^6 bits  in   1 second" ?

1 Million Instruction per second 10^6
Assuming Instruction size = 1 byte.

Processor speed = 1MIPS

It can fetech in 1 sec 10^6 byte.

With DMA it can fetech in 1 sec 1200 byte.

% of slow down = 1200*100/10^6 = .12%
by
18 45 72
Given data,
A processor is fetching instructions at the rate=1 MIPS.
DMA module transferring characters=9600 bps
Step-1: DMA module transferring characters= 9600/8 bps
= 1200 bps
Step-2: Here, we have to find out slow down in milliseconds.
Slowdown = 1200/106
= 12*1000/104ms
= 1.2 ms
by
2 5 7

1
3,202 views