【文章內(nèi)容簡(jiǎn)介】
2 3 4時(shí) 間設(shè) 備 1設(shè) 備 229 總線結(jié)構(gòu) Ⅱ ? C P U設(shè) 備 1 設(shè) 備 2存 儲(chǔ) 器C l o c kR / W ’A d d r e s sD a t a r e a d y ’D a t a30 總線結(jié)構(gòu) Ⅲ 3. 總線的時(shí)序圖 讀 過(guò) 程 寫(xiě) 過(guò) 程C l o c kR / W ’啟 用 A d d r e s sA d d r e s sD a t a r e a d yD a t a31 總線結(jié)構(gòu) Ⅳ 4.直接內(nèi)存訪問(wèn)( DMA) C P U存 儲(chǔ) 器D M A 控 制 器設(shè) 備總 線 請(qǐng) 求總 線 授 權(quán)C l o c kR / W ’A d d r e s sD a t aD a t a r e a d y ’32 總線結(jié)構(gòu) Ⅴ 5.系統(tǒng)總線配置 多總線系統(tǒng) C P U高 速 設(shè) 備 存 儲(chǔ) 器低 速 設(shè) 備總 線橋低 速 設(shè) 備高 速 總 線 低 速 總 線33 ARM存儲(chǔ)數(shù)據(jù)類(lèi)型 ARM處理器支持以下六種數(shù)據(jù)類(lèi)型: ? 8位有符號(hào)和無(wú)符號(hào)字節(jié) 。 ? 16位有符號(hào)和無(wú)符號(hào)半字 , 以 2字節(jié)的邊界對(duì)齊 。 ? 32位有符號(hào)和無(wú)符號(hào)字 , 以 4字節(jié)的邊界對(duì)齊 。 34 ARM存儲(chǔ)格式 字 節(jié) 單 元 A字 節(jié) 單 元 A + 1 字 節(jié) 單 元 A + 2 字 節(jié) 單 元 A + 3半 字 單 元 A 半 字 單 元 A + 2字 單 元 A3 1 2 4 2 3 1 6 1 5 8 7 0 大端存儲(chǔ)模式 字 節(jié) 單 元 A字 節(jié) 單 元 A + 1字 節(jié) 單 元 A + 2字 節(jié) 單 元 A + 3半 字 單 元 A半 字 單 元 A + 2字 單 元 A3 1 2 4 2 3 1 6 1 5 8 7 0小端存儲(chǔ)模式(缺?。? 35 存儲(chǔ)器接口 Ⅰ : ? 空閑周期 ? 非順序周期 ? 順序周期 ? 協(xié)處理器寄存器傳送周期 36 存儲(chǔ)器接口 Ⅱ 4類(lèi) (以 ARM7TDMI為例說(shuō)明 ): ? 時(shí)鐘和時(shí)鐘控制信號(hào): MCLK、 ECLK、 nRESET、 nWAIT。 ? 地址類(lèi)信號(hào): A[31..0]、 nRW、 MAS[1..0]、 nOPC、nTRANS、 LOCK、 TBIT。 ? 存儲(chǔ)器請(qǐng)求信號(hào): nMREQ、 SEQ。 ? 數(shù)據(jù)時(shí)序信號(hào): D[31..0]、 DIN[31..0]、 DOUT[31..0]、ABORT、 BL[3..0]。 37 存儲(chǔ)器接口 Ⅲ 3. ARM的總線接口可以實(shí)現(xiàn) 4種不同類(lèi)型的總線周期 。 n M R E Q S E Q 總 線 周 期 類(lèi) 型 說(shuō) 明01100101N 周 期S 周 期I 周 期C 周 期非 順 序 周 期順 序 周 期內(nèi) 部 周 期協(xié) 處 理 器 寄 存 器 傳 送 周 期38 高速緩沖存儲(chǔ)器 Ⅰ : ? 統(tǒng)一 Cache VS 獨(dú)立的數(shù)據(jù) /程序 Cache ? 寫(xiě)通 cache VS 寫(xiě)回 cache ? 讀操作分配 cache VS 寫(xiě)操作分配 cache 39 高速緩沖存儲(chǔ)器 Ⅱ : 塊 號(hào) M 塊 內(nèi) 地 址 N主 存 c a c h e地 址 變 換塊 號(hào) m 塊 內(nèi) 地 址 nc a c h e 替 換策 略替 換 塊裝 入 塊主 存 儲(chǔ) 器未 命 中已 滿(mǎn)命 中未 滿(mǎn)虛 擬 地 址 ( 來(lái) 自 C P U )40 高速緩沖存儲(chǔ)器 Ⅲ : ? 全相聯(lián)地址映像和變換 ? 組相聯(lián)地址映像和變換 ? 直接映像和變換 41 高速緩沖存儲(chǔ)器 Ⅳ : ? 輪轉(zhuǎn)法 ? 隨機(jī)替換算法 42 存儲(chǔ)管理單元 MMUⅠ ARM系統(tǒng)中,存儲(chǔ)管理單元 MMU主要完成工作: ? 虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。在 ARM中采用了頁(yè)式虛擬存儲(chǔ)管理。 ? 存儲(chǔ)器訪問(wèn)權(quán)限的控制。 ? 設(shè)置虛擬存儲(chǔ)空間的緩沖的特性 。 43 存儲(chǔ)管理單元 MMU Ⅱ (1) ? 使能 MMU時(shí)存儲(chǔ)訪問(wèn)過(guò)程 : 訪 問(wèn) 權(quán) 限控 制 硬 件T L B頁(yè) 表 遍 歷 硬件 系 統(tǒng)A R MC a c h e與 W r i t eB u f f e rC a c h e 內(nèi) 容 獲取 硬 件 系 統(tǒng)主 存 儲(chǔ) 系 統(tǒng)虛 擬 地 址物 理 地 址C 、 B 位域 控 制 位訪 問(wèn) 控 制 位44 存儲(chǔ)管理單元 MMU Ⅱ (2) ? 禁止 MMU時(shí)存儲(chǔ)訪問(wèn)過(guò)程: ① 先要確定芯片是否支持 cache和 write buffer。 如果芯片規(guī)定當(dāng)禁止 MMU時(shí)禁止 cache和 write buffer, 則存儲(chǔ)訪問(wèn)將不考慮 C和 B控制位 。 如果芯片規(guī)定當(dāng)禁止 MMU時(shí)可以使能 cache和 write buffer, 則數(shù)據(jù)訪問(wèn)時(shí) ,C=0,B=0; 指令讀取時(shí) , 如果使用分開(kāi)的 TLB, 那么 C=1,如果使用統(tǒng)一的 TLB, 那么 C=0。 ② 存儲(chǔ)訪問(wèn)不進(jìn)行權(quán)限控制 , MMU也不會(huì)產(chǎn)生存儲(chǔ)訪問(wèn)中止信號(hào) 。 ③ 所有的物理地址和虛擬地址相等 , 即使用平板存儲(chǔ)模式 。 45 存儲(chǔ)管理單元 MMU Ⅲ (1) 3. MMU中的地址變換過(guò)程 :通過(guò)兩級(jí)頁(yè)表實(shí)現(xiàn)。