指令集优化:CPI 降低一半,时钟周期上升 10%,性能提升多少?
要计算新实现比原来快了多少,需要知道原来的指令执行时间和新实现的指令执行时间。
假设原来的指令执行时间为 T,那么新实现的指令执行时间为 0.5T(因为一半指令的 cpi 变为原来的一半)。
原来的时钟周期为 C,那么新实现的时钟周期为 1.1C(因为时钟周期上升了百分之十)。
原来的执行时间可以表示为:T = CPI * C,其中 CPI 为平均每条指令的时钟周期数。
新实现的执行时间可以表示为:0.5T = (CPI/2) * (1.1C),其中 CPI/2 为新实现的平均每条指令的时钟周期数。
将上述两个等式联立,可以得到:T = (CPI/2) * (1.1C)。
将 T 代入原来的执行时间等式中,可以得到:T = CPI * C = (CPI/2) * (1.1C)。
化简上述等式,可以得到:CPI * C = (CPI/2) * (1.1C)。
消去 C,可以得到:CPI = (CPI/2) * 1.1。
化简上述等式,可以得到:1 = (CPI/2) * 0.1。
解得:CPI = 2。
所以,新实现比原来快了 2 倍。
原文地址: https://www.cveoy.top/t/topic/fvS8 著作权归作者所有。请勿转载和采集!