所有实现AMD64指令集的CPU是否都具有相同的指令和寄存器?

时间:2019-04-17 14:04:15

标签: assembly x86 cpu x86-64

实现IA-32指令集(即32位x86指令集)的CPU没有相同的指令和寄存器,例如,Intel Pentium III具有SSE寄存器和指令,这些指令和寄存器不存在。英特尔奔腾II。

但是实现AMD64指令集(即64位x86指令集)的CPU呢,这些CPU是否具有相同的指令和寄存器(我的意思是:是否有一些AMD64 CPU具有更多的指令)并比另一个AMD64 CPU进行注册,就像其他IA-32 CPU的指令和寄存器要比其他IA-32 CPU多?

2 个答案:

答案 0 :(得分:2)

所有AMD64 CPU具有以下功能:

  • 完整的i686指令集
  • 与MMX完全兼容的奔腾Pro x87 FPU
  • SSE和SSE2

某些早期的AMD64 CPU在长模式下错过了sahflahf指令。

不保证支持其他指令集扩展,例如SSE3,AVX,fisttp和BMI。

答案 1 :(得分:2)

并非所有事物都是平等的:

Intel的x86 CPU在64位模式下支持sysenter指令,而AMD的CPU(至少是较旧的CPU)不支持。

另一方面,AMD的CPU在32位模式下支持syscall,但Intel的64位CPU(至少是较旧的CPU)不支持。

我确信这不是现有和/或将来的AMD64 CPU的唯一区别。