Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Any help would be great, thank you in advance! Assume you just purchased your fa

ID: 3549417 • Letter: A

Question


Any help would be great, thank you in advance!

Assume you just purchased your favorite laptop that contains a quad-core CPU, with the clock speed (each core) of 2.0 GHz (G = 2 30). Assume you would like to execute a program with 1000 instructions on the laptop distributed among the cores. Furthermore, assume that each core is capable of executing 2 instructions in each clock cycle. What is the clock cycle time (each core) in nanoseconds? What is the execution time of the program? In a perfect situation, what is the theoretical speedup of the CPU in comparison to a single-core CPU with the same architectural design? In reality, a multi-core CPU rarely archieves the linear (full) speedup expected. What is the execution time of the program if the quad-core CPU can achieve only 70% of its theoretical speed (obtained in part c)?

Explanation / Answer

a). This part requires to just find the clock cycle time of each core.Since clock speed is given it is the inverse of 2*(2^30) ,that is 1/2^31 seconds.Convert it into nanoseconds by multiplying by 10^9.It comes out to be 0.465 nanoseconds.

b).It is a quad core processor => 4 cores.

so 1000 instructions split over 4 cores.

effectively 250 instructions by each core for calculation of execution time.

It is given that 2 instructions per clock cycle.

So 250/2=125 clock cycles needed.

we found out each clock cycle to be 0.465 ns in the (a) part.

So execution time is 125*0.465 ns = 58.125 ns.

c). The theoretical speed up would be simply 4 as we are able to execute 4 instructions on 4 cores in parallel.

d).Now the non-ideal case is 70 % speed up compared to ideal case.

=> that the execution time is (100/70)*(time found out in part c).

The reason is speed is inverse of the time required so speed becomes 70% means that execution time increases and the value of new execution time is

(100/70)*58.125 ns = 83.07 ns.

Really sorry for the error in calculations and also the statement in D) just indicates reduction in speed and no value is needed from part C.Now the answer seems right.

I hope I am clear and could help you .I would be glad if you rate me.

Thanks and Cheers.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote