⑴ 電腦程序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位程序的認識僅在於可以使用更多的存儲空間。