如何根据时间、频率和内存条数量对 RAM 进行评分?

如何根据时间、频率和内存条数量对 RAM 进行评分?

目前正在组装一个盒子Alder Lake 处理器例如 i7-12700k 或 i9-12900k。我还需要为其选择内存 (RAM)。

我如何比较不同的选项以确定哪个最好?

我想要一个根据 RAM 频率分配分数的数学公式,时间安排以及内存条数量。那么,得分最高(或最低)的 RAM 速度最快。

假设:

  1. CPU 是12代英特尔处理器,例如 i7-12700k 或 i9-12900k。

  2. 记忆是DDR5

  3. 可使用1至4个记忆棒。

    • 为了简化起见,可以假设恰好有 2 根棍子。
  4. 这个问题纯粹是关于量化速度;其他因素如成本、容量/尺寸、电压、温度等可以忽略。

  5. 计算机正在运行占用大量内存的数字运算软件。因此,我们假设最坏的情况是:

    • 计算机因 RAM 不断读取/写入值而出现瓶颈;

    • 读/写不是连续的或本地的,因此在每次操作中,RAM 必须执行与从/向内存的不同部分读取/写入相关的操作。

  6. 不使用硬件 ECC(DDR5 的内置 ECC 除外)也不使用缓冲。

  7. 可以假设物理条件是理想的,例如温度/电压得到良好控制,没有硬件缺陷等等。

  8. 无需考虑自定义超频或任何动态运行时调整。也就是说,可以假设内存以宣传的值运行。

  9. 也可以假设其他简化。

    • 例如,默认情况下,DDR5 的命令速率 (CMD) 显然是 T2。虽然更全面的评分指标可能会考虑其他值,但我们可以假设它是 T2。

网上已经找到信息了。

在网上浏览,似乎很多人都建议尽量减少

[score] = [CAS latency] / [frequency]

,根据该理论,内存的运行[CAS latency]周期与成比例[frequency],因此最小化该比率可以提供最快的速度。

然而:

CAS 延迟是列地址和列地址选通信号出现在内存模块的时间与内存模块提供相应数据的时间之间的延迟。所需行必须已经处于活动状态;如果不是,则需要额外的时间。

“CAS 延迟”,维基百科[强调添加]。

而且我猜,由于我的工作量是随机访问 RAM,CAS 延迟不是唯一相关的时间。我想,我需要结合以下时间……关闭行、充电行、激活行……?

另外,内存条数量如何影响性能?例如,如果可以选择:

  • 1 个 64 GB 的记忆棒;

  • 2 个 32 GB 的内存条;

  • 4 个 16 GB 的内存条;

但它们的时间安排是否都有所不同?


相关变量。

相关变量可能包括:

姓名 象征 描述
记忆棒数量 棍棒 内存条的数量,从 1 到 4。
频率 F RAM 时钟的频率;即每秒的时钟周期数。
CAS 延迟
将列地址发送到内存和响应数据开始之间的周期数
。—维基百科
行地址到列地址延迟 电视漏电保护器
打开一行内存和访问其中的列之间所需的最小时钟周期数
。—维基百科
行预充电时间 电视反相
发出预充电命令和打开下一行之间所需的最小时钟周期数
。—维基百科
行活跃时间 电视放射科
行活动命令和发出预充电命令之间所需的最小时钟周期数
。—维基百科
指令速率 命令
内存芯片激活后到第一个命令可以发送到内存之间的时间。有时这个值不公布。通常是 T1(1 个时钟周期)或 T2(2 个时钟周期)。”
“理解 RAM 时序”, 硬件秘密

问题:对于频繁访问内存不同部分的工作负载,哪种评分指标可以量化 1 到 4 个 DDR5 RAM 条的相对性能?

也就是说,如果我们有一份 RAM 的不同选项列表,以及上面列出的变量(棍棒F,氯,电视漏电保护电视反相,电视如果我们假设每个选项的最小二乘方差为 1,并且我们假设每个选项的最小二乘方差为 1 (RAS和 CMD),再加上任何其他相关变量,那么我们可以使用什么数学表达式/方程来确定哪个选项最好?

相关内容