服务器硬件架构_第1页
服务器硬件架构_第2页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、从性能角度来看,处理器、内存和I/O这三个子系统在服务器中是最重要的,它们也是最容易出现性能瓶颈的地方。目前市场上主流的服务器大多使用英特尔Nehalem、Westmere微内核架构的三个家族处理器:Nehalem-EP,Nehalem-EX和Westmere-EP。下表总结了这些处理器的主要特性:Nehalem-EPWestmere-EPNehalem-EXNehalem-EX商业名称至强5500至强5600至强6500至强7500支持的最插座数2228每插座最大核心数4688每插座最大线程数8121616MB缓存(3级)8121824最大内存DIMM数181832128在本文中,我们将分别

2、从处理器、内存、I/O三大子系统出发,带你一起来梳理和了解最新英特尔架构服务器的变化和关键技术。一、处理器的演变现代处理器都采用了最新的硅技术,但一个单die(构成处理器的半导体材料块)上有数百万个晶体管和数兆存储器。多个die组织到一起就形成了一个硅晶片,每个die都是独立切块,测试和用陶瓷封装的,下图显示了封装好的英特尔至强5500处理器外观。图1英特尔至强5500处理器插座处理器是通过插座安装到主板上的,下图显示了一个英特尔处理器插座,用户可根据自己的需要,选择不同时钟频率和功耗的处理器安装到主板上。图2英特尔处理器插座主板上插座的数量决定了最多可支持的处理器数量,最初,服务器都只有一个

3、处理器插座,但为了提高服务器的性能,市场上已经出现了包含2,4和8个插座的主板。在处理器体系结构的演变过程中,很长一段时间,性能的改善都与提高时钟频率紧密相关,时钟频率越高,完成一次计算需要的时间越短,因此性能就越好。随着时钟频率接近4GHz,处理器材料物理性质方面的原因限制了时钟频率的进一步提高,因此必须找出提高性能的替代方法。核心晶体管尺寸不断缩小(Nehalem使用45nm技术,Westmere使用32nm技术),允许在单块die上集成更多晶体管,利用这个优势,可在一块die上多次复制最基本的CPU(核心),因此就诞生了多核处理器。现在市场上多核处理器已经随处可见,每颗处理器包含多个CP

4、U核心(通常是2,4,6,8个),每个核心都有一级缓存(L1),通常所有的核心会共享二级(L2)、三级缓存(L3)、总线接口和外部连接,下图显示了一个双核心的CPU架构。DiddlCPU匚orp匚tHpCPU|_1CachesCPUCoraLICaches&U5InterfaceandL2Caches你的服劈聶频道图3双核心CPU架构示意图现代服务器通常提供了多个处理器插座,例如,基于英特尔至强5500系列(Nehalem-EP)的服务器通常包含两个插座,每个插座四个核心,总共可容纳八个核心,而基于英特尔至强7500系列(Nehalem-EX)的服务器通常包含八个插座,每个插座八个核心

5、,总共可容纳64个核心。下图显示了更详细的双核处理器架构示意图,CPU的主要组件(提取指令,解码和执行)都被复制,但系统总线是公用的。Syst-emBus主1!nstru<tionFetchPreQe<odeInstructionOuueRename/AllocL2Cacheaddcotwo一Reorder0uerRetirementUnitSchedulersLID-CacheandD-TLB卜咽lmIf41I4iW:掘>H:I誕吳圭±QjMl£z7=l迥=libli图4双核处理器的详细架构示意图线程为了更好地理解多核架构的含义,我们先看一下程序是如何执

6、行的,服务器会运行一内核(如Linux,Windows的内核)和多个进程,每个进程可进一步细分为线程,线程是分配给核心的最小工作单元,一个线程需要在一个核心上执行,不能进一步分割到多个核心上执行。下图显示了进程和线程的关系。P#1图5进程和线程的关系进程可以是单线程也可以是多线程的,单线程进程同一时间只能在一个核心上执行,其性能取决于核心本身,而多线程进程同一时间可在多个核心上执行,因此它的性能就超越了单一核心上的性能表现。因为许多应用程序都是单线程的,在多进程环境中,多插座、多核心的架构通常会带来方便,在虚拟化环境中,这个道理一样正确Hypervisor允许在一台物理服务器上整合多个逻辑服务

7、器,创建一个多进程和多线程的环境。英特尔超线程技术虽然单线程不能再拆分到两个核心上运行,但有些现代处理器允许同一时间在同一核心上运行两个线程,每个核心有多个并行工作能力的执行单元,很难看到单个线程会让所有资源繁忙起来。下图展示了英特尔超线程技术是如何工作的,同一时间在同一核心上有两个线程执行,它们使用不同的资源,因此提高了吞吐量。PhysicalprocessorsTnroughpueAGO-QL_E>aj_lH50cLogicalprocessorvisibletoOSPhysicalprocessorresourcealocationAEQO亡上u出l-Hj.苣server.it1E

8、:8.coi-ti图6英特尔超线程技术工作原理前端总线在多插座和多核心的情况下,理解如何访问内存和两个核心之间是如何通信的非常重要,下图显示了过去许多英特尔处理器使用的架构,被称作前端总线(FSB)架构。在FSB架构中,所有通信都是通过一个单一的,共享的双向总线发送的。在现代处理器中,64位宽的总线以4倍速总线时钟速度运行,在某些产品中,FSB信息传输速率已经达到1.6GT/S。Pracess-orProcess-orMemoiyInterfaceserver.it'图7基于前端总线的服务器平台架构FSB将所有处理器连接到芯片组的叫做北桥(也叫做内存控制器中枢),北桥连接所有处理器共享

9、访问的内存。这种架构的优点是,每个处理器都可以访问其它所有处理可以访问的所有内存,每个处理器都实现了缓存一致性算法,保证它的内部缓存与外部存储器,以及其它所有处理器的缓存同步。但这种方法设计的平台要争夺共享的总线资源,随着总线上信号传输速度的上升,要连接新设备就变得越来越困难了,此外,随着处理器和芯片组性能的提升,FSB上的通信流量也会上升,会导致FSB变得拥挤不堪,成为瓶颈。双独立总线为了进一步提高带宽,单一共享总线演变成了双独立总线架构(DIB),其架构如下图所示,带宽基本上提高了一倍。图8基于双独立总线的服务器平台架构但在双独立总线架构中,缓存一致性通信必须广播到两条总线上,因此减少了总

10、有效带宽,为了减轻这个问题,在芯片组中引入了“探听过滤器”来减少带宽负载。如果缓存未被击中,最初的处理器会向FSB发出一个探听命令,探听过滤器拦截探听,确定是否需要传递探听给其它FSB。如果相同FSB上的其它处理器能满足读请求,探听过滤器访问就被取消,如果相同FSB上其它处理器不满意读请求,探听过滤器就会确定下一步的行动。如果读请求忽略了探听过滤器,数据就直接从内存返回,如果探听过滤器表示请求的目标缓存在其它FSB上不存在,它将向其它部分反映探听情况。如果其它部分仍然有缓存,就会将请求路由到该FSB,如果其它部分不再有目标缓存,数据还是直接从内存返回,因为协议不支持写请求,写请求必须全部传播到

11、有缓存副本的所有FSB上。专用高速互联在双独立总线之后又出现了专用高速互联架构(DedicatedHigh-SpeedInterconnect,DHSI),其架构如下图所示。ProcessorPracessarProcessorChipsetMemoryInterfaceUp!34<jB/sPlatformElandwidth11*祢中服务器频直图9基于DHSI的服务器平台架构基于DHSI的平台使用四个独立的FSB,每个处理器使用一个FSB,引入探听过滤器实现了更好的带宽扩容,FSB本身没多大变化,只是现在变成点对点的配11117置了。使用这种架构设计的平台仍然要处理快速FSB上的电信号

12、挑战,DHSI也增加了芯片组上的针脚数量,需要扩展PCB路线,才能为所有FSB建立好连接。英特尔QuickPath互联随英特尔酷睿i7处理器引入了一种新的系统架构,即著名的英特尔QuickPath互联(QuickPathInterconnect,QPI),这个架构使用了多个高速单向连接将处理器和芯片组互联,使用这种架构使我们认识到了: .多插座和多核心通用的内存控制器是一个瓶颈; .引入多个分布式内存控制器将最符合多核处理器的内存需要; .在大多数情况下,在处理器中集成内存控制器有助于提升性能; .提供有效的方法处理多插座系统一致性问题对大规模系统是至关重要的。下图显示了一个多核处理器,集成了

13、内存控制器和多个连接到其它系统资源的英特尔QuickPath的功能示意图。图10集成英特尔QPI和DDR3内存通道的处理器架构在这个架构中,每个插座中的所有核心共享一个可能有多个内存接口的IMC(IntegratedMemoryControllers,集成内存控制器)。IMC可能有不同的外部连接: .DDR3内存通道-在这种情况下,DDR3DIMM直接连接到插座,如下图所示,Nehalem-EP(至强5500)和Westmere-EP(至强5600)就使用了这种架构。ProcessorCoresCoreHfIvSpeefiMenwryChannehChanneki蛊花ofiu-_-Cor-e你

14、的、服瞬频道server.it168.corn图11具有高速内存通道的处理器 .高速串行内存通道-如下图所示,在这种情况下,外部芯片(SMB:ScalableMemoryBuffer,可扩展内存缓存)创建DDR3内存通道,DDR3DIMM通过这个通道连接,Nehalem-EX使用了这种架构。BoLk?fc-EXBot?ora-EXPCIe2.0server,itl68.curTi图12四插座Nehalem-EXIMC和插座中的不同核心使用英特尔QPI相互通信,实现了英特尔QPI的处理器也可以完全访问其它处理器的内存,同时保持缓存的一致性,这个架构也叫做“缓存一致性NUMA(Non-Unifor

15、mMemoryArchitecture非统一内存架构)”,内存互联系统保证内存和所有潜在的缓存副本总是一致的。英特尔QPI是一个端到端互联和消息传递方案,在目前的实现中,每个连接由最高速度可达25.6GB/s或6.4GT/s的20条线路组成。英特尔QPI使用端到端连接,因此在插座中需要一个内部交叉路由器,提供全局内存访问,通过它,不需要完整的连接拓扑就可以构建起系统了。图12显示了四插座Nehalem-EX配置,每个处理器有四个QPI与其它三个处理器和Boxboro-EX芯片组互联。二、内存子系统电子业在内存子系统上付出了艰辛的努力,只为紧跟现代处理器需要的低访问时间和满足当今应用程序要求的高

16、容量需求。解释当前内存子系统之前,我们先了解一下与内存有关的一些常用术语。 .RAM(随机访问存储器) .SRAM(静态RAM) .DRAM(动态RAM) .SDRAM(同步DRAM) .SIMM(单列直插式内存模块) .DIMM(双列直插内存模块) .UDIMM(无缓冲DIMM) .RDIMM(带寄存器的DIMM) .DDR(双数据速率SDRAM) .DDR2(第二代DDR).DDR3(第三代DDR)电子器件工程联合委员会(JointElectronDeviceEngineeringCouncil,JEDEC)是半导体工程标准化机构,JEDEC21,22定义了从256位SRAM到最新的DDR

17、3模组的半导体存储器标准。现代服务器的内存子系统是由RAM组成的,允许数据在一个固定的时间按任意顺序访问,不用考虑它所在的物理位置,RAM可以是静态的或动态的。SRAMSRAM(静态RAM)通常非常快,但比DRAM的容量要小,它们有一块芯片结构维持信息,但它们不够大,因此不能作为服务器的主要内存。DRAMDRAM(动态RAM)是服务器的唯一选择,术语“动态”表示信息是存储在集成电路的电容器内的,由于电容器会自动放电,为避免数据丢失,需要定期充电,内存控制器通常负责充电操作。SDRAMSDRAM(同步DRAM)是最常用的DRAM,SDRAM具有同步接口,它们的操作与时钟信号保持同步,时钟用于驱动

18、流水线内存访问的内部有限状态机,流水线意味着上一个访问未结束前,芯片可以接收一个新的内存访问,与传统DRAM相比,这种方法大大提高了SDRAM的性能。DDR2和DDR3是两个最常用的SDRAM,下图显示了一块DRAM芯片的内部结构。内存阵列是由存储单元按矩阵方式组织组成的,每个单元都一个行和列地址,每一位都是存储在电容器中的。为了提高性能,降低功耗,内存阵列被分割成多个“内存库(bank)”,下图显示了一个4-bank和一个8-bank的内存阵列组织方式。DRAMDaain/Ouf3uersMerrw-ryAtrayCo-lumnDecodQrwPOMaiCalumiiDecadQfSense

19、Ampsr»auW0uiBuen你的參蛊一MemoryArray孝erP图14内存bankDDR2芯片有四个内部内存bank,DDR3芯片有八个内部内存bank。DIMM需要将多个内存芯片组装到一起才能构成一个内存子系统,它们就是按著名的DIMM(双列直插内存模块)组织的。下图显示了内存子系统的传统组织方式,例如,内存控制器连接四个DIMM,每一个由多块DRAM芯片组成,内存控制器有一个地址总线,一个数据总线和一个命令(也叫做控制)总线,它负责读,写和刷新存储在DIMM中的信息。图15传统内存子系统示例下图展示了一个内存控制器与一个DDR3DIMM连接的示例,该DIMM由八块DRAM

20、芯片组成,每一块有8位数据存储能力,每存储字(内存数据总线的宽度)则共有64位数据存储能力。地址总线有15位,它可在不同时间运送“行地址”或“列地址”,总共有30个地址位。此外,在DDR3芯片中,3位的bank地址允许访问8个bank,可被视作提高了控制器的地址空间总容量,但即使内存控制器有这样的地址容量,市面上DDR3芯片容量还是很小。最后,RAS(RowAddressSelection,行地址选择),CAS(ColumnAddressSelection,列地址选择),WE(WriteEnabled,写启用)等都是命令总线上的。11401,Barak2X)|RA.CASi*,WE#,CSff

21、,CKECK,匚KJiDj1j7OJJalX仔;SJ-nataJcUj/Jtd55:40/Da.ta17!4OData|时:制加饰StrobeDataMask你的与服务藹频道图16DDR3内存控制器示例F面是一个DIMM的示意图。4J2fiO(IOa.2Q4?44(1O7.7ai1Z511.18-;!,务器顾道server.1.D10(25.651图17DIMM示意图上图显示了8个DDR3芯片,每个提供了8位信息(通常表示为x8)。ECC和Chipkill数据完整性是服务器架构最关注的一个点,很多时候需要安装额外的DIMM检测和恢复内存错误,最常见的办法是增加8位ECC(纠错码),将存储字从6

22、4位扩大到72位,就象海明码一样,允许纠正一位错误,检测两位错误,它们也被称作SEC(SingleErrorCorrection,单纠错)/DED(DoubleErrorDetection,双检错)o先组织存储字再写入到内存芯片中,EEC可以用于保护任一内存芯片的失效,以及单内存芯片的任意多位错误,这些功能有几个不同的名字。 .Chipkill是IBM的商标 .Oracle称之为扩展EEC .惠普称之为Chipspare .英特尔有一个类似的功能叫做x4单设备数据校正(Intelx4SDDC)Chipkill通过跨多个内存芯片位散射EEC字的位实现这个功能,任一内存芯片失效只会影响到一个ECC

23、位,它允许重建内存中的内容。下图了显示了一个读和写128位数据的内存控制器,增加EEC后就变成144位了,144位分成4个36位的存储字,每个存储字将是SEC/DEDo如果使用两个DIMM,每个包含18个4位芯片,可以按照下图所示的方法重组位,如果芯片失效,每4个字中只会有一个错误,但因为字是SEC/DED的,每4个字可以纠正一个错误,因此所有错误都可以被纠正过来。Divide-144bitslrto4words144b36bwordS6bword36bward36bw*rdInterleavetheModulesuehthateachwordcoBiains1bilfromeachmcsdu

24、lewardword36bwardbwordI1斛|嗣|肅的照尊器频适Eerver.itlGEigcirn图18Chipkill示例内存Rank我们重新回到DIMM是如何组织的,一组产生64位有用数据(不计ECC)的芯片叫做一个Rank,为了在DIMM上存储更多的数据,可以安装多个Rank,目前有单,双和四个Rank的DIMM,下图显示了这三种组织方法。OtMMHunk14b14b(斗匕(4IJ#4L-伽4bDuof-rankyb严严rver.itl68.corn图19DIMM和内存排上图最前面显示的是一个单Rank的RAM,由9个8位芯片组成,一般表示为1Rx8,中间显示的是一个1Rx4,由

25、18个4位芯片组成,最后显示的是一个2Rx8,由18个8位芯片组成。内存Rank不能使用地址位选择,只能使用芯片选择,现代内存控制器最多可达8个独立的芯片选择,因此最大可支持8个Rank。UDIMM和RDIMMSDRAMDIMM进一步细分为UDIMM(无缓冲DIMM)和RDIMM(带寄存器的DIMM),在UDIMM中,内存芯片直接连接到地址总线和控制总线,无任何中间部分。RDIMM在传入地址和控制总线,以及SDRAM之间有额外的组件(寄存器),这些寄存器增加了一个延迟时钟周期,但它们减少了内存控制器上的电负荷,允许内存控制器安装更多的DIMM。RDIMM通常更贵,因为它需要附加组件,但它们在服

26、务器中得到了普遍使用,因为对于服务器来说,扩展能力和稳定性比价格更重要。虽然理论上带寄存器/无缓冲的和ECC/非ECCDIMM是可以任何组合的,但大多数服务器级内存模块都同时具有ECC和带寄存器功能。下图显示了一个ECCRDIMM,寄存器是箭头指向的芯片,这个ECCDIMM由9个内存芯片组成。图20ECCRDIMMDDR2和DDR3第一代SDRAM技术叫做SDR(SingleDataRate),表示每个时钟周期传输一个数据单元,之后又出现了DDR(DoubleDataRate)标准,其带宽几乎是SDR的两倍,无需提高时钟频率,可在时钟上升沿和下降沿信号上同时传输数据,DDR技术发展到今天形成了

27、两套标准:DDR2和DDR3。DDR2SDRAM的工作电压是1.8V,采用240针DIMM模块封装,通过改善总线信号,它们可以以两倍于DDR的速度工作在外部数据总线上,规则是: .每DRAM时钟数据传输两次 .每次数据传输8个字节(64位)下表显示了DDR2标准。表2.DDR2DIMM标准名称DRAM时钟频率每秒传输的数据(百万)模块名称峰值传输速率GB/sDDR2-400200MHz400PC2-32003.200DDR2-533266MHz533PC2-42004.266DDR2-667333MHz667PC2-5300PC2-54005.333DDR2-800400MHz800PC2-6

28、4006.400DDR2-1066533MHz1,066PC2-8500PC2-86008.533DDR3SDRAM在DDR2的基础上对以下这些方面做了改进: .将工作电压降低到1.5v,减少功耗; .通过引入0.5-8Gb的芯片增加了内存密度,单Rank的容量最大可达16GB; .增加了内存带宽,内存突发长度从4字增加到8字,增加突发长度是为了更好地满足不断增长的外部数据传输速率,随着传输速率的增长,突发长度(传输的大小)必须增长,但不能超出DRAM核心的访问速度。DDR3DIMM有240针,数量和尺寸都和DDR2-样,但它们在电气特性上是不兼容的,缺口位置不一样,未来,DDR3将工作在更快

29、的时钟频率,目前,市面上存在DDR3-800,1066和1333三种类型。下表对不同的DDR3DIMM模块进行了总结。表3.DDR3DIMM标准名称RAM时钟频率每秒传输的数据(百万)模块名称峰值传输速率GB/sDDR3-800400MHz800PC3-64006.400DDR3-1066533MHz1,066PC3-85008.533DDR3-1333667MHz1,333PC3-1060010.667DDR3-1600800MHz1,600PC3-1280012.800DDR3-1866933MHz1,866PC3-1490014.900三、I/O子系统I/O子系统负责在服务器内存和外部世

30、界之间搬运数据,传统上,它是通过服务器主板上兼容PCI标准的I/O总线实现的,开发PCI的目的就是让计算机系统的外围设备实现互联,PCI的历史非常悠久,现在最新的进化版叫做PCI-Express。外围组件互联特殊兴趣小组(PeripheralComponentInterconnectSpecialInterestGroup,PCI-SIG)负责开发和增强PCI标准。PCIExpressPCIExpress(PCIe)是一个计算机扩展接口卡格式,旨在替代PCI,PCI-X和AGPo它消除了整个所有I/O引起的限制,如服务器总线缺少I/O带宽,目前所有的操作系统都支持PCIExpresso上一代基

31、于总线拓扑的pci和pci-x已经被点到点连接取代,由此产生的拓扑结构是一个单根联合体的树形结构,根联合体负责系统配置,枚举PCIe资源,管理中断和PCIe树的错误。根联合体和它的端点共享一个地址空间,通过内存读写和中断进行通信。PCIe使用点到点链接连接两个组件,链接由N个通道组成,每个通道包含两对电路,一对用于传输,另一对用于接收。南桥(也叫做ICH:I/OControllerHub)通常会提供多个PCIe通道实现根联合体的功能。每个通道连接到PCIExpress端点,PCIExpressSwitch,个PCIe或一个PCIe桥,如下图所示。CPUPCIRootCompl已xP亡IExpr

32、essEndpoint图21PCIExpress根联合体根据通道编号使用不同的连接器,下图显示了四个不同的连接器,及单/双向时的速度。PCIExpress-BandwidthX1SingleDifctiDRH2.5Gbps/ZWMBp?DuafDirections;5Gbfr'4DDMBpiBandwidthSingleDir-ection:lOGlips/SOClMBpsDufDiwtioni!2DCibps/1.6GBp你的*服劈盟频這;feerver.:it1SS'.c'om內:峥CardTranirFerRateXl1Ltne:-1bicTransferRjte

33、X2工lafm-i二Ibl旳盯山PCIeQrrfTrannferRaleX1212lm时=125pc-rLylIcPCbCard你旳服筠器频亘server.it1SBandwidthX8SingIeDirecHo忙211GLi口*1£GEpsDua!Dir«ctio-n$:4t>Gbps/3.2GBpsBandwidthX16SingleDiwtlDn:daijtip5/-2GBpDualDirectiDHSB(?Gbps/6.4GBps图22PCIExpress连接器在PCIe1.1中,通道运行在2.5Gbps,可同时部署16条通道,如下图所示,可支持的速度从2Gb

34、ps(1x)到32Gbps(16x),由于协议开销,支持10GE接口需要8x。图23PCIExpress通道PCIe2.0(也叫第二代PCIe)带宽提升了一倍,从2Gbit/s提高到4Gbit/s,通道数量也扩大到了32x,PCIe4x就足以支持10GE了。PCIe3.0将会再增加一倍带宽,最终的PCIe3.0规范预计会在2010年年中发布,到2011年就可看到支持PCIe3.0的产品,PCIe3.0能有效地支持40GE(下一代以太网标准)。目前所有的PCIExpress产品都是单根的(SingleRoot,SR),如控制多个端点的单I/O控制器中枢(ICH)o多根(MultiRoot,MR)

35、也发展了一段时间,但目前还未见到曙光,由于缺少元件和关注,目前还有诸多问题。SR-IOV(SingleRootI/OVirtualization,单根I/O虚拟化)是PCI-SIG开发的另一个相关标准,主要用于连接虚拟机和Hypervisor。四、英特尔微架构英特尔Nehalem和Westmere微架构,也被称为32和45nm酷睿微架构。Nehalem微架构于2009年初引入了服务器,也是第一使用45nm硅技术的架构,Nehalem处理器可应用于高端桌面应用程序,超大规模服务器平台等,代号名来源于美国俄勒冈州的Nehalem河。根据英特尔的说法,处理器的发展速度就象嘀嗒(TickandTock

36、)钟声的节奏一样,如下图所示,Tick是对现有处理器架构进行缩小,而Tock则是在前一代技术上发展起来的全新架构,Nehalem就是45nm的Tock,Westmere就是紧跟Nehalem的32nmTick。SandyMeromPenrynNehalemWestmereBridgeNEWNEWNEWNEWNEWMicroirchit«ciurProcessProcess.Micj-oarchirtecture65nm45nm45nm32nmTockTkkJock你吟(険器频進.corn图24英特尔“嘀嗒”处理器开发模式Nehalem和Westmere在不同需求之间取得了平衡:.与新

37、兴应用程序(如多媒体)相比,现有应用程序的性能;.对轻量级或重量级应用程序的支持同样良好; .可用范围从笔记本到服务器全包括。平台架构这可能是近10年来英特尔最大的平台架构转变,包括多个高速点到点连接,如英特尔的QuickPath互联,集成内存控制器(IMC)等。下图显示了一双插座英特尔至强5500(Nehalem-EP)系统示例,请注意CPU插座之间,以及CPU插座与I/O控制器之间的QPI链接,内存DIMM直接附加到CPU插座。ICH(l;OControllerHub)你的服勢翻顷懂轴廂S3.corn图25双插座英特尔至强5500(Nehalem-EP)集成内存控制器(IMC)在Nehal

38、em-EP和Westmere-EP中,每个包含集成内存控制器(IMC)的插座支持三个DDR3内存通道,与DDR2相比,DDR3内存运行在更高的频率,因此它具有更高的内存带宽。此外,对于双插座架构,有两套内存控制器,所有这些改进与前一代英特尔平台相比,带宽提高了3.4倍,如下图所示。3AXstreamBandwidthMbyte»?SecTrU)97766102二ZWi触日缺频道.關彌时1图26RAM带宽随着时间的推移,带宽以后还会继续增加,有了集成的内存控制器后,延迟也减小了。其功耗也减少了,因为DDR3的工作电压是1.5V,DDR2是1.8V,功耗与电压的平方成正比,因此电压降低2

39、0%,功耗就减少40%。最后,IMC支持单,双和四RankRDIMM和UDIMM。Nehalem-EX有一个类似的,但不完全相同的架构,在Nehalem-EX中,每个插座有两个IMC,每个IMC支持两个英特尔可扩展内存互联(ScalableMemoryInterconnects,SMI)连接到两个可扩展内存缓冲区(ScalableMemoryBuffers,SMB),每个插座就可以连接到四个SMB,如下图所示,每个SMB有两个DDR3总线,每条总线连接到两个DIMM,因此每个插座可连接的RDIMM总量就是16。2xDDR34xSMINehalem-EX7500(6500BsSai你的111輕崗

40、執DHWMS图27SMI/SMBNehalem-EX系统的总内存容量与插座数量,以及RDIMM的容量总结如下表所示。表4.Nehalem-EX内存容量4GBRDIMM8GBRDIMM16GBRDIMM2sockets128GB256GB512GB4sockets256GB512GB1TB8sockets512GB1TB2TB英特尔QuickPath互联(QPI)所有的通信架构都从总线架构向点到点连接演变,因为点到点连接架构具有更快的速度,更好的扩展性,在Nehalem中,英特尔QuickPath互联已经取代了前端总线,如下图所示。英特尔QuickPath互联是一个一致的点到点协议,不局限于任何

41、特定的处理器,可在处理器,I/O设备和其它设备,如加速器之间提供通信。可用的QPI数量取决于处理器的类型,在Nehalem-EP和Westmere-EP中,每个插座有两个QPI,如图25所示,Nehalem-EX支持四个QPI,允许更多无缝的拓扑结构,如下图所示。SProcessorsIOHU8Giuetessdpttrt4t1hfl-p2hpE疥包服雾耙頊道詛erver.it1E:E:3E图29Nehalem-EX拓扑结构英特尔至强7500处理器也与第三方节点控制器兼容,可以扩大到8个插座以外,实现更大规模的扩展。CPU架构在Nehalem中,英特尔通过一些技术革新,增加了每个CPU每秒执行

42、的指令数,如下图所示。NewSSE4.2ImprovedlockAdmttDnGlCachtngSupportHferarchyLlData口电电p电*BuffenErMirtiofiMemoryOrtfwi&ExecuticnL2Cache&川Tf叩十ServicingOui-Gf-Grtfcr5c/au/fn&Fietirment二LirrmrvctiarjDecode&MicrocodeInstructionFe#cfr涉口Cachear-.kugH*口SimultaneodjsFflst«rBetterSiunctiMulti-Treading

43、瞰簡羯瞬黑频道徘蹣c牖山图30Nehalem微架构创新其中有些创新是不言自明的,我们将集中介绍最重要的性能和功耗方面的创新。在比较性能和功耗时,通常是1%的性能增强就会增多3%的功耗,因为减少1%的电压,功耗几乎总是降低3%。英特尔最重要的创新就是增强1%的性能,而功耗仅增多了1%。英特尔超线程技术英特尔超线程技术(HT)可在相同内核上同时运行多个线程,在Nehalem/Westmere中实现了两个线程,提高了性能和能源效率。超线程的基本思想是增加每个执行单元的复杂度,对于单线程,要保持执行单元繁忙是很困难的,通过在相同核心上运行两个线程,让所有资源保持忙碌的可能性更大,这样整体效率就提高了,

44、如下图所示,超线程使用的领域非常有限(不到5%),但在多线程环境中极大地提高了效率,超线程也不能取代多核心,它是对核心的合理补充。Thread?CoreCoreTh用疋ThreadsCoreCoreNehalem你的哪酸郃餓&寳图31英特尔超线程技术缓存分级一个理想的内存系统的需求是它应该有无限的容量,无限的带宽和零延迟,当然没有人知道如何构建这样的系统,最接近的方法是使用分级的内存子系统,从大到小,从慢到快设计缓存级别,在Nehalem中,英特尔将缓存层增加到了3层,如下图所示。CCL't必口Kachej32ALI卜JDwtrhe32k11Dok恥:2冰L2c-xhedata

45、1佰乩daro+CoreCorerr32kLTD-cacheEn口+/nsr,1,FaoilappUnionsfnduiiveeachepalrcyto你的眼务器频道server.it1SajornJ图32缓存分级结构与英特尔以前的设计相比,一级缓存(L1,指令和数据)没有发生变化,在英特尔过去的设计中,所有内核共享二级缓存(L2),如果核心数量限制为2,那这种设计倒是可行的,但Nehalem将核心数增加到了4或8,二级缓存不能再继续共享下去,因为带宽和仲裁请求都会变多(可能会达到8倍),为此,英特尔在Nehalem中为每个核心独立增加了二级缓存(指令和数据),现在核心之间共享的只有三级缓存(

46、L3)了。模块Nehalem采用了模块化设计,核心,缓存和英特尔QPI都是组成Nehalem处理器的模块实例,如图30所示。这些模块都是独立设计的,它们可以工作在不同频率,不同电压下,将模块粘接在一起的是一种新的同步通信协议,它提供了非常低的延迟,以前曾尝试过异步协议,事实证明那样做的效率非常低。集成功率门限这是一种电源管理技术,它是“时钟门控”技术的进化版本,所有现代英特尔处理器都使用了时钟门控技术,遇到空闲逻辑时,时钟门控会自动关闭时钟信号,从而消除了开关电源,但仍然存在漏电流,漏电流引起了无用的功耗。功率门控代替了时钟门控,让一个空闲的核心消耗的电力几乎为零,如下图所示,对于软件和应用程

47、序来说这完全是透明的。Voltage(Core?)<匚areOCorl匸oeJI/OV。治W継?图33Nehalem功率门控package-likemetal(M创depositedonSiliconTocreatelowon-resistancepowergocg从技术角度来看实现功率门控是很难的,传统的45nm工艺就有明显的泄露,它需要新的晶体管技术和大量的铜层(7mm),以前可从来没有这么做过,如下图所示。transistordevelopedforhighoff-resistancefor你的服务騎频道鸚竄er.itl6&.com图34功率门控晶体管Nehalem-EP和

48、Westmere-EP都拥有“动态的”功率门控能力,当核心不需要执行工作负载时,它可以完全关掉电源,当工作负载需要核心的计算能力时,核心的电源又重新激活。Nehalem-EX拥有“静态的”功率门控功能,当个别核心失去工作能力时,核心电源被完全关闭,例如,当8核心变成6核心时,这些被停用的核心不能重新打开。对于前一代处理器,在工厂中停用的核心仍然会消耗一些电力,但在Nehalem-EX中,电源是完全关闭的。电源管理功率传感器是建设电源管理系统的关键,上一代英特尔处理器内置有热传感器,但没有功率传感器,Nehalem既有热传感器又有功率传感器,通过集成的微控制器(PCU)负责电源管理和监控,如下图

49、所示。PLLfPLLHo你刖FreqWSensorsFreq1Senior?r-UncoreLLCOFinegrtedproprietarymicrocon(rollerShiftsconLralfromhardwaretoemhedldedfirniwsreRedIlima仙知百foiternperjEute,currenLpowerFlexibtliiysophiiticaredalgor;thims,tundfor亡urrenioperatingconditionsor3ScnsonFreq<Ensors服算器频道-aerveitlGff.cpm图35电源控制单元(PowerCon

50、trolUnit,PCU)英特尔TurboBoost技术功率门控和电源管理是英特尔TurboBoost技术的基础组件,当操作系统需要更好的性能时可以使用英特尔的TurboBoost模式,如果条件允许(足够的制冷和供电能力),例如,因为一或多个核心被关闭,英特尔TurboBoost会提高活动核心的频率(以及功耗),从而提高核心的性能,如下图所示,但它算不上一个巨大的改进(3%-11%),但在无线程,不是所有核心都被并行使用的环境中,它还是很有价值的。每上升一步,频率提高133Mhz。Normal4CTurbo<4CTurboduuencrM亠亠AiicoresnnLJLLK目IhEQrat

51、-efrequencyAficorsFeivmc&reso-pateormayoperarecr图36英特尔TurboBoost技术上图显示了三个不同的可能性,正常情况下,所有核心都运行在标称频率(2.66GHz),在“4CTurbo”模式下,所有核心的频率上升一步(达到了2.79GHz),在“<4CTurbo”模式下,两个核心的频率上升了两步(达到了2.93GHz)。四、硬件辅助虚拟化英特尔虚拟化技术(VirtualizationTechnology,VT)扩展了核心平台架构,可以更好地支持虚拟化软件,如VM(虚拟机)和Hypervisor(也叫做虚拟机监视器),如下图所示。A

52、pp畑湎iAp-pJiCQifomAppJicaifomAppli-c口51C'PUrArter?Tory盼mtual)CfiJ.iAcmary.IQP际iTrttiVirtualMachineMonitor(VMM)11IIjPI炯mHardware(Ph灿隘f觀轆侧器打图37虚拟化支持VT包含四个主要的组件: .英特尔VT-x指的是英特尔64和IA32处理器中所有的虚拟化辅助技术; .英特尔VT-d指的是英特尔芯片组中所有虚拟化辅助技术; .英特尔VT-c指的是英特尔网络和I/O设备中所有虚拟化辅助技术; .简化虚拟机移动的VTFlexMigration。a)英特尔VT-x增强的功

53、能包括: .一新的,更高特权的Hypervisor-允许客户机操作系统和应用程序运彳丁在他们设计的特权级别中,确保Hypervisor有权控制平台资源; .基于硬件的转移-在Hypervisor和客户机操作系统之间转移在硬件级得到了支持,减少了复杂的,计算密集的软件转换需求; .基于硬件的内存保护-处理器状态信息在专用地址空间为Hypervisor和每个客户机操作系统保留着。此外,Nehalem还增加了: .EPT(ExtendedPageTable,扩展页表) .VPID(VirtualProcessorID,虚拟处理器ID) .客户机计时器优先(GuestPreemptionTimer)

54、.描述符表退出(DescriptorTableExiting) 英特尔虚拟化技术FlexPriority .暂停退出循环(PauseLoopExiting)VTFlexMigrationFlexMigration允许在不同指令集处理器之间移动VM,它是通过同步所有处理器都支持的最小指令集来实现的。当VM第一次实例化时,它会查询处理器获取指令集水平(SSE2,SSE3,SSE4),处理器返回商定的最低指令集水平,而不是处理器本身支持的指令集水平,这样就允许VMotion在不同指令集处理器之间移动VM了。扩展页表(EPT)EPT是一种新的处于Hypervisor控制下的页表结构,如下图所示,它定义了客户机地址和宿主物理地址之间的映射。EFTeasePainterVirtualAddFe5sIntel*64PageTatiesGuestEPTPaceFablesFhyskdl-Address图38扩展页表虚拟化之前,每个操作系统负责虚拟应用程序地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论