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