硬件工程师培训教程(六)
12-27
第三节 CPU 的相关指标
在深入了解了C PU 的架构和生产过程后,接下来我们看看C PU 的工作原理和相关指标。
CPU 的工作原理简单地说就像是一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再 存储在仓库(存储器)中,最后等着拿到市场上去卖(交由应用程序使用)。了解了这样一种工作原理,性能指标对C PU 的影响自然也就显而易见了。
一、主频、倍频和外频
我们经常说“这款C PU 的频率是多少多少”,其实这个泛指的频率是指C PU 的主频,主频也就是CPU 的时钟频率,英文全称叫做C P U C l o c k S p e ed,简单地说也就是CPU 运算时的工作频率。一 般说来,主频越高,一个时钟周期里完成的指令数也越多,当然C PU 的速度也就越快了。由于各 种C PU 的内部结构不尽相同,所以并非时钟频率相同性能就一样。外频是系统总线的工作频率。倍 频则是指C PU 外频与主频相差的倍数。三者有十分密切的关系:主频=外频×倍频。
二、内存总线速度
内存总线速度的英文全称是M e m o r y -B u s S p e ed 。CPU 处理的数据都是由主存储器提供的,而主 存储器也就是我们平常所说的内存了。一般我们放在外存(磁盘或者各种存储介质)上面的资料都要通过内存,然后再进入C PU 进行处理,所以与内存之间的通道,也就是内存总线的速度对整个系统的 性能就显得尤为重要。由于内存和CPU 之间的运行速度或多或少会有差异,因此便出现了二级缓存, 来协调两者之间的差异。内存总线速度是指C PU 二级(L 2)高速缓存和内存之间的通信速度。
三、扩展总线速度
扩展总线速度的英文全称是E x p a n s i o n -B u s S p e ed 。扩展总线指的是微机系统的局部总线,如 VESA 或PCI 总线。平时用户打开电脑机箱时,总可以看见一些插槽般的东西,这些东西又叫做扩展槽,上面可以插显卡、声卡之类的功能模块,而扩展总线就是C PU 用以联系这些设备的桥梁。
四、工作电压
工作电压的英文全称是Supply Voltage,即CPU 正常工作所需的电压。早期CPU(286 ~486 时代)的工作电压一般为5V,那是因为当时的制造工艺相对落后,以至于C PU 的发热量太大,弄得寿命减短。
随着C PU 的制造工艺与主频的提高,近年来各种C PU 的工作电压呈逐步下降的趋势,以解决发热过高的问题。
五、地址总线宽度
应当说地址总线宽度决定了C PU 可以访问的物理地址空间,换句话说就是C PU 到底能够使用多大容量的内存。16 位的微机我们就不用说了,但是对于3 86 以上的微机系统,地址线的宽度为32 位,最多可以直接访问4 0 9 6 M B (4 G B)的物理空间。
六、数据总线宽度
数据总线负责整个系统的数据流量的大小,而数据总线宽度则决定了CPU 与二级高速缓存、内存 以及
输入/输出设备之间一次数据传输的信息量。
七、数学协处理器
4 86 以前的CPU 没有内置数学协处理器,由于数学协处理器的主要功能就是负责浮点运算,因此386 、2 86 和8088 等C PU 的浮点运算性能都相当落后,相信接触过3 86 的朋友都知道主板上可以另外 加一个外置数学协处理器,其目的就是为了增强浮点运算的能力。4 86 以后的C PU 一般都内置了数学 协处理器,功能也不再局限于增强浮点运算,含有内置数学协处理器的C PU,可以加快特定类型的 数值计算,某些需要进行复杂计算的软件系统,如高版本的A u t o C AD 就需要数学协处理器支持。
八、超标量
超标量是指在一个时钟周期内CPU 可以执行一条以上的指令。这在486 或者以前的CPU 上是很难想象的,只有P e n t i um 级以上C PU 才具有这种超标量结构。4 86 以下的C PU 属于低标量结构,即在这 类C PU 内执行一条指令至少需要一个或一个以上的时钟周期。
九、L1 高速缓存
L1 高速缓存也就是大家经常说到的一级高速缓存。C PU 内置高速缓存可以提高运行效率,这也是 486DX 比386DX-40 快的原因。内置的L1 高速缓存的容量和结构对C PU 的性能影响较大,容量越大,性 能也相对会提高不少,这也正是一些公司力争加大L1 高速缓存容量的原因。不过高速缓冲存储器均由 静态RAM 组成,结构较复杂,在CPU 管芯面积不能太大的情况下,L1 级高速缓存的容量不可能做得太 大。
十、采用回写(Write Back)结构的高速缓存
采用回写结构的高速缓存对读和写操作均有效,速度较快。而采用写通(Write-through)结构的高速缓存,仅对读操作有效。
十一、动态处理
动态处理是应用在高能奔腾处理器中的新技术,创造性地把3 项专为提高处理器对数据的操作效 率而设计的技术融合在一起。这3 项技术是多路分支预测、数据流量分析和猜测执行。动态处理并 不是简单执行一串指令,而是通过操作数据来提高处理器的工作效率。
1.多路分支预测
即通过几个分支对程序流向进行预测,采用多路分支预测算法后,处理器便可参与指令流向的跳转。它预测下一条指令在内存中位置的精确度可以达到惊人的9 0%以上。这是因为处理器在读取 指令时,还会在程序中寻找未来要执行的指令。这个技术可加速向处理器传送任务。
2.数据流量分析
抛开原程序的顺序,分析并重排指令,优化执行顺序。处理器读取经过解码的软件指令,判 断该指令能否处理或是否需与其他指令一道处理。然后,处理器再决定如何优化执行顺序以便高效 地处理和执行指令。
3.猜测执行
通过提前判读并执行有可能需要的程序指令的方式提高执行速度。当处理器执行指令时(每次5 条),采用的是“猜测执行”的方法。这样可使P e n t i u m Ⅱ处理器超级处理能力得到充分的发挥, 从而提升软件性能。
被处理的软件指令是建立在猜测分支基础之上,因此结果也就作为“预测结果”保留起来。一 旦其最终状态能被确定,指令便可返回到其正常顺序并保持永久的机器状态。
第四节 CPU 指令集
为了提高计算机在多媒体、3D 图形方面的处理和应用能力,与C PU 处理器相对应的,各种处理 器指令集应运而生,其中最著名的3 种便是I n t el 公司的MMX 、SSE 和AMD 的3 D N o w!指令集。
一、M MX 指令集
MMX(Multi Media eXtension,多媒体扩展指令集)指令集是Intel 公司于1 9 96 年推出的一项多 媒体指令增强技术。M MX 指令集中包括有57 条多媒体指令,通过这些指令可以一次处理多个数据, 在处理结果超过实际处理能力的时候也能进行正常处理,这样在软件的配合下,就可以得到更高的 性能。M MX 的益处在于,当时存在的操作系统不必为此而做出任何修改便可以轻松地执行M MX 程序。
但是,问题也比较明显,那就是M MX 指令集与x 87 浮点运算指令不能够同时执行,必须做密集 式的交错切换才可以正常执行,这种情况就势必造成整个系统运行质量的下降。
二、S SE 指令集
SSE(Streaming SIMD Extensions,单指令多数据流扩展)指令集是Intel 在Pentium Ⅲ处理器中率 先推出的。其实,早在P Ⅲ正式推出之前,Intel 公司就曾经通过各种渠道公布过所谓的KNI(Katmai New Instruction)指令集,这个指令集也就是SSE 指令集的最早名称,并一度被很多传媒称之为MMX 指 令集的下一个版本,即M M X2 指令集。究其背景,原来“K NI ”指令集是I n t el 公司最早为其下一代 芯片命名的指令集名称,而所谓的“M M X2 ”则完全是硬件评论家们和媒体凭感觉和印象对“KNI ”的 评价,I n t el 公司从未正式发布过关于M M X2 的消息。
而最终推出的SSE 指令集也就是所谓胜出的“互联网S SE ”指令集。S SE 指令集包括了70 条指令, 其中包含提高3D 图形运算效率的50 条SIMD(单指令多数据技术)浮点运算指令、12 条MMX 整数运算增强指令、8 条优化内存中连续数据块传输指令。
理论上这些指令对目前流行的图像处理、浮点运算、3D 运算、视频处理、音频处理等诸多多媒 体应用起到全面强化的作用。S SE 指令与3 D N o w!指令彼此互不兼容,但SSE 包含了3 D N o w!技术的绝大 部分功能,只是实现的方法不同。SSE 兼容M MX 指令,它可以通过SIMD 和单时钟周期并行处理多个浮 点数据来有效地提高浮点运算速度。
三、3D Now !指令集
由AMD 公司提出的3DNow!指令集应该说出现在SSE 指令集之前,并被AMD 广泛应用于其K6-2 、K6- 3 以及A t h l o n (K 7)处理器上。3DNow!指令集技术其实就是21 条机器码的扩展指令集。
与Intel 公司的M MX 技术侧重于整数运算有所不同,3DNow!指令集主要针对三维建模、坐标变换 和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3D 处理性能。
第五节 当前CPU 的技术特点
一、制造工艺——更细的线宽
近两年来主流CPU 最显著的技术特征之一就是CPU 制造工艺的进步。早期的C PU 处理器采用的大 多是0.5 微米制造工艺。随着CPU 频率的提高,0.35 微米及曾经普遍使用的0.25 微米工艺成为C PU 市场的主流。从P Ⅲ C o p p e r m i n e(铜矿)处理器开始,采用0.18 微米制造工艺的C PU 开始出现。由 于采用了更精细的工艺,使得原有晶体管门电路更大限度地缩小,因此在同样的面积内可以集成更 多的晶体管。晶体管越做越小,能耗自然也就随之降低,C PU 也可以更省电。
另一方面,传统的芯片内部大多使用铝作为导体,由于芯片速度不断提高,面积不断缩小,铝 线的性能极限已达临界,在这种情况下,铜导线技术初显端倪。铜导线技术与铝导线技术相比,优 势在于导电性能更佳,发热量更小,可以有效提高C PU 芯片的稳定性。在0 .18 微米制造工艺之后, 采用0.13 微米制造工艺的CPU 也即将上市,更快的处理器频率必将推进铜导线技术全面取代铝导线技 术。
二、封装方式——Socket 架构是主流
S E C C2 封装、F C -P GA 封装、BGA 封装;S l o t A 、S o c k e t 3 70 、S o c k e t 4 62 ……现在,如果您 有一段时间不关注IT 媒体或者隔两个月再去一趟配件市场,您必定会惊奇地发现,CPU 又变了。以 市场上最常见的S o c k et 系列为例,主流的F C -P GA 封装对应的自然是S o c k e t 3 70 接口,这种插脚接 口是一种方形的多针角零插拔力插座,插座上有一根拉杆,在安装和更换C PU 时只要将拉杆向上拉 出,就可以轻易地插进或取出CPU 芯片了。在S o c k e t 3 70 插座上可以安装最新的P Ⅲ C o p p e r m i ne 处理器、C e l e r on 系列处理器和VIA 的C y r i x Ⅲ处理器等。
再来看看Slot 系列的Slot 1 和Slot A 。Slot 1 接口方式是由Intel 公司最早提出来的一种狭长 的242 引脚插槽,可以支持采用SEC(单边接触)封装技术的早期Pentium Ⅱ、Pentium Ⅲ和Celeron 处理器。除了接口方式不同外,S l o t 1 所支持的特性与S u p e r 7 系统没有太大的差别。S l o t A 接 口标准则是由A MD 提出的,支持AMD 的K7 处理器。虽然从外观上看S l o t A 与S l o t 1 十分相像,但 是由于它们的电气性能不同,两者并不兼容。
进入2 0 00 年,随着A t h l on 将自己的L 2 C a c he 放入Die(芯片内核),Socket 接口的A t h l on 出 现也成为可能,于是伴着A M D T h u n d e r b i r d(雷鸟)处理器的诞生,S o c k e t A(也称S o c k e t 4 6 2)封装随之出现。S o c k e t A 接口的大小与S o c k e t 7 和S o c k e t 3 70 类似,但其接口在整体的布局 中缺了一些针脚,这就是为了防止在将S o c k e t 3 70 处理器插入插槽时发生意外的错误。但并不 是所有的T h u n d e r b i r d(雷鸟)处理器都是S o c k e t A 封装,为了支持其O EM 的S l o t A 系统设计, 市场上S l o t A 封装的T h u n d e r b i rd 和S o c k e t A 的雷鸟都可以见到,这也是让普通消费者在选择 时极易产生误会的地方。封装方式的改变表面上看只是外形上的变化,其实不然,技术、成本 和消费者最关心的最终价格与C PU 的封装方式可以说是密不可分的,因此大家在关注C PU 性能的同 时,千万不要忽视了C PU 的封装技术。
三、缓存——全速L2 Cache
缓存就是指可以进行高速数据交换的存储器,它先于内存与C PU 交换数据,因此速度极快,所 以又称为高速缓存。与处理器相关的缓存一般分为两种:L1 Cache(片内缓存)和L2 Cache(二级缓存)。
Pentium 时代的处理器把L1 Cache 集成在CPU 内部,而L2 Cache 则做在主板上以与C PU 外频相同的
频率工作。到了S l o t 1 时代,P e n t i u m Ⅱ处理器的缓存封装方式与旧的S o c k e t 7 架构完全不同, L 2 C a c he 开始做到了处理器上,并以处理器速度一半的频率工作,这便是I n t el 引以为荣的双独立 总线结构。在这种结构中,一条总线联接L2 高速缓存,另一条负责系统内存,这样便使整个系统的速度得到了很大的提高。
后来AMD 在其S u p e r 7 平台的最后一款产品K6-3 中首次使用了三级缓存技术,它包括一个全速 6 4 K B L 1 C a c he,一个内部全速256KB L2 Cache,还有主板上运行在100MHz 频率下的L 3 C a c he 。
这种三级缓存技术使得K6-3 的性能有很大提高,与同频的Pentium Ⅱ相比,其速度也要略快一筹。 而在新一代CPU 技术中,缓存技术得到了更进一步的发展,如A M D D u r o n(钻龙,俗称毒龙)处理器 的L2 Cache 已为6 4 KB,L1 Cache 高达1 2 8 KB,高端的Thunderbird(雷鸟)处理器更是达到了128KBL1 Cache 和256KB L2 Cache 的高速缓存。从理论上讲, L2 Cache 全内置并与处理器同频工作是大势所趋,而这 也正是决定C PU 处理器性能的一个关键环节所在。
四、指令集——M M X 、S S E 和3DNow !唱主角
2000 年的主流CPU 产品似乎更关注于在硬件技术上的 推陈出新,并没有在C PU 指令集方面出更多的新招。应 用最广泛的仍然是Intel 的MMX 、SSE 和AMD 的3DNow!指令集,并且将继续向前发展。而V IA 的 Cyrix Ⅲ处理器则同时支持Intel 的M MX 和AMD 的3DNow!多媒体指令集。