Last updated on May 9, 2020

RGB点亮

DDR4的价格已经降到了历史最低点,且没有任何反弹的趋势。据市场预测,DRAM供大于求的现状会持续到2020年二季度。虽然半导体公司在亏钱,但对于PC爱好者来说,这是再好不过的消息了。

下图是我本月早些时候在Newegg上购买的两条G.SKILL Trident Z Neo,型号F4-3600C16D-32GTZNC,有效速度3600MT/s,时序16-19-19-39,电压1.35V。本文讲述的是我在X570平台上内存超频的经历。

包装

PC的全部配置如下:

Type Item Price
CPU AMD Ryzen 7 3700X 3.6 GHz 8-Core Processor $324.74
CPU Cooler Noctua NH-L9a-AM4 33.84 CFM CPU Cooler $39.90
Motherboard Gigabyte X570 I AORUS PRO WIFI Mini ITX AM4 Motherboard $209.79
Memory G.Skill Trident Z Neo 32 GB (2 x 16 GB) DDR4-3600 Memory $179.99
Storage Samsung PM981 1 TB M.2-2280 NVME Solid State Drive 联想拆机件,价值约$120.00
Video Card NVIDIA GeForce RTX 2070 SUPER 8 GB Video Card $499.99
Case DAN Cases A4-SFXv4 Mini ITX Desktop Case $244.00
Power Supply Corsair SF 600 W 80+ Gold Certified Fully Modular SFX Power Supply $114.71
 

第一步:最大化FClk

Infinity Fabric是AMD平台上促进和控制组件之间数据传输的互连架构。Infinity Fabric的频率参数在X570平台上通称为FClkF-Clock)。

根据AMD在Computex上展示的幻灯片(下图),Ryzen 3000系列CPU的内存频率甜点为3733MT/s,此时FClk = 1867MHz,MemClk : FClk = 1:1;超过3733MT/s后,MemClk : FClk = 2:1,同时内存延迟明显提升。

内存频率甜点

因此,为了不损失性能,MemClk : FClk = 1:1应该是Ryzen 3000最理想的设置?

接下来是摇奖(silicon lottery)时间,内存控制器(memory controller)的表现……

3600CL16 (XMP), FClk = 1800MHz 1833MHz 1867MHz 1900MHz 1933MHz
  POST,稳定 POST,稳定 POST,不稳定 POST,极不稳定,开机后随机蓝屏 无POST

下文有提及如何判断内存超频的稳定性

表现比预期差了一点。在各种超频论坛和r/overclocking上的一番搜索后,发现调高一个叫CLDO_VDDG的BIOS参数可以用于稳定FClk。VDDG的BIOS默认值为950mV,安全上限为1075mV(另说1100mV)。VDDG参数值应低于SoC电压。

将VDDG调为1050mV后:

FClk = 1867MHz FClk = 1900MHz
POST,稳定 POST,不稳定

就这样吧。

第二步:确认颗粒

不论内存条的RGB有多亮,也不论是什么品牌(Corsair、Crucial、G.Skill或是Team Group),全球只有三家主要内存元件制造商:美光 (Micron)、SK海力士 (SK Hynix)和三星 (Samsung)。确认内存制造商和颗粒(die)后可以很大程度上预测内存条的超频能力范围。

通过软件Thaiphoon Burner查看SPD固件信息:

DRAM COMPONENTS
Manufacturer
Hynix
Part Number
H5AN8G8NDJR-TFC
(后略)

似乎F4-3600C16-16GTZNC使用的是Hynix DJR——SK海力士的最新高频颗粒?事实并非如此:

21C

仔细看序列号上方的这串特征码“04213X8821C”。根据这个帖子总结的规律,以20C和21C结尾的内存条是Hynix CJR!而以20D和21D结尾的内存条才是Hynix DJR。

这篇文章中,作者总结Hynix CJR和Micron Rev. E比Hynix DJR更适合AMD平台

原厂片?白片?比较G.Skill内存颗粒编号20C和21C(n = 1)

第三步:调整电压、倍频和主要时序

内存调试的步骤冗长,因此最简单的超频方法是直接使用别人测试过且稳定的时序。比如,下图是由软件DRAM Calculator for Ryzen提供的数据,3733MT/s速度的双面(dual rank)CJR推荐使用16-21-21-38-1T(tCL-tRCD-tRP-tRAS-CR)。

DRAM Calculator for Ryzen - Safe preset 3733

但我还是使用了试错(trial and error)的方式进行超频。完全照抄别人的数据,超频的乐趣就少了很多。

首先将内存电压(DRAM Voltage)调到1.45V,超频稳定后逐渐减电压。Hynix CJR对电压比较敏感,相比之下Hynix DJR和Samsung B-Die可以日常跑1.5V甚至更高。

随后将内存倍频(System Memory Multiplier)设置为37.33;将FClk设置为1867MHz。(1:1)

接下来将主要时序(primary timings)设置为18-22-22-48-1T,并逐项收紧:

注:

  • Gear Down Mode默认开启,因此跳过了奇数tCR
  • Power Down Mode关闭
  • tRRDS = 4, tRRDL = 6, tFAW = 24, tWR = 12
tCL 18 16 16 16 16 16
tRCD(RD) 22 22 21 20 19 18
tRP 22 22 21 20 19 18
tRAS 48 40 39 38 37 36
是否POST ? POST POST POST POST POST 无POST
是否稳定? N/A(未测试) N/A 稳定 不稳定 不稳定 极不稳定

(续)

tCL 16 16 16
tRCD(RD) 20 19 18
tRP 21 21 21
tRAS 37 36 Auto
是否POST ? POST POST 无POST
是否稳定? 稳定 稳定(@1.39V) 极不稳定

如果某DDR4能稳定在3733MT/s, tCL = 16, tRCD ≤ 18,十有八九是Samsung B-Die

(续)

tCL 16 16
tRCD(RD) 19 19
tRP 20 20
tRAS 36 Auto
是否POST ? POST POST
是否稳定? 不稳定 不稳定

根据以上测试的结果,最紧且稳定的主要时序为16-19-21-36-1T

第四步:调整第二时序和第三时序

在X570平台上,第二时序/次要时序(secondary timings)包括:tRC tWR tCWL tRDDS tRDDL tWTRS tWTRL tRFC tRTP tFAW。以下是收紧后的结果:

  tRC tWR tCWL tRRDS tRRDL tWTRS tWTRL tRFC tRTP tFAW
  58 10 14 4 6 4 10 487 8 16
备注 tRC需不小于tRP+tRAS 可设置的最低值 奇数(如15)无POST 可设置的最低值 4无POST   8无POST 483不稳定    

第三时序(tertiary timings)包括:tRDWR tRDRD_SC tRDRD_SD tRDRD_DD tRDRD_SCL tWRRD tWRWR_SC tWRWR_SD tWRWR_DD tWRWR_CSL tCKE。其中大部分参数都留在Auto,手动设置了:

  tRDRD_SCL tWRWR_CSL tCKE
  4 4 1
备注 3无POST 3无POST 可设置的最低值

第五步:稳定性测试

能开机并不代表系统稳定。测试超频的稳定性时使用了软件HCi MemTest(下图)。判断稳定的基准为:400%覆盖,0错误。

memtest - standard version

另外,Prime95也可以用来进行稳定性测试,但在这次测试中的找错的速度没有MemTest快。

第六步:基准测试

从XMP到手动超频,性能到底提升了多少?不使用MemClk : FClk = 1:1对性能的影响有多大?测试内存的读、写、复制和延迟使用了AIDA64 Extreme 6.20.5300。结果如下:

  读(MB/s) 写(MB/s) 复制(MB/s) 延迟 (ns)
2133CL15 (JEDEC) 31500 19157 32975 105.3
3600CL16 (XMP) 51512 28739 51225 72.5
3666CL16 (OC) 53526 29270 52921 69.6
3733CL16 (OC) 54280 29827 54130 68.4
3800CL16 (OC, 1:1, 不稳定) 55182 30338 55203 67.7
4266CL18 (Auto, 2:1) 51355 28744 53658 80.1

由以上数据,我们证实了:

  1. Ryzen 3000系列CPU的内存频率甜点通常在3600-3800MT/s之间,甜点受制于Infinity Fabric的频率(FClk)上限
  2. 去耦(decoupling)MemClk和FClk(例如:2:1)会使内存延迟显著提升

通过超频,内存获得了5%左右的免费性能提升!

鸣谢

Youtube:

文章: