什么是 CPU ?

CPU 的英文全称是 Central Processing Unit,即中央处理器。CPU 的内部结构可分为控制单元、逻辑单元和存储单元三大部分。CPU 的性能大致上反映出了它所配置的微机的性能,因此 CPU 的性能指标十分重要。

CPU 的主要参数

CPU 主要的性能指标有以下几点:主频、外频和前端总线频率、倍频、缓存、接口类型、内存总线速度和扩展总线速度、指令集、CPU 封装技术、核心类型,核心数量和核心电压。CPU 流水线和超标量、制作工艺、TDP 功耗。

主频

CPU 的主频,即 CPU 内核工作的时钟频率(CPU Clock Speed)。它与 CPU 实际的运算能力并没有直接关系。但主频和实际的运算速度存在一定的关系,然而目前还没有一个确定的公式能够定量两者的数值关系,因为 CPU 的运算速度还要看 CPU 流水线的各方面性能指标(缓存、指令集、CPU 的位数等)。CPU 的主频虽然不代表 CPU 的速度,但提高主频对于提高 CPU 运算速度却是至关重要的。

计算机的整体运行速度不仅取决于 CPU 运算速度,还与其他各分系统的运行情况有关,只有在提高主频的同时,各分系统运行速度和各分系统之间的数据传输速度都能得到提高后,计算机整体的运行速度才能真正得到提高。

外频和前端总线频率

外频是 CPU 乃至整个计算机系统的基准频率,单位是 MHz(兆赫兹)。前端总线频率的英文名字是 Front Side Bus,通常用 FSB 表示,是将 CPU 连接到北桥芯片的总线。INTEL 处理器的两者的关系是:FSB 频率=外频 x 4AMD 处理器的两者的关系是:FSB 频率=外频 x 2

外频与前端总线频率的区别:前端总线的速度指的是 CPU 和北桥芯片间总线的速度,更实质性地表示了 CPU 和外界数据传输的速度。而外频的概念是建立在数字脉冲信号振荡速度基础之上的,如:100 MHz 外频是指数字脉冲信号每秒钟振荡 10000000 次,它更多地影响了 PCI 及其他总线的频率。一个 CPU 默认的外频只有一个,主板必须能支持这个外频。因此在选购主板和 CPU 时必须注意这点,如果两者不匹配,系统就无法工作。

倍频

CPU 的核心工作频率与外频之间存在着一个比值关系,这个比值就是倍频系数,简称倍频。理论上倍频是从 1.5 一直到无限的,但需要注意的是,倍频是以 0.5 为一个间隔单位。外频与倍频相乘就是主频,所以其中任何一项提高都可以使 CPU 的主频上升。原先并没有倍频概念,CPU 的主频和系统总线的速度是一样的,但 CPU 的速度越来越快,在 Intel80486 时代,倍频技术也就应运而生。它可使系统总线工作在相对较低的频率上,而 CPU 速度可以通过倍频来无限提升。那么 CPU主频的计算方式变为:主频=外频x倍频。也就是说倍频是指 CPU 和系统总线之间相差的倍数,当外频不变时,提高倍频,CPU 主频也就越高。

一个 CPU 默认的倍频只有一个,主板必须能支持这个倍频。因此在选购主板和 CPU 时必须注意这点,如果两者不匹配,系统就无法工作。此外,现在 CPU 的倍频很多已经被锁定,无法修改。

缓存

缓存(Cache Memory)位于 CPU 和内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,这一小部分是短时间内 CPU 即将访问的,当 CPU 调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。

一级缓存(Levell Cache)简称 L1 Cache,位于 CPU 内核的旁边,是与 CPU 结合最为紧密的CPU 缓存,也是历史上最早出现的 CPU 缓存。由于一级缓存的技术难度和制造成本最高,提高容量所带来的技术难度和成本增加非常大,因为容量限制,所带来的性能提升却不明显,性价比较低。但是,一级缓存的命中率很高,所以一级缓存是所有缓存中容量最小的,比二级缓存要小得多,容量单位一般是 KB。

二级缓存(L2 Cache)是集成于 CPU 外部的高速缓存,存取速度与 CPU 主频相同或与主板频率相同,目前容量单位一般为MB。

(1)Intel 公司双核心处理器的二级缓存

目前 Intel 的双核心 CPU 主要有 Pentium D、Pentium EE、Core Duo 三种,其中 Pentium D、Pentium EE 的二级缓存方式完全相同。Pentium D 和 Pentium EE 的二级缓存都是 CPU 内部两个内核,具有互相独立的二级缓存,其中,8XX 系列的 Smithfield 核心 CPU 为每核心 1 MB,而9XX 系列的 Presler 核心 CPU 为每核心 2 MB。这种 CPU 内部的两个内核之间的缓存数据同步,是依靠位于主板北桥芯片上的仲裁单元,通过前端总线在两个核心之间传输来实现的,所以其数据延迟问题比较严重,性能并不尽如人意。

Core Duo 使用的核心为 Yonah,它的二级缓存则是两个核心共享 2 MB 的二级缓存,共享式的二级缓存配合 Intel 的 “Smart cache” 共享缓存技术,实现了真正意义上的缓存数据同步,大幅度降低了数据延迟,减少了对前端总线的占用,性能表现不错,是目前双核心处理器上最先进的二级缓存架构。Intel 的双核心处理器的二级缓存一般都会采用这种两个内核共享二级缓存的 “Smart cache”共享缓存技术。

(2)AMD 公司双核心处理器的二级缓存

Athlon 64 X2 CPU 的核心主要有 Manchester 和 Toledo 两种,它们的二级缓存都是 CPU 内部两个内核具有的互相独立的二级缓存,其中,Manchesler 核心为每核心 512 KB,而 Toledo 核心为每核心 1 MB。处理器内部的两个内核之间的缓存数据同步是依靠 CPU 内置的 System Request Interface(系统请求接口,SRI)控制,传输在 CPU 内部即可实现。这样一来,不但 CPU 资源占用很小,而且不必占用内存总线资源,数据延迟也比 Intel 的 Smithfield 核心和 Presler 核心大为减少,协作效率明显胜过这两种核心。不过,由于这种方式仍然是两个内核的缓存相互独立,从架构上来看也明显不如以 Yonah 核心为代表的 Intel 的共享缓存技术 Smart Cache。

随着制造工艺的提升和产品性能的需要,现在已经有了三级、四级缓存,这对CPU的性能提升是非常有帮助的。

接口类型

CPU 需要通过某个接口与主板连接才能进行工作。CPU 经过这么多年的发展,采用的接口方式有引脚式、卡式、触点式、针脚式等。而目前 CPU 的接口都是触点式、针脚式接口,对应到主板上就有相应的插槽类型。CPU 接口类型不同,在插孔数、体积、形状都有变化,所以不能互相接插。下面介绍目前市场上常用的一些CPU接口及插槽。

Socket 370

Socket 370 架构是英特尔开发出来代替 SLOT 架构,外观上与 Socket 7 非常像,也采用零插拔力插槽,对应的 CPU 是 370 针脚。英特尔公司著名的 “铜矿” 和 “图拉丁” 系列 CPU 就是采用此接口。

Socket 940

Socket 940 是最早发布的 AMD64 位 CPU 的接口标准,具有 940 根 CPU 针脚,支持双通道 ECC DDR 内存。目前采用此接口的有服务器/工作站所使用的 Opteron 以及最初的 Athlon 64 FX。随着新出的 Athlon 64 FX 以及部分 Opteron 1XX 系列改用 Socket 939 接口,所以 Socket 940 已经成为了 Opteron 2XX 全系列和 Opteron 8XX 全系列以及部分 Opteron 1XX 系列的专用接口。

Socket F

Socket F 是 AMD 于 2006 年第三季度发布的支持 DDR2 内存的 AMD 服务器/工作站 CPU 的接口标准,首先采用此接口的是 Santa Rosa 核心的 LGA 封装的 Opteron。与以前的 Socket 940 接口 CPU 明显不同,Socket F 与 Intel 的 Socket 775 和 Socket 771 倒是基本类似。Socket F 接口CPU 的底部没有传统的针脚,而代之以 1207 个触点,即并非针脚式而是触点式,通过与对应的Socket F 插槽内的 1207 根触针接触来传输信号。Socket F 接口不仅能够有效提升处理器的信号强度、提升处理器频率,同时也可以提高处理器生产的良品率、降低生产成本。Socket F 接口的Opteron 也是 AMD 首次采用 LGA 封装,支持 ECC DDR2 内存。按照 AMD 的规划,Socket F 接口将逐渐取代 Socket 940 接口。

Socket AM3

AMD 于 2009 年 2 月发布了首批共五款采用 Socket AM3 接口的 Phenom IIX4/X3 系列处理器,包括 Socket AM3 Phenom II X4 910、Phenom II X4 810/805 三款四核心和 Phenom II X3 720 BE/710 两款三核心。CPU 针脚数由原来 AM2 的 940 根针脚改为 938 根针脚。

LGA1156

LGA1156 接口与之前的 LGA775/1366 如出一辙,同样是将处理器的针脚转移到了主板插座上,总共拥有 1156 个针脚/触点。不过不同的是,LGA1156 接口底座的卡锁方式发生了一些变化,由原来的拉杆式卡锁变成了现在的牟钉式卡锁,但总体来讲本质上并没有发生变化。由于在针脚数量上发生了明显变化,LGA1156 接口与 LGA775 接口处理器已经不能兼容,因此消费者不得不在升级的时候进行额外的开销。相对于老的 LGA775 接口升级 BIOS 即可升级,LGA1156 稍显不足。当然全新的双芯片设计即使不更换接口也需要更换主板才能够升级。从 LGA1156 接口开始,整合技术(北桥以及 IGP),超线程技术,睿频(智能超频)技术,虚拟化技术以及未来的 32 nm 工艺都被集成在一起.不能不说 LGA1156 开创了一个新时代。

LGA1366

随着 Intel 的 tick-tock 战略的施行,新一代 Nehalem 架构处理器进人了用户的视线。从这一架构开始,Intel 放弃了已经使用了 10 年之久的 FSB 概念,转为使用更为先进的,带宽更高的 QPI 总线,并且正式将属于北桥功能的内存控制器整合进了 CPU 当中,可支持三通道 DDR3 内存。为了能够支持 QPI 总线所带来的超高带宽,LGA775 接口被放弃,新的 LGA1366 接口诞生了。新推出的 LGA1366 接口与 QPI 总线的搭配带来了当前最为极致的性能,即使是采用了这一接口的最低端型号,与同价位的产品相比都拥有绝对优势。这主要是与新的 QPI 总线的引入以及整合内存控制器的架构设计有关。

与以往的升级芯片组而不升级接口的做法不同,Intel 本次不仅将芯片组进行了全新设计,连接口也进行了更换。像 965P 这样的老芯片组通过刷新 BIOS 来支持新处理器的做法已经彻底完结。LGA1366 接口带来强大的性能不言而喻,但是他的出现并没有对 LGA775 接口构成直接的威胁,毕竟这是一款面向高端人士的产品。不过 LGA1366 接口可以支持 6 核 32 nm 处理器的能力确实比较前卫。

LGA2011

LGA 2011,又称 Socket R,是英特尔(Intel)Sandy Bridge-EX 微架构 CPU 所使用的 CPU 接口。LGA2011 接口将取代 LGA1366 接口,成为 Intel 最新的旗舰产品。LGA2011 接口有 2011 个触点,将包含以下新特性:处理器最高可达八核、支持四通道 DDR3 内存、支持 PCI-E3.0 规范、芯片组使用单芯片设计,支持 2 个 SATA 3 Gbps 和多达 10 个 SATA/SAS 6 Gbps 接口。

内存总线速度和扩展总线速度

(1)内存总线速度(MemoryBus Speed)

CPU 处理的数据是从哪里来的呢?学过一点计算机基本原理的人都会清楚,是从主存储器那里来的,而主存储器指的就是平常所说的内存。一般我们放在外存(磁盘或者各种存储介质)上面的资料都要通过内存,再进入 CPU 进行处理。由于内存和 CPU 之间的运行速度或多或少会有差异,因此便出现了二级缓存,来协调两者之间的差异。内存总线速度就是指 CPU 与二级(1.2)高速缓存和内存之间的通信速度。

(2)扩展总线速度(ExpansionBus Spcrd)

扩展总线指的就是安装在微机系统上的局部总线如 VESA、PCI、PCI-E 等总线,我们打开计算机的时候会看见-些插槽般的东西.这些就是扩展槽,而扩展总线就是 CPU 联系这些外部设备的桥梁。

指令集

CPU 依靠指令来计算和控制系统,每款 CPU 在设计时就规定了一系列与其硬件电路相配合的指令系统,指令集存储在 CPU 内部、对 CPU 运算进行指导和优化的硬程序,指令的强弱也是 CPU 的重要指标。指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两大阵营,台式机的 CPU 基本都是属于复杂指令集阵营。Intel 主要有 x86、EM64T、MMX、SSE、 SSE2、SSE3、 SSSE3 (Super SSE3)、 SSE4A、SSE4.1、 SSE4.2、AVX、AVX2、AVX-512、 VMX 等指令集。AMD 主要是 X86、X86-64,、3D-Now!指令集。

SSE 指令集

Streaming STMD Extensions,由于 MMX 指令并没有带来 3D 游戏性能的显著提升,1999 年 Intel 公司在 Pentium Ⅲ CPU 产品中推出了数据流单指令序列扩展指令(SSE)。SSE 兼容 MMX指令,它可以通过 STMD(单指令多数据技术)和单时钟周期并行处理多个浮点来有效地提高浮点运算速度。在 MMX 指令集中,借用了浮点处理器的 8 个寄存器,这样导致了浮点运算速度降低。而在 SSE 指令集推出时,Intel 公司在 Pentium ICPU 中增加了 8 个 128 位的 SSE 指令专用寄存器。而且 SSE 指令寄存器可以全速运行,保证了与浮点运算的并行性。

SSE2 指令集

在 Pentium 4 CPU 中,Intel 公司开发了新指令集 SSE2。这一次新开发的 SSE2 指令一共 144 条,包括浮点 SIMD 指令、整形 SIMD 指令、SIMD 浮点和整形数据之间转换、数据在 MMX 寄存器中转换等几大部分。其中重要的改进包括引入新的数据格式,如:128 位 SIMD 整数运算和 64 位双精度浮点运算等。为了更好地利用高速缓存。另外,在 Pentium 4 中还新增加了几条缓存指令,允许程序员控制已经缓存过的数据。

SSE3 指令集

相对于 SSE2,SSE3 又新增加了13条新指令,此前它们被统称为 pni(prescott new instructions)。13 条指令中,一条用于视频解码,两条用于线程同步,其余用于复杂的数学运算、浮点到整数转换和 SIMD 浮点运算。

SSE4 指令集

SSE4 又增加了 50 条新的增加性能的指令,这些指令有助于编译、媒体、字符、文本处理和程序指向加速。SSE4 指令集将作为 Intel 公司未来“显著视频增强”平台的一部分。该平台的其他视频增强功能还有 Clear Video 技术(CVT)和统一显示接口(UDJ)支持等,其中前者是对 ATi AVIVO技术的回应,支持高级解码、后处理和增强型3D功能。

3D Now!扩展指令集

3D Now!指令集是 AMD 公司 1998 年开发的多媒体扩展指令集,共有 21 条指令。针对 MMX 指令集没有加强浮点处理能力的弱点,重点提高了 AMD 公司 K6 系列 CPU 对 3D 图形的处理能力。由于指令有限,3D Now!指令集主要用于 3D 游戏,而对其他商业图形应用处理支持不足。正是因为有了 3D Now!指令集才使得 AMD的CPU性能得到了大幅提升,从而在残酷的CPU竞争中,得以生存下来,进一步的发展、壮大。

X86 指令集

X86 指令集是 Intel 为其第一块 16 位 CPU(i8086)专门开发的,IBM 1981 年推出的世界第一台PC 机中的 CPU-i8088(i8086简化版)使用的也是 X86 指令,同时电脑中为提高浮点数据处理能力而增加的 X87 芯片系列数学协处理器则另外使用 X87 指令,以后就将 X86 指令集和 X87 指令集统称为 X86 指令集。

虽然随着 CPU 技术的不断发展,Intel 陆续研制出更新型的 i80386、i80486 直到今天,但为了保证计算机能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以 Intel 公司所生产的所有 CPU 仍然继续使用 X86 指令集,所以它的 CPU 仍属于 X86 系列。由于 Intel X86 系列及其兼容 CPU 都使用 X86 指令集,所以就形成了今天庞大的 X86 系列及兼容 CPU 阵容。