Intel-CPU架构解析2020

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CPU架构解析总经理办公室-IT组-王旭目录Catalog1IntelCPU架构介绍2CPU架构解析3图形架构解析4UNCORE部分5PCH改进6封装、睿频与功耗IntelCPU架构介绍01.IntelSunnyCove架构介绍继上一次Intel更新他们的桌面级处理器的架构已经过去了将近6年的时间了,不得不说,Skylake是一代非常成功的架构,也可能是从P6以来Intel使用时间最长的一代处理器架构,支撑Intel走到现在还在主流和服务器市场上面占据着上风。首先我们要理清一点,IceLake是整个处理器架构的代号,而现在的Intel处理器架构中包括了内核、GPU、以及Uncore部分的其他IO单元,所以我们并不只是针对CPU的内核微架构进行解析,而是对于整个体系结构。IceLake处理器结构图CPU架构解析02.SunnyCove内核微架构:IPC平均提升18%SunnyCove内核结构图前端缓冲区:加大加大加大x86处理器的内核主要可以简单地分成两个部分,前端部分与后端执行部分,前端部分主要完成“取指译码”的工作,后端主要为指令的具体执行单元,前后端之间有缓冲区,用于存放解译融合完毕的微指令。Intel很早就在内核中引入了“微指令融合”的技术来提高效率,融合过的微指令会进入缓冲区然后被分配给后端执行部分进行具体的执行。Intel目前认为,如今程序更多的瓶颈位于访存和前端指令分派上,SunnyCove的前端部分改进就体现了这一理念,所以这次缓冲区就被扩大了不少。SunnyCove内核微架构缓冲区部分对比可以看到Intel这次把乱序重排缓冲区(ReOrderBuffer,主要是用于乱序执行后将执行的微指令根据原本顺序提交的指令缓冲区)大小做到了可以容纳352条微指令,直接提升了128条/57%之多,而Haswell到Skylake才仅仅提升了32条。同样在访存上面也进行了不小的提升,Load(加载)队列增加了56,Store(存储)队列增加了16,比Haswell到Skylake的改变都明显要多。缓存对比SunnyCove内核微架构再来看缓存部分,新的内核终于增加了万年没变动过的一级数据缓存,从32KB到48KB,虽然只增加了12KB,但是要知道,32KB的一级指令缓存+32KB的一级数据缓存的设计,从Core系列的第一代架构——Core微架构上面就开始使用了,一直沿用到现在,同时一级数据缓存的带宽也增加了。而每个内核附带的二级缓存直接提升一倍,达到512KB的大小,这也是从Nehalem架构把二级缓存内置进每个核心、单独设立共享L3缓存以来在内核缓存上发生的最大幅度变动了。Skylake与SunnyCove内核架构对比图,左Skylake,右SunnyCove前端部分的改进较小,主要是改进了预取器与分支预测器的性能,增加了微指令缓存的大小使得其能够满足每周期5(6)指令的发射后端:更宽上Skylake,下Icelake,注意看Port后端也有不小的改变,SunnyCove的执行端口相比Skylake多了两个,达到了10个之多。并且端口的用途更为精细化,有专门用于读取和存储地址的端口,并且专用于存取数据的端口数量均为两个。后端:更宽然后在执行单元中,SunnyCove新增了支持AVX-512指令的单元,其实这类单元在Skylake-Server上便已经加入,同时引入的还有CannonLake上面加入的iDIV这个硬件整数除法器,同时还加入了新的MulHi单元,专用于乘法指令的处理。AVX-512计算单元的引入使得SunnyCove内核一次可以处理1条512-bit的指令或者2个256-bit的指令。内核互联方面,桌面级IceLake仍将采用Ringbus也就是环形总线的设计,而服务器端将延续Skylake-Server的Mesh总线设计。指令集与AI加速指令集随着新单元的加入也同时进行了扩充,在加密解密、AI加速、通用计算、特定计算等方面都新加入了不少指令,尤其是AVX-512指令集。对于近几年大热门的人工智能,Intel一方面在Uncore部分加入了自家的“高斯网络加速器(GaussianNetworkAccelerator)”这样类似于手机SoC上面常见的AI硬件加速电路,还通过引入AVX512VNNI指令集,使用AVX-512单元来进行AI相关的加速计算,Intel将这种加速称为DL(DeepLearning)Boost。这是一种很聪明的取巧办法,专用计算单元的引入可以保证一定的加速性能,而新指令集的加入同时也可以更加充分地利用上新的CPU特性。加密解密指令集上面的改动诸如AES的吞吐量加大、加入新的针对SHA算法的一系列指令等,总之在编译器进行适当优化的前提下,IceLake的加密解密性能是比Skylake强不少的。图形架构解析03.第11代图形架构IceLake的核显首次达到了1TFlops的计算性能,还增加了不少的功能特性,可谓改进颇多。Intel用了themostpowerfulversion来形容这代核显的性能,怎么做到的呢?第11代图形架构借助10nm工艺,暴力堆叠规模Intel的10nm工艺在晶体管密度上的提升幅度是真的很大,14nm时代最多配备24组EU的核显,在IceLake上面直接就翻了2.67倍,最大可以达到64组EU,并且频率也不低,最高可以跑到1100MHz,比以前只低了50MHz,此时核显整体的FP32计算量已经达到了1.15TFlops。鉴于此,相比于八代酷睿处理器上搭载的第9代核显,Intel官方宣称可以提供平均约1.8倍的帧率。你一定想问第10代去哪里了对不对,其实还是在夭折了的CannonLake上面,而且唯一一颗的核显还是被屏蔽了的。目前在移动低压版IceLake处理器上面,Intel一共提供了G1、G4和G7三种配置的核显,分别有32/48/64组EU,低端的G1命名仍为UHD,而G4和G7都以IrisPlus的品牌出现。第11代图形架构内部架构优化首先通过增加单个Slice中含有的子Slice来扩大规模,使得每周期的计算次数增加。其次是在缓存系统上做文章,扩大了三级缓存的容量,Intel方面公布的是EU的三级缓存有3MB,并且还有0.5MB的本地共享内存。另外还有通过处理器的内存控制器升级,能够用上更高的内存带宽。第11代图形架构新接口版本和加强的硬件编码电路在视频硬件编码部分,也就是IntelQuickSync特性使用的独立硬件电路上,新核显也有比较大的改进,现在支持两条HEVC10-bit同时进行编码,在YUV444的情况下最高支持两条4K60帧视频流,或者一条YUV422的8K30帧视频流。可变速率着色(VRS)VRS全称VariableRateShading,是一种新的允许GPU根据画面区域的重要性调整着色精度的技术,具体效果我们之前的新闻有介绍过,可以看一下:来对比一下VRS可变速率着色技术带来的性能提升吧3DMark将添加该技术基准测试一文中的图片对比。第11代图形架构可变速率着色(VRS)VRS可以在不重要的画面上面节约一定的GPU资源,使这部分GPU资源参与更加重要的部分画面的渲染中,从而提高了整体的帧数,目前NVIDIA已经在Turing核心中加入了相关的支持。而Intel也没有落后,在第11代核显中提供了这项特性,并且他们宣布将与Epic合作,将这项特性加入到虚幻引擎中去,目前文明六已经支持了该技术,并且根据Intel的数据,帧数最大提高了30%。UNCORE部分04.Uncore部分Uncore部分指的是处理器上除了内核和GPU的其他部分,在顶上的结构示意图中就是SystemAgent的那部分,自从Intel在Nehalem把内存控制器和PCI-E控制器移入CPU内部之后就没有什么大的变化,但是这次Intel在上面加入了个新东西,还升级了不少老部件。Thunderblot3原来阻挡人们使用Thunderblot(以下简称TB)设备的一大原因就是这个接口的使用成本略高,当TB3开始以USBType-C接口的形式出现之后,使用率确实高上去不少,但是还有其他的拦路虎,其中一个就是TB需要主板搭载额外的芯片来使用,这个控制芯片并不便宜。终于在IceLake上面,Intel把TB控制器整合到了处理器里面,并且再也不会占据掉处理器提供的PCI-E总线数量或者是与PCH一起挤原本就已经拥挤不堪的DMI3.0总线,而是在环形总线上面拥有了自己的位置。Uncore部分而且Intel大方的一下子就提供了4个之多的TB3接口,每个都是PCI-E3.0x4的满规格,也就是说,IceLake处理器其实一共拥有32条PCI-E3.0通道,不过其中一半都是以TB3形式提供的,当然这些接口是支持USB模式的,当运行于USB2.0状态时,会绕回到PCH上进行通信。Uncore部分当然也不是所有的厂商都会给足四个TB3接口,具体怎么配置还是得看OEM厂商,毕竟其他的配套芯片诸如USBPD所需要的独立IC都是会增加成本的,而TB接口还需要额外的Retimer芯片,不过Intel已经减半了所需的Retimer,两条TB3只需要1个Retimer就可以了。Uncore部分不过将TB控制器集成到CPU内部也使得整个SystemAgent的IO部分更为复杂了,上面是一张详细的原理图,一个Type-CIO路由(图上名为CIORouter)拥有两条PCI-E3.0x4与CPU相连,而CPU内部的显示控制引擎(图上的DisplayEngine)也要与这个Type-CIO路由相连,以控制Type-C接口所处的状态,并决定发送的信号。同时还有USB的xHCI也要跟Type-CIO连接,还要管理整个的内存统一性……复杂的结构所导致的就是整体的延迟会增加,Intel将原因归结在电源控制上面,原本分离式的芯片很容易管理电源状态,但是整合进来之后每一个部分都有自己的电源状态需要管理,需要更为精细化的电源管理系统,而这就增加了总体的延迟。不过更为精细化的电源管理还是有好处的,那就是可以提高能耗效率,Intel方面称满载的一个TB3接口的芯片外加链路层将使用300mW的功率,四个加起来也只有1.2W。值得一提的是,Intel已经做好了对于USB4的兼容,不过考虑到目前USB4仍处于草案阶段,不排除未来的修改使得兼容失效。不过目前只是针对IceLake的移动版本进行架构分析,当然也不排除Intel在桌面级的IceLake上面同样保留内部TB控制器。内存控制器现在内存控制器原生支持DDR43200/LPDDR4X3733内存,原来Skylake上面的内存控制器顶多只能支持到DDR42666,还是八代的CoffeeLake以后的事情了。而随着DDR4内存的发展,默频上3000的内存条也开始出现了,内存控制器直接支持到DDR43200是一件不错的事情。而且随着处理器内核数量的增加,内存带宽也逐渐要开始成为处理器性能的一个瓶颈所在了,在我们的测试中,内存带宽对于性能的影响还是比较明显的。此前Intel的移动低压平台只能使用LPDDR3作为内存,而支持LPDDR4/X的一个好处就是可以在更低的功耗下面带来更强的性能,尤其是对于此次图形性能有比较大提升的IceLake来说,有着非常大的实际意义,因为内存带宽直接影响到GPU的实际表现。前面在讲内核的AI加速时提到了Uncore部分加入了GNA这个针对AI的硬件加速单元,目前并不知道太多有关于它的细节,就连具体名字都有两种说法,目前已知的是该单元的功耗非常低,甚至会在SoC其余部分关闭的情况下继续工作,旨在提供稳定的AI加速性能,应用场景为语音识别之类。PCH改进05.PCH的改进目前的IceLake平台上PCH和CPU是封装在同一块基板上的,PCH的提升同样是IceLake整个平台的提升。同样的,IceLakeCPU通过DMI3.0x4总线与PCH相连,提供的带宽等同于PCI-E3.0x4。重新引入FIVR重新引入FIVRFIVR其实早在Haswell架构中就已经被引入了

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功