• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM存儲(chǔ)器之:存儲(chǔ)管理單元MMU

    ARM存儲(chǔ)器之:存儲(chǔ)管理單元MMU

    作者: 時(shí)間:2013-09-30 來(lái)源:網(wǎng)絡(luò) 收藏

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

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

    圖15.39顯示了一個(gè)從任務(wù)1切換到任務(wù)2之前和之后的存儲(chǔ)器布局。

    任務(wù)1正在運(yùn)行

    任務(wù)2正在運(yùn)行

    圖15.39快速上下文切換擴(kuò)展例子

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

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

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

    ②將喚醒任務(wù)的進(jìn)程ID寫到CP15的寄存器c13中;

    ③通過(guò)寫CP15的寄存器c3,將當(dāng)前任務(wù)的域設(shè)置為不可訪問(wèn),而喚醒任務(wù)的域設(shè)置為客戶訪問(wèn);

    ④恢復(fù)喚醒任務(wù)的上下文;

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

    下面是關(guān)于FCSE的一些提示。

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

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

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

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

    ⑤如果使用域來(lái)保護(hù)各個(gè)任務(wù),則除非修改一級(jí)頁(yè)表中域的相應(yīng)位,并在上下文切換時(shí)清除TLB,否則最多只能有16個(gè)并發(fā)任務(wù)。

    存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理



    上一頁(yè) 1 2 3 4 5 6 7 8 9 10 下一頁(yè)

    關(guān)鍵詞: ARM 存儲(chǔ)管理單元 MMU

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 兰考县| 大渡口区| 英超| 双桥区| 三明市| 洞头县| 正安县| 浙江省| 遵义市| 宁南县| 平定县| 黑山县| 丰顺县| 荣成市| 扎鲁特旗| 贡嘎县| 甘肃省| 海兴县| 杨浦区| 曲沃县| 精河县| 宜黄县| 洛浦县| 普格县| 永年县| 琼海市| 平顺县| 河北省| 阿瓦提县| 七台河市| 泾源县| 简阳市| 南皮县| 张家界市| 茌平县| 安吉县| 宁陕县| 东乌珠穆沁旗| 荃湾区| 衡阳市| 昭觉县|