hyp*_*kcb 8 math performance cpu-architecture
当我试图计算加速时,我陷入了困境。所以给出的问题是:
问题1
如果程序的 50% 增强了 2 倍,其余 50% 增强了 4 倍,那么增强带来的整体加速是多少?提示:假设增强前(未增强)机器中程序的执行时间为T,然后求增强后的总执行时间T'。加速比是T/T'。
我唯一知道的是加速比=增强前的执行时间/增强后的执行时间。那么我可以假设答案是:
加速比 = T/((50/100x1/2) + (50/100x1/4))
增强后的总执行时间 = T + 加速比
(50/100x1/2) 因为 50% 增强了 2 倍,4 倍也是如此。
问题2
让我们假设一下,通过处理器设计中的某种改进/增强,可以使程序 (2/3)rd 的执行速度无限快。那么与未增强的(原始)机器相比,增强的处理器运行速度会快多少倍?
我可以假设它比 100/(2/3) = 150 快 150 倍吗
有任何想法吗?提前致谢。
我们从问题1开始。
总时间为两半时间之和:
T = T1 + T2
Run Code Online (Sandbox Code Playgroud)
然后,T1
增强两倍。T2
提高了 4 倍:
T' = T1' + T2'
= T1 / 2 + T2 / 4
Run Code Online (Sandbox Code Playgroud)
我们知道 和T1
都是T2
的 50% T
。所以:
T' = 0.5 * T / 2 + 0.5 * T / 4
= 1/4 * T + 1/8 * T
= 3/8 * T
Run Code Online (Sandbox Code Playgroud)
加速比为
T / T' = T / (3/8 T) = 8/3
Run Code Online (Sandbox Code Playgroud)
问题二可以类似地解决:
T' = T1' + T2'
Run Code Online (Sandbox Code Playgroud)
T1'
减少到 0。T2
是 的剩余 1/3 T
。
T' = 1/3 T
Run Code Online (Sandbox Code Playgroud)
加速比为
T / T' = 3
Run Code Online (Sandbox Code Playgroud)
因此,该程序的速度是以前的三倍(或快两倍)。