新聞中心

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

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

        作者: 時間:2013-09-30 來源:網(wǎng)絡 收藏

        本文引用地址:http://www.104case.com/article/257009.htm

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

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

        任務1正在運行

        任務2正在運行

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

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

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

        ①保存執(zhí)行任務的上下文,并將執(zhí)行任務設置為睡眠態(tài);

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

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

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

        ⑤繼續(xù)執(zhí)行被恢復的任務。

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

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

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

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

        ④必須定義和使用一個活躍的域控制系統(tǒng)。

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

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



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

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

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 闽清县| 迭部县| 嘉祥县| 丹阳市| 崇阳县| 中江县| 开阳县| 儋州市| 资中县| 安福县| 赣州市| 读书| 乐亭县| 和硕县| 盐津县| 永修县| 曲麻莱县| 略阳县| 汤原县| 惠水县| 满洲里市| 惠州市| 二手房| 梁山县| 十堰市| 灵寿县| 敖汉旗| 屏南县| 广昌县| 比如县| 安宁市| 兰州市| 得荣县| 安化县| 乐至县| 沈丘县| 阿拉善右旗| 南漳县| 庄河市| 望谟县| 永城市|