11,607 views

In an enhancement of a design of a CPU, the speed of a floating point unit has been increased by $\text{20%}$ and the speed of a fixed point unit has been increased by $\text{10%}$. What is the overall speedup achieved if the ratio of the number of floating point operations to the number of fixed point operations is $2:3$ and the floating point operation used to take twice the time taken by the fixed point operation in the original design?

1. $1.155$
2. $1.185$
3. $1.255$
4. $1.285$

i tried doing this in the normal way by increasing the speed by 20% and 10% the answer i got was 1.186.

However what i think is happening is i am reducing time with respect to speed linearly. Meaning if speed is increased by 20% i am assuming that time must also decrease by 20% but it’s not correct the change in %tage of time will be 17% instead of 20 and by doing that way i am able to arrive at 1.155.

Am i thinking in the right direction ?
@endurance1 yes ...It won’t change linearly ..say 100km with speed of 10kmph take 10 hrs ….now speed got increased by 20%  ..i.e. 10+2=12kmph..time will be 100/12=8.33hrs….not 8 hrs…

in this case if old time say  1 sec  then new time will be  will be  1/1.2 =0.833 sec and  1/1.1=0.909sec..

SpeedUp $=\dfrac{\text{Original time taken}}{\text{new time taken}}$

Let $x$ be the time for a fixed point operation,

Original time taken $=\dfrac{(3x + 2\times 2x)}{5} =\dfrac{7x}{5}$
New time taken $=\dfrac{\left(\dfrac{3x}{1.1} + \dfrac{4x}{1.2}\right)}{5}=\dfrac{8x}{1.32\times 5}$
So, SpeedUp $=\dfrac{7\times 1.32}{8} =1.155$

Correct Answer: $A$
by

edited
can someone please explain the logic of calculation of new time taken? how to get (1/1.1)x time, for 10% increase in speed?
I assumed a speed of 100km/hr, and increased the speed by 10% to 110km/hr, then with constant distance, calculated the new time. it works.
But is there any more direct way?
when we count new time, speed is increased so time is decrease. but how much?

take in mind simple speed formula: $speed=\frac{number of operations}{time for that}$

so if we want to find the time taken to perform operations, $time=\frac{number of operations}{speed}$

now as there is increase-decrease in speed in percent, 1.1 or 1.2 comes in denominator.

hope you understood.
Is this part still in GATE 2017 syllabus??
why are we dividing with '5' while calculating time??
plz tell this why divide by 5 formula is s=d\t i.e t=d\s plz explain i am not geting???
5 is divided because,
no: of floating point operations to fixed point operations is 2:3

So, no : of floating point operations = 2/5 * total operations and fixed point operations = 3/5 * total operations
Let total operations = 1.
the number of floating point operations  is 2....then why 4x was divided by 1.2
An aptitude question disguised as an architecture question..

You can tabulate down the given data from question.

 Speed in Original Design Speed in New Design # of Operations given(2:3) Floating Point (FP) operations 100 120 2x Fixed Point (XP) operations 200 220 3x

Here, Speed = #operations per unit time (Just like speed = distance/time)

Took 100,200 for FP and XP for easy understanding.

Say 5x is total number of operations, in which 2x FP and 3x XP operations

Speed up = $\frac{Time in Original Design}{Time in New Design}$

=>$\frac{2x/100 + 3x/200}{2x/120 + 3x/220}$ (Since we know time = #operations/speed)

we get Speed up = 1.155, So Option (A)

Hope this solution was easy to understand

In the question it is given that Floating points operations used to take twice the time taken by the fixed point operation, Means-> the speed of fixed point operations is faster. But you have assumed speed of floating as 200 and fixed as 100. Isn't that contradictory?
Time is inversely proportional to speed bro.
• $k$ = no of times one floating point operation takes more time than one fixed point operation.
• $x:y$ = ratio of no of fixed point operations to that of floating point operations.
• $a$ = % increase in speed of floating point unit in fraction {i.e. 20% means $a$ = $0.2$}
• $b$ = % increase in speed of fixed point unit

Then Net speedup

\begin{align*} S &= \frac{\text{total time in old design}}{\text{total time in new design}} \\ & = \frac{ky+x}{\frac{ky}{1+a}+\frac{x}{1+b}} \end{align*}

Putting all these values S = $1.155$.

NOTE: That is not a standard formula. It has been derived , by taking total time  = $T$ and total operations = $N$

by

### 1 comment

https://gateoverflow.in/101176/floating-point

which is also explained by debashih sir :)

Suppose we have 20 floating instructn and 30 fixed.

Initially Speed of Floating instruction is 20 and fixed is 10,

so total time=20*20+30*10=700

After increasing float speed 20%=speed(float)=24

10% increase in fixs speed=speed(fix)=11

So total time= 24*20+30*11=480+330=810

Speed up=810/700=1.1571
by

why is it not 700/810???
Because speed up of new =Old time taken/new time taken
This solution is wrong.

It says "initially Speed of Floating instruction is 20 and fixed is 10,"

Speed of floating point is double than fixed here but this is not given,they have given that time of floating point is double.Although this is giving correct answer but approach is [email protected] you were right.It should be 710/800 and it gives wrong answer

Speed has  increased by 20% (since speed has increased ) hence it will take lesser time and it should be 16 for floating point operations after the enhancement.

and based on above argument it should be 70/59=1.186

pls correct me if my approach is wrong. Thanks in advance.

in old cpu

let us assume fixed operation takes=1 unit time

then float operation takes = 2 unit time

as the operation are given 2:3

lets consider 2 float and 3 fixed operation

total execution time= 2*2 +3*1=7

in new machine

float takes 20% less time  = 2*80/100 =1.6

fixed take 10% less time   = 1*90/100= .9

total execution time = 1.6*2 + .9*3 = 5.9

speedup= performance of new machine/ performance of old machine

performance is inversely proportional to execution time

so speedup= execution time of old / execution time of new

= 7/5.9

=1.185
by
Original time

Floating Point : 2y

Fixed point :  y

Floating point and fixed point instruction are in 2:3 ratio.

For simplicity assume there are 2 floating point and 3 fixed point instruction

Not original time 4y + 3y =7y             -------------------1

Now speed of floating point increases by 20%. we need to convert this 'SPEED' into 'TIME' because we need to calculate ratio of original time and new time.

speed increased by 20% means , it becomes 120/100 of original.

And not time becomes Inverse of this i.e. 100/120 (Newtons formulae applicable to even Computer science.)

Now time for one floating point instruction becomes = 100*2y / 120 -A

simillarly time for one fixed point becomes 100*y/110 -B

we have 2 Floating and 3 fixed point instruction . hence total time 2A+3B  = 800*y/132  ---------------2

Divide 1 by 2 gives answer A you can also do this without Amdahl’s law, but i was not willing to give up on Amdahl’s law

so after a lot of time, i solved it like this

by
 FLOATING FIXED OLD 1 instruction/unit time Conclusion: 1 instruction takes 1 unit time 2 instructions/unit time Conclusion: 1 instruction takes 0.5 unit time NEW 1.2 instructions/unit time Conclusion: 1 instruction takes $\frac{1}{1.2}$ unit time 2.2 instructions/unit time Conclusion: 1 instruction takes $\frac{1}{2.2}$ unit time

$Old\: Time= 0.4x(1) + 0.6x(0.5)=0.7x$

$New\: Time= 0.4x(\frac{1}{1.2}) + 0.6x(\frac{1}{2.2})=0.606x$

$Speedup=\frac{0.7}{0.606}=1.155$

by

Say in old system:               20 floating point operation and 30 fixed point operations

say floating point takes 2 units and fixed point takes 1 unit

Total time in old system=  20*2 +30 *1= 70 units

In Enhanced system         floating point takes = 2* 0.8= 1.6 units

fixed point takes= 1*0.9= 0.9 units

Total time = 20*1.6 +30 *0.9 = 59 units

Speedup= 70/59= 1.1864

When speed is increased by 20%, time won't decrease by 20% and become 80%. It'll decrease by 100/1.2 = 83%.
old processor

1 sec -- x instruction

new processor

1 sec -- 1.2*x instruction

?      --    x  instruction

for new processor ?=x/1.2   i.e. for processing same number of insctructions it now takes x/1.2 time
Sir I got the difference. Thanx.

But how to get that formula? I know its silly but nothing is coming in my mind. :P
Explanation:
(1.27)
Let total operation be 100 and total time taken is t = 100 sec.
Floating point operations are =610×100=60
Fixed point operations are =410×100=40
Let time taken by floating point is t1 and time taken by fixed point is t2. So t1+t2=100 … (1)
Time taken by 60 floating point operation = t1
1 floating operation = 160
Similarly 1 fixed point operation takes 240
∵ 160=2240
2t1 = 6t2
From equation 1 and 2
1=6008  2=2008
After speed-up 1′=11.3=6001.3×8=6000104
2′=21.2=1001.2×8=200096
1′=1′+2′=6000104+200096
2=′×1
2=100[6000104+200096]×1=10057.69+20.83×1
2=10078.52×1=1.27 1