计算最佳加速

时间:2012-04-28 21:51:58

标签: computer-architecture

我的计算机体系结构课程的前一次考试我得到了错误的答案,我怎么能算出最好的加速? 我理解,如果不确定论坛是如何加速mucha程序的限制(他的问题是b部分)。任何帮助都会受到赞扬,非常感谢!

  
      
  1. (6分)为了加速应用程序,提出了两个具有以下加速比的增强功能:
      加速 1 = 25
      加速 2 = 15

         

    增强1可用于40%的指令,增强2可用于30%的指令。两个增强功能不重叠。

         

    a)如果应用了两种增强功能,那么加速是多少?

         

    b)如果你不断改进这两项改进,你能达到的最佳加速是什么?

  2.   

2 个答案:

答案 0 :(得分:0)

不要试图记住公式,而是使用常识。想象一下,加速代码的两个部分都可以加速无限:也就是说,根本不需要时间。会留下什么?需要多长时间?

答案 1 :(得分:0)

t为总运行时间,然后:

(a)既然你没有要求这一部分,我将为未来的读者提供一个完整的解决方案。
t' = modified run time = 0.4t / 25 + 0.3t / 15 + 0.3t = 0.336t
因此,speedup = t/t' = t / 0.336t ~= 2.97

(b)问题要求继续推进这些加速,所以你不能改进整个​​计划。然后,根据 amdahl's law ,您可以获得的最佳加速速度受到顺序,不可改进的部分的限制。 Amdahl定律表示最高加速时间 1/SEQUENTIAL_PART 您的案例中的连续部分是什么?确保你理解为什么。

amdahl定律的概念是,假设你可以将改进的部分加速到无限加速,总的加速仍将受到未改进部分的限制。