久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM存儲器之:存儲管理單元MMU

ARM存儲器之:存儲管理單元MMU

作者: 時間:2013-09-30 來源:網絡 收藏

本文引用地址:http://cqxgywz.com/article/257009.htm

(2)一個快速上下文切換的例子

圖15.39顯示了一個從任務1切換到任務2之前和之后的存儲器布局。

任務1正在運行

任務2正在運行

圖15.39快速上下文切換擴展例子

從圖中可以看出,任務1和任務2都運行在0x00000000~0x01ffffff的地址空間。從任務1切換到任務2域控制要做相應的改變。通過在CPU和之間加FCSE使系統的虛擬地址空間映射沒有改變,所以不需要清除(Flush)或清理(Clean)Cache或TLB。

使用FCSE時執行一次上下文切換需要的步驟:

①保存執行任務的上下文,并將執行任務設置為睡眠態;

②將喚醒任務的進程ID寫到CP15的寄存器c13中;

③通過寫CP15的寄存器c3,將當前任務的域設置為不可訪問,而喚醒任務的域設置為客戶訪問;

④恢復喚醒任務的上下文;

⑤繼續執行被恢復的任務。

下面是關于FCSE的一些提示。

①任務在大小上有固定的最大32MB的限制。

②存儲管理必須使用有固定起始地址(32MB的倍數)的固定32MB分區。

③除非想為每個任務管理一個異常向量表,否則使用CP15寄存器c1的V位將異常向量表放置在虛擬地址0xffff0000。

④必須定義和使用一個活躍的域控制系統。

⑤如果使用域來保護各個任務,則除非修改一級頁表中域的相應位,并在上下文切換時清除TLB,否則最多只能有16個并發任務。

存儲器相關文章:存儲器原理



上一頁 1 2 3 4 5 6 7 8 9 10 下一頁

關鍵詞: ARM 存儲管理單元 MMU

評論


相關推薦

技術專區

關閉