“不兼容”的 Windows 11 CPU 是否缺少某些特定的处理器指令,从而可能导致将来在其上运行的 Windows 11 崩溃?

“不兼容”的 Windows 11 CPU 是否缺少某些特定的处理器指令,从而可能导致将来在其上运行的 Windows 11 崩溃?

我知道:

  • 官方支持的CPU列表
  • TPM 2.0 的要求
  • 安全启动的要求

我相信很多人都知道,可以绕过上述要求,让 Windows 11 在官方“不兼容”的硬件上运行。

较新的处理器的指令集中是否包含附加指令?

但是对于该支持列表中的 CPU,它们的指令集中是否有可供微软开发人员在未来的 Windows 11 版本中使用的附加指令?

我想知道此类指令是否会出现在 Windows 某些部分的低级汇编代码中,或者由所使用的 C/C++ 编译器在软件的其他地方以机器语言生成。如果是这样的话,那么一旦发布包含这些处理器指令代码的更新,延长运行 Windows 11 的非兼容硬件使用寿命*的前景最终将突然终结:没有这些指令的处理器将无法识别它们,软件可能会出现故障、不可靠或不安全。

如果这些新处理器不引入新的处理器指令,那么现有“不兼容”硬件的前景就更加乐观。那么挑战可能仍然是如何消除对硬件外围设备(如 TPM 2.0)以及安装环境(如 SecureBoot)的依赖。

x86-64 永远是 x86-64?

除了 x86 32 位 amd x84-64 或 amd64 64 位指令集(后者仅受 Windows 11 支持)之间的区别之外,我不知道新处理器仅支持任何其他变体。

虚拟化可以拯救你吗?

如果兼容处理器中存在此类附加指令(将来可能会在 Windows 11 中使用),则“不兼容”硬件的另一种选择可能是虚拟化层(可能由该行业的知名第三方供应商提供),该虚拟化层会动态地将新指令转换为旧 CPU 可以支持的内容,而旧 CPU 支持的大多数其他指令只是通过,因此总体而言,性能与完全原生的性能相似。我们在几种情况下看到了这种虚拟化和转换:在 ARM 上的 Windows 上模拟的 x86-64 应用程序,在 M1 上运行的 Apple Rosetta 以支持 Apple Intel 编译的应用程序。

用户体验 - 使虚拟化无缝衔接,就像机器从启动时就拥有了更新的 CPU

我认为,对于此类虚拟化的制造商来说,确保 Windows 11 能够在较旧的硬件上运行的挑战可能是用户体验。理想情况下,它应该在启动后出现,以便 Windows 11 从虚拟化启动时运行。而不是启动到 Windows 10,然后运行虚拟化应用程序(如 VirtualBox、VMware 或 Parallels 来启动 Windows 11 映像)。这是额外的步骤,笨重且性能可能不高。所以在我看来,虚拟机管理程序软件可能是在较旧的硬件上启动时从一开始就运行 Windows 11 的方法。也欢迎大家在这里提出想法。

当然是 Linux

*在任何人提到它之前,我很清楚 Linux 和各种发行版可能仍会在这种“较旧”的“不兼容”硬件上运行。我知道,因为我每天都使用 Linux,以及 Windows 和 macOS。抱歉,我在这里不是为了讨论哪个平台比另一个平台更好。

答案1

为了回答我自己的问题并根据评论贡献(谢谢),我倾向于得出结论:

回答

目前,答案似乎介于以下两个之间:

  1. 否。Windows 11 支持的 CPU 列表中没有特定指令,这些指令由不在该列表中的 Windows 11 可执行文件使用

  2. 不。尚不清楚Windows 11 支持的 CPU 列表中有一些特定指令,这些指令不在该列表中,但 Windows 11 可执行文件会使用这些指令

  3. 不是,但应用专门针对 Windows 11 的程序可能会使用这些受支持的 CPU 中的指令,因此无法在装有不受支持的处理器的 Windows 11 机器上运行。如果供应商也支持,则解决方法是不使用 Windows 商店程序,而是使用其独立下载的等效程序,并使用兼容模式功能在早期版本的 Windows 中运行该应用程序。此处假设的结果是运行备用可执行文件和/或代码选择中的条件与所选早期版本的 Windows 上运行的所有 CPU 兼容的代码。

我当然希望它是“1”。假设x86-64 的定义仍然成立,并且 Windows 11 在相同定义的 x86-64 硬件上运行。

但这可能会引出一个更尖锐的问题:Windows 11 支持的 CPU 的具体标准是什么?如果不是 x86-64,那是什么?(我可能会单独提出这个问题)。

进一步可能的问题包括:Windows 11 如何检测支持的 CPU 型号?

相关内容