接口技术报告_第1页
接口技术报告_第2页
接口技术报告_第3页
接口技术报告_第4页
全文预览已结束

下载本文档

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

文档简介

接口技术作业报告IntelCorei7处理器是英特尔于2008年推出的64位四核心CPU,沿用X86-64指令集,并以IntelNehalem微架构为基础⑴,取代IntelCore2系列处理器。Nehalem曾经是Pentium410GHz版本的代号。IntelCorei7的特点主要有以下几点:支持超线程的技术,令到四核心的处理器,有总共8个线程(2010年推出的Corei7980X6核心系列将有12个线程)存储器控制器会自带于CPU中,支持三通道DDR3SDRAM⑶支持TurboMode(后更名为DynamicSpeed)技术,倘若有程序使用较多的处理器负载,处理器频率可以按步骤提升,此外,可以自动往上提升倍频[9]该功能不需要操作系统的支持,完全由硬件监⑷支持PowerGates技术,核心闲置的时候可被关闭。对比上一代的Core2DuoCorei7的核心电阻可以被关闭,电流可以完全不通过核心。各个处理器核心可运作于不同的频率和电压TurboMode及PowerGates功能都是由一个单元提供,占去大约一百万个晶体管放弃了传统的FSB,使用了新的QuickPathInterconnect'与AMD的HyperTransport相似。相比FSB,每一个处理器都可以有独立的QPI通道与其他处理器连接,处理器之间不用再共享FSB带宽,并绕路到北桥才能通信。此外,QPI是双向传输指令集方面,SSE4的版本会提升为SSE4.2,后者新增了7条指令处理器采用模块化设计。例如核心、存储器控制器、以至输入输出接口控制器,都能够以不同的数量配搭。这样做可以使到产品更容易针对不同市场,而每一个模块都可以有独立的电压,令到处理器更省电L2缓存亦有所减少,每一个核心独立256KB,但拥有较低读取延迟值。加入L3缓存,每一个处理器共享8MB处理器核心的电压与系统存储器同步。目前,官方会支持DDR3-800和DDR3-1066规格。对于DDR3-1333由于处理器只可以接受较低的电压水平邙限制在1.65V或以下),高速的存储器意味着需要较高的电压,所以此规格的官方支持仍然存在疑问。第二批X58芯片组主机版将可以实现电压异步,方便用家超频。另外,原先只有XE版本处理器可以调整存储器频率。后Intel修改为所有上市的Corei7处理器,均可以修改存储器和QPI的频率Nehalem的核心部分比Core微架构改进了以下部分:快速通道互联(QPI):取代前端总线(FSB)的一种点到点连接技术,20位宽的QPI连接其带宽可达惊人的每秒25.6GB,远超过原来的FSB。QPI最初能够发放异彩的是支持多个处理器的服务器平台,QPI可以用于多处理器之间的互联。集成了内存控制器(IMC):内存控制器从北桥芯片组上转移到CPU片上,支持三通道DDR3内存,内存读取延迟大幅减少,内存带宽则大幅提升,最多可达三倍。Cache设计:采用三级全内含式Cache设计,L1的设计与Core微架构一样;L2采用超低延迟的设计,每个核心各拥有256KB的L2Cache;L3则是采用共享式设计,被片上所有核心共享使用。Nehalem的核心部分比Core微架构新增加的功能主要有以下几方面:NewSSE4.2Instructions(新增加SSE4.2指令)TurboMode(内核加速模式)ImprovedLockSupport(改进的锁定支持)AdditionalCachingHierarchy(新的缓存层次体系)DeeperBuffers(更深的缓冲)ImprovedLoopStreaming(改进的循环流)SimultaneousMulti-Threading(同步多线程)FasterVirtualization(更快的虚拟化)BetterBranchPrediction(更好的分支预测)QPI总线技术Nehalem使用的QPI总线是基于数据包传输(packet-based)、高带宽、低延迟的点到点互连技术(pointtopointinterconnect、,速度达到6.4GT/S(每秒可以传输6.4G次数据、。每一条连接(link、是20bit位宽的接口,使用高速的差分信号(differentialsignaling、和专用的时钟通道(dedicatedclocklane),这些时钟通道具有失效备援(failover)。QPI数据包是80bit的长度,发送需要用4个周期。尽管数据包是80bit,但只有64bit是用于数据,其它的数据位则是用于流量控制、CRC和其它一些目的。这样,每条连接就一次传输16bit(2Byte、的数据,其余的位宽则是用于CRC。由于QPI总线可以双向传输,那么一条QPI总线连接理论最大值就可以达到25.6GB/S(2x2Bx6.4GT/s、的数据传送。单向则是12.8GB/S。对于不同市场的Nehalem,可以具有不同的QPI总线条数。比如桌面市场的CPU,具有1条或者半条QPI总线(半条可能是用10bit位宽或单向);DP服务器(双CPU插座)的CPU,每个具有2条QPI总线;而MP服务器(4个或8个CPU插座)的,则每个具有4条或更多的QPI总线。IMC(集成内存控制器)Nehalem的IM(integratedmemorycontroller,整合内存控制器),可以支持3通道的DDR3内存,运行在1.33GT/S(DDR3-1333),这样总共的峰值带宽就可以达到32GB/S(3x64bitx1.33GT/s一8)。不过还并不支持FB-DIMM,要NehalemEX(Beckton、才有可能会支持FB-DIMM(FullyBuffered-DIMM,全缓冲内存模组)。每通道的内存都能够独立操作,控制器需要乱序执行来降低(掩盖)延迟。由于有了Core2近4倍的内存带宽,Nehalem的每个核心支持最大10个未解决的数据缓存命中失败(outstandingdatacachemiss、和总共16个命中失败,而Core2在运行中则只支持最大8个数据缓存的和总共14个的命中失败。IMC能够很显著的降低内存延迟(尤其是对于采用FB-DIMM方案的系统)。下面的Nehalem与Harpertown,我不清楚是什么频率情况下的对比(来自于IDF上的表格,可能Nehalem是3.2GHz)。Nehalem的本地内存延迟大约是Harpertown的60%。Harpertown系统使用的是1.6GT/S的前端总线,所有内存都在一个位置,大约是略低于100ns(纳秒)的延迟,这样Nehalem的内存延迟就是约60ns。对于2个CPU插座的Nehalem来说,使用的是NUMA结构(NonUniformMemoryAccessAchitecture,非均匀内存存取架构、,远方内存的延迟则要高一些,因为这时对内存的请求和回应需要通过QPI总线,其延迟大约是Harpertown的95%。所以,即使是最糟糕的情况,延迟还是得到了降低。一个有意思的问题是,当使用4个CPU插座的Nehalem时,延迟是否将会被增大?因为这种系统很有可能会使用FB-DIMM,而这意味着将遭受延迟损失,不过远方内存的延迟还是将只会比本地内存慢个约30ns。对于其它使用IMC和核心互连的多CPU系统(例如EV7、K8、K10、,内存延迟也是非均匀的(NUMA)。为了优化性能,操作系统就必须知道延迟差异,并调度那些在同一个CPU上共享数据的进程。WindowsVista是Microsoft的第一个为NUMA进行优化的操作系统,而Linux等则已经很早就可以支持NUMA了。Nehalem的远方/本地延迟比是约1.5倍。衡量K8的NUMA系数(也就是远方延迟除以本地延迟)在2CPU系统时也差不多是1.5。而在4CPU系统时,INTEL将具有优势,因为所有的内存要么都是本地(当QPI总线上没有hop时),或者所有内存都是远方(QPI总线上有一个hop时)。因为使用对角线连接,每个CPU都有QPI总线连接,那么远方内存最多就一跳(1个hop)。而现在的4插座的K8或K10系统,有的内存在HT总线上多达有2个hop。总之,具有更大的NUMA系数,就更需要软件考虑其所使用的内存的位置。作为参考,其中最早一个具备IMC和核心互连的EV7,在其64CPU的系统中,NUMA系数为1.86-5.21(1-8个hop的情况)缓存结构Nehalem可以同时运行的读取和存储量增加了50%,读取缓冲由32项增加到了48项,而存储缓冲由20项增加到了32项(增量还略多于50%)。增加的原因自然是为了让两个线程共享,这里采用的是静态分配,可能是由于关键路径的限制。从读取缓冲和存储缓冲,存储操作就继续访问到缓存架构。Nehalem的缓存架构是完全革新了的。像P4一样,所有的缓存和数据TLB(TranslationLookasideBuffer,旁路转换缓冲,或叫页表缓冲)都是由2个线程动态共享(根据已经观察到的行为)。Nehalem的L1D(一级数据缓存)保留了和Core2一样的大小和联合度(associativity),但是延迟却从3个周期增加到了4个周期,以适应时间限制(timingconstraint)。每一个核心可以支持更多的未解决的命中失败(outstandingmiss),最多到16个,可以利用更多的存储带宽。而Nehalem剩下的缓存结构则和Core2截然不同。Core2的最后一级缓存是L2,由2个核心共享,这样可以减少一致性错误(coherencytraffic),数量达到了24路联合的6MB(Penryn),延迟是14-15个周期(Conroe是14,Penryn是15)。而Nehalem有3级缓存,前两级相对较小,是每个核心私有的,而L3则非常大,由所有核心共享。Nehalem的每个核心有一个私有的通用型L2,是8路联合的256KB,访问速度相当快。其使用延迟时间还没有完全披露,不过INTEL的工程师表明是小于12个周期的oNehalem的L2相对于其L1D来说,既不是包含式(inclusive)也不是独占式(exclusive),就象Core2一样,Nehalem可以在两个核心的私有缓存(L1D和L2)之间传递数据,尽管不能够达到全速。Nehalem的16路联合、8MB的L3对于前两级来说,是完全包含式的,并且由4个核心共享。尽管INTEL并没有完全说明Nehalem的物理设计,但似乎L3缓存是单独使用电力,并运行在单独的频率上。这是从节省电力和可靠性这两个方面推断出来的,因为大的缓存更容易在低电压下产生软错误(softerror)o这样,L3使用延迟就取决于相对频率、核心的相差(phasealignment)、L3自身,还有访问L3的仲裁器的延迟。在最好的情况下,即操作相差和频率差距是整数倍的情况下,Nehalem的L3使用延迟是在30-40周期(根据INTEL工程师的说法)。Nehalem的缓存架构设计得也更容易支持非对齐(unaligned)的访问,有更快的非对齐缓存存取。INTEL前几代芯片一直是用两种类型指令来做16Byte(128bit)的SSE读取和存储,一种是其数据必须正好和缓存行(16B)对齐,比如MOVAPS/D、MOVDQA指令一一(数据)必须刚好是16Byte,和缓存行对齐。另一种则可以是未对齐的,比如MOVUPS/D、MOVDQU指令,数据对齐与否是没有要求的。Nehalem对非对齐指令进行了优化:在存取对齐数据的时候,非对齐指令和对齐指令具有一样的延迟和吞吐量。同时也提高了非对齐指令对于非对齐数据的访问速度。这样,不管是什么类型的SSE操作,都具有相同的延迟。另外Nehalem对在存取数据时跨越了64-Byte缓存行边界的情况也进行了优化,比起Core2具有更低的延迟和更高的吞吐量。这样,编译器就不会再惧怕使用非对齐的指令了。SMT(同步多线程技术)同步多线程(SimultaneousMulti-Threading,SMT)技术又重新回归到了Nehalem架构,这最早出现在130nm的P4上。对于打开了SMT的CPU来说,将会遭受到更多的命中失败,并需要使用更多的带宽。所以Nehalem比P4是更适合使用SMT的。另外,在移动和桌面领域的Nehalem有可能将不会支持SMT,它们也不需要3通道内存。为什么Core2没有使用SMT?很显然,它是可以做到的。SMT是在节省电力的基础上增加了性能,而且软件支持的基础建设也早就有了。有2个可能的原因:一是Core2可能没有足够的内存带宽和CPU内部带宽来利用SMT获得优势。通常,SMT能够提升内存级并行(memorylevelparallelism,MLP),但是对于内存带宽已经成为瓶颈的系统则是个麻烦。而更有可能的原因则是SMT的设计、生效等是很麻烦的,而当初设计SMT是由INTEL的Hillsboro小组主持,而并非是Haifa小组(Core2是由这个小组负责的)。这样Core2不使用SMT就避免了冒险。Nehalem的同步多线程(SimultaneousMulti-Threading,SMT)是2-way的,每核心可以同时执行2个线程。对于执行引擎来说,在多线程任务的情况下,就可以掩盖单个线程的延迟°SMT功能的好处是只需要消耗很小的核心面积代价,就可以在多任务的情况下提供显著的性能提升,比起完全再添加一个物理核心来说要划算得多。这个和以前P4的HT技术是一样的,但比较起来,Nehalem的优势是有更大的缓存和更大的

温馨提示

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

评论

0/150

提交评论