我缺乏理解的一件事是为 Intel CPU 编译的代码如何在 AMD CPU 上工作。
我的基本理解是,例如,如果您编译 C 代码,编译器会将源代码转换为机器语言,机器语言将具有针对特定处理器的指令。因此,您需要为您希望应用程序使用的任何平台使用编译器进行编译。为什么您不需要针对 AMD 和 Intel 的编译器,而必须为特定处理器购买软件?
我知道 AMD 处理器和 Intel 处理器在旧的 x86 指令中有一些兼容性。我想知道的是他们是怎么做到的?我的意思是,不像 AMD 或 Intel 互相打电话并告诉对方他们的商业机密,那么他们如何创建兼容的指令集呢?
是否所有的兼容性仍然基于 386 指令集,以及诸如“如果 AMD CPU,这样做 ELSE IF INTEL 那样做”之类的语句?