AMD Ryzen: 严谨技术解析
首页 > 观测 > 数码科技    作者:剧毒术士马文   2017年3月12日 15:00 星期日   热度:17605°   10条评论    
时间:2017-3-12 15:00   热度:17605° 

相信文章会解答人们的很多问题:电压、体质、频率调整、超频及保护措施、Ryzen移动版、CCX互联缓存等。



名词

- CCX - Compute Complex,内含4个Zen核心,8MB L3。
- PState - Performance State. 不同状态下电压和频率不同。
- Zeppelin – Summit Ridge (AM4), Snowy Owl (SP4) 和 Naples (SP3) 等Zen架构CPU中die设计的代号。

- dLDO – Digital low-dropout voltage regulator, 数字低压差稳压器
- XFR – Extended Frequency Range,拓展频率范围
- MACF - Maximum all core frequency,全核最大频率
- MSCF – Maximum single core frequency,单核最大频率
- ACXFRC – All core XFR ceiling,全核XFR上限
- SCXFRC – Single core XFR ceiling,单核XFR上限
- SMU – System management unit,系统管理单元


SMU – 幕后的掌控者
由于集成了系统管理单元SMU,在超频时Ryzen和之前的架构都不一样。


在默频时,Ryzen的功耗全由SMU控制,SMU将发挥它的全部功能,掌管一切。SMU的管理功能包括功耗、电流、温度限制器,电压控制器以及功耗门限等。

如果你不超频,可以无视这些玩意。


为了超频,AMD的工程师还给出了一个特别的模式:“超频模式”,超频模式下会禁用所有的限制器,电压控制器以及保护措施(除了CPU温度保护)。


如果你在默认的P0状态基础上超频,“超频模式”就会自动启用。SMU是通过向主板的诊断显示(80)端口发送“0C”来判断超频模式的。


在Zeppelin上,想了解CPU的不同频率状态(PStates)、电压,特别是实际等效电压是非常困难的,远比之前的架构困难得多。与之前的推土机家族(Family 15h)不同,Zeppelin的加速PStates(Turbo&XFR)是完全不可见的,这也是他们为什么被称为“Shadow PStates”的原因吧。这意味着Zeppelin的PStates不再以标准MSR寄存器定义,也不能被用户修改甚至看到。用户能够确认Shadow PStates生效的唯一方法,就是看到即时频率/电压的上升。


在不超频的状态下,SMU会自动通过电压控制器控制电压。


比如P0状态下,可能会给1.37500V电压,实际等效电压大概在1.26250V,或者稍高。这不是个bug,而是CPU的正常工作状态。基本上来说,MSR中定义的电压只是上限而已,而SMU会在这个值的基础上自动降压。我们测试的样品上,P0(3.6GHz)的调整值为-120mV,P1(3.2GHz)为-144mV。


当“超频模式”激活时,SMU会禁用电压控制器,其他的很多功能也会被禁用。这会造成一个假象:超频后功耗猛增。在技术上来说这是正确的,主要原因是关闭了SMU提供的自动降压预设,导致CPU电压上升50-150mV。也就是说,开始超频的时候电压已经偏高。在这时候不要立马加压,而是先尝试提升频率,在不稳定需要加压的时候再加压。


点击查看原图

同频3.6GHz功耗比较,超频模式下比默认自动电压下功耗高了18.74%


点击查看原图

关闭自动电压,设置同样的电压,功耗相同


“超频模式”的另一个缺点就是会关闭加速和XFR。也就是说如果你全核超不到默认的单核XFR频率,单线程性能会下降。




XFR

XFR实际上是对标准CPB加速算法的拓展或加强。在理想状态下,CPU能够提频到原有的加速频率之上。XFR也有单核和多核的频率上限。


比如1800X,全核频率3.6GHz,单核频率4.0GHz,在全核+XFR下能达到3.7GHz,单核+XFR则是4.1GHz。


XFR的提升频率在不同产品上可能不同。但在1800X上只有100MHz。理论上任何时候都能启用XFR,但在部分情况下(Linpack/P95)下频率通常会降到3.6/4.0GHz。





外频

Ryzen默认并不支持超外频(BLCK)。AM4上超外频是可能的,但并不推荐。因为外频和其他接口挂钩,比如PCIe。而且不像Intel,AM4没有异步模式,不能在调外频的同时保持PCIe频率不变。PCIE3.0通常能到107MHz,再往上需要调到PCIE2.0或1.0。

超外频会带来很多稳定性问题。

部分主板上有额外的第三方时钟生成器,可以超到106MHz左右。





内部电压调整(dLDO

Zeppelin是AMD首次集成电压调节模块。与Haswell/Broadwell上完全集成的电压调节模块(FIVR)不同,AMD的调节器并非基于超高频开关电路,而是超高效数字低压差稳压器(dLDO)。大部分区块(核心/缓存/Data Fabric)都有自己的dLDO,能够分别调整。


当然普通用户可以完全无视。因为零售版Ryzen上大部分的dLDO都是永远处于by-pass模式,实际的调节器处于关闭状态,电压调节全部放在主板上。





CCX之间的频率关系

在内部频率关系上,Zeppelin与之前的架构也很不同。核心、L1、L2的速度永远都是绑定,这和以前一样。但这次的L3也和核心运行在同样频率(全速)。由于L3被整个CCX内的核心所共享,因此L3的频率和该CCX内最高的核心频率一致。正常情况下,同一个CCX内的所有核心都运行在同样频率。


所以CCX的结构给了超频者一些限制。CCX内的4个核心必须运行在同频(处于同样的PState),当然也可以改变每个核心的频率,让他们处于不同的PState之下,但很多情况下结果会和预想的不同。由于L3的频率和该CCX内最高的核心频率相同,如果同一CCX内的核心不是同频,那么请求和实际运行频率就会有差距。


等效CPU倍频与CPUFID 和 CPUDFSId有关。CPUFID是一个范围在16-255的整数值,而CPUDFSId是1-6之间的浮点值。等效倍频=((CPUFID / (CPUDFSId / 8)) / 4)


如果同一CCX内的核心不是同频,等效倍频的计算就更加困难。如果所有核心的PStates都有同样的CPUDFSId值,等效倍频=目标核心CPUFID / (1 + ((最高频率核心CPUFID - 目标核心CPUFID) / 最高频率核心CPUFID)),比如最高频率核心的倍频是36.0x(CPUFID = 144 , CPUDFSId = 1),其他目标核心的倍频为32.0x(CPUFID = 128 , CPUDFSId = 1),等效倍频=128 / (1 + ((144 - 128) / 144)) = 115.2 (28.8x)


启用了CCX中,开启的核心数必须相同,可能的配置为: 1 (1:0), 2 (2:0 or 1:1), 3 (3:0), 4 (4:0或2:2), 6 (3:3), 8 (4:4)





Data Fabric

Zeppelin的北桥,官方称为Data Fabric(DF),双向256bit crossbarDF频率和内存控制器挂钩,比例为1:2【比如DDR4-2667 MEMCLK(内存频率) = 1333MHz DFICLK(DF频率)】。这意味着内存频率直接会影响DF的性能。


在某些情况下,Zeppelin的性能可能会随内存频率提升而大幅提升。

但实际上这不是通过提升内存频率带来的,而是同时提高的DF频率带来了性能提升


零售版Zeppelin官方支持的最高内存频率为DDR4 2667(2x 1R内存模组)或2400MHz(2x 2R内存模组),但2933、3200MHz的频率也可以在部分主板上达成。






超频性能

高端Ryzen的超频空间非常小。因为默频就已经很高,同时本来就是高密度的设计,Zeppelin用的还是低功耗制程(三星 14nm LPP)。


点击查看原图



可以从曲线中看到,Zeppelin的频率在3.3GHz之前是完美的线性增长(每100MHz需要25mV)。首次偏差出现在3.3GHz,第二个也是最后一次偏差出现在3.5GHz。在这之后电压已经不是线性,需要的电压大幅上升。


所以最理想的频率范围在2.1-3.3GHz,再往上每100MHz需要的电压会明显增加。


这意味着3.8GHz+的频率会带来功耗和温度的大幅上升。


OCRU做的表格,完全符合上面的结论,3.8GHz之后每100MHz都需要加0.1V电压。


作为对比,之前AMD两代桌面版的设计:


- Orochi Rev. C,也就是Vishera打桩机,32nm SHP SOI - (第一个关键点出现在4.4GHz,第二个在4.7GHz)

- Kaveri / Godavari,28nm “SHP” HPP Planar - (第一个关键点出现在4.3GHz,第二个在4.5GHz


这个曲线和Ryzen预设的PState电压/频率基本吻合。


在高端型号上,比如1800X,3.6GHz默频实际(等效)电压范围在1.200-1.300V,而加速PState下(XFR,4.1GHz)下频率可以高至1.475V。


测试样品上P0 3.6GHz实际电压为~1.25000V,而单核XFR 4.1GHz实际电压达到了1.47500V。


AMD还没给出最高的安全电压【VDDCR_CPU - CCX电压和VDDCR_SOC - 北桥/SoC电压】,但估计高于1.47500V的电压不会适合超频和长期使用。


高端型号Ryzen的超频是把双刃剑。因为根据加速和XFR的工作原理,可能会降低单线程性能。而且超频空间已经很小。





功耗

功耗包括CPU核心+北桥/SoC,不包括开关和传导损失。


峰值功耗使用Firestarter FMA/AVX,功耗比日常的多核满载使用要高30%左右。


Note:当前的Prime95(28.10)并不能很好地对Ryzen进行压力测试,测得的功耗会更低。使用Firestarter和Linpack的功耗会显著增加。

点击查看原图


下面使用的是MCRT,Monte Carlo raytracer,来模拟真实应用。

点击查看原图


点击查看原图





彩蛋

Zeppelin上采用了非常高级的功耗管理。和Carrizo/BristolRidge相同,Zeppelin也能够支持cTDP。虽然零售版的Ryzen官方不支持cTDP,实际上只是在迷惑人们。


点击查看原图


在30W TDP下,CinebenchR15能够达到850cb。这个分数意味着什么,可想而知。

只要在理想频率范围内,Zeppelin可以达到闻所未闻、怪物级别的效率。

【可以期待一下Q2的Naples 32C,以及H2到来的RavenRidge 4C。】




CCX互连

如果你读过Ryzen的架构解析,你就知道:Ryzen的L3不是真正的general-purpose cache通用缓存,而是victim cache。


Victim Cache是特殊的一类缓存。如果从更低一级缓存上有被驱逐的数据,它将被放进victim cache。然后和通常缓存一样工作,直到有数据需要从中提取,此时victim cache中的数据将与更低一级缓存中的数据进行交换


Haswell的变种Crystal Well/Broadwell上搭载的L4就是victim cache,被CPU和iGPU共享。

Crystal Well的L4结构过为复杂,因此后来Skylake上换回了普通的缓存。



582d1488708878.jpg

CClk(Core Clock):核心频率

MemClk(Memory Clock):内存实际运行频率,DDR4 2667运行在1.3GHz,DF与MemClk同频

LClk(Data Launch Clock):IO 集线器 控制器(PCIe等)运行的固定频率


法国媒体的测试结果CCX互联带宽22GB/s并不是AMD给出的官方数字,只是单方面的猜测。


大多数媒体只看到了22GB/s,而并没有看到这是个假设更没有看到假设前提:采用的是DDR4 2400,而且尚不确定Data Fabric提供的带宽是怎样分配,L3和内存的优先级如何


比如在搭配DDR4 2666时,DF会跑在1333,双向总带宽实际上是有41.6GB/s,内存和CCX共享


使用DDR4 3600时,DF频率1800,双向带宽就有56.25GB/s,提升明显。

所以高频内存对于Ryzen的性能发挥很有必要,因为DF频率也会提升。



而且法国媒体更不清楚的是,除了Data Fabric,Zeppelin内部还有很多其他的Fabric。


一切都不清楚,没有官方解释的情况下就妄加猜测或者说肯定绝对是不对的。

当前版本AIDA64测得的数据有问题,AIDA64表示将在后来的版本中进行修复(刚更新的版本也没有修复)。






其实Ryzen类似于NUMA,问题主要会出现在:


1.某个线程需要8MB以上的L3时。比如如果CCX0中某个线程需要12MB的L3,但另一半4MB L3位于CCX1中。同时发送请求,但需要等待CCX1中的数据。

2.Windows经常切换线程负载,不管数据在缓存的哪个位置。对于Intel和AMD的老产品没问题,因为都是共享L3。


img002.png

img003.png

img004.png

点击查看原图

img001.png

PCPER的延迟图:同CCX内的访问速度AMD比Intel要快,但CCX之间访问较慢



这些问题,虽然有架构本身的限制,但可以通过软件优化在很大程度上解决。比如AMD和微软正在开发补丁解决线程调度问题。这能够给游戏带来很大提升。


在Crystal Well上的L4,Linux的内核+驱动更新后,也提升了一倍性能。软件和系统等优化占有很大地位。


img008.jpg

img009.jpg

img010.jpg



另外,说胶水八核的可以歇歇了。不带这无脑黑的。



来源:Ananctech论坛/Reddit,本站整理、原创翻译,转载务必注明出处。

二维码加载中...
本文作者:剧毒术士马文      文章标题: AMD Ryzen: 严谨技术解析
本文地址:http://www.moepc.net/?post=1406
声明:若无注明,本文皆为“MoePC”原创,转载请保留文章出处。

WRITTEN BY

avatar
李劲松2017-03-16 00:41
http://www.ednchina.com/news/article/20170314zen
看看这个,马文。
剧毒术士马文2017-03-14 01:41
Ryzen可以自己手动降压的
降压功耗能降20W
李劲松2017-03-13 23:36
找了几篇国外的评测,但可惜游戏评测只有1080分辨率的,所以就不贴出来地址了。这里给出功率评测结果。
关于ryzen功耗和电源选择  GTX1080最大功耗180w,(1080ti+70w,vega+45w)
首先是台GTX1088+16GB2400+风冷,下面是整个系统的功率消耗(含显卡轻载功耗)
     待机-纯CPU负载
1800x  38-155
1700x  38-138
1700   38-109
17004G 45-214
另外一个带显卡负载thief(同样是GTX1088),但超频用的水冷
1800x  45-174-273
1700x  44-144-261
1700   43-124-254
17004G 51-214-288
所以,不超频,配单1080的话:
1800x约354w,
1700约304W
如果打算升级vega,那就分别再加45w。这样就是400w和350w。
所以现在配机器,不交火就没有必要买额定功率超过550w的电源了。
飞轮饼2017-03-10 19:08
避开雕牌,其他牌子基本问题不大,新BIOS已经发布了,到手先刷BIOS再上机
李劲松2017-03-06 01:03
太棒了,就算不用高塔散热器,也可以无风扇运行了。另外,从这个评测看,AMD是想先给民用做个测试,做好软件铺垫和宣传工作,然后直接和intel抢最大头市场,发布服务器芯片。真可惜没有同时发布APU。AMD又一次错过笔记本市场,因为大家肯定等10nm的笔记本。货到了,马上装系统去。
老男独立摄2017-03-06 00:28
6核的应该全部是这种。即使8核的良率已经非常高,当市场上需要6核产品是,恐怕用完好的8核屏蔽两个当6核也比重新设计生产原生6核要更划算。
aristomarc2017-03-05 22:04
30w能够850cb...那移动版...Σ(っ °Д °;)っ
寄生熊2017-03-05 22:04
比较关心内存兼容问题,听说好多翻车了,现在还没到货,心里忐忑
2332017-03-05 21:19
以后的1600X 的六核是不是也是两个四核模块屏蔽两核的呢?
5256qpqp2017-03-05 20:17
完全看不懂话

返回顶部    首页     管理   注册   
版权声明       pw:mykancolle.com或moepc.net (有时需加www.) 若被菊爆请留言补档
内容来源于网络,并不代表本站赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容。
本站资源仅为个人学习测试使用,请在下载后24小时内删除,不得用于商业用途,否则后果自负,请支持正版!
illust:A-Channel/生徒会の一存 Foreign visitors, GoogleTranslate will help   sitemap