2.6 CPU的主要性能指标
CPU作为整个微机系统的核心,往往是各种档次微机的代名词,如Pentium Ⅲ、Pentium 4、酷睿i5、酷睿i7、AMD羿龙Ⅱ X4(外观如图2-19和图2-20所示)等CPU的性能大致上也反映了所配置微机的性能,因此它的性能指标十分重要。
(1)时钟频率(主频)。时钟频率是CPU在单位时间(s)内发出的脉冲数,常用以MHz或GHz为单位。时钟频率越高,运算速度就越快。
现在的Intel酷睿i系列和AMD羿龙Ⅱ系列处理器工作频率超过了3GHz。
图2-19 Intel酷睿i5 520E和酷睿 i7 860S微处理器外观图
图2-20 AMD羿龙Ⅱ X4 900e微处理器外观图
(2)外部时钟频率(外频)和倍频。外部时钟频率则表示系统总线的工作频率,而倍频则是指CPU的外频与主频相差的倍数。三者有十分密切的关系:主频=外频×倍频。
(3)前端总线频率。英文名称叫Front Side Bus,简写为FSB。前端总线频率指的是数据传输的实际频率,即每秒钟CPU可接受的数据传输量。前端总线的速度越快,CPU的数据传输就越迅速。前端总线的速度主要是用前端总线的频率来衡量。现在高档的处理器的FSB频率等于外频的4倍。
(4)超线程和多线程技术。超线程(Hyper-Threading,简写为HT)是一种同步多线程执行技术,采用此技术的CPU内部集成了两个逻辑处理器单元,相当于两个处理器实体,可以同时处理两个独立的线程。多线程Simultaneous Multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。Intel从Pentium 4 3.06GHz开始,所有处理器都将支持SMT技术。有的CPU达到十二个线程。
(5)超标量(Superscalar)设计。所谓的超标量CPU,就是集成了多个ALU、多个FPU、多个译码器和多条流水线的CPU,以并行处理的方式来提高性能。
(6)超流水线技术。超流水线是通过细化流水,提高主频,使得机器在一个周期内完成一个甚至多个操作。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就像工业生产上的装配流水线。在CPU中由5-6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5-6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。
(7)多核处理器。多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核),也指单芯片多处理器(Chip Multiprocessors,简称CMP),多核CPU就是基板上集成有多个单核CPU,每个单独的核心都拥有独立的L1,L2和L3 cache,2005年下半年,Intel和AMD的处理器也融入了CMP结构。
早期双核需要北桥来控制分配任务,核心之间存在抢二级缓存的情况。后来酷睿系列集成了任务分配系统,再搭配操作系统就能真正同时开工,2个核心同时处理2“份”任务,速度快了。一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。对于这类程序,两个物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在双核电脑上。
(8)睿频加速技术。这是Intel在酷睿i系列CPU中加入的新技术,以往CPU的主频是出厂之前被设定好的,不可以随意改变。而酷睿i系列的CPU都加入了睿频加速,使得CPU的主频可以在某一范围内根据处理数据的需要自动调整主频。它是基于Nehalem架构的电源管理技术,通过分析当前CPU的负载情况,智能地完全关闭一些用不上的核心,把能源留给正在使用的核心,并使它们运行在更高的频率,进一步提升性能;相反,需要多个核心时,动态开启相应的核心,智能调整频率。这样,在不影响CPU工作的情况下,能把核心工作频率调得更高。
(9)运算速度。CPU的运算速度通常用每秒执行基本指令的条数来表示,常用的单位是MIPS(Million Instruction Per Second),即每秒百万条指令数,是CPU执行速度的一种表示方式。
(10)Cache的容量和速率。Cache(缓存)的大小和速度也同CPU的性能息息相关。目前的CPU通常采用三级缓存机制,一级缓存的容量基本在4KB到46KB之间,二级缓存的容量则为128KB到2MB之间,三级缓存容量达到12MB。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。Cache的速率是CPU主频的速率。
(11)数据宽度(字长)。CPU的字长是指CPU一次所能处理的二进制数的位数,是表示运算器性能的主要技术指标,一般它等于CPU数据总线的宽度。CPU字长越长,运算精度越高,处理信息速度越快,性能也越高。常见的CPU字长有16位、32位和64位。
(12)寻址能力。寻址能力往往是指CPU能直接存取数据的内存地址的范围,这是由CPU的地址总线引脚的数目来决定的。通常用MB或GB来表示寻址空间。
(13)支持的扩展指令集。支持的扩展指令集也是造成性能差异的一个关键。1996年,Intel的MMX指令集(MultiMedia Extensions,多媒体扩展指令集)应用到奔腾处理器当中。MMX包括57条多媒体指令,通过单指令多数据方式(SIMD)加速整数运算,可以加速视频、音频等多媒体应用。
3Dnow!指令集是由AMD开发的(Intel没有采纳),它出现在SSE指令之前,共有多媒体扩展指令集27条指令,主要应用于3D等浮点运算,从而使CPU的3D性能大大提高。
SSE(Streaming SIMD Extensions,单指令多数据流扩展指令集)是Intel在Pentium Ⅲ处理器中开始应用的。Intel在其64位CPU中将采用SSE2—支持双精度浮点数的SIMD处理。
Intel在Prescott架构中发布了SSE3。这些指令通常增加处理器的SIMD性能。SIMD处理要求处理器必须以大量的数据去执行相关的操作,比如音频/视频处理。在这些应用中,处理器需要处理大量的数据流,并进行重复操作。在SSE3上,Intel增加了10条新的SIMD指令以及3条脱离SSE寄存器的指令(fisttp、monitor、mwait)。
SSE4指令集让45nm Penryn处理器增加了2个不同的32bit向量整数乘法运算单元,并加入8位无符号(Unsigned)最小值及最大值运算,以及16bit及32bit有符号(Signed)运算。SSE4加入了6条浮点型点积运算指令,支持单精度、双精度浮点运算及浮点产生操作。在面对支持SSE4指令集的软件时,可以有效地改善编译器效率及提高向量化整数及单精度代码的运算能力。同时,SSE4改良插入、提取、寻找、离散、跨步负载及存储等动作,使向量运算进一步专门化。SSE4指令集提供完整128位宽的SSE执行单元,一个时钟周期内可执行一个128位SSE指令,它将为我们带来非常可观的多媒体应用性能提升。
SSE4.2在SSE4.1指令集的基础上又加入了几条新的指令。SSE4.2指令集新增的部分主要包括STTNI(String & Text New Instructions)和ATA(Application Targeted Accelerators)两个部分。以往每一次的SSE指令集更新都主要体现于多媒体指令集方面,不过此次的SSE4.2指令集却是加速对XML文本的字符串操作、存储校验等。采用SSE 4.2指令集后,XML的解析速度最高是原来的3.8倍,而指令周期节省可以达到2.7倍。此外,在ATA领域,SSE 4.2指令集对于大规模数据集中处理和提高通信效率都会发挥应有的作用。
SSE4A指令集是AMD公司针对2007年同期Intel 45nm处理器推出的SSE4指令集而修改而来,Intel的SSE4会增加48条指令,SSE4A则去除其中对I64优化的指令,保留图形、影音编码、3D运算、游戏等多媒体指令,并完全兼容。
目前CPU的扩展指令集主要有MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、EM64T、AES等。
(14)生产工艺技术。生产工艺技术指在硅材料上生产CPU时内部各元器件间的连线宽度,一般用微米或纳米(µm或nm)表示。微米数值越小,生产工艺越先进,CPU内部功耗和发热量就越小。目前生产工艺为45纳米以下。
(15)供电电压。Pentium CPU的供电电压都是3.3V或以下。Pentium4的供电电压在1.5V以下,CPU工作电压越低则表示CPU制造工艺越先进,也表示CPU运行耗电功率越小。