新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于ARM9中的協處理器CP15及MCR/MRC指令

        關于ARM9中的協處理器CP15及MCR/MRC指令

        作者: 時間:2016-11-10 來源:網絡 收藏
        在基于ARM的嵌入式應用系統中,存儲系統通常是通過系統控制協處理器CP15完成的。CP15包含16個32位的寄存器,其編號為0~15。

        訪問CP15寄存器的指令

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

        MCRARM寄存器到協處理器寄存器的數據傳送

        MRC協處理器寄存器到ARM寄存器的數據傳送

        MCR指令和MRC指令只能在處理器模式為系統模式時執行,在用戶模式下執行MCR指令和MRC指令將會觸發未定義指令的異常中斷。

        MCR指令

        MCR指令將ARM處理器的寄存器中的數據傳送到協處理器寄存器中。如果協處理器不能成功地執行該操作,將產生未定義的指令異常中斷。

        指令語法格式

        MCR{}

        ,< opcode_1>,,,{,}

        MCR{} p15,0,,,{,}

        其中,為指令執行的條件碼。當忽略時指令為無條件執行。

        < opcode_1>為協處理器將執行的操作的操作碼。對于CP15協處理器來說,< opcode_1>永遠為0b000,當< opcode_1>不為0b000時,該指令操作結果不可預知。

        作為源寄存器的ARM寄存器,其值將被傳送到協處理器寄存器中。

        作為目標寄存器的協處理器寄存器,其編號可能是C0,C1,…,C15。

        兩者組合決定對協處理器寄存器進行所需要的操作,如果沒有指定,則將為為C0,opcode_2為0,否則可能導致不可預知的結果。

        Function Data instruction Invalidate TLB(s) SBZ MCR p15,0,Rd,c8,c7,0 Invalidate I TLB SBZ MCR p15,0,Rd,c8,c5,0 Invalidate I TLB single entry (using MVA) MVA format MCR p15,0,Rd,c8,c5,1 Invalidate D TLB SBZ MCR p15,0,Rd,c8,c6,0 Invalidate D TLB single entry (using MVA) MVA format MCR p15,0,Rd,c8,c6,1



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 滨州市| 瓮安县| 宜城市| 胶州市| 丘北县| 比如县| 武乡县| 佛学| 开远市| 余姚市| 本溪| 渝中区| 安阳县| 屯留县| 武平县| 丹凤县| 正镶白旗| 东方市| 乐亭县| 微山县| 武汉市| 汶川县| 调兵山市| 禹城市| 十堰市| 柘城县| 泌阳县| 庆云县| 祁门县| 海门市| 闸北区| 建昌县| 平遥县| 太谷县| 沙坪坝区| 施秉县| 竹山县| 乌兰察布市| 张家港市| 文成县| 白朗县|