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%
帮助的人:575万
展开全部
你说的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-11-14 广告
实时数仓处理是我们北京万山数据科技有限公司数据处理能力的核心之一。它基于先进的流处理技术,能够实时捕获、处理和分析海量数据,确保数据的时效性和准确性。通过构建高效的实时数据管道,我们能够实现数据的即时入库与查询,为业务决策提供强有力的支持。... 点击进入详情页
本回答由万山数据提供
wangyaohak
2010-11-23 · TA获得超过3295个赞
知道大有可为答主
回答量:2796
采纳率:0%
帮助的人:2445万
展开全部
纠正你三个问题,
第一个问题:还有SSE4.1/4.2 NX-BIT Execute Disable Bit EM64T AVX指令集 3D Now! 等等等等的指令集,远远不止你提到几种。
第二个问题:已经编译好的程序在计算机中是以汇编语言的机器码来运行的,而高级语言依赖于汇编语言,仅仅和操作系统有关,与你使用什么CPU无关。
第三个问题:NTEL的指令集和AMD的指令集虽然不一样,但是实际上这对应用层几乎没有任何关系。只是在底层的任务上的完成的方法不一样,最终目的却都是可以执行,好比一个做飞机,一个开汽车,最后都能到达目的地。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jjwwbuyao
2010-11-23 · TA获得超过619个赞
知道小有建树答主
回答量:1714
采纳率:67%
帮助的人:810万
展开全部
因为现在所有windows的程序都是基于X86架构的,所以只要是windows的程序就能在AMD、Intel的CPU上运行。现阶段Intel跟AMD公用所有指令集,AMD-V、3D NOW指令集是AMD专用的,但是所有的程序开发商部可能做一种封闭式的程序,要求就是兼容性要绝对好。所以到现在也没有任何一个只能运行在一种平台上的应用程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
厚致繁华
2019-08-16 · TA获得超过3851个赞
知道大有可为答主
回答量:3048
采纳率:34%
帮助的人:181万
展开全部
CPU扩展指令集指的是CPU增加的多媒体或者是3D处理指令,这些扩展指令可以提高CPU处理多媒体和3D图形的能力。著名的有MMX(多媒体扩展指令)、SSE(因特网数据流单指令扩展)和3DNow!指令集。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dnzs2000
2010-11-23 · TA获得超过2153个赞
知道大有可为答主
回答量:8261
采纳率:45%
帮助的人:3741万
展开全部
你忽视了一点,编译程序可选择指令集,所以你可不比关心这个问题,不信自己做个试验不久行了,邻居、朋友、同学中找到两种CPU电脑很容易
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式