虽然amd ryzen 9000系列处理器现在已经正式发布,但是客观来说,它目前还没有真正获得消费者的认可,主要原因是其实际性能明显低于amd的官方宣传,非常尴尬。
对此amd官方给出了多种说法,其总体意思是说ryzen 9000系列处理器的实际性能现在因为多种原因,尚未完全释放、发挥出来,承诺将逐步推出多项举措进行改善,截至目前部分措施已经出炉。
比如,联合微软在windows更新中推送了kb5041587补丁(请参阅图二),发布agesa 1.2.0.1固件更新(请参阅图三)等等,本文的讨论主题是后者。
目前,amd已经正式发布了agesa 1.2.0.1固件更新(相当于是主板bios的底包),并且已经提供给了广大主板合作厂商,主板厂商也已经分别发布了包含agesa 1.2.0.1的新版bios更新,请注意:最新版本是agesa 1.2.0.2。
——那么,agesa 1.2.0.2固件更新到底做了哪些改进?为什么能提升ryzen 9000系列处理器的性能呢?
看到这里,可能有一部分朋友会说,agesa 1.2.0.1固件增加了105w功耗模式(请参阅下图),解除了一些功耗方面的限制,可以提升ryzen 9000系列处理器的多核性能,所以可以提高处理器的整体性能。
这个回答是正确的,但并不全面,只是一部分,amd在agesa 1.2.0.2固件更新中还做了另外一项重要改进,那就是大幅降低了跨ccd延迟。
要理解这项改进,首先就要理解什么是处理器的“ccd”和“跨ccd延迟”?对于大多数普通数码爱好者朋友来说,这些概念稍微有点复杂,理解有一定难度,下面小编简要地介绍一下。
“ccd”的概念仅适用于amd的处理器,一般来说,在讨论“ccd”时通常都会同时提到另外一个概念“ccx”,它们总是成对出现的,读者必须正确理解它们是什么和彼此之间的关系。
“ccx”是amd zen架构处理器的最基本组成单元,每个ccx通常包含多个处理器内核(型号不同,数量不同),每个核心都有独立的l1与l2缓存,ccx内部的核心是可以被单独关闭、禁用的,而ccd相当于是ccx的复合体。
amd的入门级和中端处理器通常只有一个ccd,高端型号会有两个ccd(请参阅上图)。举例来说,在zen 3架构处理器中,每个ccd包含一个ccx,而每个ccx包含最多8个内核。ryzen 5 5600x拥有一个ccd,其中两个内核被禁用屏蔽,剩下6个内核,共享32mb l3级缓存。
请注意这只是纯理论上的,实际上某些批次的ryzen 5 5600x实际上有两个ccd,但是,被屏蔽、禁用了一个(请参阅下图)。有部分朋友可能会非常好奇:明明有两个ccd,为什么要禁用一个呢?答案很简单,其中一个ccd可能存在重大瑕疵,无法正常使用。
从理论上讲,处理器的ccd数量越多性能越强,但是ccd数量越多也会随之产生一些问题。看到这里,有些朋友可能会认为小编下面要提功耗,ccd数量越多,功耗也就越高。其实,这只是一方面,另外更重要的问题是跨ccd通信延迟,如果解决不到位,这个值会很高,影响性能。
在多ccd协同工作时,它们之间会共享很多数据,彼此之间需要进行频繁、密切地通信,很显然,所花费的时间越短性能越高,这个概念被称为“跨ccd延迟”。
如果处理器采用单ccd设计,或者在单个ccd内部,其内部内核之间的延时可能在20至30纳秒左右,而跨ccd的延迟可能达到70至80纳秒,这是目前的主流、正常水平。
在ryzen 9000系列处理器中,高端型号ryzen 9 9900x 和 ryzen 9 9950x也是采用双ccd设计。但是在上市之初,这两款处理器的跨ccd延迟较高,普遍在180纳秒左右(请参阅上图),这是导致其性能表现不理想的重要原因之一。
在agesa 1.2.0.2固件中,amd现在已经修复了这个bug,跨ccd延迟直接降了一半。根据第三方评测,刷入入新版固件之后,跨ccd延迟仅为75纳秒左右(请参阅上图),已基本与ryzen 9 7950x和ryzen 9 7900x持平。
注:在以上两张图片中,左上角和右下角代表同ccd内部的延迟统计,左下角和右上角代表跨ccd延迟统计。
从理论上说,跨ccd延迟大幅降低肯定可以提高处理器的性能,但是实际情况还是取决于具体的应用场景。只有在某些高负荷密集型应用中,才会表现出明显的性能提升,可能并不适用于游戏,amd禁止游戏同时使用两个ccd。
综上所述,amd声称ryzen 9000系列处理器的实际性能现在并未完全释放、发挥出来,这一说法是可信的,其推出改进措施也确实是行之有效的,并非是花拳绣腿的噱头,完善的确需要一些时间。
发表评论