3.4k views

If an instruction takes $i$ microseconds and a page fault takes an additional $j$ microseconds, the effective instruction time if on the average a page fault occurs every $k$ instruction is:

1. $i + \dfrac{j}{k}$

2. $i +(j\times k)$

3. $\dfrac{i+j}{k}$

4. $({i+j})\times {k}$

recategorized | 3.4k views
0
T = [ (1)(i+j) + (k-1)(i) ] / k = (ik + j)/k

Page fault rate $=\dfrac{1}{k}$
Page hit rate $=1-\dfrac{1}{k}$
Service time $=i$
Page fault service time $= i+j$

Effective memory access time,

$\quad =\dfrac{1}{k}\times (i+j)+\left(1-\dfrac{1}{k}\right)\times i$

$\quad=\dfrac{(i+j)}{k}+i-\dfrac{i}{k}$

$\quad=\dfrac{i}{k}+\dfrac{j}{k}+i-\dfrac{i}{k}$

$\quad=i+\dfrac{j}{k}$

So, option (A) is correct.

edited by
+1
thats the beauty of gate .... nice ans ...
0

since each instruction takes i microseconds and a page fault occurs after k instructions. so after ki microseconds, 1 page fault occurs.

in ki time, 1 page fault

in 1 time, i/ki page fault

so doesn't this make the rate as 1/ki  ???

My question is here.

+1
Okay then : total time to execute k instructions= ik + j

so effective instruction time = (ik+j)/k

= i+j/k     Ans
0

I think

page fault takes an additional $j$

making the access hierarchical. Right? Also,  there seems to be no option for simultaneous...

0
Yes..." page fault takes an additional j microseconds"  makes it hierarchical acesss
Here, given that On an average page fault occurs at every 'k' seconds. So, probability of getting a page fault is (1/k).

Effective Instruction Time = Normal instruction execution Time + Average Page Fault Service Time

i.e. Avg Page Fault Service Time = prob. of getting page fault * page fault service time =(1/k )* j

so its "i + (1/k)*j".

Lets take a example

no of instruction =6

i=4(Normal instrction execution time)

j=2(Additional time incase of page fault)

k=3(Page fault occurs on every kth instruction)

Total time required=4+4+(4+2)+4+4+(4+2)=28

Average time=28/6=4.66

Now substitute the i,j,k values in options

i+j/k=4+2/4=4.66

0
Good One

Thanks
ans a)
One more way could be. Let us we have 100 instruction then page fault will occur 100/k times. So

Total execution time  = 100*i +  (100/k)*j

So avg execution time  = (Total execution time)/(Total number of instruction) = i + (j/k).

+1 vote
One more way we can do is as follows

EMAT= m+p(ps)...{y=mx+c}

i+j/k

A)
+1 vote
1 instruction takes i ms.

k instructions will take k*i ms.

1 page fault in every k instructions. Page Fault Service Time is j ms.

So,

Total time required to execute k instructions is (k*i+j) ms.

so here ,

Effective instruction time = (k*i+j)/k

i.e, i + j/k

1