86.7k views
2 votes
Given a program with execution times broken down shown below. Assume that techniques can only be applied to accelerate the integer instructions. What is the theoretical upper bound (theoretical maximum) of the speedup that can be achieved? Show your derivation Continued from the previous question, now assume our goal is to redesign the machine to achieve an overall speedup of 2 times. A technique was found to accelerate the floating point instructions by 4x. To achieve our design goal, how much speedup is needed from optimizing the integer instructions?

1 Answer

4 votes

Solution and Explanation:

Floating point and Integer consumes 1000 seconds of 1600 seconds.

Since we shall be talking of theoretical speed-up, please do not try to relate this with any practical scenario :P

To achieve maximum speed up, we need to reduce the time consumed by FP and Integer as large as possible. So we consider a system that does not at all consume time to perform FP and Integer operations. With such specifications, we can say that our new system will consume 600 seconds.

speed up = 1600 divide by 600 = 2.66

part b:

We need a System with enhancement that will result in speedup of 2.

So the time required for the new system would be 800 sec

Required time = 1600 divide by = 800 seconds

It is now given that Floating Point can now be accelerated by 5 times, so our enhanced system will consume 40 seconds to perform Floating point operations

We know that Load/Store and branch operations cannot be enhanced and hence they will consume 600 seconds.

Therefore to attend speedup of 2, Integer operations must be completed in 160 seconds (160 = 800 – (600 + 40))

So speed up required for Integer Operations is 800/160 = 5

So Integer Operation should need 5 times less time to achieve speed up of 2

User JosephS
by
6.8k points