诊断单核故障的根本原因

诊断单核故障的根本原因

我在使用由 Ryzen 3700X 和 ASUS TUF X570(WiFi)组成的新系统时遇到了一个奇怪的问题。

我能够启动系统,在 NVMe 上安装 Windows,然后启动并运行 Windows。使用几天后,系统意外关闭。从那时起,我无法完全启动任何操作系统。已知正常工作的 HDD 上的 Windows、新安装的 Windows NVMe、Windows USB 恢复和单独 HDD 上的 Ubuntu 都无法启动。

由于担心有东西松动,我重新安装了系统中的每个连接器。然后,我用另一个 PCIe 插槽中的另一个正常工作的 GPU 替换了该 GPU。我重新安装了内存,尝试使用两个单根内存条在不同端口上运行。我还使用了另一个已知正常工作的 PSU,断开了除单个键盘、DisplayPort 和内部 NVMe/USB 启动驱动器之外的所有外部电缆。问题仍然存在。

最后我成功运行了 Memtest86,在默认配置下,测试会运行几秒钟,然后产生一系列错误,并因错误过多、挂起或系统重置而结束。通常,错误会将单个 CPU (14) 确定为问题。

然后我在单 CPU 模式下运行 Memtest,对于所有核心 0-13 都顺利通过,但核心 14 和 15 总是立即挂起。我的 BIOS 允许 CPU 在 2、4、6 或默认(8)核心模式下运行,选择两个核心后,我可以再次启动并运行操作系统。

我认为这些问题指向芯片组问题,无需更换主板或 CPU,有没有办法确定哪个问题?在这样的系统上,主板在核心选择和内存管理中起多大作用?

答案1

您的测试结果非常明确地表明 CPU 核心损坏了。不是整个处理器,甚至不是主板,而是特定的。要么是地址或数据总线有故障,要么就是无法正确访问 RAM。

我之所以这么说,是因为您提到 CPU 14 和 15 导致 Memtest“立即挂起”。如果是主板故障,那么我认为没有任何核心可以工作。

现代系统中的内存控制器直接内置在 CPU 封装中。它通过主板直接传递到内存条。如果主板出现内存故障,那么无论哪个核心正在访问它都无关紧要,它们都应该出现错误,因为实际的内存总线是所有核心共用的。

第二件该死的事情是,它是核心1415.3700X是 8 个内核和 16 个线程。因此,一个内核出现故障将影响两个线程。并不是只有一个线程受到影响,而是两个线程都会受到影响。该内核本身可能有故障,而不仅仅是内核周围的线程逻辑。

其他核心都正常,说明内存控制器工作正常,CPU 封装内的内部核心间总线也正常。特定核心无法运行,说明这些特定核心存在令人担忧的故障。可能是 CPU 内部的计时问题(远离内存控制器的内核出现问题),可以通过固件微代码更新进行修复(但我对此表示怀疑),或者它(最有可能)是永久性的物理故障。

多核模式下的异常行为只是程序在核心之间随机移动,在好的核心上没有问题,但在坏的核心上就会出现程序或数据错误。

为了展示现代计算机的结构,下面是 AMD 芯片组系统的一般布置,取自Guru3D。请注意,CPU 已成为系统的真正“核心”,内存和显卡直接连接,PCH 则负责处理各种外部设备。现代 CPU 的集成度比 20 年前高得多。

在此处输入图片描述

相关内容