英特尔十代酷睿处理器对比九代酷睿:可不仅仅是10nm工艺的提升

2019年08月13日 作者:Teardown

Ice Lake是Intel下一代平台的架构代号,随着台北电脑展上的演示,它终于揭下来神秘的面纱。而前不久Intel内部的第二季度财报会议上,CEO已经宣布Ice Lake处理器已经正式向OEM厂商出货,戴尔方面也迅速行动,延期了一个月多的、采用新Ice Lake处理器的XPS 13 7390也迅速上架接受预定并将于近日发货。这意味着Intel的第一代量产级10nm产品(不算Cannon Lake唯一的那款10nm i3)终于要在市场上亮相了,在此之际,小编编译、整理了目前有关于Ice Lake架构的相关解析文章,探寻其背后的改进之处。

继上一次Intel更新他们的桌面级处理器的架构已经过去了将近5年的时间了,不得不说,Skylake是一代非常成功的架构,也可能是从P6以来Intel使用时间最长的一代处理器架构,支撑Intel走到现在还在主流和服务器市场上面占据着上风。

首先我们要理清一点,Ice Lake是整个处理器架构的代号,而现在的Intel处理器架构中包括了内核、GPU、以及Uncore部分的其他IO单元,所以本文并不只是针对CPU的内核微架构进行解析,而是对于整个体系结构。

Ice Lake处理器结构图Sunny Cove内核微架构:IPC平均提升18%

前端缓冲区:加大加大加大

x86处理器的内核主要可以简单地分成两个部分,前端部分与后端执行部分,前端部分主要完成“取指译码”的工作,后端主要为指令的具体执行单元,前后端之间有缓冲区,用于存放解译融合完毕的微指令。Intel很早就在内核中引入了“微指令融合”的技术来提高效率,融合过的微指令会进入缓冲区然后被分配给后端执行部分进行具体的执行。Intel目前认为,如今程序更多的瓶颈位于访存和前端指令分派上,Sunny Cove的前端部分改进就体现了这一理念,所以这次缓冲区就被扩大了不少。

可以看到Intel这次把乱序重排缓冲区(ReOrder Buffer,主要是用于乱序执行后将执行的微指令根据原本顺序提交的指令缓冲区)大小做到了可以容纳352条微指令,直接提升了128条/57%之多,而Haswell到Skylake才仅仅提升了32条。同样在访存上面也进行了不小的提升,Load(加载)队列增加了56,Store(存储)队列增加了16,比Haswell到Skylake的改变都明显要多。

再来看缓存部分,新的内核终于增加了万年没变动过的一级数据缓存,从32KB到48KB,虽然只增加了12KB,但是要知道,32KB的一级指令缓存+32KB的一级数据缓存的设计,从Core系列的第一代架构——Core微架构上面就开始使用了,一直沿用到现在,同时一级数据缓存的带宽也增加了。而每个内核附带的二级缓存直接提升一倍,达到512KB的大小,这也是从Nehalem架构把二级缓存内置进每个核心、单独设立共享L3缓存以来在内核缓存上发生的最大幅度变动了。

Skylake与Sunny Cove内核架构对比图,左Skylake,右Sunny Cove

前端部分的改进较小,主要是改进了预取器与分支预测器的性能,增加了微指令缓存的大小使得其能够满足每周期5(6)指令的发射。

后端:更宽

上Skylake,下Icelake,注意看Port

后端也有不小的改变,Sunny Cove的执行端口相比Skylake多了两个,达到了10个之多。并且端口的用途更为精细化,有专门用于读取和存储地址的端口,并且专用于存取数据的端口数量均为两个。

然后在执行单元中,Sunny Cove新增了支持AVX-512指令的单元,其实这类单元在Skylake-Server上便已经加入,同时引入的还有Cannon Lake上面加入的iDIV这个硬件整数除法器,同时还加入了新的MulHi单元,专用于乘法指令的处理。

AVX-512计算单元的引入使得Sunny Cove内核一次可以处理1条512-bit的指令或者2个256-bit的指令。

内核互联方面,桌面级Ice Lake仍将采用Ringbus也就是环形总线的设计,而服务器端将延续Skylake-Server的Mesh总线设计。

1 2 3 4 5

相关文章

tracer