CPU 的主频,即 CPU 内核工作的时钟频率(CPU Clock Speed)。通常所说的某某 CPU 是多少兆赫的,而这个多少兆赫,就是“CPU 的主频”。很多人认为 CPU 的主频就是其运行速度,其实不然。CPU 的主频表示在 CPU 内数字脉冲信号震荡的速度,与 CPU 实际的运算能力并没有直接关系。主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为 CPU 的运算速度还要看 CPU 的流水线的各方面的性能指标(缓存、指令集,CPU 的位数,等等)。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的 CPU 实际运算速度较低的现象。比如 AMD 公司的 AthlonXP 系列 CPU,大多都能以较低的主频,达到英特尔公司的 Pentium 4 系列 CPU 较高主频的 CPU 的性能。所以,Athlon XP 系列 CPU 才以 PR 值的方式来命名。因此,主频仅是 CPU 性能表现的一个方面,而不代表 CPU 的整体性能。
CPU 的主频并不代表 CPU 的速度,但提高主频对于提高 CPU 运算速度却是至关重要的。举个例子来说,假设某个 CPU 在一个时钟周期内执行一条运算指令,那么当 CPU 运行在 100MHz 主频时,将比它运行在 50MHz 主频时速度快一倍。因为 100MHz 的时钟周期比 50MHz 的时钟周期占用时间减少了一半,也就是工作在 100MHz 主频的 CPU 执行一条运算指令,所需时间仅为 10ns,比工作在 50MHz 主频时的 20ns 缩短了一半,自然运算速度也就快了一倍。只不过电脑的整体运行速度不仅取决于 CPU 运算速度,还与其它各分系统的运行情况有关,只有在提高主频的同时,各分系统运行速度和各分系统之间的数据传输速度都能得到提高时,电脑整体的运行速度,才能真正得到提高。
提高 CPU 工作主频,主要受到生产工艺的限制。由于 CPU 是在半导体硅片上制造的,在硅片上的元件之间需要导线进行联接,由于在高频状态下要求导线越细越短越好,这样才能减小导线分布电容等杂散干扰以保证 CPU 运算正确。因此,制造工艺的限制,是 CPU 主频发展的最大障碍之一。
2、前端总线
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以 MHz 表示的速度来描述总线频率。总线的种类很多,前端总线的英文名字是 Front Side Bus,通常用 FSB 表示,是将 CPU 连接到北桥芯片的总线。计算机的前端总线频率是由 CPU 和北桥芯片共同决定的。
北桥芯片(将在以后的主板专题中做详解)负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU 就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是 CPU 和外界交换数据的最主要通道。因此,前端总线的数据传输能力,对计算机整体性能作用很大。如果没有足够快的前端总线,再强的 CPU 也不能明显提高计算机整体速度。数据传输最大带宽,取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前 PC 机上所能达到的前端总线频率,有 266MHz、333MHz、400MHz、533MHz、800MHz 几种。前端总线频率越大,代表着 CPU 与北桥芯片之间的数据传输能力越大,更能充分发挥出 CPU 的功能。现在的 CPU 技术发展很快,运算速度提高很快,而足够大的前端总线,可以保障有足够的数据供给给 CPU,较低的前端总线,将无法供给足够的数据给 CPU,这样就限制了 CPU 性能得发挥,成为系统瓶颈。
外频与前端总线频率的区别:前端总线的速度,指的是 CPU 和北桥芯片间总线的速度,更实质性的表示了 CPU 和外界数据传输的速度。而外频的概念,是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz 外频,特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了 PCI 及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在 Pentium 4 出现之前和刚出现 Pentium 4 时),前端总线频率与外频是相同的。因此,往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了 QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理,类似于 AGP 的 2X 或者 4X,它们使得前端总线的频率成为外频的 2 倍、4 倍甚至更高。从此之后,前端总线和外频的区别,才开始被人们重视起来。此外,在前端总线中,比较特殊的是 AMD 64 的 HyperTransport。
HyperTransport 最初是 AMD 在1999年提出的一种总线技术,随着 AMD 64 位平台的发布和推广,HyperTransport 应用越来越广泛,也越来越被人们所熟知。
HyperTransport 是一种为主板上的集成电路互连而设计的端到端总线技术,它可以在内存控制器、磁盘控制器以及 PCI 总线控制器之间,提供更高的数据传输带宽。HyperTransport 采用类似 DDR 的工作方式,在 400MHz 工作频率下,相当于 800MHz 的传输频率。此外 HyperTransport 是在同一个总线中模拟出两个独立数据链进行点对点数据双向传输,因此理论上最大传输速率可以视为翻倍,具有 4、8、16 及 32 位频宽的高速序列连接功能。在 400MHz 下,双向 4bit 模式的总线带宽为 0.8GB/sec,双向 8bit 模式的总线带宽为 1.6GB/sec;800MHz 下,双向 8bit 模式的总线带宽为 3.2GB/sec,双向 16bit 模式的总线带宽为 6.4GB/sec,双向 32bit 模式的总线带宽为 12.8GB/sec。以 400MHz 下,双向 4bit 模式为例,带宽计算方法为 400MHz ×2×2×4bit÷8=0.8GB/sec。
HyperTransport 还有一大特色,就是当数据位宽并非 32bit 时,可以分批传输数据来达到与 32bit 相同的效果。例如 16bit 的数据就可以分两批传输,8bit 的数据就可以分四批传输。这种数据分包传输的方法,给了 HyperTransport 在应用上更大的弹性空间。
2004 年 2 月,HyperTransport 技术联盟(Hyper Transport Technology Consortium)又正式发布了HyperTransport 2.0 规格,由于采用了 Dual-data 技术,使频率成功提升到了 1.0GHz、1.2GHz 和 1.4GHz,数据传输带宽由每通道 1.6Gb/sec 提升到了 2.0GB/sec、2.4Gb/sec 和 2.8GB/sec,最大带宽由原来的 12.8Gb/sec 提升到了 22.4GB/sec。
当 HyperTransport 应用于内存控制器时,其实也就类似于传统的前端总线(FSB,Front Side Bus),因此对于将 HyperTransport 技术用于内存控制器的 CPU 来说,其 HyperTransport 的频率也就相当于前端总线的频率。
10、外频
外频是 CPU 乃至整个计算机系统的基准频率,单位是 MHz(兆赫兹)。在早期的电脑中,内存与主板之间的同步运行的速度等于外频。在这种方式下,可以理解为 CPU 外频直接与内存相连通,实现两者间的同步运行状态。对于目前的计算机系统来说,两者完全可以不相同。但是外频的意义仍然存在,计算机系统中大多数的频率都是在外频的基础上,乘以一定的倍数来实现,这个倍数可以是大于 1 的,也可以是小于 1 的。
说到处理器外频,就要提到与之密切相关的两个概念:倍频与主频,主频就是 CPU 的时钟频率;倍频即主频与外频之比的倍数。主频、外频、倍频,其关系式:主频=外频×倍频。
在 486 之前,CPU 的主频还处于一个较低的阶段,CPU 的主频一般都等于外频。而在 486 出现以后,由于 CPU 工作频率不断提高,而 PC 机的一些其他设备(如插卡、硬盘等)却受到工艺的限制,不能承受更高的频率,因而限制了 CPU 频率的进一步提高。因此出现了倍频技术,该技术能够使 CPU 内部工作频率变为外部频率的倍数,从而通过提升倍频而达到提升主频的目的。倍频技术,就是使外部设备可以工作在一个较低外频上,而 CPU 主频是外频的倍数。
在 Pentium 时代,CPU 的外频一般是 60/66MHz,从 Pentium Ⅱ 350 开始,CPU 外频提高到 100MHz,目前 CPU 外频已经达到了 200MHz。由于正常情况下,外频和内存总线频率相同,所以当 CPU 外频提高后,与内存之间的交换速度也相应得到了提高,对提高电脑整体运行速度影响较大。
外频与前端总线(FSB)频率,很容易被混为一谈。前端总线的速度,指的是 CPU 和北桥芯片间总线的速度,更实质性的表示了 CPU 和外界数据传输的速度。而外频的概念,是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz 外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了 PCI 及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因,是在以前的很长一段时间里(主要是在 Pentium 4 出现之前和刚出现 Pentium 4 时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了 QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理类似于 AGP 的 2X 或者 4X,它们使得前端总线的频率成为外频的 2 倍、4 倍甚至更高,从此之后,前端总线和外频的区别,才开始被人们重视起来。
3、倍频
CPU 的倍频,全称是倍频系数。CPU 的核心工作频率与外频之间,存在着一个比值关系,这个比值就是倍频系数,简称倍频。理论上,倍频是从 1.5 一直到无限的。但需要注意的是,倍频是以 0.5 为一个间隔单位。外频与倍频相乘,就是主频。所以,其中任何一项提高,都可以使 CPU 的主频上升。
原先并没有倍频概念,CPU 的主频和系统总线的速度是一样的。但随着 CPU 的速度越来越快,倍频技术也就应运而生。它可使系统总线工作在相对较低的频率上,而 CPU 速度可以通过倍频来无限提升。那么 CPU 主频的计算方式,就变为:主频 = 外频 x 倍频。也就是,倍频是指 CPU 和系统总线之间相差的倍数,当外频不变时,提高倍频,CPU 主频也就越高。
13、二级缓存容量
CPU 缓存(Cache Memoney)是位于 CPU 与内存之间的临时存储器。它的容量比内存小,但交换速度更快。缓存中的数据,只是内存数据中的一小部分,但这一小部分是短时间内 CPU 即将访问的,当 CPU 调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在 CPU 中加入缓存,是一种高效的解决方案。这样,整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对 CPU 的性能影响很大。主要是因为 CPU 的数据交换顺序和 CPU 与缓存间的带宽引起的。
缓存的工作原理,是当 CPU 要读取一个数据时,首先从缓存中查找,如果找到,就立即读取并送给 CPU 处理;如果没有找到,就用相对慢的速度从内存中读取并送给 CPU 处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
正是这样的读取机制,使 CPU 读取缓存的命中率非常高(大多数 CPU 可达 90% 左右),也就是说,CPU 下一次要读取的数据 90% 都在缓存中,只有大约 10% 需要从内存读取。这就大大节省了 CPU 直接读取内存的时间,也使 CPU 读取数据时基本无需等待。总的来说,CPU 读取数据的顺序,是先缓存,后内存。
最早先的 CPU 缓存是个整体的,而且容量很低,英特尔公司从 Pentium 时代开始,把缓存进行了分类。当时集成在 CPU 内核中的缓存已不足以满足 CPU 的需求,而制造工艺上的限制,又不能大幅度提高缓存的容量。因此出现了集成在与 CPU 同一块电路板上或主板上的缓存,此时,就把 CPU 内核集成的缓存,称为一级缓存。而外部的称为二级缓存。一级缓存中,还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被 CPU 访问,减少了争用 Cache 所造成的冲突,提高了处理器的效能。英特尔公司在推出 Pentium 4 处理器时,还新增了一种一级追踪缓存,容量为 12KB。
随着 CPU 制造工艺的发展,二级缓存也能轻易的集成在 CPU 内核中,容量也在逐年提升。现在再用集成在 CPU 内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入 CPU 内核中,以往二级缓存与 CPU 大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为 CPU 提供更高的传输速度。
二级缓存是 CPU 性能表现的关键之一。在 CPU 核心不变的情况下,增加二级缓存容量,能使性能大幅度提高。而同一核心的 CPU 高低端之分,往往也是在二级缓存上有差异。由此可见,二级缓存对于 CPU 的重要性。
CPU 在缓存中找到有用的数据被称为“命中”,当缓存中没有 CPU 所需的数据时(这时称为未命中),CPU 才访问内存。从理论上讲,在一颗拥有二级缓存的 CPU 中,读取一级缓存的命中率为 80%。也就是说,CPU 一级缓存中找到的有用数据,占数据总量的 80%,剩下的 20% 从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在 80% 左右(从二级缓存读到有用的数据占总数据的 16%)。那么,还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的 CPU 中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的 CPU 中,只有约 5% 的数据需要从内存中调用,这进一步提高了 CPU 的效率。
为了保证 CPU 访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法,是“最近最少使用算法”(LRU 算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此,需要为每行设置一个计数器,LRU 算法是把命中行的计数器清零,其他各行计数器加 1。当需要替换时,淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法。其计数器清零过程,可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。
CPU 产品中,一级缓存的容量基本在 4KB 到 64KB 之间,二级缓存的容量则分为 128KB、256KB、512KB、1MB、2MB 等。一级缓存容量,各产品之间相差不大,而二级缓存容量,则是提高 CPU 性能的关键。二级缓存容量的提升,是由 CPU 制造工艺所决定的,容量增大必然导致 CPU 内部晶体管数的增加,要在有限的 CPU 面积上集成更大的缓存,对制造工艺的要求也就越高。
主频: CPU的主频,即CPU内核工作的时钟频率外频:CPU的外频,通常为系统总线的工作频率(系统时钟频率),CPU与周边设备传输数据的频率,具体是指CPU到芯片组之间的总线速度。主频的高低直接影响CPU的运算速度。