全球首发10nm cannonlake处理器i3 8121U详细性能测试，先发点基本信息看看，根据Intel指令集优化手册，Cannonlake支持了全新的AVX512子集，也就是AVX-512 IFMA和AVX512 VBMI，以及SHA指令集，SHA和AVX512指令集的意义可见我以下两篇文章

JZWSVIC：AIDA64支持AVX-512，带来何种变化？

如何看待amd ryzen处理器aes sha性能异常之高？

3.1GHz 1.1V电压，已经很不详了

CPUZ将code name识别为Skylake，表明本质依旧是Skylake架构，缓存结构没有采用Skylake-Server的1MB L2设计，依旧与主流平台一样，256KB/per Core详细测试数据稍后再发，而且10nm的表现的确很堪忧





好了进入正题，i3-8121U是一颗Cannonlake-U处理器，根据Intel正统计划，Cannonlake系列最初诞生的应该是CNL-Y系

8121U：双核四线程，TDP：15W，LLC缓存：4MB（相当于过去低压双核i7）

基础频率2.2Ghz，最大睿频3.2Ghz，，双核睿频3.1Ghz，采用的是BGA1528插座，这是CFL-U，WHL-U，CNL-H的共同针脚设计

cannonlake处理器改进了什么？

CNL平台采用了Intel最新的10nm工艺，根据Intel公开数据，其晶体管密度最高可达1亿晶体管每平方毫米，但实际上在做PC处理器时，Intel采用的密度是远低于最大值的，一方面不是所有单元需要高密度，其次整体过高密度加大了高频信号的不稳定性，当然，更小的晶体管间距和栅极线宽，能在理论上降低不必要的线路损耗，降低功耗，但是实际情况来看这颗8121U没有体现出这一点





更先进制程，换来的是并不高的频率，双核3.1Ghz和单核3.2Ghz的频率，相比低压i5/i7的哥哥们高达4Ghz的单核睿频，3.4Ghz以上的四核睿频，这个10nm显然没有带来频率上升，但是Cannonlake在intel指令集优化手册中提到将加入全新的，更宽的SIMD指令集，AVX512，以及一直只在低端非主流架构的低功耗处理器上使用的SHA指令集

AVX512支持包括：AVX-512F/CD/BQ/DW/VL，这些也在Skylake Server处理器上启用，CNL支持这些Server级指令集的同时，另外支持AVX512 IFMA和VBMI1，也就是对长整型数的512Bit融合乘加，和AVX512指令中的位操作指令，但值得注意的是CNL支持的是VBMI1，VBMI2需要到ICL上才能支持，AVX512的一些提升可见上面的文章。





架构方面依旧是Skylake内核，IPC是基本差不多的，所以如果运行非AVX512项目，毫无悬念的8121U就和6代7代同频率的双核四线程处理器性能相当





有没有核显？

这颗CPU没有核显，是不是屏蔽的？实际上我拿到的Intel数据，CNL 2+2的CPU芯片是一个8.6X8.2的die，最好到时通过实际量一下这台电脑的die的大致面积来判断了

当然我认为这个CPU本身就没有核显的可能性更大

AVX-512有坑？

在我上面的文章里提到，有部分支持AVX-512处理器将没有一个专门的512bitFMA，这导致依托于这一单元的浮点加法，浮点乘法，整数向量乘法和融合乘加浮点性能将会减半，也就是半吞吐AVX-512处理器，恰好，8121U就是这样的一个半吞吐AVX-512性能的CPU，Intel考虑功耗问题和10nm的稳定性，将AVX-512的性能没有给到目前最高的双发射512FMA，，这一点使用一个较为简单的向量浮点吞吐测试代码即可实现，AVX512的FMA峰值与AVX 256bit向量FMA峰值基本一致（跑AVX512频率会低些）

CPU基本性能（非密集计算/SSE指令集类型）

之前说了，该CPU的架构依旧是Skylake，所以基本的标量IPC和SSE指令集程序性能是与之前没有太多区别的所以这里没什么好对比的了，

1,R15

2，corona1.3

实际出普通非AVX高负载下就能看出，其双核频率只能稳定在15W 2.7Ghz下（corona结果上的real frequency），这个表现相当尴尬306CB和对应频率的SKL处理器差不多，corona用了12分钟22秒，对应的是7700HQ大约4分40秒，

3，AIDA64棋盘皇后分支预测性能

AIDA64带的10皇后问题，支持多线程，实际上这个项目使用的是标量单元的分支跳转单元，所以基本是很难通过ILP或者SIMD性能提升来获得提升的项目，这一项毫无悬念很惨

高级向量扩展性能（AVX/AVX512）

由于前面说了，CNL最大的变化就是AVX512的加入，但不幸的是又是个浮点半吞吐512处理器，所以在这里，我们将尝试使用AVX-512或者AVX/AVX2的两种情况来进行对比，不过考虑到目前AVX-512IFMA指令集的支持还在起步阶段，很多时候得出的AVX-512性能并没有使用IFMA

在sisoftware的SIMD性能测试中，尽管表面半吞吐，但AVX512开启后，依旧取得一定提升，不过相比那些全吞吐的要差很多，比如SKL-X的i7/i9们，他们可以在频率接近的情况下AVX-512提升近一倍的浮点性能

在使用SGEMM一般乘法矩阵，SFFT和N体模拟这些科学计算的基本计算形式的类型的时候，半吞吐的AVX512和AVX2没有明显差别，这显示减半的浮点峰值性能抵消了512bit对256bit的优势

在使用整数向量计算的加密解密项目中，AES都是由AES指令集负责，所以三次基本相当，但在Hash计算中，AVX-512取得了巨大提升，不过并没有确定是否启用IFMA指令，所以不知道该指令是否可以进一步提高成绩，但是取得了近翻倍的成绩，是非常可喜可贺的，与AIDA64的hash项目不同，在这里SHA指令集开启后的成绩与AVX2相当，而使用SHA指令集的AMD处理器在AIDA64的Hash成绩中则大杀四方

在向量圆周率计算测试y-cruncher中，AVX2 FMA和AVX512的成绩相当，使用双通道8GB DDR4 2400内存，都在接近1分钟完成2.5亿位的成绩上，这也说明浮点计算上减半的SIMD性能对CNL-U影响很大

左AVX2 FMA 右AVX512

X265 HEVC，在最新的解码器版本中使用命令--asm avx512可以使用AVX-512支持，大约同频率可提升10%的转码速度，不过这实在太少了，尤其在有限TDP下，运行AVX512往往会频率更低，所以虽然视频转码以整数计算为主，但是实际没啥提升，甚至略有下降

缓存上L1为双512bit做了准备

AIDA64内存与缓存测试，L1带宽达770G/S，实际上便是大约以短时频率3Ghz，两个核心分别以两个512bit取数得到的峰值，即512bitX2/8X3GHZX2核得到的成绩





Geekbench4单核对比

GB4有大量子项，我选出了一部分普通标量性能，加密解密性能和SIMD的FFT/GEMM项目，与KBL,SKLX,S835,S845,A72,A11，9810等X86或ARM对手进行了单核性能对比

单核测试8121U可维持最大睿频3.2Ghz，由左往右从标量普通项目到向量项目，GB4 GEMM/FFT可支持AVX512，所以尽管8121U的单核3.2Ghz不如KBL 3.4Ghz高，但是凭借AVX512，尽管也只是半吞吐，但也超过了KBL AVX2的表现，FFT的表现却尤其惊人，显示AVX512对密集计算有不同程度加强，即使使用半吞吐浮点AVX512，值得注意的是，AES项目也就是GB4的加密解密计算，CNL也成功拔得头筹，而其他标量成绩，则都是小幅落后3.4Ghz的KBL，这也是非常正常的





5.19更新：

有人可能已经注意到，在Sisoftware和GB4中都有一个GEMM和FFT（即乘法矩阵和快速傅里叶变换）测试，两者的GEMM成绩都可以看出，即使是使用半吞吐AVX512，CNL的表现都会比AVX2的情况下要好一些，比如GB4的GEMM，CNL在3.2Ghz的情况下战胜了使用AVX2的KBL 3.4Ghz的情况，而sisoftware中也是AVX512开启比AVX2开启的情况下好一些

但是在FFT中，GB4的情况是CNL靠着半吞吐的AVX512大幅击败KBL（5929对4421），而在sisoftware中给出的数据却是AVX512对AVX2毫无提升，这就有意思了，为何同样是FFT，有如此差别呢，在不知道基本算法的情况下，我在GB4的FFT项目介绍里看到这么一句话

hand-tune，也就是开发者手动对向量指令集进行了优化，比如手动展开循环，手动做加载数据指令和利用多发射流水线掩盖向量指令集延迟等方法，达到更高效果（前提是技术到位，不然也不如编译器自动优化）

而sisoftware从他们的测试页面来说，可能没有使用足够的手调优化，而是依赖编译器优化来实现的，就连全吞吐的AVX512处理器也没什么提升，所以同样的项目，优化程度不同，也可能带来不同的结果，这也让我想做一个有关hand-tune和编译器自动优化的详细对比研究，当然，AVX512让处理器有机会到达更高的性能，但如何发挥这么宽的SIMD性能是一个越来越高难度的问题，但换句话说，只有提供更强的硬件，才有更高性能的可能，Intel这何尝不是“战未来”？





如果使用AIDA64进行FPU拷机，我们可以清晰看到使用AVX的情况下，15W TDP下的频率，如果开启AVX-512，18.5W PL2下频率2.3Ghz左右，15W TDP下2Ghz左右

如果使用AVX浮点（256bit），18.5W下2.8-2.9Ghz，15W下2.4Ghz-2.5Ghz，实际上这个表现相当不乐观，不过单烤CPU温度都很低，毕竟15W

总的来说，这个CPU是CNL和未来ICL的风向标，即AVX-512指令集的全面扩充和SHA指令集的加入，也让人期待，未来i7桌面能否拥有全吞吐的AVX512，当然从这个CPU来看，不仅能耗没有改善，15W 双核AVX浮点满载只能2.4Ghz，相对7200U也没有优势，除了象征性的AVX512支持，SHA指令集，更低的同功耗下的频率，没有IPC提升的架构，还是让普通人难以体会到太多的改变，联想这款本子也很低端，散热虽然肯定可以搞定，但过低的频率表现，不仅影响了AVX性能，还影响了用户的日常体验，但我们有理由相信，在ICL使用新的微结构，更成熟的10nm和更全面的AVX512指令集支持后，CPU性能在各个方面都会有令人感叹的进步