怎样将猎豹q造成最炫酷的越野车?,

评测丨猎豹峡谷架构升级,“迅猛”性能让人惊艳

去年在Tiger Lake-U上市前写了一篇基于测试板上进行过的有关i7-1165G7的测试,其实我对Tiger Lake-U的表现还是比较满意的,最近上市的NUC猎豹峡谷便搭载了这款处理器,这次有了实机必须要好好体验一下。

性能释放


猎豹峡谷最吸引我的一点就是性能释放更加激进,单核心睿频非常稳定,风扇噪音小,测试中其单核频率能长时间保持在4.7GHz左右,能更好发挥整个平台的性能,这也是猎豹峡谷的一大亮点。

其实BIOS里还能调节PL1 PL2设置,进一步压榨性能发挥,不过建议量力而行,默认设置已经足够高了。我个人比较关心整个机器的性能,所以会把重点放在性能数据上,不会过多介绍产品外观。

猎豹峡谷集成度很高,方便移动携带,拥有2个雷电接口,配合自带的HDMI和Mini DP可支持最多四屏输出,轻松实现桌面级多屏办公体验的同时还不占地方,桌面更加整洁,如果工作的地方和家里已经备有显示设备,猎豹峡谷也可以随时在不同场合轻松办公。

Tiger Lake平台升级

Tiger Lake平台在CPU内集成雷电控制器,拥有2个40Gbps带宽Port,每个Port支持2个雷电接口,整个平台支持最多4个雷电接口,猎豹峡谷上则是两个满血带宽雷电3接口的配置。相比雷电3,雷电4要求更高,支持DP1.4协议、输出8K视频信号成为硬性要求,但两者带宽同样都是40Gbps,并且8K显示设备现在比较稀少,严谨来说猎豹峡谷这是一台除PD充电以外全部雷电4功能的雷电3接口。机器最高支持64GB双通道DDR4 3200MHz笔记本内存,有利于提升日常使用流畅度和核显性能。

猎豹峡谷支持PCIe 4.0 NVME或SATA3固态硬盘,还有2.5Gbps有线网卡,支持Wi-Fi 6的AX201网卡以及HDMI 2.0b和DP1.4接口,你可以不用,但猎豹峡谷不能没有。

CPU GPU核心架构升级

Tiger Lake CPU采用Intel 10nm最新工艺,经过全面优化达到更高频率,在此基础上,10nm Tiger Lake的频率已经与10代Comet Lake相当,同时架构升级为Willow Cove,核显最高有96个EU单元,这次测试的猎豹峡谷搭载i7-1165G7处理器,单核频率最高4.7GHz,核显频率最高1300MHz。

微架构设计介绍(内部设计和缓存)

Tiger Lake CPU采用Willow Cove内核设计,该设计基于Ice Lake微架构的Sunny Cove微架构改进而来,而相比Sky Lake微架构设计的Comet Lake产品,架构特性和复杂度已经有了极大改进,流水线设计的微架构处理器,秉承“更宽,更深,更多”的思路提高架构性能。CPU目前可将流水线路径分为前端—(乱序)缓冲区—后端,前端为取指译码,缓冲区为调度和暂存乱序执行下的微指令,后端为执行指令,获取操作数据并写回结果,而需要改进的就是这些部分。

Ice Lake在缓存和缓冲区上的众多改进

1:第二级TLB 4K大小(缓存一般页表)的页面文件达到2048个队列,2M/4M(缓存较大尺寸页表)页表共享上面提到2048中的1024个队列,另外一组1024队列用于1G超大缓存页表的TLB,而在Sky Lake中该数值为1536个队列(4K/2M/4M)+16队列(1G)。

2:μop微指令缓存由1.5K指令数提高到2.25K指令数,分支预测性能有一定提升,指令译码进入乱序区指令队列深度从每线程64队列提高到每线程70队列。

3:访存L/S乱序缓冲区为128个Load队列+72个Store队列,Sky Lake为72+56。

4:调度器可调度160个完全就绪的微指令,通过寻找指令相关性,确保指令并行并调度进行执行单元,Sky Lake是97个队列。

5: ROB乱序提交重排缓冲区大小,现在也被统称为乱序执行窗口,其用于暂存乱序执行前进行等待操作数的微指令,或者已经完成执行后等待最终按既定顺序提交指令而进行等待的微指令空间,由Sky Lake微架构的224个队列拉高到352个队列,可以说是一次拉满的节奏。

6:一级数据缓存提高到每核心48KB,二级缓存提高到每核心512KB,4核心一共8M L3缓存。

更宽的流水线

Ice Lake在流水线宽度上,前端译码宽度为4个简单指令(一般直接译码为一个μop)和1个复杂指令(一次译码多个μop)译码器,μop Cache发射指令宽度为6μops,与Sky Lake保持一致,但allocation宽度从4uops提高到5μops。

(配图示意为Willow Cove,区别在于L2缓存为1.25MB/Core)

后端执行部分由原来4个功能指令执行宽度和4个访存子系统执行宽度提高到4个功能指令执行宽度和多达6个访存执行端口,而且数据带宽翻倍,以便适应全新的AVX512宽矢量数据流,端口4、9为Store Date端口,端口2、3为Load Data端口,这样Load/Store各2个端口,理论上实现了每周期2个Load数据+2个Store数据操作的数率,相比Sky Lake微架构,此前可实现最高在执行AVX数据L/S时,达到一共2*256bit Load+1*256bit Store的数据宽度,Sunny Cove达到了2*256bit Load+2*256bit Store,同时在执行AVX512数据Load/Store时可以实现每周期2*512bit Load+1*512bit Store(2个256bit Store共同完成)。

更多执行单元

Ice Lake在0、1、5、6四个端口上均增加了多个功能单元,如今程序更多瓶颈位于访存和前端指令分派上,能利用4个功能端口同时并行发射执行的机会极少,实际上绝大多数程序也很难测出IPC接近4的情况,但在单个情况下,尽可能增加某种功能的执行单元会提高整体效率,Intel将LEA从2个扩大到4个,这旨在帮助计算内存地址移位计算的速度,并且新增专用IDIV除法器,将提高64位整数除法的计算。我们可以在Cannon Lake处理器上看到除法计算性能提升,而在除法指令延迟上,主要是大幅降低IDIV延迟。

AVX512扩展介绍(基本定义和扩展子集)

SIMD是代码现代化中的重要组成部分—向量化的标志性指令,在Sunny Cove微架构上,SIMD支持从最高处理256位数据的AVX2 FMA来到512位AVX512 FMA。更宽的单次数据宽度功耗会略有提高,同样功耗在频率不是非常高的情况下,使用AVX512的能耗是要好于AVX2。

AVX512与以往AVX指令格式类似,指令助记符依旧为V开头,如VaddPS,Vpmdd+3个操作数配合新增的512位ZMM寄存器使用,AVX512相比AVX2的YMM寄存器,可用数量也从16个增加到32个。

AVX512新增8个新的Opmask寄存器,用于条件执行和目标操作数的高效合并。每个Opmask寄存器的宽度为64位,它们被标识为k0-k7。8个Opmask寄存器中7个(k1-k7)可与EVEX编码的Intel AVX-512F指令集结合使用,例如仅部分填充寄存器的矢量化余数。当需要对所有数据元素进行无条件处理时,Opmask寄存器k0通常被视为“无掩码”。另外Opmask寄存器也用作向量标志/元素级向量源,以引入新的SIMD功能,AVX512 SIMD寄存器和操作掩码寄存器由操作系统使用XSAVE / XRSTOR / XSAVEOPT指令进行管理。

上图为一个操作掩码寄存器k1的示例,默认是一个双精度浮点的512位矢量加法,寄存器打包8个双精度浮点数来计算,汇编助记符等式可看作是相当于ZMM1=ZMM2+ZMM3的结果,K1作为条件执行寄存器,1为执行,0为不执行,所以当k1置1位置的数进行了加法,置0位置的数仍然是原本ZMM1的数据,不做ZMM2+ZMM3操作。

2017年的Sky Lake(Server)产品开始另外拥有AVX512CD/DQ/BW/VL这几个子集,用于更精细字节/单字/双字/四字操作,如AVX512DQ主要是加速对高精度运算需求的HPC业务,如石油和天然气、地震建模、金融服务行业、分子动力学、光线追踪、双精度矩阵乘法、快速傅里叶变换、卷积和RSA密码学。AVX512BW指令组支持字节/字操作,这可以使某些企业应用程序、多媒体应用程序受益,还有支持EVEX编码下的128/256位矢量计算(AVX512VL)指令。

在Sky Lake(Server)中,端口0和端口1的FMA单元可以单独各自执行一条256位AVX指令,或融合执行一条512位指令,端口5的FMA单元只能用于512位计算,这会使得这个单元在执行256/128位SIMD的时候无法发挥作用,并非所有型号都会开启端口5的512位FMA单元,之前我们称其为半吞吐的AVX512处理器。目前客户端的处理器产品均为半吞吐512FMA处理器,这导致依托于端口5的512位FMA操作,向量整数乘法,浮点计算均只能依靠端口0和端口1的256为单元融合执行(从端口0发射),但整数向量加法、逻辑和shuffle操作则与其他全吞吐处理器一样。上文图上标明的执行单元诸如向量ALU、FMA、Mul、Add、Div单元均表明为其是执行常见的整数和浮点型加减乘除或融合乘加操作,这些基本运算和之前AVX2指令集转变为512位的指令都被归为AVX512 Foundation指令集。在端口1上ICL新增了一个shuffle单元,但该单元不能执行512位shuffle操作,用于快速洗牌128位向量寄存器中的数据,而一些特殊的实现在图中没有标明其具体名称,这些特殊的实现组成一个Ice Lake上才有的AVX512子集系列以及非AVX512,但依旧依托SIMD指令格式的新指令部分,部分指令专用性较强。

AVX512 VAES:将原本AES指令改为Vector(助记符+V)并可使用Zmm寄存器,可以实现4个128bit或1个512bit吞吐,但实际上Sunny Cove本身的非Vector AES单元也获得了升级,从Cannon Lake开始不使用VAES而使用传统AES指令也相当于原本的2倍,VAES则是原来Sky Lake架构的4倍吞吐峰值。

SHA指令集:该指令集并非AVX512扩展,其本质与AES指令集同类型,基于XMM寄存器,已经在Gemini Lake/Apollo Lake/Cannon Lake上使用,Ice Lake是一个大规模在高性能处理器上使用的世代,其支持SHA-1和SHA2-256计算,不支持SHA3,更重要的是新架构使用AVX512指令执行会很有优势。

AVX512 IFMA:压缩多个无符号整数的高52位或低52位整数(保持整数型数据精度)相乘,将其加入64位累加器计算得出FMA结果,可用于IFFT、RSA加密。由于客户端产品FMA吞吐为半吞吐,效果将会受一定程度影响,但相比直接使用AVX512F的整数型FMA指令,效率依旧能有1倍峰值提升。

AVX512 VPOPCNT:POPCNT指令是计算数据中1的数量,可用于汉明重量计算。

Galois Field New-Instruction:伽罗华域计算指令,可用于加密领域、纠错和位矩阵乘法。

AVX512 VNNI:主要适应以较低精度实现推理和训练的AI计算模型。较低精度操作有两个主要好处,首先是许多深度学习操作因数据密集性受内存带宽限制,在这些情况下降低的精度使得数据格式更短,可能会更好使用缓存并减少内存瓶颈,可以更快移动数据并最大化计算资源。其次较低精度的乘法器需要较少芯片面积实现更低运行功耗,可以使硬件每秒执行更多操作从而进一步加速工作负载。由于这些优点,在不久的将来,尤其是对卷积神经网络使用低精度运算有望成为标准做法。

Skylake-X系列的AVX512处理器通过使用低精度乘法与高精度数值累加,加速深度学习计算,也就是将两个8位值相乘并将结果累加为32位需要3条指令,并要求其中一个8位数值为无符号int8(u8) 格式,另一个为有符号int8(s8)格式,最后累加数值为有符号int32(s32)格式。这样相对之前完全使用32位数据,就可以增加4倍输入(在512位寄存器中可以打包64个int8,只能打包16个32位数据),需要3条指令来完成,也就是3倍指令获得4倍吞吐,提升33%效率。

参见下图:

AVX512 VNNI提供两个指令,本质含义是低精度的乘与正常精度累加的指令,这两个指令VPDPBUSD是将两个8位相乘然后与32位数累加,一条指令直接实现一个有符号int8和一个无符号int8相乘并与一个32位有符号数累加得出32位结果,相当于通过int8计算累加得出32位结果,实现4倍输入速度,VPDPBUSD的B即为byte,8bit,U和S代表有符号和无符号数。

VPDPWSSD则是16位相乘与32位数累加得出32位结果,实现2倍输入速率提升,这里的VPDPWSSD,W则是word,16bit,SS则是两个有符号的数,即两个相乘的16位数均为有符号位的int16相乘,目标用于训练任务,但实际使用较少。

AVX512 VBMI/VBMI2:VBMI1(置换,移位)和VBMI2(扩展,压缩,移位),用于列式数据库访问、字典的解压缩、离散数学和数据挖掘负载(bit位的置换和位操作的矩阵乘法)。

AVX512 BITAL:包括POPCNT和Vec bit shuffle指令。

Willow Cove新增:

AVX512 VP2INTERSECT包括具体两个指令VP2INTERSECTD/VP2INTERSECTQ,D和Q指的是双字(32bit)与四字(64bit)的意思。

示例:VP2INTERSECTQ k1+1、zmm2、zmm3(512位寄存器/单个值64位),即在一对生成相应掩码的奇偶掩码寄存器中,存储Zmm3与Zmm2相应位置存在交集的数值,并置0。

Willow Cove改进主要缓存

Sunny Cove在架构设计上相比Comet Lake所属的Sky Lake微架构改进颇多,从Willow Cove架构设计来说,主要改进在缓存设计上。在过去十年,从第一代酷睿系列处理器Nehalem微架构开始,Intel客户端处理器的架构、缓存部分持续使用32KB指令缓存+32KB数据缓存的L1,每核心256KB的L2以及最高每核心2MB的L3,采用inclusive设计。但这个情况在Ice Lake微架构时期发生了轻微变化,L1数据缓存从32KB扩大到48KB,L2缓存从256KB提高到512KB, L3最高每核心2MB/inclusive。与此同时,服务器端产品缓存设计也发生改变,Sky Lake(Server)微架构在保持32KB+32KB的L1缓存设计时,L2扩大到每核心1MBL3对应为每个核心可以拥有1.375MB容量,由inclusive设计改为non-inclusive。

inclusive LLC将固定映射保存L2数据,当核心在LLC出现缓存缺失,即可断定其他内核的L2上同样不会存在所需要数据,或直接在LLC上拿到其他内核的L2缓存数据。

non-inclusive并非完全等同于exclusive,严格来说L3与L2不是绝对互斥, L2与L3为同等地位,差异仅是访问所需延迟差别。当LLC/L3缓存缺失时,可通过page确认其他内核L2是否有需要的数据,如果遇到需要提取其他内核L2数据时,此时延迟会比inclusive设计高,但L2和L3增加容量能保证在L2 L3命中几率。在此基础上,Tiger Lake结合了最新Ice Lake微架构的L1设计和Sky Lake(Server)的大L2、non-inclusive L3设计,并且利用10nm工艺,将L2和L3容量大幅提高,最终实现32KB L1指令缓存+48KB L1数据缓存,每核心1.25MB L2和最高每核心3MB L3配置,L3为non-inclusive。

TGL的1.25MB L2/Core也将组相联数提高到20路,不过每核心1MB L2的Sky Lake(Server)采用16路组相联,提升25%容量的TGL也增加了25%路数。

理论上来说,更大缓存有利于提升高吞吐需要的密集计算效率,尤其是矩阵乘为基础的大规模数值计算,更大缓存有利于降低矩阵分解难度,可以将更大矩阵放入缓存中,大L2可以进一步提高响应速度,但如果是一些针对L3优化的程序过多cover到L3上,这反而会对TGL的缓存带来压力,因此TGL作为L2备选存在的大L3可能会带来更高延迟,过多在L3上可能会不如过去inclusive的L3效率高。

架构升级带来单线程性能大幅提升

本次测试我以桌面端i9-10900K为参照,为了解决此前主板无法睿频到5.3GHz的问题,我决定选择Z590芯片组主板,最终i9-10900K单核睿频接近5.3GHz。i9-10900K只开启6个核心的情况下,设置单核睿频4.8GHz,全核睿频4.5GHz,模拟桌面高频i5-10600K 6核12线程的情况下使用核显,对比猎豹峡谷的性能表现,想必所有人都会觉得,i9-10900K会毫无悬念的击败搭载i7-1165G7的猎豹峡谷,即便在6核心的情况下,也能轻松压制只有四核心的i7-1165G7,虽然功耗可以释放到40瓦,但4核睿频最多也只有4.1GHz,相比桌面级高频处理器,其功耗差距也相当大,那么i7-1165G7真的就无能为力吗?我们来看看理论和应用实测,以下测试数据均来自猎豹峡谷。

理论单线程性能测试

SPEC 2017单线程测试

SPEC CPU 2017是一个专业的CPU性能测试软件,分为整数和浮点两个大类,拥有大量专业应用项目。使用Intel Classic Compiler在Windows 10下进行测试。注意,该项目在不同编译器和系统上分值可能不同,所以需认准相同情况下对比。

编译基本选项为采用QxCore-AVX2,O3优化级别。

最终整数得分7.34比7.63,i7-1165G7略低3.5%,浮点得分猎豹峡谷搭载的i7-1165G7高于i9-10900K,达到13.5比12.7高出了6%,i7-1165G7的单线程性能表现不俗。

Geekbench 5单线程测试

在相对更轻量化,测试时间极短,手机平台也能运行的Geekbench 5中,i7-1165G7拿到了1619分的单核成绩,比i9-10900K高出10%还多。当然,我们仔细看看子项就知道,加密解密的项目凭借AVX512 VAES指令集,i7-1165G7显著高于i9-10900K,而在整数和浮点运算部分,i7-1165G7则以微弱优势击败i9-10900K,也体现出i7-1165G7的单核性能已经达到甚至超过了i9-10900K这样的10代顶级桌面级处理器,更别说其他处理器了。

单线程和日常办公基准测试

首先是PCmark10基准测试,猎豹峡谷使用搭载PCIe4.0 SSD进行测试,桌面Comet Lake-S平台则使用傲腾900P SSD进行测试。在日常程序启动和网页浏览的基本常用功能项目上,两者性能相当。在视频和图像编辑领域,全新核心显卡发挥出绝对实力,击败了桌面平台。

接下来是基于PCmark10专业版,使用Office 365套件测试Word、Excel、PowerPoint办公性能以及Edge浏览器的网页浏览性能。在Word和Edge网页浏览上,猎豹峡谷表现还是很不错的,击败了i9-10900K的组合。

架构升级,多核也有良好表现

主流多线程测试

常见多线程应用场景包含科学计算、渲染,在视频编码测试中常规的渲染和编码多核测试i7-1165G7的R20成绩2660分,基本上是i7-1165G7最大性能水平,R20单核成绩为593分。

AVX512+大缓存,多线程弯道超车

AVX512 VNNI AI性能

使用AIXPRT基准测试,利用int8低精度数据格式配合VNNI指令集,采用Resnet-50和Mobilenet v1两种网络模型做AI推理计算,i7-1165G7缩小了与i9-10900K的差距,并且能击败Comet Lake-S处理器,下图为不同Batch Size下的平均每秒图片识别速率。

AVX512 VAES加密解密性能

采用SiSoftware的加密解密测试,该测试软件AES多线程计算带宽高度依赖于内存与缓存,内存带宽、缓存容量带宽是决定结果的关键。i7-1165G7凭借每颗核心1.25MB L2与3M L3缓存的优势,AES性能力压Comet Lake-S,SHA则介于6核与10核Comet Lake-S之间,可以说表现想当不错。

AVX512 IFMA52高精度整数计算

IFMA可进行64位整数压缩保留低52位或者高52位进行乘法,与64位整数累加的功能,可大幅提高高精度整数FMA性能,用于RSA加密、数学常数计算、绘制分形图等高精度需求场景。

首先y-cruncher是一个非常好的向量化圆周率计算软件,支持AVX512 IFMA,所以对功耗释放需求很显著,猎豹峡谷的高PL1设定能很好服务这类计算任务,同时较大的数据量对内存带宽和缓存也有较高要求。我们分别计算2.5亿和25亿圆周率,最终猎豹峡谷与Comet Lake-S性能相当。

在SiSoftware多媒体测试中,i7-1165G7表现依旧亮眼,超越了6核的Comet Lake-S。

核显加速图像和视频编辑

Procyon基准测试中包含图像和视频处理测试,测试基于真实Adobe应用软件而来。图像测试使用Adobe photoshop和LightRoom进行测试,测试版本取决于用户真实安装版本,视频测试则使用Adobe Premiere Pro进行视频编码导出测试,使用的Adobe软件版本为Adobe Photoshop 22.2.0,Adobe LightRoom Classic 10.1.1,Adobe Premiere Pro 14.9.0.52。

图像处理两个部分总的来说互有胜负,最终成绩相当,看得出来i7-1165G7这块处理器性能基本与桌面平台相当。

视频编辑处理主要测试视频编码导出性能,分别对1080P H264和4K UHD H265的视频进行CPU和GPU测试,我们可以看到CPU部分略有差距,而参与加速的GPU部分表现亮眼,用时明显低于桌面平台组合,最终总分也要比桌面平台高,可见GPU加速对内容创作的重要性。

游戏娱乐

猎豹峡谷的全新核心显卡支持AV1解码能力,最高支持8K 30fps的AV1视频。而在游戏图形方面,猎豹峡谷的优化和性能释放其实相当不错,在DDR4 3200MHz内存的加持下,其图形性能与高端笔记本也非常接近。

总结

猎豹峡谷日常使用体验与桌面平台相差无几,这不仅仅是主观感受,在量化的跑分测试中也有所体现。处理器强大的单核性能无论是理论测试或者实际应用测试都有不俗表现,全新核显大幅提升内容创作性能。在Adobe软件中,通过GPU加速的i7-1165G7获得超越桌面平台的性能。虽然独立显卡加速很强,但目前是一卡难求,价格也水涨船高,而一个强力的核心显卡带来优秀的异构加速能力,无疑是一个省钱省事的方案。

多线程在AVX512加持下具备弯道超车能力,在部分计算项目上,也展现了越级反杀的能力,有相关需求的用户同样可以关注这台猎豹峡谷。机器支持15W无线充电和双满血雷电接口,雷电接口不仅能给笔记本电脑充电,还可以扩展出额外网络接口直接与笔记本组成局域网。

当然这些优秀成绩也离不开猎豹峡谷强大的性能释放,对单核睿频独到的调教才让这台机器优秀性能展示出来,用户可自行更换和搭配内存以及硬盘获得更大容量的计算和内容创作空间。‍

转载:JZWSVIC

2023-12-29

2023-12-29