假设我有一个 x86 操作系统,它在开发时并未考虑 Ryzen CPU,也没有针对它们进行测试。它有可能在 Ryzen 机器上的 KVM 中运行吗?
我猜 AMD CPU 的指令集与 Intel 略有不同,但大多数指令应该一一对应?既然如此,KVM 是否有能力模拟不同的指令,同时“传递” Zen 原生的指令?
答案1
根据我的调查,Ryzen Zen微架构支持以下指令集:
x86-64、MMX、SSE1 至 SSE4.2、AES、CLMUL、AVX、AVX2、FMA3、CVT16、F16C、ABM、BMI1、BMI2、SHA
任何经过编译以利用这些指令集的应用程序都可以使用它们。
至于能够分辨出你正在使用哪种 CPU,是的,它可以……但前提是它愿意,即开发人员插入了适当的代码。让我告诉你,这样的代码被归类为“奥秘”。