()intel的奔腾处理器,带来两个技术概念,一个是超标量,允许cpu在一个周期内执行两个指令。
另外一个就是深度流水,就是把一条指令分成多步执行,奔腾处理器的流水深度达到十四级,发展到奔腾四处理器的时候,流水深度已经达到二十多级。
超流水技术在提高性能和主频上,有着显著的作用,但也不是没有缺陷。
其中最大的缺陷就是,超长的流水面临执行效率的低下。
这也是奔四时代,同主频的intel奔腾四处理器,往往被和其频率相似的amd速龙处理器摁在地上摩擦。
而超线程可以完美解决这个问题。
在这个主频至上的年代,华芯科技的cpu想要在市场上打出名头,自然在主频上有所考虑。
而提高主频只有两个办法,一是提高制程,二是提高技术。
制程上,华芯科技没得选择,只有在技术上想办法。
王黯然的解决办法是,首先在cpu的指令集上,大量采用risc精简指令,因为计算机每一条指令都需要额外的晶体管和电器元器件,而大部分复杂指令可以有多个精简指令组合而成,在效率和性能上选择好平衡点。
其次就是选择超流水技术,华芯科技的第一代cpu的流水设计为18级,设计频率为200mhz,自然也存在流水线执行效率不足的缺陷。
这款cpu的原本设计的技术指标,浮点,整数等计算,已经不弱于世面上奔腾处理器。
加上超线程技术,王岸然对模拟的结果很是期待。
不过事实给了他一道响亮的耳光。
eda模拟测试结果显示,smt超线程技术没有给cpu带来显著的性能提升。
花费10%数目的晶体管搭建,只带来10%左右的性能提升,这已经是鸡肋般的存在。
华芯科技没有必要为了这10%的性能提升,爆出如此重要的技术。
王岸然分析原因,应该是十八级仍然没有发掘完ilp流水的潜力,而且这个时代的cpu设计,受限于晶体管的数目,本身的闲置资源也是有限。
那问题来了,这10%的晶体管加到哪里。
这对于王岸然这样的大师来说,根本不是什么问题,提升cpu性能的方法很多,适用这个时代的才是最好的。
最终的解决方案就是,王岸然把amd运用成熟的tage分支预测算法加入到新款cpu当中。
分支预测的目标就是,在cpu处理进程,发生分支时,提前存储在分支目标的缓存区当中。
而分支算法的精髓就是,猜测指令流的路径。
那么问题来了,若是猜错了怎么办?
猜错了解决的方法很简单,那就是再猜,一直到猜对为止。
但带来的后果是很明显的,进程停滞,cpu执行效率低下,用户的体验就是电脑卡顿。
所以,一个优秀的分支预测方法在cpu执行效率上,往往对性能有巨大的提升。
……
付炎是科院培养的研究生,在剑桥大学微电子专业拿的博士学位,还在德州仪器欧洲研究所呆过三年时间。