实现IA-32指令集(即32位x86指令集)的CPU没有相同的指令和寄存器,例如Intel Pentium III具有SSE寄存器和Intel Pentium中不存在的指令II。
但是实现AMD64指令集(即64位x86指令集)的CPU怎么样,这些CPU有相同的指令和寄存器(我的意思是:是否有一些AMD64 CPU具有比指令和寄存器更多的指令和寄存器另一个AMD64 CPU,就像IA-32 CPU拥有比其他IA-32 CPU更多的指令和寄存器一样)?
所有AMD64 CPU都具有以下功能:
一些早期的AMD64 CPU在长模式下错过了sahf
和lahf
指令。
不保证支持其他指令集扩展,例如SSE3,AVX,fisttp和BMI。
并非一切都是平等的:
英特尔的x86 CPU支持64位模式的sysenter
指令,AMD的CPU(至少是较旧的CPU)不支持。
另一方面,AMD的CPU在32位模式下支持syscall
,但英特尔的64位CPU(至少是较旧的CPU)不支持。
我确信这不是现有和/或未来AMD64 CPU的唯一区别。