发布网友 发布时间:2025-01-14 10:33
共1个回答
热心网友 时间:2025-01-16 14:14
CPU的处理性能不应单纯依赖于主频,INTEL为迎合一部分用户对CPU的误解,采用了延长管线来提高频率的策略,误导了一部分消费者,促使他们盲目购买。CPU的处理能力实际上是由主频与执行效率的乘积决定的。举例来说,尽管P4E的主频较高,是基于更长管线的基础,但主频仅与每级管线的执行速度有关,而与执行效率无关。延长管线的优势在于每级管线的执行速度较快,但管线越长,执行效率越低。AMD的PR值可能让部分用户感到困惑,但客观地划分了与其竞争对手对应处理器的能力。
那么,为什么实际频率只有1.8G的AMD 2500处理器的运行速度比实际频率2.4G的P4-2.4B还快?为什么采用0.13微米制程的Tulatin核心的处理器最高只能做到1.4G,而采用0.18微米制程的Williamte核心的处理器却能轻松达到2G?下面我们将深入分析导致这两种“怪圈”存在的原因。
每块CPU中都存在“执行管道流水线”,即“管线”。管线对于CPU的作用类似于汽车组装线与汽车之间的关系。CPU的管线并不是物理意义上的数据输入输出通道,而是为了执行指令而归纳出的“下一步需要做的事情”。每一个指令的执行都需要经过相同的步骤,我们称这些步骤为“级”。管线中的“级”包括分支下一步要执行的指令、分支数据的运算结果、分支结果的存储位置、执行运算等任务。最基本的CPU管线可以被分为5级,而延长后的管线则更多,可以被分为10级或更多。无论是最基本的管线还是延长后的管线,都必须完成接受指令、输出运算结果的任务。两者之间的不同在于,前者只有5级,每级要处理的工作比后者10级中的每级更多。因此,如果在其他细节完全相同的情况下,你一定希望采用第一种情况的“5级”管线,因为数据填充5级要比填充10级更容易。如果处理器的管线不是始终充满数据,那么执行效率将会大打折扣。
那么,CPU管线的长短有什么不同呢?关键在于管线长度并不是简单的重复,而是将原来的每一级工作细化,让每一级的工作变得更加简单。因此,在“10级”模式下,完成每一级工作的时间要明显快于“5级”模式。最慢的(也是最复杂)的“级”结构决定了整个管线中的每个“级”的速度——请记住这一点!
假设第一种管线模式每一级需要1个时钟周期来执行,并且最慢可以在1ns内完成,则基于这种管线结构的处理器的主频可以达到1GHz(1/1ns = 1GHz)。现在的情况是CPU内的管线级数越来越多,因此必须明显缩短时钟周期以提供等于或高于较短管线处理器的性能。好在,较长管线中每个时钟周期内所做的事情减少了,因此即使处理器频率提升,但每个时钟周期缩短,每个“级”所用的时间也相应减少,从而可以让CPU运行在更高的频率上。
如果采用第二种管线模式,处理器主频可以提升到2GHz,那么应该可以得到相当于原来的处理器2倍的性能——如果管线一直保持满载的话。但事实并非如此,任何CPU内部的管线在预读取指令时总会存在错误的情况。一旦出错,就必须从第一级管线开始重新执行这条指令。稍微计算一下就可以得出如果一块拥有5级管线的CPU在执行一条指令时,当执行到第4级时出错,那么从第一级管线开始重新执行这条指令的速度,要比一块拥有10级管线的CPU在第8级管线出错时重新执行要快得多。这意味着我们根本无法充分利用CPU的全部资源,那么我们为什么还需要更高主频的CPU呢?
回溯到几年前,当时1.4GHz和1.5GHz的奔腾四处理器刚问世时的情况:Intel公司将原奔腾三处理器的10级管线增加到了奔腾四的20级,管线长度提升100%。最初上市的1.5GHz奔腾四处理器举步维艰,超长的管线带来了负面影响,由于预读取指令的错误导致执行效率严重低下,甚至无法与1GHz主频的奔腾三处理器相抗衡。然而,明显的优点就是大幅度提升了主频,因为20级管线与10级管线相比,每级管线的执行时间缩短了。虽然执行效率降低,但处理器的主频是根据每级管线的执行时间而定的,与执行效率没有关系。这就是为什么采用0.18微米制程的Williamte核心的奔腾四处理器能把主频轻松做到2G的奥秘!
当然,更精湛的制造工艺也能对提升处理器的主频起到作用。当奔腾四换用0.13微米制造工艺的Northwood核心后,主频的优势才大幅度体现出来,一直冲到了3.4G。长管线的CPU只有在高主频的情况下才能充分发挥优势——用很高的频率、很短的时钟周期来弥补它在预读取指令出错时重新执行指令所浪费的时间。
然而,拥有20级管线、采用0.13微米制程的Northwood核心的奔腾四处理器的理论频率极限是3.5G,那又该怎么办呢?Intel总是会采用“加长管线”这种屡试不爽的主频提升办法——新出来的采用Prescott核心的奔腾四处理器(俗称P4-E),居然采用了31级管线。通过上述介绍,很明显我们能得出Prescott核心的奔四处理器在一个时钟周期的处理效率上会比采用Northwood核心的奔四处理器慢上一大截,也就是说起初的P4-E并不比P4-C的快,尽管P4-E拥有更大的二级缓存,在同频率下,P4-E绝对不是P4-C的对手。只有当P4-E的主频提升到了5G以上,才有可能与P4-3.4C的CPU对垒。著名的CPU效能测试软件SuperPi就能反应出这一差距来:P4-3.4E的处理器运算Pi值小数点后100万位需要47秒,这仅相当于P4-2.4C的成绩,而P4-3.4C运算只需要31秒,将同频率下的P4-3.4E远远地甩在了后面!
AMD 2500处理器采用了10级管线,只有1.8G的主频却能匹敌2.4G的P4;苹果电脑的G4处理器采用了7级管线,只有1.2G的主频却能匹敌2.8C的P4。这些都要归功于更短的管线所带来的更高执行效率。与它们相比,执行效率方面Intel输在了管线长度上,但在主频提升方面,Intel又赢在了管线长度上。因为对于“管线”这个较为专业的问题,大多数消费者还是陌生的,他们只知道“处理器的主频越高,速度就越快”这个片面的、错误的、荒谬的理论。这就是Intel的精明之处!