辨析:机器字长、存储字长、指令字长和操作系统位数 机器字长 > ### 是表示一个数据所需要的二进制代码位数 存储字长 是存储单元中的二进制代码位数,即一个存储单元中所包含的存储元个数 (通常情况下默认机器字长与存储字长相等) 指令字长 是指机器指令中二进制代码的总位数。指令字长取决于从操作码的长度、操作数地址的长度和操作数地址的个数 (指令字长一般都取存储字长的整数倍,如果指令字长等于存储字长的2倍,就需要2次访存来取出一条指令,因此取指周期是机器周期的2倍,若指令周期等于存储字长,则取指周期等于机器周期。) 操作系统位数 32位操作系统指的是编译时使用x86指令集,而64位操作系统使用的x64指令集具有对x86的兼容性,所以32位处理器的CPU是不可能装64位操作系统的,因为缺少64位指令集。
在windows上程序大多数是以exe形式发布的,得到的程序是目标文件以后的结果,本身是带有位数的。
软件编程实际是面向特定指令集编译的,经过指令解释器编译成为控制信号传给CPU。
操作系统和指令集是可以向下兼容的,这意味着只要满足硬件和软件兼容在64位操作系统上就可以运行32位应用程序(不能兼容32位的驱动)。 64位程序通常要比32位程序慢,因为64位指针比32位的大一倍。64位操作系统运算速度更快(处理器一次可以取64位数据),理论上比32位提高了一倍,能访问的内存更大。但是要在64位操作系统上运行64位软件才能发挥64位CPU的最佳性能,在64位操作系统上运行32位程序,会调用32位相关的运行库,环境和32位一致,所以和运行在32位操作系统上的性能相差不大。