cpu指令集的问题?

你说的x86和x64或者ia64是CPU架构,也就是编译程序的标准,而MMX和SSE是指令集。指令集不会限制某些程序的运行,但会影响程序的运行速度。

一般来说,指令集是为了优化某些程序中可执行代码的执行效率,即某些程序在支持某种指令集的CPU上运行时会有很高的性能。例如,SSE指令集是为多媒体程序的性能而设计的。当一个用SSE指令集编写的程序运行在支持这个指令集的CPU上时,性能会有很大的提升,而当它运行在不支持SSE指令集的CPU上时,虽然CPU的速度和索引可能是一样的,但是会有很大的降低。

指令集是一种知识产权,所以amd和intel不一样。如果amd要支持intel的指令集,就需要为intel付费,所以AMD会开发另一套指令集,以白皮书的形式分发给程序员,让程序员自己制定出适合amd cpu的程序。

通常一个程序可以兼容不止一个指令集。如果选择在编译时兼容多种指令集,程序的规模会更大,但这不会造成太大的问题。

而X86是CPU的架构,也就是任何为X64编写的程序都无法在只支持X86架构的电脑上运行。这不是一个指令集。

综上所述,指令集并没有限制程序能否在计算机上运行,而是限制了程序的运行速度。