关于CPU的流水线
日期:2006-07-31 荐:
我们先说说流水线,我们用生产汽车的流水线来作比喻,比如说生产一辆汽车需要1小时的时间,如果只有一道工序,那么就要1小时的时间才能生产出一辆汽车。如果分成两道工序,每个工序就要30分钟,那么30分钟就能生产一辆汽车。如果分成四道工序,每个工序就要15分钟,那么每15分钟就能下线一辆汽车,但是生产一辆汽车的时间却没有变化。因此提高汽车下线频率有两种办法:1,减少生产一辆汽车的时间;2,多分几道工序。
而CPU的流水线也是一样的道理,理论上AMD和INTEL从接到一条指令到完成的时间是一样的(下面就说是绝对速度)。而AMD只有10级的流水线,而INTEL的PRESCOTT核心的CPU却有高达31级的流水线,因此INTEL的频率都较高。这样分析就行了吗?当然不是,31级流水线虽然提高了频率,可是也增加延迟(10级流水线有10次延迟,31级流水线有31次延迟),同时也增加了出错的概率(31级流水线就要31次出错的可能,一出错就得从头再来)。于是我们就得出,AMD的CPU频率较低,而性能却很强,而INTEL却反之。
于是乎,AMD在游戏这种对突发处理,追求绝对速度的应用上占尽了优势,所谓突发处理,举个例子吧:比在打CS时,作一个向左移动的动作,我们就希望CPU马上作出反映,这时就需要CPU的绝对的速度,而不是其频率。
现在可能有些朋友就会问了:“既然提高流水线只是提高了频率,对CPU的性能没有多少的提高,为什么INTEL还要拼命提高他的频率呢?”其实提高频率还是很有用的。
在多媒体方面,我们知道播放一个HDTV文件,就需要一桢一桢地处理数据,这时候,就需要有很好的频率,而对绝对速度却没有多大的要求。因此,我们会发现在多媒体方面INTEL的CPU会有很好的表现。
另外,前段时间也吵的沸沸扬扬的多任务的问题,在我的实践中,INTEL的多任务的确会比AMD的好点(不包括现在的高端产品)。其实有一部分也归功与31级的流水线,多任务就好比要同时处理多个指令,这时由于AMD的频率较低,在流水线外等待的时间也就长了,造成堵塞。而INTEL较高的频率就畅通的多了。可是为什么不包括现在的高端呢?那是因为现在AMD高端的绝对速度就能弥补频率的劣势。那又问“为什么A64的频率也不见得有多高,可是也不见得其多任务差。”那是因为它把内存控制器集成到CPU中去,降低了延迟,另外也改进了提高命中率的算法(也就是降低了出错的概率),使得绝对速度有提高了。
标签: