7.4k views
Consider two processors $P_1$ and $P_2$ executing the same instruction set. Assume that under identical conditions, for the same input, a program running on $P_2$ takes $\text{25%}$ less time but incurs $\text{20%}$ more CPI (clock cycles per instruction) as compared to the program running on $P_1$. If the clock frequency of $P_1$ is $\text{1GHZ}$, then the clock frequency of $P_2$ (in GHz) is ______.

retagged | 7.4k views
+5

This is more of Aptitude question.

Here data are given in comparison with one another it means we should try to equate both processor values by using some equation. If we think closely there is nothing equal in both except no. of instructions to be executed. Then how can we find no. of instructions (given total time to compute, CPI, Cycle time)

$\frac{Total time}{CPI * Cycle time} = No. of Instructions$

$\frac{Total time.1}{CPI.1 * Cycle time.1} = \frac{Total time.2}{CPI.2 * Cycle time.2}$

0

$Performance \propto \dfrac{1}{execution\ time}$

$execution\ time=CPU\ time$

$CPU\ time= \#\ of\ seconds/program$

$or$

$CPU\ time= \#\ of\ inst/program\times \#\ of\ cycles/inst\times \#\ of\ sec/cycle$

$CPU\ time= inst\ count\times CPI\times cycle\ time$

$In\ the\ program\ different\ instruction\ takes\ different\ cycles\ to\ complete$

$\therefore\ CPU\ time=\Sigma (IC_{i}\times CPI_{i})\times cycle\ time$

$T_{1}=(IC\times x)\times\dfrac{1}{1GHz}.....(1)$

$0.75\ T_{1}=(IC\times 1.2x)\times\dfrac{1}{F_{2}}.....(2)$

$(2)\div(1)$

$F_{2}=1.6\ GHz$

CPU TIME (T) = No. of Instructions( I ) x No. of Cycles Per Instruction (c) x Cycle Time (t)

OR

CPU TIME (T) = $\dfrac{\text{No. of Instructions(I)$\times$No. of Cycles Per Instruction (c)}}{\text{Clock frequency (f)}}$

$\rightarrow T = I_{c} \times CPI \times F^{-1}$

$\rightarrow \dfrac{T \times F}{CPI} = I_{c}$

$P_1$ & $P_2$ executing same instruction set So,
No. of Instructions same for both $= I_1 = I_2 = I$

If $P_1$ takes $T_1$ time,

$\rightarrow T_2 = 0.75\times T_1 \rightarrow\dfrac{T_{2}}{ T_{1}}=0.75$

If $P_1$ incurs $C_1$ clock cycles per instruction,

$\rightarrow C_2 =1.2 \times C_1\rightarrow \dfrac{C_{2}}{C_{1}}=1.2$

Since $I$ is same for both,

$\rightarrow \dfrac{ ( f_{1} \times T_{1} )}{c1} = \dfrac{ ( f_{2} \times T_{2} )}{c2}$  and  $f_1 =1\ GHz$

$\rightarrow F_2 =(\dfrac{C_{2}}{C_{1}}) \times (\dfrac{T_{1}}{T_{2}}) \times F_{1}$

$= \dfrac{1.2 \times 1 GHz}{0.75}=1.6\ GHz$

Hence, the clock frequency of $P_2$  is $=1.6\ GHz$.

edited
+9
Well this refreshed my numerical skills
0
+1
As in the question, it's given P2 takes 20% more CPI (clock cycles per instruction) as compared to the program running on P1.

so if we consider P1 takes 1 clock cycle per instruction then P2 will take 1.2 clock cycle per instruction so

C2/C1=1.2
0
Right.

Execution time (T) = CPI * #instructions * time for a clock
= CPI * #instructions / clock frequency (F)

Given P1 and P2 execute the same set of instructions and
T2 = 0.75 T1,
CPI2 = 1.2 CPIand
F1 = 1GHz.

So,

$\frac{T_1}{CPI_1} \times F_1 =\frac{T_2}{CPI_2} \times F_2$

$\frac{T_1}{CPI_1} \times 1 GHz = \frac{0.75 T_1} {1.2 CPI_1} \times F_2$

$\implies F_2 = \frac {1.2}{0.75} GHz$

$=1.6 GHz$

0
u equated the expression on the basis of "no. of instruction"  ??
0
SIr Can u explain How 1.2 come?
0
I got it..
0
I believe yes he is equated the expression on the basis of "no. of instruction" since P1 and P2 are executing the same instruction set.
This question can fit better in the aptitude section rather than the technical section.

Suppose both processors are executing 100 same instructions.

Assume that Clock cycles per instruction for P1 is 1. So, for 100 instructions, 100 Clock cycles are required. The clock frequency of P1 is 1GHz. Hence clock cycle time is 1ns. So for 100 clock cycles, 100* 1ns= 100ns time is required.

For P2,  CPI is 20% more than that of P1 that is 1.20 and time taken is 25% less that is 75ns. 100 instructions on P2 requires 100*1.2 cycles= 120 cycles.

So, 120 cycles takes 75ns on P2. hence 1cycle takes 0.625ns.

Hence clock frequency is 1/0.625 GHz = 1.6GHz.

edited
0
nice appproach!
+1 vote
For P1 clock period = 1ns

Let clock period for P2 be t.

Now consider following equation based on specification
7.5 ns = 12*t ns

We get t and inverse of t will be 1.6GHz
+6
Try to give answer for those , on which no answer selected as best. :)
1.6Ghz

Let's assume values.

$P_1$ takes $10ns$ with $CPI=1$, and clock cycle time = $1ns$ (derived from frequency)

This means

$P_2$ takes $7.5ns$ with $CPI=1.2$, and clock cycle time = $?=xns$

Number of instructions = $10$. (Evident from $P_1$)

For $10$ instructions $P_2$ takes $7.5ns$ (Because they work on same instructions; given)

So, $10*1.2xns=7.5ns$

=> $x=\frac{7.5}{12}$

Frequency = $=\frac{1}{x}=\frac{12}{7.5}=1.6\ GHz$

For P1,

let no. of clocks = 100

clock time  = 1 ns (1/1GHz)

Total time = 100 * 1 ns = 100 ns

For P2,

No. of clocks = 20% more that P1 = 120

Total time = 25% less than P1 = 75 ns

120 * x = 75 ns

⇒ x = 0.625 ns = 1/0.625 GHz = 1.6 GHz