RAM 不兼容的具体原因是什么?

RAM 不兼容的具体原因是什么?

我正在查看制造商提供的相当简短的 QVL 列表,我想知道除了显而易见的原因之外,RAM 不兼容的根本原因是什么:

不兼容的明显原因

  • RAM 代数(DDR、DDR2、DDR3、DDR4)
  • 外形尺寸/引脚数
  • RAM 类型(ECC 与非 ECC、已注册与未注册、已缓冲与未缓冲)
  • 无法调整内存频率的主板上的最低速度
  • 无法调整内存电压的主板上的非标准电压范围
  • 通道数(单通道、双通道、四通道)
  • 模块损坏或无法操作
  • 不匹配集

不明显的原因

  • 品牌
  • 库存单位
  • 最大容量
  • 速度太高

例如,为什么主板制造商不能只列出他们将容纳的 RAM 的规格,并支持该类别的每个内存芯片,而不是列出特定品牌的特定 SKU?

从电气/物理角度来看,哪些情况会导致主板无法开机自检/无法使用与 QVL 上所有 RAM 规格“兼容”的 RAM 运行?

华硕 X99 QVL

答案1

RAM 兼容性问题极其复杂,因此如果 RAM 未经认证,则将 RAM 装入主板是冒险的。为了理解其复杂性,以下是将 RAM 装入主板时应考虑的一些因素。

内存技术
DDR、DDR2、DDR2、DDR3、DDR4(它们甚至不能装入同一个插槽)。

CAS 延迟
内存模块将延迟多少个时钟周期来返回 CPU 请求的数据。

电压
电压越高通常速度越快,但电压越低通常意味着 CPU 内存控制器的压力越小。

时间安排
通过一系列数字给出,例如 4-4-4-8,表示内存执行特定操作所需的时钟周期数。在 BIOS 中,时序通常是自动检测的,但有些 BIOS 允许将时序预设为超频的一部分。通常用 CL-tRCD-tRP-tRAS-CMD 表示,其中:

  • :CAS 延迟。从命令发送到内存到开始回复命令所用的时间。这是处理器从请求内存中的某些数据到返回数据所用的时间。
  • 心电图:RAS 到 CAS 延迟。矩阵中存储数据的行 (RAS) 和列 (CAS) 激活之间的时间。
  • 血清素:RAS 预充电。禁止访问一行数据和开始访问另一行数据之间所花的时间。
  • 转运RAS:激活到预充电延迟。内存需要等待多长时间才能启动下一次内存访问。
  • 命令:命令速率。内存芯片激活后到第一个命令可以发送到内存之间的时间。有时这个值不公布。通常是 T1(1 个时钟周期)或 T2(2 个时钟周期)。

内存频率
信号传输速率,表示哪些字的数据可以传输到内存或从内存中传输出来。这是 RAM 标签的一部分,例如 DDR3-2400。

RAM 密度
表示片上组织。低密度模块与所有系统和芯片组具有 100% 兼容性。高密度模块仅具有 10% 兼容性并且速度非常慢。

RAM 控制器
控制器所能处理的 RAM 数量有限,从而限制了 RAM 条的主板大小。

芯片组技术
主板芯片组影响内存的使用,例如多通道配置。

我想我们已经可以得出结论,要使 RAM 条与主板兼容,两者必须在大量参数上达成一致。任何一个参数不兼容都会导致主板上无法使用特定的 RAM。

有些主板会接受设置在一定范围内的 RAM,而不是指定的数量,但其他主板会给出错误甚至无法检测到不适合的 RAM。

从计算机制造商处购买的 RAM 保证兼容,但价格可能较高。寻找第三方 RAM 时,通常很难找到,因为主板规格从未完全公布。

我曾多次使用 Crucial Advisor 工具,或者更好的是,使用 Crucial System Scanner,这一页.根据我的经验,他们的结果始终是正确的,并且 Crucial 提供的 RAM 价格非常有竞争力。

参考 :

答案2

例如,为什么主板制造商不能只列出他们将容纳的 RAM 的规格,并支持该类别的每个内存芯片,而不是列出特定品牌的特定 SKU?

因为那样的话,那些想要保证和测试兼容性的人就无法获得它。

从电气/物理角度来看,哪些情况会导致主板无法开机自检/无法使用与 QVL 上所有 RAM 规格“兼容”的 RAM 运行?

它可以是各种各样的东西。最明显的是电压。大多数主板只有一个电压发生器,这意味着所有 RAM 棒都必须以相同的电压运行。但它也可以是走线长度、负载水平等各种细节。我们谈论的是具有非常精确的时序要求的超高速链路。各种事情都可能出错,尽管大多数时候它都能正常工作。

当前设置是两全其美的。那些想要保证兼容性的人可以坚持使用经过测试和保证的组合列表。那些想要自由选择的人可以比较规格并得出自己的结论。

在过去,奇怪的不兼容并不罕见。但自从 DDR2 标准出台以来,不涉及上述原因之一的不兼容情况相当罕见。大多数此类情况可能是组件不太符合其规格。

答案3

答案就在内存控制器中。内存控制器曾经位于主板的北桥上。它必须协调 CPU 支持的直接内存访问的所有功能。因此,尽管这似乎是主板的功能,但 CPU 实际上是限制您可以使用的内存的决定因素。现在这一点更加明显,因为英特尔、AMD 和 ARM 生产的所有现代芯片的内存控制器都位于 CPU 内。主板固件包含来自 CPU 制造商的微代码,该微代码规定了它支持哪种直接内存访问功能。因此,软件仍然位于主板中,但硬件现在位于 CPU 中。

CPU 和内存的时钟直接通过基本时钟链接。它们必须是彼此同步的倍数。除此之外,直接内存访问的细节并不简单,我不会在这里解释。我的理解是,就像 MB 和 CPU 制造商有不同的实现和功能一样,不同的内存模块也是如此。在一家内存制造商(如金士顿)中,实际芯片可能是由三星、海力士或其他公司制造的。它们都应该遵循规范,但也许它们不会以相同的方式实现每个功能。

并非所有模块都是平等的

了解更多信息:

https://en.wikipedia.org/wiki/Memory_controller

-和-

https://en.wikipedia.org/wiki/Direct_memory_access

答案4

根据 gamingnexus,除了用户可以在 BIOS 中操作的变量之外,还有许多变量在 mb 代码中预设为与插入的 RAM 模块匹配。这是有道理的,因为我已经看到了比较测试的结果,即使所有可见设置都相同、使用相同的芯片组和相同的 CPU,RAM 在某些 mbs 上的性能也比其他 mbs 低。所以,除非你做了并排测试,否则你可能永远不知道 RAM 是否受到 mb 选择的限制。不幸的是,我也在寻找这些看不见的变量是什么的答案,这样我就可以决定是否安装非 qvl RAM。我注意到最新和最好的模块没有在较便宜的 b450 主板的 qvls 中列出,但它们适用于 x570。如果在两者中使用相同的 ryzen 3000 cpu,则具有相同的内存控制器,唯一的区别就是 mb 中的这个微代码。据我所知,同一制造商生产的 b450“ryzen 3000 ready”和 x570 主板也一样。如果 b450 主板缺乏测试(或兼容性报告)是一种鼓励追加销售的策略,我一点也不惊讶。。。

相关内容