系統控制協處理器CP15

2021-07-11 08:35:31 字數 943 閱讀 7836

在基於arm的嵌入式應用系統中,儲存系統通常是通過系統控制協處理器cp15完成的。cp15包含16個32位的暫存器,其編號為0~15。

mcrarm暫存器到協處理器暫存器的資料傳送

mrc協處理器暫存器到arm暫存器的資料傳送

注意:mcr指令和mrc指令只能在處理器模式為系統模式時執行,在使用者模式下執行mcr指令和mrc指令將會觸發未定義指令的異常中斷。

mcr指令將arm處理器的暫存器中的資料傳送到協處理器暫存器中。如果協處理器不能成功地執行該操作,將產生未定義的指令異常中斷。

指令語法格式:

mcr ,,,,
mcr p15,0,,,
其中:

為指令執行的條件碼。當cond忽略時指令為無條件執行。

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

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

作為目標暫存器的協處理器暫存器,其編號可能是c0,c1,…,c15。

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

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

指令語法格式:

mrc ,,,,
mrc p15,0,,,
注:更詳細內容可讀

協處理器CP15

在基於arm的嵌入式應用系統中,儲存系統通常是通過系統控制協處理器cp15完成的。arm處理器使用協處理器15 cp15 的暫存器來控制cache tcm和儲存器管理。cp15包含16個32位的暫存器,其編號為0 15。mcr arm暫存器到協處理器暫存器的資料傳送 mrc 協處理器暫存器到arm暫...

協處理器CP15操作指令

mcr mrc mrc用於讀取cp15中的暫存器 mcr用於寫入cp15中的暫存器 協處理器 被主cpu呼叫,協助主cpu實現某種功能 arm設計支援多達16個協處理器,但是一般soc只實現其中的cp15 協處理器和mmu cache tlb等處理有關,功能上和作業系統的虛擬位址對映 cache管理...

協處理器CP15操作指令

mcr mrc mrc用於讀取cp15中的暫存器 mcr用於寫入cp15中的暫存器 協處理器 被主cpu呼叫,協助主cpu實現某種功能 arm設計支援多達16個協處理器,但是一般soc只實現其中的cp15 協處理器和mmu cache tlb等處理有關,功能上和作業系統的虛擬位址對映 cache管理...