4G內(nèi)存與CPU,BIOS和操作系統(tǒng)之間牽絆因為內(nèi)存價格的持續(xù)走低,目前各大內(nèi)存廠商相繼推出了單條2GB的DDR2 800內(nèi)存,這些內(nèi)存給人最大的感覺就是價格便宜量又足。很多用戶就直接買了兩條2GB的內(nèi)存,想組成雙通道使用??赡没丶乙豢矗?GB的內(nèi)存容量被 識別出來的只有3.2GB左右。通過檢查,發(fā)現(xiàn)內(nèi)存本身并沒有問題。那又是什么吞食了你的內(nèi)存呢?這就是我們本期將要給大家說清楚的一個問題。 800MB內(nèi)存被吞食了?
大家或許會發(fā)現(xiàn)一種很奇怪的現(xiàn)象,在我們的Windows XP和Vista中,安裝4GB內(nèi)存后,顯示出來的只有3.2GB左右甚至更少,有800多MB的內(nèi)存“無緣無故”地消失了,這讓人感覺十分費解,主板和 操作系統(tǒng)之所以不能使用全部的4GB內(nèi)存,問題的根源就在于計算機那32位X86架構(gòu)。 32位X86架構(gòu)是指個人電腦的地址總線是32位的,CPU、內(nèi)存控制器、操作系統(tǒng)都是按32位地址總線設(shè)計。32位地址總線可以支持的內(nèi)存地址代碼是 4096MB,也就是有4GB的地址代碼,可以編4GB個地址。這4GB個地址碼正好可以分配給4GB內(nèi)存。但是,這4GB個地址碼不能全部分配給安裝在 主板上的物理內(nèi)存。因為個人電腦還有很多設(shè)備需要地址代碼,以便CPU可以根據(jù)地址碼找到它們,同時CPU和這些設(shè)備交換數(shù)據(jù)需要暫時存放數(shù)據(jù)的存儲器 ——寄存器,這些寄存器也需要地址代碼。比如硬盤控制器、軟驅(qū)控制器、管理插在PCI槽上的 PCI卡的PCI總線控制器,PCI-E總線控制器和PCI-E顯卡,它們都有寄存器都需要系統(tǒng)分配給它們地址代碼。這些地址由系統(tǒng)分配,電腦用戶在使用 中感覺不到。這樣一來,當我們?yōu)殡娔X插上總?cè)萘繛?GB的內(nèi)存時,就有一部分內(nèi)存分配不到地址代碼而不能使用。
要深入了解4GB內(nèi)存之謎,我們就得弄清楚各部件與4GB內(nèi)存關(guān)系,其中涉及到的部件有CPU、內(nèi)存控制器(Intel平臺集成在北橋,AMD平臺集成在CPU)和操作系統(tǒng)。
CPU、內(nèi)存控制器、BIOS:能支持4GB
CPU能支持4GB內(nèi)存
從386時代開始,CPU 的地址總線就是32位的,可以訪問4GB的地址代碼。從奔騰Ⅱ到奔騰Ⅳ,理論上已經(jīng)可以訪問64GB的地址編碼。后來支持 64位架構(gòu)的奔騰Ⅳ到現(xiàn)在的酷睿2,地址總線已經(jīng)升級到64位,64位地址總線可以訪問千億GB的地址編碼。實際上用不到這么多的地址總線,一般用42位 足夠了,可以編碼的地址量有4TB。兼容64位架構(gòu)的CPU用在32位系統(tǒng)時地址總線就縮小為36位。所以現(xiàn)在的CPU支持4GB內(nèi)存是沒有問題的。
內(nèi)存控制器的地址總線
與主板安裝的內(nèi)存直接關(guān)聯(lián)的是內(nèi)存控制器。內(nèi)存控制器一邊管理內(nèi)存,一邊通過地址總線與CPU通信。內(nèi)存控制器的地址總線決定了可以支持的內(nèi)存地址 編碼數(shù)量,同時內(nèi)存控制器的實際連接內(nèi)存的地址線決定了可以支持的內(nèi)存容量。Intel把內(nèi)存控制器放在北橋,AMD把內(nèi)存控制器放在CPU。所以要分開 介紹。
1、Intel的內(nèi)存控制器
由于Intel的內(nèi)存控制器放在北橋內(nèi),內(nèi)存控制器的改變就與北橋密切相關(guān)。從P965開始內(nèi)存控制器已經(jīng)是36位地址總線,可以編64GB的地址 代碼,除系統(tǒng)占用的地址碼,分配給主板安裝的4GB內(nèi)存綽綽有余。所以,從P965開始Intel的北橋支持4GB內(nèi)存是沒有問題的。
2、AMD的內(nèi)存控制器
AMD從支持64位架構(gòu)的CPU(Athlon64)開始把內(nèi)存控制器集成到CPU。內(nèi)存控制器的地址總線是64位架構(gòu)的,使用40位,可以支持1000GB的地址編碼。所以,AMD 從Athlon64開始,內(nèi)存控制器支持4GB內(nèi)存也是沒有問題的。
BIOS能支持4GB內(nèi)存 BIOS不是主板廠家自己開發(fā)的,BIOS版權(quán)控制在AMI等幾個公司。它們與Intel和AMD合作共同開發(fā)BIOS。所以當Intel和AMD提出 “映射”方式解決4GB內(nèi)存問題,AMI等廠商就會開發(fā)出相應的BIOS。早期的BIOS里面會顯示出“映射”選項,用戶可以開啟或關(guān)閉?,F(xiàn)在已經(jīng)是默認 開啟,不再顯示這項設(shè)置。所以可以說,對于現(xiàn)在的BIOS來講,在支持4GB內(nèi)存方面是沒問題的。
4GB內(nèi)存的“原罪”:X86架構(gòu)
CPU和內(nèi)存控制器從硬件上為使用4GB內(nèi)存提供了保障。但是還沒有解決4GB內(nèi)存的問題。障礙來自于個人電腦的體系標準——32位X86架構(gòu)。早 在 8086時代,內(nèi)存是焊接在主板上的,一般也就幾KB的內(nèi)存,IBM規(guī)定640KB的地址是最高端,這個地址分配給BIOS,接下來有一段地址分配給系統(tǒng) 的顯示設(shè)備和I/O設(shè)備。電腦的迅速發(fā)展很快突破640KB內(nèi)存達到并超過1MB。但是640KB下面這一段地址分配不能改變,因為CPU、DOS操作系 統(tǒng)都是從640KB讀取BIOS通過640KB下面的顯示設(shè)備寄存地址,I/O設(shè)備寄存地址與顯示設(shè)備、I/O設(shè)備通信、交換數(shù)據(jù)。如果更改,以前的所有 電腦都要作廢。所以必須尋找一個辦法,既不改變640KB地址分配,又可以使用640KB到1MB的內(nèi)存。那就是這種地址分配規(guī)則不變,采用“內(nèi)存地址映 射”技術(shù),把640KB到500多KB的這一段地址映射到640KB-1MB的空間里,映射工作由BIOS負責。操作系統(tǒng)則由兩條DOS命令 HIMEM.SYS和EMM386.SYS負責,熟悉DOS的用戶,都會知道這兩條命令。通過映射,就可以讓DOS軟件使用更多的內(nèi)存。內(nèi)存發(fā)展到 4MB,16MB,都是通過“內(nèi)存映射”技術(shù)解決。到現(xiàn)在,個人電腦只要兼容DOS,就必須遵守640KB這種地址內(nèi)存分配規(guī)則。
(責任編輯:武林網(wǎng))
新聞熱點
疑難解答