⑴ 电脑程序32位和64位有什么区别
两个方面:指令和寄存器 所有程序都是有微指令构成,32位程序使用的是32位的微指令,64位的程序使用的是64位的微指令。32位微指令和64位微指令的区别在于指令长度,32位的是32bit,64位的是64bit(1bit就是一个0或1位)。 微指令=操作符+操作地址,32位微指令的地址长度为20位,实模式寻址大小为1M,在V86,也就是保护模式下寻址长度为4G,即20+20-8=32,2^32。所以32位程序在实模式下寻址能力是1M,保护模式下是4G。 同时,注意到保护模式下,寻址方式是段加偏移方式,也就是实际地址不是存储在一个寄存器或者同时存储在一个寄存器里面。说白了,就是实模式下寻址速度比保护模式下快。 64位的微指令中,地址线占48位,在实模式下寻址大小是256T(2^48)。保护模式下。。。几乎可以不需要了。 其次是操作符部分,32位的微程序为12位,只能表示4096种操作,如数值运算,移位操作,数据传送等操作,64位的微程序为16位,能表示的操作更多。 最后是寄存器,不是CPU的L2,也不是内存或者硬盘之类的便宜货,这里说的是L1,64位CPU中新增加了几个寄存器,同时将32位CPU的寄存器从32位扩展到64位;但是32位的微指令不能访问新增加的寄存器,同时在原有寄存器的基础上也只能使用其中的32位,而不能使用完整的64位。 从上面可以看出,64位程序的优点在于可以使用更多的高速存储寄存器,可以使用更快的寻址方式,可以使用更多的操作符(32位程序当中一些经常被使用的,比较复杂的操作,可以使用一个操作来代替)。从而使64位的程序可以运行的更快。 但是目前对于64位程序的认识仅在于可以使用更多的存储空间。