32位機器和64位機器的區別

前言

64位系統和32位系統首先涉及到提取數據的能力,64位系統肯定比32位系統提取數據的能力強一倍
但是這只是建立在64位操作系統的64位軟件上。
進程的64位和32位和編譯器有關係,而不是和操作系統有絕對關係

64位系統和32位的尋址能力的比較

1.64位CPU擁有更大的尋址能力,最大支持到16GB內存(瞭解64位系統支持多少內存,看下面介紹),而32bit只支持4G內存

64位系統和32位的提取數據能力比較

2.64位cpu一次性可以提取64位數據,比32位提高了一倍,理論上性能會提升一倍。
但這是建立在64位操作系統和64位軟件的基礎上的。

什麼是64位處理器?

64位處理器實際上一次處理數據的能力是64位,和8,16,32位比較,都是一次處理數據的能力更加打,之所以很少聽過128位,是因爲目前的計數暫時無法制造這麼複雜的芯片

64位系統和32位的進程中指針一個是4字節一個是8字節

(1)在一個運行在64位的進程和32位的進程比較,它們的指針一個是4字節,一個是8字節
32位的機器的尋址能力2的32次方,也就是是4個G,64位的機器的尋址能力理論是2的64次方,肯定大於8個G。
(2)一個進程也有64位進程和32位進程之分,雖然對於進程而言它們使用的是虛擬內存。
(3)但是對於32位進程而言,它認爲自己有4個G的空間,當然在硬件上確實是可以做到的
(4)對於64位進程而言,它認爲自己有大於8個G的內存,甚至更加多,但是硬件上目前民用支持最多16個G的內存,再大的內存也沒必要。
(5)指針的大小實際上是和最大的尋址能力有關的,對於32位的進程而言,它最大的內存有4G,爲了訪問到這四個4G的內存,它的尋址能力必須是32位的,也就是它的指針必須是4個字節的
對於64位的進程也一樣,它的最大的內存有2的64次方個比特位,這是相當大的一個內存,雖然硬件上是沒有辦法滿足這麼大的內存,但是指針必須是8個字節,因爲進程中的地址是虛擬的,即使實際上沒有這麼大,進程也可以認爲它有這麼大。
注意:
之所以要和進程扯上關係,是因爲進程中的地址是虛擬地址,即使實際內存只有1個G,一個32位的進程依然可以認爲自己有4個G的內存,因爲進程在使用自己的虛擬內存時並不是全部使用,而是可能只使用一小部分,所以我們只要把進程使用的部分與物理地址建立映射,其他沒有使用的虛擬內存不需要管,進程依然正常使用內存,它不會意識到實際物理內存不夠用,爲它沒有使用這麼多。
對於64爲進程而言也是一樣的道理,雖然對於64爲進程它認爲自己的內存是很大很大的,但是實際上因爲有虛擬內存機制的存在,即使實際內存沒有這麼大,也沒事
總結:
指針爲4個字節和8個字節和進程是多少位進程有關,因爲指針指向的是虛擬內存。

64位系統最大支持多少內存

32位:系統能夠識別的內存最大在3.25-3.5GB左右,也就是說4GB的內存條有0.5GB左右用不了。2GB內存條或者2GB+1GB內存條用32位系統絲毫沒有影響。

64位:對於64位系統的Windows 7,最大內存支持就要視不同的系統版本而定了。比如,Windows 7 Home Basic 64位最大僅支持8GB內存、Home Premium爲192GB,此外,高端的Enterprise、Ultimate等則支持支持192GB的最大內存。

64位操作系統的尋址空間就是2的64次方。計算出來是18446744073709551616字節,當然這只是理論值,實際中不可能用到這麼大的內存,目前64位windows系統最大隻支持128G。而當前主流主板只能加到16G。

所以綜上所述:
64位系統最大支持192G的內存容量,但是受到當前主流民用主板技術的影響,只能加到16G的內存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章