第三節(jié):地址線和總線
我們把DRAM中的每個字節(jié)的唯一 數(shù)值標(biāo)識稱之為地址,就像街區(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ù),而不是當(dāng)前的實(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)存,有一個稱之為物理地址擴(kuò)展(Physical Address Extension )(PAE)的技術(shù)可以再啟用4條附加的地址線。這樣一來Pentium處理器的處理地址空間由36條地址線指定,變?yōu)?36 bytes (64GB)的地址空間。
處理器使用一個控制總線和數(shù)據(jù)總線,實(shí)現(xiàn)對物理內(nèi)存的訪問和擴(kuò)展。總線是指一系列將處理器與相關(guān)硬件子系統(tǒng)連接的線路集合。控制總線是用來當(dāng)處理器想對內(nèi)存進(jìn)行讀寫操作時候發(fā)送相應(yīng)狀態(tài)的。數(shù)據(jù)總線用來在處理器和內(nèi)存之間進(jìn)行數(shù)據(jù)傳輸?shù)耐ǖ馈#ㄈ鐖D1.4)
圖1.4
當(dāng)處理器從內(nèi)存讀取的時候,將執(zhí)行以下的過程:
1.處理器將欲讀取的字節(jié)的地址放置到地址線上。
2.處理器向控制總線出發(fā)讀取信號。
3.DRAM芯片組從數(shù)據(jù)總線返回指定的字節(jié)。
當(dāng)處理器向內(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í)際數(shù)據(jù)負(fù)載。(例如:最低端的字節(jié)地址)然而我認(rèn)為一般的操作還是非常容易理解的。


