175k views
2 votes
Consider three different processors P1, P2, and P3 executing the same instruction set. P1 has a 3 GHz clock rate and a CPI of 1.5. P2 has a 2.5 GHz clock rate and a CPI of 1.0. P3 has a 4.0 GHz clock rate and has a CPI of 2.2. a. Which processor has the highest performance expressed in instructions per second? b. If the processors each execute a program in 10 seconds, fnd the number of cycles and the number of instructions. c. We are trying to reduce the execution time by 30of 20% in the CPI. What clock rate should we have to get this time reduction?

1 Answer

2 votes

Answer:

See explanation

Explanation:

Given:

Processors:

P1

P2

P3

Clock Rate of Processors:

Clock rate of P1 = 3 GHz

Clock rate of P2 = 2.5 GHz

Clock rate of P3 = 4.0 GHz

CPI of Processors:

Cycles per instruction = CPI of P1 = 1.5

Cycles per instruction = CPI of P2 = 1.0

Cycles per instruction = CPI of P3 = 2.2

To find:

a) Which processor has the highest performance expressed in instructions per second

Solution:

Performance = clock rate / CPI

The performance of processor depends on instructions count and CPU time.

As we know that

CPU time = Instructions * Cycles Per Instruction / clock rate

CPU time = Instructions * CPI / clock rate

Instructions per second = Instruction count / CPU time

As:

CPU time = Instructions * CPI/ clock rate

Instructions/CPU time = clock rate/CPI

Instructions per second = clock rate / CPI

IPS = clock rate/ CPI

Hence

Performance = Clock rate / CPI = clock rate/ CPI

Compute Performance of P1:

Performance for P1 = IPS of P1 = clock rate of P1 / CPI of P1 = 3 GHz / 1.5 = 2

As we know that 1 GHz = 10⁹ Hz. So:

Performance of P1 expressed in instructions per second is 2 x 10⁹

Compute Performance of P2:

Performance for P2 = IPS of P2= clock rate of P2 / CPI of P2 = 2.5 GHz / 1.0 = 2 .5

As we know that 1 GHz = 10⁹ Hz. So:

Performance of P2 expressed in instructions per second is 2.5 x 10⁹

Compute Performance of P3:

Performance for P3 = IPS of P3= clock rate of P3 / CPI of P3 = 4.0 GHz / 2.2 = 1.82

As we know that 1 GHz = 10⁹ Hz. So:

Performance of P3 expressed in instructions per second is 1.82 x 10⁹

From the above computed performances of each processor it can be seen that Processor 2 (P2) has the highest performance expressed in instructions per second i.e. 2.5 x 10⁹

b) find the number of cycles and the number of instructions.

Given:

processors each execute a program in 10 seconds, So,

CPU time = 10 sec

Solution:

Compute number of cycles:

As we know that:

CPU time = cycles count / clock rate = clock cycles/clock rate

So

clock cycles = CPU time x clock rate

Compute number of cycles of P1:

clock cycles = 10 x 3 GHz

= 30

As we know that 1 GHz = 10⁹ Hz. So:

clock cycles of P1 = 3 x 10¹⁰

Compute number of cycles of P2:

clock cycles = 10 x 2.5 GHz

= 25

As we know that 1 GHz = 10⁹ Hz. So:

clock cycles of P2 = 2.5 x 10¹⁰

Compute number of cycles of P3:

clock cycles = 10 x 4.0 GHz

= 40

As we know that 1 GHz = 10⁹ Hz. So:

clock cycles of P3 = 4 x 10¹⁰

Now as we know that:

Instructions per second = Instruction count / CPU time

IPS = IC + CPU time

So to find number of instructions:

instruction count = Instructions per second x CPU time

Compute number of instructions of P1:

instructions of P1 = Instructions per second of P1 x CPU time

= 2 x 10⁹ x 10

= 2 x 10¹⁰

Compute number of instructions of P2:

instructions of P2 = Instructions per second of P2 x CPU time

= 2.5 x 10⁹ x 10

= 2.5 x 10¹⁰

Compute number of instructions of P3:

instructions of P3 = Instructions per second of P3 x CPU time

= 1.82 x 10⁹ x 10

= 1.82 x 10¹⁰

c) What clock rate should we have to reduce the execution time by 30%

As we know

CPU time = Execution time = instructions x CPI / clock rate

We have to find new clock rate to reduce execution time by 30%

This means we have to find:

New Execution Time = 70% of Old Execution Time

According to formula of Execution time:

instructions(new) x CPI(new) / clock rate(new) = 0.7 [instructions(old) x CPI(old) / clock rate(old)]

As the instructions(new) = instructions(old)

So,

CPI(new) / clock rate(new) = 0.7 [CPI(old) / clock rate(old)]

When trying to reduce the execution time by 30%, this leads to an increase of 20% in the CPI.

CPI(new) = 1.2 CPI(old)

New CPI of P1:

CPI(new P1) = 1.2 CPI(old P1)

= 1.2 x 1.5

CPI(new P1) = 1.8

New CPI of P2:

CPI(new P2) = 1.2 CPI(old P2)

= 1.2 x 1.0

CPI(new P2) = 1.2

New CPI of P3:

CPI(new P3) = 1.2 CPI(old P3)

= 1.2 x 2.2

CPI(new P3) = 2.6

1.2 / clock rate (new) = 0.7 / clock rate(old)

So new clock rate is computed as:

clock rate (new) = (1.2 / 0.7 ) x clock rate(old)

clock rate (new) = 1.71 x clock rate(old)

clock rate (new) = 1.71 x clock rate(old)

Hence the clock rate should be increased by 71% approx.

Now new clock rate for each processor is:

clock rate (new) for P1 = 3 GHz x 1.71 = 5.13 GHz

clock rate (new) for P2 = 2.5 GHz x 1.71 = 4.27 GHz

clock rate (new) for P3 = 4.0 GHz x 1.71 = 6.84 GHz

User Riyad
by
5.8k points