64位系統(tǒng)真的比32位系統(tǒng)快嗎?
網(wǎng)友解答: 之所以有64位操作系統(tǒng),并不是為了能比32位操作系統(tǒng)更快,而是為了可以同時(shí)處理更多數(shù)據(jù),正如很多人回答的那樣,64位系統(tǒng)理論上能支持2^64b的尋址空間,32位系統(tǒng)通常最多只
之所以有64位操作系統(tǒng),并不是為了能比32位操作系統(tǒng)更快,而是為了可以同時(shí)處理更多數(shù)據(jù),正如很多人回答的那樣,64位系統(tǒng)理論上能支持2^64b的尋址空間,32位系統(tǒng)通常最多只能支持2^32(也就是4GB)的空間。
一個(gè)操作系統(tǒng)快不快,取決的因素很多,假設(shè)其它條件一樣,一個(gè)是64位系統(tǒng)+64位處理器,另一個(gè)是32位系統(tǒng)+32位處理器,它們的速度取決于處理器的時(shí)鐘頻率和指令集。然而大家都知道,64位處理器是較新的,它本身的速度和指令集都比老舊的32位處理器更有優(yōu)勢,當(dāng)然,使用64位時(shí),單個(gè)寄存器可以保存兩倍的數(shù)據(jù),比如在寄存器中始終可以添加兩個(gè)32位數(shù)字而不會(huì)溢出,這允許一條加法指令比32位加法指令的結(jié)果稍微快一點(diǎn),但這個(gè)差距是在整個(gè)計(jì)算的操作過程中,是非常微不足道的。
64位系統(tǒng)最大的優(yōu)勢在于計(jì)算機(jī)可以處理更多的內(nèi)存,因此程序可以將數(shù)據(jù)保存在內(nèi)存中,而不是頻繁從緩慢的磁盤中讀取,這或許是大多數(shù)用戶看到延遲的地方,當(dāng)然前提是你的內(nèi)存要夠大,還有剛說過的處理器本身速度上的差異帶來的影響。
順便說下關(guān)于系統(tǒng)和內(nèi)存的常見的錯(cuò)誤。
其實(shí)32位處理器是可以使用4GB以上內(nèi)存的,比如Pentium Pro的處理器具有36位物理地址,它就具有64GB(2^36b=64GB)的尋址空間,Intel稱之為PAE。
Windows內(nèi)核也是支持PAE的,但微軟使用一種非常粗糙的方式來禁用消費(fèi)級版本的Windows中的PAE,我們可以修改Windows內(nèi)核以在Windows中啟用PAE,從而也能讓32位系統(tǒng)支持4GB以上內(nèi)存。
另外,32位Windows可以運(yùn)行16或32位程序,但64位Windows不能運(yùn)行16位程序,因此,如果需要運(yùn)行16位程序(特別是Windows 3.x或某些Windows 95程序),則必須使用32位Windows。還有就是32位的CPU就不能用于64位的Windows(因?yàn)镃PU一次只能處理32bit,而操作系統(tǒng)給你的指令是要處理64bit)。
網(wǎng)友解答:我看了幾個(gè)回答,回答得都不是那么正確。
目前64位CPU能運(yùn)行32位軟件是因?yàn)镃PU內(nèi)采用了兼容32位指令來實(shí)現(xiàn)的。這樣相當(dāng)于CPU中有兩套硬件,而對于相同晶體管數(shù)量和制程來比較的話,32位CPU必然比64位CPU快。
Intel曾經(jīng)非常激進(jìn)的認(rèn)為以后是64位的天下,從而推出了ia64的指令集,但是由于32位已經(jīng)出現(xiàn)了很長一段時(shí)間配的,非常多的軟件針對32位寫的。所以它敗給了AMD的兼容32位x86指令集的x86_64指令集。因?yàn)槭亲隽思嫒?,但是還是有一小部分軟件在安裝64位系統(tǒng)下不能兼容運(yùn)行。
當(dāng)然由于64位CPU配和64位系統(tǒng)后,能使用的內(nèi)存更多,所以用空間換時(shí)間的軟件設(shè)計(jì)方案也會(huì)更多,相比于內(nèi)存緊張的32位系統(tǒng),當(dāng)然會(huì)更快。