64位的系统为什么软件程序都是32位的
2个回答
展开全部
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位系统下有一个程序文件夹 Program Files (x86) 就是用来存放32位程序的。绝大多数程序运行在64位系统下是没有问题的。
只有专业软件和大的游戏只能各装各的(一般说来是那些需要频繁处理大量数据或者需要占用很多内存空间(甚至会超出 4G 内存空间)的程序。)!
参考:http://bbs.cfanclub.net/thread-709716-1-1.html
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位系统下有一个程序文件夹 Program Files (x86) 就是用来存放32位程序的。绝大多数程序运行在64位系统下是没有问题的。
只有专业软件和大的游戏只能各装各的(一般说来是那些需要频繁处理大量数据或者需要占用很多内存空间(甚至会超出 4G 内存空间)的程序。)!
参考:http://bbs.cfanclub.net/thread-709716-1-1.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询