arm學習筆記六 協處理器

2022-08-18 04:18:13 字數 745 閱讀 7461

arm 協處理器

協處理器是一種晶元,減輕系統微處理器的某些任務

支援多達16個協處理器,例如cp15暫存器來控制cache和儲存器管理

協處理器操作指令

cdp:資料操作指令,初始化協處理器

ldc:資料載入指令,儲存器到協處理器暫存器的資料傳送

stc:資料儲存指令,協處理暫存器到儲存器的資料傳送

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

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

訪問cp15暫存器的指令編碼格式

31 28      27 24      23  21     20      19  16      15  12     11   8   

7  5      4       3  0

cond       1110      opcode_1     l       crn          rd        1111     

opcode_2   1     crm

opcode_1:協處理器行為操作碼,cp51永遠為0

rd:arm暫存器

crn:協處理器暫存器

crm:附加的協處理器或源運算元暫存器,不需要附加時設定為c0

opcode_2:提供附加資訊如暫存器版本號或訪問型別

示例**如下:

在arm1176jzfs文件中

mrc p15,0,,c0,c0,0 ;read main id register

ARM協處理器處理指令介紹

arm支援16個協處理器,在程式執行過程中,每個協處理器忽略屬於arm處理器和其他協處理器指令,當乙個協處理器硬體不能執行屬於她的協處理器指令時,就會產生乙個未定義的異常中斷,在異常中斷處理程式中,可以通過軟體模擬該硬體的操作,比如,如果系統不包含向量浮點運算器,則可以選擇浮點運算軟體模擬包來支援向...

ARM指令協處理器處理指令

arm支援16個協處理器,在程式執行過程中,每個協處理器忽略屬於arm處理器和其他協處理器指令,當乙個協處理器硬體不能執行屬於她的協處理器指令時,就會產生乙個未定義的異常中斷,在異常中斷處理程式中,可以通過軟體模擬該硬體的操作,比如,如果系統不包含向量浮點運算器,則可以選擇浮點運算軟體模擬包來支援向...

ARM指令協處理器處理指令

arm支援16個協處理器,在程式執行過程中,每個協處理器忽略屬於arm處理器和其他協處理器指令,當乙個協處理器硬體不能執行屬於她的協處理器指令時,就會產生乙個未定義的異常中斷,在異常中斷處理程式中,可以通過軟體模擬該硬體的操作,比如,如果系統不包含向量浮點運算器,則可以選擇浮點運算軟體模擬包來支援向...