对于DIY玩家来说,探究技术细节是他们的一大乐趣之一,最让玩家纠结的一个参数大概要属内存延迟这事了,一方面这关系到内存的选择,频率越高的内存当然延迟会更低,只不过价格也会越高。
另一方面,内存延迟也会影响处理器性能,这个原因也很简单,因为现代的电子计算机都是基于冯诺依曼体系的,计算与存储分离,计算性能越强,对存储系统的要求也更高,而目前CPU内部的L1、L2、L3缓存带宽基本上不是问题了,瓶颈主要是在内存与CPU之间。
不同内存频率及时序下的延迟
如何提升CPU与内存之间的性能,提升内存频率是一个选择,但延迟同样会影响CPU的性能,这个就是很多人不太了解的了,只有发烧玩家才比较纠结这件事。
延迟到底有多重要?我们举个例子,处理器好比加工厂,内存则是给加工厂送货的运货车,同时开进的货车越多(通道越多)、运货速度越快(内存频率越高),理论上加工厂的产能就越大,但是影响产能的关键还有一处——每辆车卸货的速度,这个就是内存延迟,如果卸货速度太慢(延迟高),那么外面有再多的车辆运过来,产能也是提不高的,因为都堵塞在某辆车上了。
所以,在现在的处理器中,内存延迟是一个很重要的参数,它在CPU设计中的地位甚至比其他子单元更重要,平衡好内存延迟、内存带宽是现代CPU架构师的重要任务。
在延迟这个问题上,Intel与他们的竞争对手走向了不同的选择,Intel现在是坚持原生多核设计,其一大好处就是延迟比较低,而友商的设计则偏向模块多核,好处是设计灵活,但代价就是延迟增大了,这就好比在原有厂房之外增加了一个车间,理论上产能更高,但是货车卸货的周期是增加了。
对于这两点不同,Intel之前在科隆游戏展上做过解释,指出友商锐龙3000处理器使用CCD及CIOD设计,核心与内存之间存储数据都需要IF总线,所以Core to DRAM 延迟需要75ns、Core to Core 则需要78ns。
相比之下,Intel的酷睿i7-9700K处理器Core to DRAM 延迟只需要62ns、Core to Core 也只需要44ns,延迟要低得多。
实际测试也是如此,之前Techspot网站将Intel的酷睿i9-9900K处理器降频到4GHz跟友商产品做对比,同样的频率可以消除频率导致的延迟,即便如此,酷睿i9-9900K的内存延迟依然要比竞品低得多。
在AIDA64中,8核的酷睿i9-9900K内存延迟只有50ns左右,友商的一代、二代、三代内存延迟都在70ns到75ns之间,这个测试跟Intel官方测试结果差不多。
在Sisoftware的延迟测试中,酷睿和锐龙的表现各有千秋,锐龙可以做到更低,但是酷睿更稳定。
酷睿i9-9900K的最低延迟为46.5ns,虽然高于四款锐龙,但是锐龙的高低延迟差异比较大,锐龙9 3900X差的时候延迟能达到81.2ns,初代锐龙7 1700X更是高达超过130ns,而酷睿i9-9900K最差也只有52.6ns,高低波动幅度还不到6ns,锐龙则最好也达到了51ns,高低差了足足三倍。
延迟这个问题是属于CPU性能的一部分,单独测试延迟的话上面的AIDA64、Sisoftware中已经很明显了,酷睿i9-9900K的延迟要比竞品低50%左右。这个差距不仅会影响一些应用性能,也会影响游戏性能,从Computerbase以及其他媒体的测试来看,8核的酷睿i9-9900K的游戏性能综合领先友商的12核处理器平均10%左右,这就不仅仅是游戏多核优化不足的问题了,延迟对性能的影响也是其中的重要因素。
总的来说,Intel酷睿与友商处理器之间有很多不同之处,Intel现在选择的是一条最难走但是效果最好的路,原生多核带来的低延迟也变相提高了CPU性能,使得酷睿处理器能够以少胜多,游戏测试中表现依然足够强悍。