3.7k 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
| 3.7k views
0
Please provide some good solution to this question.
+1

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 Active (2.8k points)
selected by
0
how  do we know that it is 9600 bit per second bcz it may be 9600 byte per sec
+3
bps -> bits per sec

Bps -> bytes per sec
+2
How you divide two time unit and get msec as time unit? can you pls explain?
+1
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?

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 Active (4.5k points)
0

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

0
1 Million Instruction per second 10^6
+1 vote

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 Loyal (7k points)
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 Active (2.4k points)