cpu指令集的问题?

cpu的指令集有好象有x86,x86-64,MMX,SSE,SSE2,SSE3,SSSE3这几种,但是不同的cpu的指令集也不相同,我的问题就是,如果两个cpu的指令集不... cpu的指令集有好象有x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3 这几种,但是不同的cpu的指令集也不相同,我的问题就是,如果两个cpu的指令集不相同,而一个程序(是已经编译好的程序)在两种cpu上好像都能运行(我没有发现过一个程序在Windows中运行的时候因为CPU的问题而运行不了),这是怎么回事?
还有就是intel的指令集和AMD的指令集好像不太一样,如果一个程序被编译的时候用的是intel的指令集,并且这种指令集是intel专有的,那么它怎么能在AMD上运行呢?
展开
 我来答
DataCentre
2010-11-23 · TA获得超过1128个赞
知道小有建树答主
回答量:1280
采纳率:66%
帮助的人:567万
展开全部
你说的x86和x64或者ia64是CPU架构,也就是编译程序的标准,而MMX、SSE这些是指令集。指令集并非会限制某些程序的运行,而会影响程序运行的速度。

通俗的说,指令集是优化某些程序中的可执行代码的执行效率,就是说,某些程序在运行在支持某个指令集的CPU上会有很高的性能。比如说,SSE指令集就是为了多媒体程序的性能而设计的,使用了SSE指令集编写的程序,当他运行在支持这个指令集的CPU上时,性能会有极大提升,而运行在不支持SSE指令集的CPU上,虽然CPU的速度和指标可能一致,但是会有极大地下降。

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

往往一个程序不只可以兼容一套指令集,假如编译时选择兼容多种指令集,程序的体积会大一些,但是这并不会造成太大的问题。

而X86是CPU的架构,也就是在只支持X86架构的计算机上,为X64编写的任何程序是不能运行的,这个不是指令集。

综上,指令集并不能限制程序是否能够在该计算机上运行,而是制约了程序运行的速度。
光派通信
2024-09-03 广告
对光传输设备进行调试和维护,需要掌握以下关键点:1. **熟悉设备性能**:深入了解OTN/DWDM等光传输产品的性能特点,确保能够熟练使用设备。2. **按规范操作**:依据产品说明书和维护手册进行调试和维护,确保操作步骤正确无误。3. ... 点击进入详情页
本回答由光派通信提供
wangyaohak
2010-11-23 · TA获得超过3295个赞
知道大有可为答主
回答量:2796
采纳率:0%
帮助的人:2425万
展开全部
纠正你三个问题,
第一个问题:还有SSE4.1/4.2 NX-BIT Execute Disable Bit EM64T AVX指令集 3D Now! 等等等等的指令集,远远不止你提到几种。
第二个问题:已经编译好的程序在计算机中是以汇编语言的机器码来运行的,而高级语言依赖于汇编语言,仅仅和操作系统有关,与你使用什么CPU无关。
第三个问题:NTEL的指令集和AMD的指令集虽然不一样,但是实际上这对应用层几乎没有任何关系。只是在底层的任务上的完成的方法不一样,最终目的却都是可以执行,好比一个做飞机,一个开汽车,最后都能到达目的地。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jjwwbuyao
2010-11-23 · TA获得超过619个赞
知道小有建树答主
回答量:1714
采纳率:67%
帮助的人:797万
展开全部
因为现在所有windows的程序都是基于X86架构的,所以只要是windows的程序就能在AMD、Intel的CPU上运行。现阶段Intel跟AMD公用所有指令集,AMD-V、3D NOW指令集是AMD专用的,但是所有的程序开发商部可能做一种封闭式的程序,要求就是兼容性要绝对好。所以到现在也没有任何一个只能运行在一种平台上的应用程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
厚致繁华
2019-08-16 · TA获得超过3850个赞
知道大有可为答主
回答量:3048
采纳率:34%
帮助的人:175万
展开全部
CPU扩展指令集指的是CPU增加的多媒体或者是3D处理指令,这些扩展指令可以提高CPU处理多媒体和3D图形的能力。著名的有MMX(多媒体扩展指令)、SSE(因特网数据流单指令扩展)和3DNow!指令集。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dnzs2000
2010-11-23 · TA获得超过2153个赞
知道大有可为答主
回答量:8261
采纳率:45%
帮助的人:3695万
展开全部
你忽视了一点,编译程序可选择指令集,所以你可不比关心这个问题,不信自己做个试验不久行了,邻居、朋友、同学中找到两种CPU电脑很容易
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式