<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          本文引用地址:http://www.ex-cimer.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ū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();