18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>ARM>存儲(chǔ)保護(hù)單元MPU分析

存儲(chǔ)保護(hù)單元MPU分析

2017-10-17 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

15.4 存儲(chǔ)保護(hù)單元MPU
  一些嵌入式系統(tǒng)使用多任務(wù)的操作和控制。這些系統(tǒng)必須提供一種機(jī)制來保證正在運(yùn)行的任務(wù)不破壞其他任務(wù)的操作。即要防止系統(tǒng)資源和其他一些任務(wù)不受非法訪問。要達(dá)到這一目的通常有軟件保護(hù)和硬件保護(hù)兩種途徑。這里軟件保護(hù)是指僅靠軟件來保護(hù)系統(tǒng)資源。系統(tǒng)中無保護(hù)硬件或硬件沒啟動(dòng)。在多任務(wù)的系統(tǒng)中,通常要運(yùn)行操作系統(tǒng)來達(dá)到任務(wù)間同步與通信。所以,這種軟件的資源保護(hù)通常由操作系統(tǒng)來完成。但這種通過軟件來協(xié)調(diào)任務(wù)運(yùn)行,保護(hù)系統(tǒng)資源的做法有時(shí)會(huì)出現(xiàn)一些不可避免的問題。如當(dāng)對一個(gè)通信用串口寄存器進(jìn)行操作時(shí),如果一個(gè)任務(wù)正在使用串口,則它沒有辦法來防止其他任務(wù)使用同一個(gè)串口。因此,若要成功使用該串口,則必須通過一個(gè)訪問該串口的系統(tǒng)調(diào)用來協(xié)調(diào)。使用這些調(diào)用任務(wù)的非授權(quán)訪問,很容易破壞經(jīng)過該串口的通信。因此資源的不合理使用也許是不可避免的。
  相反,受保護(hù)系統(tǒng)有專門的硬件來檢測和限制系統(tǒng)資源的訪問。它能保證資源的所有權(quán),任務(wù)需要遵守一組由操作環(huán)境定義的、由硬件維護(hù)的規(guī)則,在硬件級上授予監(jiān)視和控制資源程序的特殊權(quán)限。受保護(hù)系統(tǒng)主動(dòng)防止一個(gè)任務(wù)使用其他任務(wù)的資源。因此使用硬件主動(dòng)監(jiān)視系統(tǒng)比協(xié)調(diào)加強(qiáng)的軟件歷程,提供了更好的保護(hù)。
  ARM中配備的有效保護(hù)系統(tǒng)資源的硬件,有兩種:
  · MPU(Memory Protection Unit);
  · MMU(Memory Management Unit)。
  MMU是比MPU提供了功能更強(qiáng)大的內(nèi)存保護(hù)機(jī)制,MPU只提供了內(nèi)存區(qū)域保護(hù),而MMU是在此基礎(chǔ)上提供了虛擬地址映射技術(shù),而且在操作上,MMU要比MPU負(fù)責(zé)。本節(jié)主要討論帶MPU的處理器內(nèi)核,MMU將在下一節(jié)詳細(xì)介紹。
  15.4.1 保護(hù)域(Protection Regions)
  ARM處理器中的MPU使用“域(regions)”來對內(nèi)存單元進(jìn)行管理。域是與存儲(chǔ)空間相關(guān)聯(lián)的屬性,處理器核將這些數(shù)據(jù)保存在協(xié)處理器CP15的一些寄存器中。通常域的個(gè)數(shù)為8個(gè),編號為從0~7。
  域的大小和起始地址保存在CP15的寄存器c6中。大小可以是4KB~4GB的任何2的乘冪。域的起始地址必須是其大小的倍數(shù)。比如,一個(gè)定義為4KB的域其起始地址可以是0x12345000,而一個(gè)大小定義為8KB的域起始地址只能是0x2000的倍數(shù)。
  另外,操作系統(tǒng)可以為這些域分配更多的屬性:訪問權(quán)限、cache和寫緩存。存儲(chǔ)器基于當(dāng)時(shí)的處理器模式(管理模式或用戶模式)可以設(shè)定這些區(qū)域的訪問權(quán)限為讀/寫、只讀和不可訪問。
  當(dāng)處理器訪問主存的一個(gè)域時(shí),MPU比較該域的訪問權(quán)限屬性和當(dāng)時(shí)的處理器模式。如果請求符合域的訪問標(biāo)準(zhǔn),則MPU允許內(nèi)核讀/寫主存;如果存儲(chǔ)器請求不符號域的訪問標(biāo)準(zhǔn),將產(chǎn)生一個(gè)異常信號。
  異常信號被送到處理器核。處理器核執(zhí)行一個(gè)異常向量,然后跳轉(zhuǎn)到異常處理程序,異常處理程序判斷異常類型為預(yù)取指或數(shù)據(jù)中止,然后根據(jù)異常類型,跳轉(zhuǎn)到相應(yīng)的服務(wù)例程。
  對于ARM處理器,存儲(chǔ)空間的某一部分可以被分配給一個(gè)以上的區(qū)域。也就是說域可以重疊。在重疊的域內(nèi),可以設(shè)置域的優(yōu)先級。在分配訪問權(quán)限時(shí)重疊域比非重疊域有更大的靈活性。后面一節(jié)將會(huì)詳細(xì)介紹域的重疊。
  15.4.2 內(nèi)存訪問順序
  當(dāng)ARM處理器產(chǎn)生一個(gè)內(nèi)存訪問信號時(shí),內(nèi)存保護(hù)單位MPU將負(fù)責(zé)檢查要訪問的地址是否在被定義的域中。
 ?、?如果地址不在任何域中,存儲(chǔ)器產(chǎn)生異常。如果內(nèi)核預(yù)取指令則MPU產(chǎn)生預(yù)取中止異常;如果是存儲(chǔ)器數(shù)據(jù)請求,則產(chǎn)生數(shù)據(jù)中止異常。
 ?、?如果地址在多個(gè)域內(nèi),由MPU判斷域的有效級來決定存儲(chǔ)區(qū)域的訪問屬性。訪問屬性可以在CP15的寄存器中設(shè)定,可設(shè)定的位為C(Cache)、B(Buffer)、AP(Access Permission)。這些屬性的具體定義為:
  · C和B可以控制Cache和寫緩存屬性的Cache策略。例如,可以設(shè)置一個(gè)域使用回寫(write-back)策略訪問存儲(chǔ)器,而另一個(gè)域則以無Cache和無寫緩存方式訪問;
  · AP(access permission)決定域是否可以被訪問。如果在當(dāng)前處理器模式下,該域不能被訪問,MPU將產(chǎn)生一個(gè)存儲(chǔ)器訪問異常。
  圖15.16顯示了一個(gè)存儲(chǔ)器訪問過程。
  存儲(chǔ)保護(hù)單元MPU分析
  圖15.16 存儲(chǔ)器訪問過程
  15.4.3 使能MPU
  通過對協(xié)處理器CP15的寄存器c1中的bit[0]置1,可以使能存儲(chǔ)器保護(hù)單元MPU。在系統(tǒng)上電時(shí),默認(rèn)狀態(tài)是該位清零,所有保護(hù)域無效。
  在使能MPU之前,至少一個(gè)域要被設(shè)定,而且該域的屬性和訪問權(quán)限要預(yù)先設(shè)定好。
  注意在數(shù)據(jù)和指令域分離的系統(tǒng)中,如ARM940T,在指令和數(shù)據(jù)域中都要有一個(gè)有效域被預(yù)先設(shè)定好。
  另外,使能MPU的指令要設(shè)在有效的域中。如果在使能MPU之前,域的屬性和訪問權(quán)限沒有設(shè)定,那么系統(tǒng)的運(yùn)行結(jié)果將不可預(yù)知。
  當(dāng)MPU無效(將協(xié)處理器CP15寄存器r1的bit[0]置0)時(shí),整個(gè)內(nèi)存區(qū)域都被處理器視為無Cache、無寫緩存、無存儲(chǔ)保護(hù)狀態(tài)。
  15.4.4 重疊域
  域的定義在MPU的作用下可以重疊。當(dāng)重疊的域被訪問時(shí),MPU會(huì)判斷域的優(yōu)先權(quán),決定使用那個(gè)域的屬性來操作重疊域。
  域?qū)傩詢?yōu)先級的排列順序?yàn)椋河?的有效級最高,其次為域6,域0的優(yōu)先級最低。
  【例15.3】
  假設(shè)將一個(gè)從0x3000起始的4KB地址空間定義為域2,其訪問屬性AP定義為0b10(AP=0b10,特權(quán)模式讀/寫訪問,用戶模式只讀)。
  將起始地址為0x0的16KB地址空間定義為域1,其訪問屬性AP定義為0b01(AP=0b01,特權(quán)模式只讀)。
  系統(tǒng)域劃分如圖15.17所示。
  存儲(chǔ)保護(hù)單元MPU分析
  圖15.17 重疊域的訪問
  當(dāng)處理器在用戶模式下執(zhí)行Load指令,從0x3010地址取數(shù)據(jù)時(shí),0x3010地址既在域1中也在域2中,因?yàn)橛?的屬性優(yōu)先級高于域1,所有MPU執(zhí)行域2的訪問屬性從0x3010地址取數(shù)據(jù)。域2是用戶模式可讀,所以不會(huì)發(fā)生數(shù)據(jù)異常。
  在分配訪問權(quán)限時(shí)重疊區(qū)域比非重疊區(qū)域有更大的靈活性,它可以使內(nèi)存的某個(gè)特定聯(lián)系內(nèi)存單位在程序中擔(dān)任背景的作用,用來給一塊大存儲(chǔ)空間分配相同的屬性的低優(yōu)先級域。其他具有較高優(yōu)先級域的區(qū)域與該背景域某些部分重疊,用來改變已定義的背景域的較小子集的屬性。這樣,具有較高優(yōu)先級的域可以改變背景域?qū)傩缘淖蛹?。背景域可以用來保護(hù)一些睡眠狀態(tài)的存儲(chǔ)空間,使其不受非法訪問,而此時(shí)由另一個(gè)不同域控制下的背景域的其他部分可以處于活躍狀態(tài)。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DC電源插座圖紙
  2. 0.67 MB   |  2次下載  |  免費(fèi)
  3. 2AN158 GD32VW553 Wi-Fi開發(fā)指南
  4. 1.51MB   |  2次下載  |  免費(fèi)
  5. 3AN148 GD32VW553射頻硬件開發(fā)指南
  6. 2.07MB   |  1次下載  |  免費(fèi)
  7. 4AN111-LTC3219用戶指南
  8. 84.32KB   |  次下載  |  免費(fèi)
  9. 5AN153-用于電源系統(tǒng)管理的Linduino
  10. 1.38MB   |  次下載  |  免費(fèi)
  11. 6AN-283: Σ-Δ型ADC和DAC[中文版]
  12. 677.86KB   |  次下載  |  免費(fèi)
  13. 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
  14. 402.24 KB  |  次下載  |  免費(fèi)
  15. 8AN-1308: 電流檢測放大器共模階躍響應(yīng)
  16. 545.42KB   |  次下載  |  免費(fèi)

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  450次下載  |  免費(fèi)
  3. 2免費(fèi)開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  138次下載  |  1 積分
  5. 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
  6. 0.10 MB   |  130次下載  |  免費(fèi)
  7. 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
  8. 2.96 MB   |  44次下載  |  免費(fèi)
  9. 53314A函數(shù)發(fā)生器維修手冊
  10. 16.30 MB   |  31次下載  |  免費(fèi)
  11. 6美的電磁爐維修手冊大全
  12. 1.56 MB   |  24次下載  |  5 積分
  13. 7如何正確測試電源的紋波
  14. 0.36 MB   |  17次下載  |  免費(fèi)
  15. 8感應(yīng)筆電路圖
  16. 0.06 MB   |  10次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分