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