当前位置:新励学网 > 秒知问答 > 32位程序可以使用64位寄存器吗

32位程序可以使用64位寄存器吗

发表时间:2024-07-09 14:35:33 来源:网友投稿

64位系统是向下兼容的,64位平台其实是x86(32位)-64,也就是说在原有的x86平台上实现64位。

x86-64是站在x86的肩膀上的,并没有另起炉灶,CPU指令长度(即指令占有的二进制位数)不变,原有的指令集也一律保留,所以x86和x86-64总体的架构是一致的,指令完全兼容。改变的部分原有通用寄存器容量均增长为64位,顺便还加了8个,同时增加了8个128位的XMM寄存器,内部总线(即CPU部件间的数据通道)宽带也增至64位或更多。当然还有增加用于支持这些寄存器的相关指令。由此可以看出,CPU处理的数据均支持64位,内存编址理论上也可达到2的64次方个地址空间,但由于是在x86的架构上构建的64位计算,64位线性寻址能力还不成熟,实际上的可编址并没有这么多,但可改进。

随着64位操作系统的推广,越来越多的软件开发者会同时在32位和64位环境下进行软件测试,保证软件的可靠性。但是要他们统统开发纯64的版本是不现实的,虽然从32过度到纯64理论上只要重新编译,原来的代码可以不作任何修改,但有时并不这么简单,同时还要考虑经济效率(目前,64位常用软件比32位常用软件要少很多。道理很简单:使用64位操作系统的用户相对较少。因此软件开发商必须考虑投入产出比,将有限资金投入到更多使用群体的软件之中。),再说一些软件并不需要用的用到64位的计算特性(所以也没有修改和重新编译的必要)。所以就放心的用那些已经写明支持64位平台的程序好了,就算没有声明支持64也是可以运行的,用兼容模式。

32位程序也可以在64位系统上运行,64位系统下有一个程序文件夹ProgramFiles(x86)就是用来存放32位程序的。绝大多数程序运行在64位系统下是没有问题的。

只有专业软件和大的游戏只能各装各的(一般说来是那些需要频繁处理大量数据或者需要占用很多内存空间(甚至会超出4G内存空间)的程序。)!

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!