久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

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

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

訪問CP15寄存器的指令

本文引用地址:http://cqxgywz.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



評論


技術專區

關閉