1,659 views
Consider a system employing interrupt driven I/O for a particular device that transfer data at an average of 8 KB/sec on a continuous basis. Consider interrupt processing takes about 100 μsec i.e. time to jump to ISR, execute it and return to main program. The fraction of processor time consumed by this I/O device if interrupts occur for every byte is ________. [Assume 1 K = 1024] (Upto 2 decimal places)

Ans. 0.81

My Doubt is here they have used formula of Cycle stealing mode why ???

Why didn't they go for Burst transfer mode formula i.e. x/(x+y) ???

Is it because in question they said to transfer every Byte ???

or its the default formula for Interrupt I/O ?

Please little bit help here :(
in question it is given that "interrupts occur for every byte" i.e. after each byte
Say this line had not be given then we will use formula of block transfer right ?

Here they say data is transferred  at an average of 8 KB/sec on a continuous basis, so that means in each second 8KB of data is sent

i.e 1 Byte of data is sent in each period of 122 μsec  and within this, 100 μsecs are used for interrupt processing (which is the CPU time required)

therefore,

fraction of processor time consumed by this I/O device if interrupts occur for every byte is

=  (interrupt service time) / (total time)

= $\frac{100}{122}$

= 0.819

Device interrupts for every byte and it can send 16KB/sec at a time, so time taken to send 1 byte=  1/(16*103)= 0.0625msec

Now, it is given that interrupt processing takes time= 50 micro sec

So, fraction of time consumed by I/O device if it interrupts for every byte= time taken to process interrupt / time taken by device to send data= 50 * 10-6 / (0.0625 * 10-3) = 0.8

P.S as per hint in question (upto 3 decimal places).. so they are considering 1KB= 210 bytes. Hence, answer might vary accordingly i.e 16*210 * 50*10-6 = 0.819

Data Transfer Rate=8Kbps

so in 1 sec 8kb data is transferred. Interrupt service time=100micro sec

in question,interrupt occurs for every bytes of data so total interrupt service time for 8kb data is=8*2^10*100*10^(-6)=>0.8192 sec

so fraction of time consumed by cpu is (0.82)/1=>0.82
by
Here K means 1024 not 1000

so, $\frac{1}{8K}s$ = 122 μs

So, 1B is ready every 122 μs and 100 μs is used by cpu to proess the interrupt.

cpu recieves interrupt every 122 μs continously, as soon as it recieves it starts processing.

so cpu utilised = 100/122 = 81.96 %
by