第三節(jié):地址線(xiàn)和總線(xiàn)
我們把DRAM中的每個(gè)字節(jié)的唯一
數(shù)值標(biāo)識(shí)稱(chēng)之為地址,就像街區(qū)中的房屋一樣。地址是一個(gè)整型值。內(nèi)存中的第一個(gè)字節(jié)的地址為0。靠近0地址的內(nèi)存區(qū)域稱(chēng)之為內(nèi)存底端或者低位內(nèi)存。靠近內(nèi)
存末端的內(nèi)存區(qū)域稱(chēng)之為高位內(nèi)存。處理器的對(duì)物理內(nèi)存的尋址能力,稱(chēng)之為處理器的物理地址空間。(見(jiàn)圖1.3)
圖1-3
處理器的物理地址空間表明了最大的可尋址字節(jié)數(shù),而不是當(dāng)前的實(shí)際物理內(nèi)存的字節(jié)數(shù)。人們通常不愿意花錢(qián)購(gòu)買(mǎi)填充滿(mǎn)整個(gè)地址空間數(shù)量的內(nèi)存DRAM芯片。購(gòu)買(mǎi)4GB的DRAM目前還只是在高端企業(yè)級(jí)服務(wù)器上。
處理器的物理地址空間由處理器的地址線(xiàn)數(shù)量
決定。地址線(xiàn)是一批處理器和DRAM芯片連接的導(dǎo)線(xiàn)。每條地址線(xiàn)指定給定字節(jié)的一個(gè)地址位。例如Intel
Pentium處理器有32條地址線(xiàn)。這意味著每個(gè)字節(jié)賦予了一個(gè)32位的地址,于是它的地址空間構(gòu)成了的可尋址空間232(4GB)。8088處理器具
有20條地址線(xiàn),所以它的尋址能力為 220, 或者 1,048,576, 字節(jié).
注釋:如
果在Pentium4的平臺(tái)上啟用了虛擬內(nèi)存,有一個(gè)稱(chēng)之為物理地址擴(kuò)展(Physical Address Extension
)(PAE)的技術(shù)可以再啟用4條附加的地址線(xiàn)。這樣一來(lái)Pentium處理器的處理地址空間由36條地址線(xiàn)指定,變?yōu)?36 bytes
(64GB)的地址空間。
處理器使用一個(gè)控制總線(xiàn)和數(shù)據(jù)總線(xiàn),實(shí)現(xiàn)對(duì)物理內(nèi)存的訪(fǎng)問(wèn)和擴(kuò)展。總線(xiàn)是指一系列將處理器與相關(guān)硬件子系統(tǒng)連接的線(xiàn)路集合。控制總線(xiàn)是用來(lái)當(dāng)處理器想對(duì)內(nèi)存進(jìn)行讀寫(xiě)操作時(shí)候發(fā)送相應(yīng)狀態(tài)的。數(shù)據(jù)總線(xiàn)用來(lái)在處理器和內(nèi)存之間進(jìn)行數(shù)據(jù)傳輸?shù)耐ǖ馈#ㄈ鐖D1.4)
圖1.4
當(dāng)處理器從內(nèi)存讀取的時(shí)候,將執(zhí)行以下的過(guò)程:
1.處理器將欲讀取的字節(jié)的地址放置到地址線(xiàn)上。
2.處理器向控制總線(xiàn)出發(fā)讀取信號(hào)。
3.DRAM芯片組從數(shù)據(jù)總線(xiàn)返回指定的字節(jié)。
當(dāng)處理器向內(nèi)存寫(xiě)入的時(shí)候,將執(zhí)行以下的過(guò)程:
1.處理器將欲寫(xiě)入的字節(jié)的地址放置到地址線(xiàn)上。
2.處理器向控制總線(xiàn)發(fā)送寫(xiě)入信號(hào)。
3.處理器向數(shù)據(jù)總線(xiàn)發(fā)送欲向內(nèi)存寫(xiě)入的字節(jié)。
這樣的描述方式有些過(guò)于簡(jiǎn)單。例
如,Pentium處理器同時(shí)讀取和寫(xiě)入4字節(jié)的數(shù)據(jù)。這便是為什么Pentium被稱(chēng)為32位處理器芯片的原因。處理器使用首字節(jié)地址用于記錄32位的
數(shù)據(jù)實(shí)際數(shù)據(jù)負(fù)載。(例如:最低端的字節(jié)地址)然而我認(rèn)為一般的操作還是非常容易理解的。