APP下载

如何评价Intel新发布的九代i7-9700K?

消息来源:baojiabao.com 作者: 发布时间:2024-05-09

报价宝综合消息如何评价Intel新发布的九代i7-9700K?

不是9900K没有超线程,而是9700K没有超线程

首先9700K和9900K都是八核,单核频率接近5Ghz(9900K已经5Ghz),8核睿频都超过了原本8700K的六核睿频,可以说Intel下决心以高频率维持优势,这也是10nm迟迟不出的一个主要原因,10nm一出频率还低了,就比较尴尬

毫无疑问,9900K将轻松战胜2700X,8核4.7Ghz的频率,本身相对Zen的IPC优势,向量化执行单元加倍和高频内存下的低延迟内存性能,更好的NVMe性能,都能让Intel在专业计算领域,日常使用和游戏中保持优势,最令人意外的是9700K没有超线程,缓存也下降到12MB,而非9900K的16MB

超线程有何提升?

超线程指的是Intel的一个技术品牌名称,更通俗的叫法是CPU核心的同步多线程技术,其通过多个线程利用多流水线后端,提高缓存命中率和降低指令阻塞时间,换言之,超线程技术没有提高CPU的性能上限,CPU的计算峰值和处理峰值没有发生改变,如果程序充分优化,不存在缓存缺失,流水线不遇到任何阻塞,有没有超线程其实性能是一样的,但如果程序的缓存命中率和缓存缺失越严重,当一个线程遇到需要等待缓存缺失的数据和指令,抑或分支预测失败导致流水线清空,而需要等待挂起的时候,另一个线程发起请求继续执行程序时,才能出现明显提升,超线程允许另一个线程拥有一定的重复的寄存器资源和寄存器重命名许可权以及一些与之前线程一样的buffer,这样使得其能更快的介入到出现流水线阻塞的程序中,某种程度,他最理想的提升就是缺失率在50%的情况下,且正好这样两个线程交替执行,就比没有超线程提升了一倍,但现实是100%顺畅的程序不存在,恰好让超线程完美等效交替互补(这里的表达其实不具体)运行的程序也不存在,所以超线程的提升实际上可以是0也可以是1倍

流水线越多,后端执行单元越多,超线程提升越多

随着现代处理器的超标量流水线设计已经成为常态,多个流水线多个后端执行单元的设计已经成为常态

实际上Intel后端用于实际执行相应指令的后端是4个,0,1,5,6这四个,其中这四个埠都有X86传统指令执行单元,包括传统的ALU,分支跳转,地址偏移和载入,移位等指令,而向量埠只有三个,即0,1,5,其中非AVX512的处理器,也就是除了X299以外的酷睿处理器,除了向量逻辑,向量shuffle(寄存器数据重排)会使用埠5,主要将使用0和1两个埠,也就是依托FMA单元的乘法,加法,向量跳转,除法等计算密集项目,都主要由两个埠负责,而理论上说,同时流水线并行的越多,出现缓存未命中的几率越大,超线程介入的机会越大,也就是说同种类型的程序,但后端执行单元越多,超线程也会提升越大

向量计算程序超线程提升小,传统程序提升大

由于传统X86程序几乎都会覆盖到4个埠的执行单元,分支跳转,地址载入,偏移地址和逻辑计算等指令在程序中都有不小占比,可以预见,执行越传统的X86程序,有机会带来越高的超线程提升,而使用向量程序则不会,为此我做了一个简单的验证,AIDA64的性能测试非常有意思,我将其进行一个归类

这些程序包含了传统指令的分支预测,图片处理,视频压缩编码(SSE4.1),也有高内存带宽,高向量化的程序,也有使用专用加密解密单元的AES-Hash,也有扩展精度的浮点计算,我使用了多个CPU进行测试

在使用老指令集计算的扩展朱莉娅集合(Sinjulia),CPU Queen,Zlib上,超线程都有最好的提升,AMD在支持SHA指令集的情况下,还具备双倍于Intel的AES单元(4个),这样在AES和SHA的超线程提升上也明显高于Intel,值得注意的是,8121U也有SHA指令集,也拥有加强的AES单元,所以他的AES/Hash性能也非常出色,超线程性能也超越了Intel其他处理器

单发射FMA在向量计算上等于超线程很难提升

我们可以发现,在传统指令上,包含SSE程序,AMD都有较好的超线程提升,这取决于我刚才说的Intel向量单元更多仅有2个的情况下,而AMD执行向量程序,由2个128bit乘法器和2个128bit加法器组成,这样在执行128bit向量的时候,理论有4个后端执行,超线程更利于发挥,但在AVX FMA程序上,由于AIDA64优化较为理论,AMD需要两个单元来执行一个256bit,FMA又需要两个单元在一起在执行一次FMA,就等效于1个256FMA,所以在AVX项目上,AMD的超线程效率一落千丈,而Intel也存在向量程序超线程低于传统指令程序提升的问题,但略高于AMD,不过8121U还是例外,他是单512FMA的处理器,所以他的超线程提升同样极低

大缓存对密集计算有利

更大的缓存在日常中不太能感受到明显差距,但在一些密集计算中能体现,比如一个4000X4000的DGEMM,就需要122MB的数据,显然,缓存越大,有利于消除memory bound,不过实际操作有很多优化方法

SIMD超线程帮助不大,有时会有负作用

由于9700K比8700K多了33%的核心数,高了8%的频率(4.6对4.3)所以超线程提升40%怕是才能一战,但这其实并不容易,而且SIMD程序超线程的帮助越来越小,比如同为双发射FMA的7820X,就显得超线程对向量程序的帮助已经不大,不用超线程就已经很高了,而且有项目跑出来开与不开超线程成绩会出现下降(下降幅度不定)所以超线程的未来,更多的是锦上添花,而非必不可少,对于游戏也帮助不大,9700K依旧是一个很不错的设计,但我还是更希望Intel拿出新的微架构,而不是继续打磨Skylake

过几周就有样品了,不过觉得性能 不会有什么意外



2018-09-04 12:31:00

相关文章