Last updated on Dec 27, 2019

RGB点亮

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

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

包装

PC的全部配置如下: PCPartPicker Completed Builds

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可能是最理想的配置?下面这个Youtube视频证实了我的想法。(至少Ryzen 7的读取速度喜欢1:1)

Toppc Lin - X570 Memory Performance (MSI)

接下来是摇奖(silicon lottery)时间,手中3700X的IMC的表现……呃……

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 E-die比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的内存颗粒对电压比较敏感,相比之下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
  • 从16-22-22-40开始保持了tRAS = tCL + tRCDRD + 2
  • tRRDS = 4, tRRDL = 6, tFAW = 24, tWR = 12
  • Power Down Mode关闭
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 38 37 Auto
是否POST ? POST POST 无POST
是否稳定? 稳定 稳定 极不稳定

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

(续)

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

根据以上测试的结果,最紧且POST的时序为16-19-19-37-1T;最紧且稳定的时序为16-19-21-37-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 478 8 16
备注 可能可以更低   奇数(如15)无POST 可设置的最低值 4无POST   8无POST tRFC对性能的影响很大   最低tFAW = 4 * tRRDS

第三时序(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(下图)。判断稳定的基准为:200%覆盖,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:

文章: