我可以在 32 位 Windows 下的 x86-64 CPU 上执行 64 位指令吗?

我可以在 32 位 Windows 下的 x86-64 CPU 上执行 64 位指令吗?

我在 64 位 Intel Atom 上运行 32 位 Windows 7,我想知道操作系统是否将 CPU 置于仍然允许 64 位指令执行的模式,或者置于完整的 32 位兼容模式,导致所有 64 位指令被视为非法。

如果不是,是被操作系统还是 CPU 阻止的?Intel 和 AMD CPU 在这方面有什么不同吗?

答案1

如果您运行的是 32 位操作系统,则 CPU 处于 32 位模式,无法使用任何额外的硬件功能。当 CPU 处于此状态时,64 位代码将无法运行。这不是操作系统的限制,而是硬件工作方式的产物。

在这方面 AMD 和 Intel CPU 应该没有区别。

答案2

Windows 7 在操作系统中使用 64 位作为独立系统,32 位应用程序以 32 位模式运行,64 位应用程序以 64 位模式运行。

这主要由操作系统决定,但如果 CPU 不是 64 位,它就无法工作。

所以我想说操作系统会阻止 64 位应用程序在 32 位下运行。Intel 和 AMD CPU 的工作方式相同,使用两者不会有任何区别。

相关内容