在我們的Windows XP、Vista、Win7中,安裝4GB內存后,顯示出來的只有3.25GB左右甚至更少,有800多MB的內存“無緣無故”地消失了,這讓人感覺十分費解,那么究竟是誰限制了4GB內存的使用呢?我們下面就一一排查一下與內存息息相關的部件——CPU、內存控制器、BIOS和操作系統。
首先從CPU說起。從386時代開始,CPU的地址總線就是32位的,可以訪問4GB的地址代碼。而從奔騰2到奔騰4開始,理論上已經可以訪問64GB的地址編碼。后來支持64位架構的奔騰4到現在的酷睿2,地址總線已經升級到64位,64位地址總線可以訪問千億GB的地址編碼。實際上用不到這么多的地址總線,一般用42位足夠了,可以編碼的地址量有4TB,所以現在的CPU支持4GB內存是沒有問題的。
下面是內存控制器。與主板安裝的內存直接關聯的是內存控制器。內存控制器一邊管理內存,一邊通過地址總線與CPU通信。內存控制器的地址總線決定了可以支持的內存地址編碼數量,同時內存控制器的實際連接內存的地址線決定了可以支持的內存容量。目前內存控制器基本都集成在CPU里面,而CPU采用的都是64位架構,所以內存控制器的地址總線是64位架構的,即便使用40位,可以支持1000GB的地址編碼。所以,內存控制器支持4GB內存也是沒有問題的。
BIOS,早在之前Intel和AMD就像BIOS研發機構提出了解決內存地址不夠的問題,并提出“映射”方式,隨后AMI等廠商就開發出相應的BIOS。早期的BIOS里面會顯示出“映射”選項,用戶可以開啟或關閉。現在已經是默認開啟,不再顯示這項設置。所以可以說,對于現在的BIOS來講,在支持4GB內存方面是沒問題的。
前三者的罪名都已經洗清,那么剩下的只能是操作系統了。操作系統在管理和使用物理內存時也必須有一個邏輯(虛擬)地址系統,與主板上的所有存儲地址(包括內存的、I/O設備的、BIOS的)對應,也有類似“地址總線”的結構。32位操作系統是按32位地址總線設計,32位的地址寄存器,因此只能管理4GB的地址,去掉系統占用的,也不能完全使用全部4GB內存。而換成64位操作系統后,則可以完全識別4GB內存。
我們可以看出,現在的主板芯片組或內存控制器已經不再是吞食我們內存的主要原因。而罪魁禍首則是出在我們使用的32位操作系統上。 本文出自:億恩科技【www.vbseamall.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|