久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

4G內(nèi)存與CPU,,BIOS和操作系統(tǒng)之間牽絆

 HaoTia(n) 2011-01-04

4G內(nèi)存與CPU,,BIOS和操作系統(tǒng)之間牽絆因為內(nèi)存價格的持續(xù)走低,,目前各大內(nèi)存廠商相繼推出了單條2GB的DDR2 800內(nèi)存,這些內(nèi)存給人最大的感覺就是價格便宜量又足,。很多用戶就直接買了兩條2GB的內(nèi)存,,想組成雙通道使用??赡没丶乙豢?,原本4GB的內(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位地址總線設計,。32位地址總線可以支持的內(nèi)存地址代碼是 4096MB,也就是有4GB的地址代碼,,可以編4GB個地址,。這4GB個地址碼正好可以分配給4GB內(nèi)存,。但是,,這4GB個地址碼不能全部分配給安裝在主板上的物理內(nèi)存。因為個人電腦還有很多設備需要地址代碼,,以便CPU可以根據(jù)地址碼找到它們,,同時CPU和這些設備交換數(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)是默認開啟,,不再顯示這項設置。所以可以說,,對于現(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)的顯示設備和I/O設備。電腦的迅速發(fā)展很快突破640KB內(nèi)存達到并超過1MB,。但是640KB下面這一段地址分配不能改變,,因為CPU,、DOS操作系統(tǒng)都是從640KB讀取BIOS通過640KB下面的顯示設備寄存地址,,I/O設備寄存地址與顯示設備、I/O設備通信,、交換數(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ī)則。

奔騰Ⅱ時代,,SDRAM內(nèi)存容量達到128MB,。那時候的地址總線是32位,最大地址空間是4GB,,這時32位X86架構(gòu)已經(jīng)完全形成,。除保留以前的內(nèi)存地址分配規(guī)則外,還要把 BIOS地址映射到地址空間的頂端——4GB,。一直到815時代的DDR內(nèi)存,,915時代的DDR2內(nèi)存。真正使用的內(nèi)存單條最大容量為512MB,,系統(tǒng)使用的內(nèi)存不會超過2GB,。所以4GB內(nèi)存問題沒有顯現(xiàn)。

945時代時1GB的DDR2內(nèi)存出現(xiàn)后,,內(nèi)存控制器的設計者們開始考慮主板安裝4GB的內(nèi)存條,。但當時很少有用戶使用4GB內(nèi)存,4GB內(nèi)存問題依然沒有凸現(xiàn),。

其實,,Intel在915時期就提出要解決32位X86架構(gòu)硬件支持4GB內(nèi)存的問題。到P965正式解決時,解決方案還是“內(nèi)存地址映射”,。這個方案不是新想出來的,,在32位X86架構(gòu)的服務器系統(tǒng)早已經(jīng)采用,只是被移植到個人電腦上來,。

從64GB的地址空間頂部開始,,映射PCI設備的I/O地址,然后映射系統(tǒng)占用的3GB到4GB的地址,。把3GB到4GB的這段地址代碼留給安裝在主板上的物理內(nèi)存,,就可以使用安裝的全部內(nèi)存了。

為什么必須要采用“映射”的辦法,?因為內(nèi)存的編址必須是連續(xù)的,,不能斷開。而系統(tǒng)的地址空間(也叫邏輯地址)是可以不連續(xù)的,。就像我們給街道兩邊的房屋號碼牌一樣,,編制方案(相當于邏輯地址)可以規(guī)劃很大,可以分割,。給到這一條街房屋的號碼牌必須是連續(xù)的,,這是真實的地址,以便于人們按地址尋找房屋,。

當然這種“映射”工作還是由BIOS完成,。要支持4GB內(nèi)存,還必須要BIOS支持,。

通過內(nèi)存地址重映射把系統(tǒng)占用的4GB地址還給物理內(nèi)存,,是32位X86架構(gòu)的規(guī)則。AMD也要采用這個規(guī)則,,雖然它的內(nèi)存控制器集成在CPU 內(nèi),。也正是由于內(nèi)存控制器集成在CPU內(nèi),北橋不再含有內(nèi)存控制器,。主板廠家開發(fā)AMD平臺主板時,,會依據(jù)市場定位設計主板支持的內(nèi)存容量。有支持2GB 的,,也有支持4GB,、8GB或更多。所以AMD平臺的4GB問題還要看主板,。

操作系統(tǒng)才是“罪魁禍首” ,。

操作系統(tǒng)管理和使用物理內(nèi)存,因此在操作系統(tǒng)內(nèi)也必須有一個邏輯(虛擬)地址系統(tǒng),,與主板上的所有存儲地址(包括內(nèi)存的,、I/O設備的,、BIOS的)對應,也有類似“地址總線”的結(jié)構(gòu),。32位操作系統(tǒng)是按32位地址總線設計,,32位的地址寄存器,,因此只能管理4GB的地址,,去掉系統(tǒng)占用的,也不能完全使用全部4GB內(nèi)存,。個人電腦的32位操作系統(tǒng)都不能支持4GB內(nèi)存,,即使是Vista 32 SP1也不能。Vista 32 SP1比XP 32 SP3進步一點的是在系統(tǒng)屬性里面可以顯示實際安裝多少內(nèi),。

32位的Vista SP1已經(jīng)能順利識別4GB內(nèi)存,、但在任務管理器可以看到系統(tǒng)真正使用的內(nèi)存不到4GB。

* 那么哪些操作系統(tǒng)可以支持并使用4GB內(nèi)存,?第一是64位操作系統(tǒng),,因為64位操作系統(tǒng)是按64位地址總線設計的。比如Windows XP 64,,Vista 64,。第二是具有物理地址擴展功能,并且地址寄存器大于32位的服務器操作系統(tǒng),,但有些具備物理地址擴展的服務器操作系統(tǒng),,由于地址寄存器限于32位也不能支持4GB。

最后:

我們可以看出,,現(xiàn)在的主板芯片組或內(nèi)存控制器已經(jīng)不再是吞食我們內(nèi)存的主要原因,。而罪魁禍首則是出在我們使用的32位操作系統(tǒng)上。雖然現(xiàn)在的Vista SP1已經(jīng)能識別到完整的4GB內(nèi)存,,但實際使用的內(nèi)存還是和以前的那3GB左右的沒區(qū)別,。所以現(xiàn)在來談4GB內(nèi)存的普及依然為時過早。另一方面,,有的內(nèi)存廠商為了避免出現(xiàn)內(nèi)存浪費的情況發(fā)生,,推出了三條1GB內(nèi)存的組合套裝,這也是相當貼心的一個設計,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多