DDR4/5基本进入历史交叉点,此过渡期的大致选购方案
本帖最后由 T.JOHN 于 2022-8-8 15:03 编辑去年写了篇2k+字缝合怪版本的DDR4/5超频效能指南,后来懒得写没完稿,也懒得发了,简单写点结论。
DDR4末代瓶颈体现在zen2/3上,大致是16c对应双通道3200mhz ddr4,参考超微主板通道数和cpu核心数量的配对选择。16c插两条双通道,32c插四条四通道,64c插满八通道。
简言之,核心越多,需要吞吐量越大。实测3950x 4.2G flck 1800mhz损失7%性能。这个怎么测?3600x/3700x/3900x/3950x依次跑同样内存敏感性应用,比如spec流体力学项目,ansys仿真,sisoftstandard套件或者xmrig挖矿软件都可以。6c 8c 12c都是性能线性增长,16c做不到线性增长了。
上面是带宽敏感的应用,对于延时敏感游戏。13代游戏测试min fps比12代好,基于13代cpu ddr5相比ddr4提升也多。除了cpu本身l2/l3增加,内存方面主要原因如下。
1. 很多游戏还是能用到8c+,小核心有贡献
2. 当小核心参与运算,136k+137k超过14c,ddr4带宽不够用
3. ddr5延时超频后可以接近ddr4,差距很小
最后由于intel小核心是共享L2的,理论上它对内存会有更多依赖
zen4/adl/rpl都跑到5G+了,肯定比4.2G的zen2对带宽的需求量更大
对于adl/rpl来说,8+4是分水岭,过了12700k,到了13600k的6+8应该就能跑出显著瓶颈,即14c以上选DDR5。
如果zen4能用ddr4控制器上am4,那就是12c分水岭
未来的一年大致上两家的中低端用户购买选择主要是5600/5700+ddr4和12400/12600kf/13400+ddr4,板U 1500或者2000内。8c/10c+的中高端需基本全面进入了ddr5了
最后不要买1Rx4x16的DDR5,就是4个颗粒8GB的DDR5,任你超了再高,你跑内存敏感性应用,性能差25%。同理对4个颗粒8GB DDR4也是一样的。
edit: 更新下1Rx4的错误,把太监文放在第二页
文章作者发布创建日期简介
Ryzen memtweaking overclocking guide
1usmus
Techpowerup
4/4/2019
AMD平台DDR4的超频手册
DemystifyingMemory Overclocking on Ryzen
varexos717
1/20/2019
内存时序详细说明
DDR4 OC Guide
Integralfx
github
7/192019
大而全的DDR4超频手册
DDR4 SDRAM -Understanding Basic & Timing
n/a
systemverilog.io
(basic,timing)
2/6/2018
DDR4原理及时序介绍,知乎有翻译
原来内存超频这么简单
丶麦香
知乎
8/7/2019
中文版DDR4OC Guide
内存的工作原理及时序介绍
roytalk
PCEVA
11/3/2011
DDR3时代的内存原理介绍
深入浅出DDR系列
奇小葩
CSDN (上,下)
8/2/2020
嵌入式工程师的DDR原理介绍
根据搜索结果,目前网络上写了比较好,阅读量比较多的内存原理及超频指导大致有如上一些,各位可以根据自己需求进行参阅。我花了点时间都看完了,也写一篇简易内存超频指南。之所以写这篇文章的原因如下
1.写超频文章的给出参数/公式不给解释,原理层面写的少,看完不知道为什么2.很多内容在不同的文章有不同的解释,比如tRAS定义
3.如果罗列太多,往往没有重点和要领。对于超频的实践,完全可以抓住大头进行简化内容
对于任何超频攻略文来说,必须经得起质疑,通过数据和事实,给出合理的推论。有些人的超频文章喜欢用大量的描写和主观臆测,但没有任何数据支持,甚至行文逻辑都有问题,这样的大神除了误导群众,给点一知半解的答案,没有任何价值
内容上来说如果想要进行DDR4超频有三层关系需要了解:
1.应用层。参考《DDR4OC Guide》或者《原来内存超频这么简单》。BIOS里面开放给你调节的参数:电压,频率/ODT,RTL,时序。其中为了理解时序如何调,你可能需要了解时序代表的意义,进入下面的逻辑层2.逻辑层。参考《深入浅出DDR系列》或者《DDR4SDRAM – Understanding Basic》。逻辑层面的DDR4工作原理,了解DDR4内存的针脚定义,理解BANK,RANK,BANK Group,Row,Column之间的关系,Memoryarray,Senseamplifier,decode的工作顺序及所有的DRAM工作信号与IO关系,为了更进一步理解这些操作如何体现在物理层面,进入下面的物理层3.物理层。参考《内存的工作原理及时序介绍》,即物理层面的cell充放电操作,理解电容器如何和行地址线与列地址线关联,以及它为何与真电容不同需要刷新
以下内容只需要通过10分钟阅读,就可以获得效能可提升区间的95%。即20/80原则,花20%时间获得80%效用。
准备工作:根据自己预算,参考论坛的颗粒介绍买一对合适的内存。不要去挑战极限频率,极限电压和极限小参,这属于最后的5%内容,所需时间也是成倍增长。
实操切入点:(引用自《DDR4OC Guide》和《Ryzenmem tweaking overclocking guide》):
一.长期可用电压Intel IMC (VCCSA & VCCIO)保守超频的电压范围 1.25v内。参跨slient_scone跑4266mhz内存超频时1.32v报错,1.24v正常。
AMD非APU的 IMC保守电压是SOC1.15v以内,一般超过1.15v收益非常低。VDDGIODIE和VDDG CCD都是从soc引出的电压。VDDGIODIE至少比soc约低40mv,VDDGCCD则更低,可以比VDDGIODIE低0.1v左右。VDDP电压在0.9左右,区间为0.84-0.95v。
内存电压1.5v,出自JEDEC建议的DDR4安全值。出于原则三,不挑战极限,某些IC如bdie,跑在1.6v甚至更高也没问题,但需要主动散热,不是常规消费者的选择。
二.procODT, RTT 和 CAD_BUS用1usmus的话说,这三个参数相当于时钟的时针,分针和秒针。Intel和amd选项不同,intel主为RTL/IOL,参考toppc 2019年的帖子
ODT受板厂和内存厂的走线,PCB层数等电气性能影响,也就是板厂硬实力。理论上越低,证明信号越强。
https://tpucdn.com/review/amd-ryzen-memory-tweaking-overclocking-guide/images/proc-odt-2.jpg
上图为走线差异,也是板厂的核心技术
https://www.techpowerup.com/review/amd-ryzen-memory-tweaking-overclocking-guide/images/proc-odt-3.jpg
上图为amd平台的设置参考,amd没有类似intel一键调整的功能。调整方式使用auto让主板过自检,然后在已经定好电压和频率情况下,适当调低。调整前提是已经锁定频率和电压,因此一般调整顺序是电压&频率/ODT/时序
三.内存时序内存时序最为复杂,需要涉及逻辑层和物理层的理解,并且很多文章对其给出不同答案。比如1usmus的文章在TPU上讨论区被slient_scone质疑不尊重科学,避而不答为何tRAS与tCL脱钩,这条回复被anta777点了个赞。我google了很久,终于在最后一篇《深入浅出DDR系列》找到了容易理解的答案,因此综合以上文章及wiki,IBM白皮书等给出以下相对合理的解释。10分钟时间有限,因此仅写实践部分,原理和验证放在后面写。
1. 调整什么时序?https://www.techpowerup.com/review/amd-ryzen-memory-tweaking-overclocking-guide/images/tt3200.jpg
https://www.techpowerup.com/review/amd-ryzen-memory-tweaking-overclocking-guide/images/tt3466.jpg
上图为1usmus的小参调整效能图,分别书古墓丽影10和战锤2的测试,结论就是我们要调整
(一)主时序:tCL-tRCD-tRAS-tRP-CR
(二)副时序:全局刷新时序 (tRC)-tRFC-tREFI
(三)副时序:全局激活时序tRRDS-tRRDL-tFAW
(四)副时序:充电相关时序:tWR(写)-tRTP(读)
其他时序你再怎么折腾最多提供个0.5%的效能给你
2. 如何调整时序?主时序部分:若探索未知IC(比如ddr5)的性能可按XMP等比放大,并收紧;大多数都是已知的,网上已有信息的可以拿来借鉴。
比如镁光edie的XMP是ddr43000@15-16-16-37,如果目标超到4500,那么目标tCL=15/3000*目标频率=22.5,如果保守可以调整到23。实际上我们使用远小于22的值,比如18~20,这是因为XMP是有余量的,tRCD/tRAS/tRP同理。
CR方面,请直接开2T或者GDM。
副时序部分:
tRC在有些intel主板不可调,它的公式是tRC=tRCD+tRAS+ tRP
tRFC=6*tRC~8*tRC,一般取这个范围
tREFI,如果你想改65535,也不是不行,建议auto
tRRDS=4,一般内存都能调到4,我没见过不行的
tRRDL=4~10,调到4是困难的,有的内存最小>=8
tFAW=4*tRRDS=16,和tRRDS绑定
tWR=10+,一般设置12没问题
tRTP=6+,一本设置8没问题
到这里对大多数人来说就可以了,没必要继续看下去后面的原理篇,跑下TM5过测就能稳定使用。有关更多的参数说明,你可以参考计算器
3. 原理篇——为什么调整时序我们能获得效能提升?先从IMC说起,对于内存能上多少,IMC起决定性作用。比如15年hynixafr和16年samsungbdie在8代skylake上跑出的水平秒杀zen/zen+,而amd自己的7nmapu又秒杀自家的chipletzen2/zen3。
1. IMC承受来自CPU构架的压力关于这条可以参考anandtech关于chiplet核心数量堆积的review, 即多核心如何取得来自L3和内存数据,比如我们知道的crossbar,ringbus,mesh是随着核心数量上升而进行的设计,由于IMC要提供更多的数据给更多的核心,那么它的压力自然是越大的。
在这里,L3如果从crossbar变更为ringbus,比如zen2->zen3,那么它的传输延时会增加,效能会降低。
2. IMC承受来自内存的压力3. IMC如何调整其效率
2T和1T几乎没区别。这不是CL3起步的DDR(1),而是CL 14起步的DDR4。GDM也是有效降低IMC的策略,等效于2T,toppc说是2.5T也没问题,它和2T之间的差距远小于2T和1T之间的差距,而1T和2T之间差距就已经很小了。到了DDR5现有的1T概念就没了,直接2T起步。
目前12900KF 内存4000 CL15-15-15-28在用,因为想换13900,但不了解ddr5,想问下该买什么样的d5可以全面超越。 满血D5是不是要32G单条的才行,听说16G的效能也会比32G的差? 13代游戏测试min fps比12代好,这个结论是看张小P的测试视频得出的吗?像我目前12600KF+DDR4 4300G1 C15为基础的话对比13代U提升估计就没多少了吧。 4个颗粒8G的DDR5不是1Rx4,是1Rx16。 ddr5太贵了,什么时候7200c32800块京东自营16x2 了考虑入一块 本帖最后由 T.JOHN 于 2022-8-7 15:19 编辑
lh4357 发表于 2022-8-7 15:06
4个颗粒8G的DDR5不是1Rx4,是1Rx16。
是的,我写错了,是x16,主贴我就不编辑了 yangzi123aaa20 发表于 2022-8-7 15:03
满血D5是不是要32G单条的才行,听说16G的效能也会比32G的差?
d4有三种规格,1rx4 1rx8和1rx16。因为引入交错技术,x16的bank数量太少,所以有显著差异,d5是沿用的。d5 16g就以当作满血,你买到的32g双面也是2rx8,不太可能1rx4 本帖最后由 T.JOHN 于 2022-8-7 15:21 编辑
renzenglei 发表于 2022-8-7 15:06
13代游戏测试min fps比12代好,这个结论是看张小P的测试视频得出的吗?像我目前12600KF+DDR4 4300G1 C15为 ...
是根据他视频得出的结论,不过他视频才5200mhz,如果139k 8+16配更高频的,min fps可能会好看很多。至于你这4300g1百里挑一的126k只能找百里挑一的136k才能比[偷笑] 等ddr5 7200 白菜价再说 ddr4只有ddr5四分之一的价格呀 datura 发表于 2022-8-7 15:37
ddr4只有ddr5四分之一的价格呀
是的,就是因为D4/D5有价格差异。可能会有钱多花了,但提升很小的现象发生(某些人用不到多核性能)。为了避免不必要的花费,或者说更合理的搭配,指出DDR4的上限在哪里
如果愿意支付更多成本,有多核需求的就上ddr5,大多数普通用户依然可以停留在ddr4,否则买了更多的核心但发挥不出来多线程性能就没意义了。以前只在乎高U低显或者高显低U的CPU/GPU搭配,现在因为核心数量暴涨,所以也需要把内存加进来。从zen2开始amd打核战,intel虽然在服务器市场没能力回应,消费市场就用小核回应也还是步好棋
当然了ddr5还在降价中,无论是nand还是flash,下半年要跌不少的,分析机构预期都已经给出来了。 T.JOHN 发表于 2022-8-7 15:18
是根据他视频得出的结论,不过他视频才5200mhz,如果139k 8+16配更高频的,min fps可能会好看很多。至于 ...
其实就是12代 DDR4 4300G1 C15和13代 DDR4 3600G1 C15对比到底孰强孰弱。DDR5不考虑了,看他视频DDR4都有10%左右的最低帧提升,不过DDR4是3600,要是13代没有这么好运气摸个雕的话,那说不定提升就无了。 不知道啥时候D5和D4一个价格 等DDR5和DDR4一个价格再说 958813826 发表于 2022-8-7 18:00
等DDR5和DDR4一个价格再说
d4会跟d3一个价格(同时期)么,也很难吧 所以13代普通人直接无脑买16g*2么 就那两个内存通道还是歇歇吧。需要内存带宽需求的,还是得上服务器平台 raywu84 发表于 2022-8-7 14:57
目前12900KF 内存4000 CL15-15-15-28在用,因为想换13900,但不了解ddr5,想问下该买什么样的d5可以全面超 ...
暂时不要考虑本世代的DDR5(4800原生JEDEC的颗粒),即便是Hynix的M也并没有能在延迟/单线程带宽角度上拉开4000CL15的潜质,等到九月之后,板厂们解了新颗粒之后,考虑5600原生这一带,Hynix-A 与Samsung-C,搭配上要来的U,跑到7200+的频率+调整小参是可以实现对DDR4 4000-4266这个水平全面超越的。 现在D5最便宜的是镁光吧 但是体质是三家里最差的 D4那时候最便宜的是海力士不过体质也是最差的
现在D516g能买两根D4 16gx2了还有钱找[流泪] xudi8092 发表于 2022-8-7 15:07
ddr5太贵了,什么时候7200c32800块京东自营16x2 了考虑入一块
那个3600-16的ddr4内存16*2的好像800以上,你的要求是不是等到ddr6出来才有啊 soleck 发表于 2022-8-7 23:30
那个3600-16的ddr4内存16*2的好像800以上,你的要求是不是等到ddr6出来才有啊
谁说的,,,京东自营699啊 soleck 发表于 2022-8-7 23:30
那个3600-16的ddr4内存16*2的好像800以上,你的要求是不是等到ddr6出来才有啊
拼多多就更便宜了,450以内就能买到,,,, ban2ben 发表于 2022-8-7 19:11
暂时不要考虑本世代的DDR5(4800原生JEDEC的颗粒),即便是Hynix的M也并没有能在延迟/单线程带宽角度上拉 ...
感謝指導,會持續關注你說的顆粒 謝拉~ 本帖最后由 shawnwinton 于 2022-8-11 15:05 编辑
没看懂这段:
主时序部分:若探索未知IC(比如ddr5)的性能可按XMP等比放大,并收紧;大多数都是已知的,网上已有信息的可以拿来借鉴。
比如镁光edie的XMP是ddr43000@15-16-16-37,如果目标超到4500,那么目标tCL=15/3000*目标频率=22.5,如果保守可以调整到23。实际上我们使用远小于22的值,比如18~20,这是因为XMP是有余量的,tRCD/tRAS/tRP同理。
我现在4200C18-20,按照公式算下来 18/3000*4200=25.2,意思是能效大大滴不行?不如4000 C17-19? shawnwinton 发表于 2022-8-11 15:04
没看懂这段:
主时序部分:若探索未知IC(比如ddr5)的性能可按XMP等比放大,并收紧;大多数都是已知的,网 ...
没看懂那最好,因为本来就是胡扯 老喵 发表于 2022-8-11 15:11
没看懂那最好,因为本来就是胡扯
这个。。太。。。哈哈哈[狂笑]
我还认真研究半天。。 本帖最后由 T.JOHN 于 2022-8-11 19:21 编辑
shawnwinton 发表于 2022-8-11 15:04
没看懂这段:
主时序部分:若探索未知IC(比如ddr5)的性能可按XMP等比放大,并收紧;大多数都是已知的,网 ...
简单点说就是17/40<18/42,延时越低越好,带宽其次。原因是一般用户用不到最大带宽的场景,当使用到越大的带宽,内存延时会越高。比如说0-4000mhz时候每种带宽需求,你的4200c18都对4000c17有劣势,只有请求超过4000,你才有优势。aida64测到的那个值是带宽最小时候的数据(intel mlc能测不同带宽的延时)。即便是全核心满载的挖矿软件xmrig,在amd平台上也是延时重要性要大于带宽,这里是小参的价值。
内存读写逻辑过程对应到的物理过程就是取值信号的发送,开关电容,电容放电,电容回冲,这个过程所需是相对固定的,取决于IC(半导体)特性。这就是为什么内存频率高了,CL要放宽,这样能保证它物理时间是一致的,都是若干纳秒。如果频率上去了,小参不变,那给内存的充放电时间减少,可能发生电位错误(0/1翻转),也就蓝屏了。要改变这个物理特性最简单的方法就是加电压,电压越高,充放电速度越快。有些颗粒耐高压,并且随着电压升高,它充放电速度能显著提升,它就很适合超频,比如bdie,适合玩家,但不适合拿来给数据中心用,因为数据中心使用标准电压和jedec规范,还有省电需求。
cl只是执行读的周期,cl结束的时候只是数据刚刚被提出来的时间点,后面还有提取时间和关闭(回写)时间,内存读因为会漏电也需要回写,也就是说除了cl其他参数放大也跟着一起影响延时。
上面文章的合集中对“延时”没有一个统一的说法,即从imc发出指令到得到数据的时间,就是我们常提的aida64测的那个值。cl只是其中一部分,我们希望如何通过内存小参计算总时间,以及内存小参是相关联是什么,CHH之前也没有文章探讨这些理论,只有伪大神在那里玩玄学,它们特点是玩信仰,然后培养一堆信徒当kol,但从来不谈科学,比如在计算机领域就是CS和EE。哦,抱歉,可能对他们来说太难了,毕竟没任何know how和从业经验,甚至懒得学习,只能忽悠小白赚流量。我写这篇文章初衷是这个,不过我不搞EE,只能引用别人写的,顺便借国外大神和EE专家的说法打伪大神的脸。然而每篇文章对这个问题说法都不一样
比如第一篇tpu文章里面1usmus写了他的理解,如下图
https://tpucdn.com/review/amd-ryzen-memory-tweaking-overclocking-guide/images/timing-parameters.jpg
tpu论坛上大多数玩家都在膜拜它写的文章,表示大神真厉害,结果被人质疑,而喷他的人是overlocknet版主,也是个资深玩家。说你这说法和IBM EE工程师说法不一样,完全站不住脚,你想改写EE教科书吗?然后1usmus又编辑了一遍,增加了预充电的"原理",还是维持他原来的说法。不过如果仔细阅读DDR4原理,无论如何会觉得他写的不合理,因为内存这些参数都是jedec定义好的,它相当于无视这些定义,自己来定义。而即便同意他的说法,对于内存来说,他就是个很简单的电容结构,没有任何控制芯片,这个预充的逻辑该如何做呢?条件是什么的?它都无法回答
最后那篇文章《深入浅出DDR系列》关于这个问题写了比较简单易懂,是我去年花了几天反复校验核每个人说法,进行对比后发现解释最为合理,并且有图文说明,是中文能让大多数人看懂的
页:
[1]
2