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