找回密码
 加入我们
搜索
      
查看: 5849|回复: 19

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

[复制链接]
发表于 2023-8-22 11:12 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-8-22 11:34 | 显示全部楼层
DDR5 6400MHz又是理论128GB/s

?       
 楼主| 发表于 2023-8-22 11:36 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-8-22 11:53 | 显示全部楼层
不是你这么算的,内存带宽测试用的是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读写内存的概率已经和外设读写内存的概率相差没那么悬殊了。
发表于 2023-8-22 11:53 | 显示全部楼层
slymitec 发表于 2023-8-22 11:36
128bit双通道下 6400 理论带宽128gb/s 应该没错吧

不扣掉各种开销也就102.4GB/s, 天知道你怎么算的

另外pcie的主要吞吐并不是和核心交互产生的, 而是和内存交互产生的, pcie设备和内存交互数据并不需要经过核心, 并不受ccd和iod之间的带宽限制
发表于 2023-8-22 11:54 | 显示全部楼层
本帖最后由 zhuifeng88 于 2023-8-22 11:58 编辑
dcl2009 发表于 2023-8-22 11:53
不是你这么算的,内存带宽测试用的是DMA,不经过core

你说的这些都是IOD到外设的带宽,每个外设都有对应的 ...


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

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

那应该只是你查到的资料不是主流内存带宽测试工具采用的方式
 楼主| 发表于 2023-8-22 12:16 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2023-8-22 12:17 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-8-22 12:50 | 显示全部楼层
关于"不知道Intel这边什么结果"
intel的ring每个方向32B/cycle, 两个方向都有出入端口, 每站出入都是64B/cycle, 13900k来说的话默认ring boost到5GHz最大, 也就是每站出入320GB/s, 内存控制器是同等的一站, 但ring上不止要传输访存负载, 访问远端l3也要通过ring传输, 能抢到多少算多少
发表于 2023-8-22 13:23 | 显示全部楼层
本帖最后由 AIAO 于 2023-8-22 13:25 编辑

感觉主楼的数据混用了GB和GiB。以AIDA64为例,虽然数值的单位写成GB/s,但实际上是GiB/s。

单CCD的读写位宽分别是32/16 Byte,在2100 MHz下,得到62.6/31.3 GiB/s,
一对DDR5内存的总位宽是128 bit,在6400 MT/s下,得到95.4 GiB/s,
PCIe 5.0通道的传输速率是32 GT/s,总共28条通道,得到104.3 GiB/s。
 楼主| 发表于 2023-8-22 13:25 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-8-22 13:27 | 显示全部楼层
slymitec 发表于 2023-8-22 13:25
是的 混用了

不过95.4gb/s是怎么算出来的

128 / 8 * 6,400,000,000 / (1024)^3 = 95.4
 楼主| 发表于 2023-8-22 13:30 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-8-22 13:36 | 显示全部楼层
slymitec 发表于 2023-8-22 13:30
也是采用1mhz=1000khz=1000 000hz这个标准么?

但是这样的话,似乎内存测速数据就全都不对了,实际值大 ...

匈牙利鲁大师不是白叫的...
发表于 2023-8-22 13:37 | 显示全部楼层
slymitec 发表于 2023-8-22 13:30
也是采用1mhz=1000khz=1000 000hz这个标准么?

但是这样的话,似乎内存测速数据就全都不对了,实际值大 ...


在网上随便搜了一下AIDA64的截图,能搜到13900K在5600 MT/s下,读取为93074 MiB/s,以及7950X在6000 MT/s下,读取为98156 MiB/s。

感觉像是软件读取错误,这样的数怎么算都算不出来。
发表于 2023-8-22 13:41 来自手机 | 显示全部楼层
4. AMD单纯想摆烂,基板和6nm cIOD的钱也想省,所以msdt只配用narrow mode
发表于 2023-8-22 14:18 | 显示全部楼层
AIAO 发表于 2023-8-22 13:23
感觉主楼的数据混用了GB和GiB。以AIDA64为例,虽然数值的单位写成GB/s,但实际上是GiB/s。

单CCD的读写位 ...

GB和GiB不是一样的吗
一般好像是小写gb与GB(=GIB)区分吧?
 楼主| 发表于 2023-8-22 14:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-4-30 19:51 , Processed in 0.011224 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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