我们要介绍的是引领服务器产品和技术升级换代的核心——CPU。服务器的中央处理器(CPU),在内部结 构上跟台式机CPU没有本质区别,它们都是由运算器和控制器组成,CPU的内部结构可分为控制单元,逻辑单元和存储单元三大 部分。不过,随着业务应用的不同和产品线的划分,服务器处理器在技术、架构和具体应用方面,都较以前有了很大的不同。
CPU
1.主频
主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人认为主频就决定着CPU的运行速度,事实并非如此(比如最新推出的至强E7-4807,其主频为1.86GHz,但它的性能远远超过主频为2.4GHz的至强E5620处理器)。
所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。在Intel的处理器产品中,我们也可以看到这样的例子:1 GHz Itanium芯片能够表现得差不多跟2.66 GHz Xeon/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。当然,主频和实际的运算速度还是有关联的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。
2.外频
外频是CPU的基准频率,单位也是MHz。CPU的外频决定着整块主板的运行速度。说白了,在台式机中,我们所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。但对于服务器CPU来讲,超频是绝对不允许的。前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,而服务器是十分注重运行的稳定性的,除非发生意外情况,一般不容许出现宕机事故。
目前的绝大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态。外频与前端总线(FSB)频率很容易被混为一谈,下面的前端总线介绍我们谈谈两者的区别。
3.前端总线(FSB)频率
前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。有一条公式可以计算,即数据带宽=(总线频率×数据带宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。
外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit÷8Byte/bit=800MB/s。
其实现在“HyperTransport”构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。之前我们知道IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub。Intel 7501、Intel7505等芯片组,就是为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。
4、CPU的位和字长
位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是 一“位”。
字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的 CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。 字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。
5.倍频系数
倍频系数是指CPU主频与外频之间的相对比例关系。在相同的外频下,倍频越高CPU的频率也越高。但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。这是因为CPU与系统之间数据传输速度是有限的,一味追求高倍频而得到高主频的CPU就会出现明显的“瓶颈”效应。
6.缓存
缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大。CPU缓存(Cache Memory)是位于CPU与内存之间的规模较小的但速度很高的临时存储器,它通常由SRAM(静态随机存储器)组成。用来存放那些被CPU频繁使用的数据,以便使CPU不必依赖于速度较慢的DRAM(动态随机存储器)。不过限于它的昂贵成本,一般容量比内存要小。
SRAM结构简图
DRAM结构简图
L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。
L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好。近年来服务器和工作站CPU的L2高速缓存一般为2MB至3MB之间。
L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。
其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。英特尔今年推出的至强E7三级缓存最高可达30MB。
AMD K6处理器
7.CPU扩展指令集
CPU扩展指令集指的是CPU增加的多媒体或者是3D处理指令,这些扩展指令可以提高CPU处理多媒体和3D图形的能力。著名的有MMX(多媒体扩展指令)、SSE(因特网数据流单指令扩展)和3DNow!指令集。CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。
我们通常会把CPU的扩展指令集称为"CPU的指令集"。SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有 50条命令,SSE2包含有144条命令,SSE3包含有13条命令。目前SSE3也是最先进的指令集,英特尔Prescott处理器 已经支持SSE3指令集,AMD会在未来双核心处理器当中加入对SSE3指令集的支持,全美达的处理器也将支持这一指令集。
8.CPU内核和I/O工作电压
从586CPU开始,CPU的工作电压分为内核电压和I/O电压两种,通常CPU的核心电压小于等于I/O电压。其中内核电压的大小是根据 CPU的生产工艺而定,一般制作工艺越小,内核工作电压越低。I/O电压一般都在1.6~5V。低电压能解决耗电过大和发热过高的问题。
9.制造工艺
CPU制造工艺又叫做CPU制程,它的先进与否决定了CPU的性能优劣。CPU的制造是一项极为复杂的过程,当今世上只有少数几家厂商具备研发和生产CPU的能力。CPU的发展史也可以看作是制作工艺的发展史。现在服务器CPU的制造工艺普遍为45nm、32nm。
10.指令集
(1)CISC指令集
CISC指令集(Complex Instruction Set Computer的缩写),也称为复杂指令集,在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。
要知道什么是指令集还要从当今的X86架构的CPU说起。X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM 1981年推出的世界第一台PC机中的CPU—i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。
虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到过去的PII至强、PIII至强、Pentium 3,最后到今天的Pentium 4系列、至强(不包括至强Nocona),但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有 CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。x86CPU目前主要Intel的服务器CPU和AMD的服务器CPU两类。
(2)RISC指令集
RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。
RISC指令集是高性能CPU的发展方向。它与传统的CISC(复杂指令集)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。RISC指令系统更加适合高档服务器的操作系统UNIX,现在Linux也属于类似UNIX的操作系统。RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。
目前,在中高档服务器中采用RISC指令的CPU主要有以下几类:PowerPC处理器 、SPARC处理器、PA-RISC处理器、MIPS处理器、Alpha处理器。
CISC和RISC主要区别
(3)IA-64
EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)是否是RISC和CISC体系的继承者的争论已经有很多,单以EPIC体系来说,它更像Intel的处理器迈向 RISC体系的重要步骤。从理论上说,EPIC体系设计的CPU,在相同的主机配置下,处理Windows的应用软件比基于Unix下的应用软件要好得多。
Intel采用EPIC技术的服务器CPU是安腾Itanium(开发代号即Merced)。它是64位处理器,也是IA-64系列中的第一款。微软也已开发了代号为Win64的操作系统,在软件上加以支持。在Intel采用了X86指令集之后,它又转而寻求更先进的64-bit微处理器,Intel这样做的原因是,它们想摆脱容量巨大的x86架构,从而引入精力充沛而又功能强大的指令集,于是采用EPIC指令集的IA-64架构便诞生了。IA-64 在很多方面来说,都比x86有了长足的进步。突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高。
IA-64微处理器最大的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够更好地运行两个朝代的软件,它在IA-64处理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解码器,这样就能够把x86指令翻译为IA-64指令。这个解码器并不是最有效率的解码器,也不是运行x86代码的最好途径(最好的途径是 直接在x86处理器上运行x86代码),因此Itanium 和Itanium2在运行x86应用程序时候的性能非常糟糕。这也成为X86-64产生的根本原因。
(4)X86-64 (AMD64 / EM64T)
AMD公司设计,可以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项; 但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可以避免字段过长。
x86-64(也叫AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容x86。AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron处理器。
11.超流水线与超标量
在解释超流水线与超标量前,先了解流水线(pipeline)。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令。
超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。例如Pentium 4的流水线就长达20级。将流水线设计的步(级)越长,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。但是流水线过长也带来了一定副作用,很可能会出现主频较高的CPU实际运算速度较低的现象,Intel的奔腾4就出现了这种情况,虽然它的主频可以高达1.4GHz以上,但其运算性能却远远比不上AMD 1.2GHz的速龙甚至奔腾III。
12.封装形式
CPU封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。CPU的封装方式取决于CPU安装形式和器件集成设计,从大的分类来看通常采用Socket插座进行安装的CPU使用PGA(栅格阵列)方式封装,而采用Slot x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。现在还有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。由于市场竞争日益激烈,目前CPU封装技术的发展方向以节约成本为主。
CPU封装
通过前面的一些内容,相信大家对服务器处理器有了更为深刻和全面的了解。基于处理器技术和产品更新换代之快,也为了帮助用户更深刻地认识到当今和未来一段时间,处理器对服务器甚至以此相关的整个产业链的影响,下面,我们将介绍目前最新的服务器CPU产品。
英特尔至强E5、E7系列
首先,我们来看看作为芯片大佬英特尔公司最新推出的至强E5处理器。国外有媒体透露,英特尔将于今年年末推出代号为Romley-EP的双插槽平台产品,包括17款E5-2600系列双核、四核、六核和八核的处理器产品。其中最高端的E5-2687W将具备8核16线程,3.1 GHz主频,20MB三级缓存,功率为150W,而且它们都支持LGA 2011插槽。
至强E5-2600系列处理器规格、参数
E5-2600的八核心产品总共有8个型号(型号和规格见下表),六核心和四核心分别只有5款和3款。六核心具备15MB三级缓存,主频从 2.0GHz到2.9GHz不等。四核心处理器的三级缓存则只有10MB。另外,该系列还拥有一个E5-2637双核产品,该产品的主频为3GHz,拥有 5MB三级缓存和80W功率。
E7方面,英特尔公司在今年上半年推出了E7-8800/4800/2800产品家族的至强E7系列产品,以英特尔上一代服务器处理器为基础,建立了面向诸多高端计算应用,包括商业智能、实时数据分析和虚拟化的全新标准。与上一代至强7500(Nehalem-EX)系列 相比,至强E7系列(Westmere-EX)在技术上有很多改变,不仅将最大处理核心数量从8提高到10,并且提升三级缓存容量到 30MB,所支持内存容量最大可达2TB。
至强E7产品家族新特色
甲骨文 SPARC T4
近日,甲骨文推出了被收购前SUN公司所设计的SPARC架构处理器的后续产品——SPARC T4,以及基于该产品的服务器系统(《破世界记录 甲骨文新推SPARC T4服务器》)。该处理器主要面向服务器和HPC领域,改进之处主要在单线程和加密运算性能上。
SPARC T4核心框架图
SPARC T4处理器是自2004年10月推出的双核UltraSPARC-IV+“Panther” 芯片以来最为重要的一款产品。它主要面向入门级和中 级服务器平台。T4处理器一改以往T3处理器不具备三级缓存功能,新增了4MB三级缓存。此外,T4处理器的运行频率超过 3GHz ,采用台积电40nm CMOS制造工艺。据悉,T4单个核心为S3——甲骨文新近开发的具有乱序执行的功能。每个S3核心内 部集成 16KB一级数据缓存(L1 Data Cache),16KB一级命令缓存(L1 Command Cache),128KB二级缓存。而前代T3使用的 S2核心L1 只有16KB命令+8KB数据,对比之下S3大大提高。
SPARC T4
另外,T4还强化了加密编码运算功能。它采用了专门对应AES和DES、Kasumi、Camellia、CRC32c等算法的低延迟"in -pipe"命 令,以及对应MD5、SHA-1、SHA-256、SHA-512、MPMUL等算法的高延迟"out-of-pipe"命令。
AMD推土机
AMD的推土机产品,包含代号为Valencia的Opteron 4200系列和代号为Interlagos的Opteron 6200系列。Opteron 4200系列将 提供6或8个推土机核心,或按模块设计,将会提供3或4个双核心模块。根据AMD介绍,推土机模块都提供有2个“强线程”,据 称它是一种不同于英特尔至强芯片设计的线程。
集成4个双核、L3缓存和内存控制器的推土机芯片视图
代号为Interlagos的推土机处理器,可以提供8、12甚至16个推土机核心,主频最高可达3GHz,三级缓存为16MB,可以支持四路 服务器应用。而代号为Valencia的推土机架构处理器主要面向单路、双路服务器,它更加注重成本优化和能源效率的服务器。
推土机架构
推土机采用不同的多线程方式——两颗核心为一组,分立的整数运算单元和共享的浮点运算单元。这种设计能够大大节省晶体 管的数量、降低核心面积和功耗,同时降低成本。然而,AMD的这种设计对于企业级服务器或者HPC来说,由于大部分都属于纯 整数运算,因此它并不会给性能带来很大提升。如果具备足够内存带宽,芯片就能提供较高的浮点运算能力。
推土机在降低功耗方面,AMD也可以通过关闭各单元电源来实现。高性能运算能耗之所以高,主要是由于浮点运算,而一般应用 运算主要是在执行单元消耗得最高。同时在闲置状态下,AMD也可以关闭暂时不在使用的核的电源供给。
IBM Power 7
著名的 “沃森”超级计算机就搭载了Power 7系列处理器。该处理器器采用了IBM的45nm SOI铜互联工艺制程,典型的Power 7 处理器具有八个核心,提供4核、6核、8核心型号,晶体管数量达到了12亿,核心面积567mm2,从这里可以明显看出Power7的与 众不同,作为对比,同样八核心的Nehalem-EX具有23亿个晶体管,整整多了一倍。
Watson超级计算机
和以往的IBM Power处理器不太一样,IBM Power7是一个单晶片的八核处理器,而不是如Power5那样由多个晶圆合体(Power7据 说支持单个处理器两个晶圆,也就是形成一个16核心处理器)。IBM Power7是一个典型的多核心处理器。
Power 7芯片架构
全系列POWER7处理器均支持“智能线程”(Intelligent Threads)技术,根据任务需求动态调节处理器性能,比如当需要监控 数百万家庭用电量时优化为多线程处理,而当需要实时处理数据库业务时又对较少线程高速运算进行优化。
如果应用软件需要大容量内存,POWER7处理器还支持一项“Active Memory Expansion” 技术,通过内存压缩,让软件可见的 内存量最高两倍于实际物理内存。IBM表示通过该技术,SAP软件可用内存量比系统实际内存可多出50%,可处理业务量将增加 65%。
POWER7系统还为虚拟机应用进行了优化,每个处理器核心支持10个虚拟机镜像。目前的8路64核系统可支持单系统最高640个 虚拟机同时运行。