什么是处理器性能

liuliuQA2021-04-30 17:18:21阅读(...)

处理器即指中央处理器CPU,CPU的性能大致上反映出了它所配置的那部微机的性能,因此CPU的性能指标十分重要。 CPU性能主要取决于其主频和工作效率。

处理器即指中央处理器 CPU,CPU 的性能大致上反映出了它所配置的那部微机的性能,因此 CPU 的性能指标十分重要。 CPU 性能主要取决于其主频和工作效率。

什么是处理器性能

基本概念

处理器即指中央处理器 CPU,CPU 从雏形出现到发展壮大的今天,由于制造技术的越来越先进,其集成度越来越高,内部的晶体管数达到几百万个。虽然从最初的 CPU 发展到现在其晶体管数增加了几十倍,但是 CPU 的内部结构仍然可分为控制单元,逻辑单元和存储单元三大部分。CPU 的性能大致上反映出了它所配置的那部微机的性能,因此 CPU 的性能指标十分重要。 CPU 性能主要取决于其主频和工作效率。

性能参数

计算机的性能在很大程度上由 CPU 的性能决定,而 CPU 的性能主要体现在其运行程序的速度上。影响运行速度的性能指标包括 CPU 的工作频率、Cache 容量、指令系统和逻辑结构等参数。

主频

主频也叫时钟频率,单位是兆赫(MHz)或千兆赫(GHz),用来表示 CPU 的运算、处理数据的速度。通常,主频越高,CPU 处理数据的速度就越快。

CPU 的主频=外频×倍频系数。主频和实际的运算速度存在一定的关系,但并不是一个简单的线性关系。 所以,CPU 的主频与 CPU 实际的运算能力是没有直接关系的,主频表示在 CPU 内数字脉冲信号震荡的速度。在 Intel 的处理器产品中,也可以看到这样的例子:1 GHz Itanium 芯片能够表现得差不多跟 2.66 GHz 至强(Xeon)/Opteron 一样快,或是 1.5 GHz Itanium 2 大约跟 4 GHz Xeon/Opteron 一样快。CPU 的运算速度还要看 CPU 的流水线、总线等各方面的性能指标。

外频

外频是 CPU 的基准频率,单位是 MHz。CPU 的外频决定着整块主板的运行速度。通俗地说,在台式机中,所说的超频,都是超 CPU 的外频(当然一般情况下,CPU 的倍频都是被锁住的)相信这点是很好理解的。但对于服务器 CPU 来讲,超频是绝对不允许的。前面说到 CPU 决定着主板的运行速度,两者是同步运行的,如果把服务器 CPU 超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。

绝大部分电脑系统中外频与主板前端总线不是同步速度的,而外频与前端总线(FSB)频率又很容易被混为一谈。

总线频率

前端总线(FSB)是将 CPU 连接到北桥芯片的总线。前端总线(FSB)频率(即总线频率)是直接影响 CPU 与内存直接数据交换速度。有一条公式可以计算,即数据带宽=(总线频率×数据位宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。比方,支持 64 位的至强 Nocona,前端总线是 800MHz,按照公式,它的数据传输最大带宽是 6.4GB/秒。

外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是 CPU 与主板之间同步运行的速度。也就是说,100MHz 外频特指数字脉冲信号在每秒钟震荡一亿次;而 100MHz 前端总线指的是每秒钟 CPU 可接受的数据传输量是 100MHz×64bit÷8bit/Byte=800MB/s。

倍频系数

倍频系数是指 CPU 主频与外频之间的相对比例关系。在相同的外频下,倍频越高 CPU 的频率也越高。但实际上,在相同外频的前提下,高倍频的 CPU 本身意义并不大。这是因为 CPU 与系统之间数据传输速度是有限的,一味追求高主频而得到高倍频的 CPU 就会出现明显的“瓶颈”效应-CPU 从系统中得到数据的极限速度不能够满足 CPU 运算的速度。一般除了工程样版的 Intel 的 CPU 都是锁了倍频的,少量的如 Intel 酷睿 2 核心的奔腾双核 E6500K 和一些至尊版的 CPU 不锁倍频,而 AMD 之前都没有锁,AMD 推出了黑盒版 CPU(即不锁倍频版本,用户可以自由调节倍频,调节倍频的超频方式比调节外频稳定得多)。

缓存

缓存大小也是 CPU 的重要指标之一,而且缓存的结构和大小对 CPU 速度的影响非常大,CPU 内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU 往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升 CPU 内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于 CPU 芯片面积和成本的因素来考虑,缓存都很小。

L1 Cache(一级缓存)是 CPU 第一层高速缓存,分为数据缓存和指令缓存。内置的 L1 高速缓存的容量和结构对 CPU 的性能影响较大,不过高速缓冲存储器均由静态 RAM 组成,结构较复杂,在 CPU 管芯面积不能太大的情况下,L1 级高速缓存的容量不可能做得太大。一般服务器 CPU 的 L1 缓存的容量通常在 32-256KB。

L2 Cache(二级缓存)是 CPU 的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2 高速缓存容量也会影响 CPU 的性能,原则是越大越好,以前家庭用 CPU 容量最大的是 512KB,笔记本电脑中也可以达到 2M,而服务器和工作站上用 CPU 的 L2 高速缓存更高,可以达到 8M 以上。

L3 Cache(三级缓存),分为两种,早期的是外置,内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加 L3 缓存在性能方面仍然有显著的提升。比方具有较大 L3 缓存的配置利用物理内存会更有效,故它比较慢的磁盘 I/O 子系统可以处理更多的数据请求。具有较大 L3 缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。

其实最早的 L3 缓存被应用在 AMD 发布的 K6-III 处理器上,当时的 L3 缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的 L3 缓存同主内存其实差不了多少。后来使用 L3 缓存的是英特尔为服务器市场所推出的 Itanium 处理器。接着就是 P4EE 和至强 MP。Intel 还打算推出一款 9MB L3 缓存的 Itanium2 处理器,和以后 24MB L3 缓存的双核心 Itanium2 处理器。

但基本上 L3 缓存对处理器的性能提高显得不是很重要,比方配备 1MB L3 缓存的 Xeon MP 处理器却仍然不是 Opteron 的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。

工作电压

工作电压指的也就是 CPU 正常工作所需的电压。

早期 CPU(386、486)由于工艺落后,它们的工作电压一般为 5V,发展到奔腾 586 时,已经是 3.5V/3.3V/2.8V 了,随着 CPU 的制造工艺与主频的提高,CPU 的工作电压有逐步下降的趋势,Intel 最新出品的 Coppermine 已经采用 1.6V 的工作电压了。低电压能让可移动便携式笔记本,平板的电池续航时间提升,第二低电压能使 CPU 工作时的温度降低,温度低才能让 CPU 工作在一个非常稳定的状态,第三,低电压能使 CPU 在超频技术方面得到更大的发展。

制程

制程越小发热量越小,这样就可以集成更多的晶体管,CPU 效率也就更高。

乱序执行和分枝预测,乱序执行是指 CPU 采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。

分枝是指程序运行时需要改变的节点。分枝有无条件分枝和有条件分枝,其中无条件分枝只需要 CPU 按指令顺序执行,而条件分枝则必须根据处理结果再决定程序运行方向是否改变,因此需要“分枝预测”技术处理的是条件分枝。

L1 高速缓存,也就是我们经常说的一级高速缓存。在 CPU 里面内置了高速缓存可以提高 CPU 的运行效率。

采用回写(Write Back)结构的高速缓存。它对读和写操作均有可提供缓存。而采用写通(Write-through)结构的高速缓存,仅对读操作有效。在 486 以上的计算机中基本采用了回写式高速缓存。

L2 高速缓存,指 CPU 外部的高速缓存。

高速缓存是内置于 CPU 用来缓冲待处理的数据。缓存越大,可缓存的数据越多。但是 L2Cache(L2 高速缓存)并不是越大越好,超过某一额定效率提高并不明显。L2Cache 越大,发热相对增加造成数据堆叠在 L2Cache 上。

Pentium Pro 处理器的 L2 和 CPU 运行在相同频率下的,但成本昂贵,所以 Pentium II 运行在相当于 CPU 频率一半下的,容量为 512K。为降低成本 Intel 公司曾生产了一种不带 L2 的 CPU 名为赛扬。

超线程

可以同时执行多重线程,就能够让 CPU 发挥更大效率,那就是超线程(Hyper-Threading)技术,超线程技术减少了系统资源的浪费,可以把一颗 CPU 模拟成两颗 CPU 使用,在同时间内更有效地利用资源来提高性能。

处理技术

流水线技术

在解释超流水线与超标量前,先了解流水线(Pipeline)。流水线是 Intel 首次在 486 芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在 CPU 中由 5-6 个不同功能的电路单元组成一条指令处理流水线,然后将一条 X86 指令分成 5-6 步后再由这些电路单元分别执行,这样就能实现在一个 CPU 时钟周期完成一条指令,因此提高 CPU 的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以空间换取时间。例如 Pentium 4 的流水线就长达 20 级。将流水线设计的步(级)越长,其完成一条指令的速度越快,因此才能适应工作主频更高的 CPU。但是流水线过长也带来了一定副作用,很可能会出现主频较高的 CPU 实际运算速度较低的现象,Intel 的奔腾 4 就出现了这种情况,虽然它的主频可以高达 1.4G 以上,但其运算性能却远远比不上 AMD 1.2G 的速龙甚至奔腾 III-s。

CPU 封装是采用特定的材料将 CPU 芯片或 CPU 模块固化在其中以防损坏的保护措施,一般必须在封装后 CPU 才能交付用户使用。CPU 的封装方式取决于 CPU 安装形式和器件集成设计,从大的分类来看通常采用 Socket 插座进行安装的 CPU 使用 PGA(栅格阵列)方式封装,而采用 Slot x 槽安装的 CPU 则全部采用 SEC(单边接插盒)的形式封装。还有 PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。由于市场竞争日益激烈,CPU 封装技术的发展方向以节约成本为主。

多线程

同时多线程 Simultaneous Multithreading,简称 SMT。SMT 可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或 Cache 未命中带来的访问内存延时。当没有多个线程可用时,SMT 处理器几乎和传统的宽发射超标量处理器一样。SMT 最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel 从 3.06GHz Pentium 4 开始,部分处理器将支持 SMT 技术。

多核心

多核心,也指单芯片多处理器(Chip Multiprocessors,简称 CMP)。CMP 是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的 SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。这种依靠多个 CPU 同时并行地运行程序是实现超高速计算的一个重要方向,称为并行处理。与 CMP 比较,SMP 处理器结构的灵活性比较突出。但是,当半导体工艺进入 0.18 微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,由于 CMP 结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。IBM 的 Power 4 芯片和 Sun 的 MAJC5200 芯片都采用了 CMP 结构。多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。但这并不是说明,核心越多,性能越高,比如说 16 核的 CPU 就没有 8 核的 CPU 运算速度快,因为核心太多,而不能合理进行分配,所以导致运算速度减慢。在买电脑时请酌情选择。2005 年下半年,Intel 和 AMD 的新型处理器也将融入 CMP 结构。新安腾处理器开发代码为 Montecito,采用双核心设计,拥有最少 18MB 片内缓存,采取 90nm 工艺制造。它的每个单独的核心都拥有独立的 L1,L2 和 L3 cache,包含大约 10 亿支晶体管。

SMP

SMP(Symmetric Multi-Processing),对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多 CPU),各 CPU 之间共享内存子系统以及总线结构。在这种技术的支持下,一个服务器系统可以同时运行多个处理器,并共享内存和其他的主机资源。像双至强,也就是所说的二路,这是在对称处理器系统中最常见的一种(至强 MP 可以支持到四路,AMD Opteron 可以支持 1-8 路)。也有少数是 16 路的。但是一般来讲,SMP 结构的机器可扩展性较差,很难做到 100 个以上多处理器,常规的一般是 8 个到 16 个,不过这对于多数的用户来说已经够用了。在高性能服务器和工作站级主板架构中最为常见,像 UNIX 服务器可支持最多 256 个 CPU 的系统。

构建一套 SMP 系统的必要条件是:支持 SMP 的硬件包括主板和 CPU;支持 SMP 的系统平台,再就是支持 SMP 的应用软件。为了能够使得 SMP 系统发挥高效的性能,操作系统必须支持 SMP 系统,如 WINNT、LINUX、以及 UNIX 等等 32 位操作系统。即能够进行多任务和多线程处理。多任务是指操作系统能够在同一时间让不同的 CPU 完成不同的任务;多线程是指操作系统能够使得不同的 CPU 并行的完成同一个任务。

要组建 SMP 系统,对所选的 CPU 有很高的要求,首先、CPU 内部必须内置 APIC(Advanced Programmable Interrupt Controllers)单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers–APICs)的使用;再次,相同的产品型号,同样类型的 CPU 核心,完全相同的运行频率;最后,尽可能保持相同的产品序列编号,因为两个生产批次的 CPU 作为双处理器运行的时候,有可能会发生一颗 CPU 负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机。

NUMA 技术

NUMA 即非一致访问分布共享存储技术,它是由若干通过高速专用网络连接起来的独立节点构成的系统,各个节点可以是单个的 CPU 或是 SMP 系统。在 NUMA 中,Cache 的一致性有多种解决方案,一般采用硬件技术实现对 cache 的一致性维护,通常需要操作系统针对 NUMA 访存不一致的特性(本地内存和远端内存访存延迟和带宽的不同)进行特殊优化以提高效率,或采用特殊软件编程方法提高效率。NUMA 系统的例子。这里有 3 个 SMP 模块用高速专用网络联起来,组成一个节点,每个节点可以有 12 个 CPU。像 Sequent 的系统最多可以达到 64 个 CPU 甚至 256 个 CPU。显然,这是在 SMP 的基础上,再用 NUMA 的技术加以扩展,是这两种技术的结合。

乱序执行

乱序执行(out-of-orderexecution),是指 CPU 允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据个电路单元的状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新排列。采用乱序执行技术的目的是为了使 CPU 内部电路满负荷运转并相应提高了 CPU 的运行程序的速度。

分枝技术

(branch)指令进行运算时需要等待结果,一般无条件分枝只需要按指令顺序执行,而条件分枝必须根据处理后的结果,再决定是否按原先顺序进行。

收藏0个人收藏
走进科技生活方式

发表评论

本文评论已关闭!