3、存儲(chǔ)管理單元(MMU)
MMU 在CPU 和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換,將地址從邏輯空間映射到物理空間,這個(gè)過(guò)程稱為內(nèi)存映
射。
MMU 主要完成下面的工作:
A. 虛擬存儲(chǔ)空間到物理空間的映射。
B. 存儲(chǔ)器訪問(wèn)權(quán)限的控制。
C. 設(shè)置虛擬存儲(chǔ)空間的緩沖特性。
嵌入式系統(tǒng)中常常采用頁(yè)式存儲(chǔ)管理。為了管理這些頁(yè)引入了頁(yè)表的概念。
頁(yè)表是位于內(nèi)存中的表,它的每一行對(duì)應(yīng)虛擬存儲(chǔ)空間的一個(gè)頁(yè),該行包含了該虛擬內(nèi)存頁(yè)對(duì)應(yīng)的物
理內(nèi)存頁(yè)的地址、該頁(yè)的訪問(wèn)權(quán)限和該頁(yè)的緩沖特性等。
從虛擬地址到物理地址的變換過(guò)程就是查詢頁(yè)表的過(guò)程。
由于頁(yè)表存儲(chǔ)在內(nèi)存中的,整個(gè)查詢過(guò)程需要付出很大的代價(jià)。根據(jù)程序局部性的特點(diǎn),增加了一個(gè)
小容量、高速度的存儲(chǔ)部件來(lái)存放當(dāng)前訪問(wèn)需要的地址變換條目,這個(gè)存儲(chǔ)部件稱為:地址轉(zhuǎn)換后備緩沖
器(TLB)。
當(dāng)CPU 訪問(wèn)內(nèi)存時(shí),首先在TLB 中查找需要的地址變換條目,如果該條目不存在,CPU 再?gòu)膬?nèi)存中的
頁(yè)表中查詢,并把相應(yīng)的結(jié)果添加到TLB 中,更新它的內(nèi)容。
嵌入式系統(tǒng)中虛擬存儲(chǔ)空間到物理空間的映射以內(nèi)存塊為單位進(jìn)行。即虛擬存儲(chǔ)空間中一塊連續(xù)的存
儲(chǔ)空間被映射到物理存儲(chǔ)空間中同樣大小的一塊連續(xù)存儲(chǔ)空間。
在頁(yè)表和TLB 中,每一個(gè)地址變換條目實(shí)際上記錄了一個(gè)虛擬存儲(chǔ)空間的內(nèi)存塊的基地址與物理存儲(chǔ)
空間相對(duì)應(yīng)的一個(gè)內(nèi)存塊的基地址之間的對(duì)應(yīng)關(guān)系。
在MMU 中實(shí)現(xiàn)虛擬地址到物理地址的映射是通過(guò)兩級(jí)頁(yè)表來(lái)實(shí)現(xiàn)的。
禁止MMU 時(shí),所有物理地址和虛擬地址相等,即使用平板存儲(chǔ)模式。
相關(guān)推薦:軟考嵌入式系統(tǒng)設(shè)計(jì)歷年真題匯總(2007-2010)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |