找回密码
 立即注册
查看: 96|回复: 7

之前问过AMD Zen4 FCLK带宽的问题,但我还是没算明白

[复制链接]

208

主题

0

回帖

208

积分

中级会员

积分
208
发表于 2023-8-22 11:38:12 | 显示全部楼层 |阅读模式
https://www.chiphell.com/thread-2533350-1-1.html
结论:每CCD 32B/Cycle读和16B/Cycle写

最后开一个帖子落实一下,假定FCLK超频2000MHz,目前的结论岂不是如下:

1. 单CCD的等效读写位宽是256bit和128bit,折合读取2000MHz*256bit/8=62.5GB/s,写入31.25GB/s
等效读取位宽是内存控制器的位宽的2倍,那就是从内存控制器读取2次128bit的数据,再统一从FCLK传入其中一个CCD。
2. 双CCD的总量加倍,但是只有多核才能用全,而且Aida64的写入测试数据是完全错误的
3. 这些带宽被和内存和PCI-E控制器所消费。

这么看的话,FCLK带宽共享率非常高,因为AMD:
(1)IO就是28条PCI-E 5.0(连接芯片组的降速4.0),理论上104GB/s
(2)DDR5 6400MHz又是理论128GB/s
(3)集成显卡就在IO die里面,不知道是不是有专门的通道连接内存控制器(毕竟作为显存用),假设不算了
单CCD理论上最大极限共享率:读取(128+104)/62.5=371.2%,写入(128+104)/31.25=742.4%,太夸张了。

经回帖确实忘了考虑DMA了,PCI-E的带宽相当一部分是传输给内存了。

难怪AMD这么依赖缓存,不知道Intel这边什么结果,期望Zen5能好一些。
回复

使用道具 举报

0

主题

928

回帖

0

积分

新手上路

积分
0
发表于 2023-8-22 11:41:42 | 显示全部楼层
DDR5 6400MHz又是理论128GB/s
?       
回复 支持 反对

使用道具 举报

0

主题

1021

回帖

0

积分

新手上路

积分
0
发表于 2023-8-22 11:44:13 | 显示全部楼层
xy. 发表于 2023-8-22 11:34
?       
128bit双通道下 6400 理论带宽128gb/s 应该没错吧
回复 支持 反对

使用道具 举报

0

主题

1030

回帖

0

积分

新手上路

积分
0
发表于 2023-8-22 11:46:06 | 显示全部楼层
不是你这么算的,内存带宽测试用的是DMA,不经过core

你说的这些都是IOD到外设的带宽,每个外设都有对应的控制器,测试时候只计量控制器到IO侧的带宽,不需要占用太多总线带宽

现在软件测带宽不需要core直接参与数据搬运,只需要core发送指令后等待即可,然后算法测量带宽或者延时跌落的点,将曲线分成两条直线,取其中一条直线的均值作为检测值。

AMD的集显挂在IF总线上,所以确实会受IF带宽的限制

说实话,DMA确实作用很大,如果每个字节都经过core,core到IOD那点可怜的带宽根本撑不住

而且AMD也不傻,要不为啥读是32B/cycle 写是16B/cycle,而不是读是16B/cycle 写是32B/cycle?就是因为普通软件读内存的概率大于写内存(比如A+B=C,读两次,写一次),而且现在的电脑,core读写内存的概率已经和外设读写内存的概率相差没那么悬殊了。
回复 支持 反对

使用道具 举报

0

主题

971

回帖

0

积分

新手上路

积分
0
发表于 2023-8-22 11:53:32 | 显示全部楼层
不扣掉各种开销也就102.4GB/s, 天知道你怎么算的

另外pcie的主要吞吐并不是和核心交互产生的, 而是和内存交互产生的, pcie设备和内存交互数据并不需要经过核心, 并不受ccd和iod之间的带宽限制
回复 支持 反对

使用道具 举报

0

主题

1038

回帖

0

积分

新手上路

积分
0
发表于 2023-8-22 12:01:30 | 显示全部楼层
内存带宽测试用的确实不是DMA, 而是核心直接发起的PIO, 主流内存带宽测试都是, 包括aida64和mlc, aida64这部分没有说明也没有控制选项, 但你大可以改变aida64测试进程的核心亲和性看到测得带宽的变化, 其他部分都没问题
回复 支持 反对

使用道具 举报

0

主题

993

回帖

0

积分

新手上路

积分
0
发表于 2023-8-22 12:03:30 | 显示全部楼层
咦?难道是我理解错了?PIO不是core直接读写io模式吗?我查到资料是core发指令给IO,IO操作后返回数据到自己的缓冲区,然后计算得到带宽,不需要core读写io
回复 支持 反对

使用道具 举报

0

主题

967

回帖

0

积分

新手上路

积分
0
发表于 2023-8-22 12:06:56 | 显示全部楼层
那应该只是你查到的资料不是主流内存带宽测试工具采用的方式
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-10-3 09:50 , Processed in 5.725349 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表