1、什麼是協處理器
協處理器用於執行特定的處理任務,如:數學協處理器可以控制數字處理,以減輕處理器的負擔。ARM可支持多達16個協處理器,其中CP15是最重要的一個。
1.1 CP15作用
系統協控制處理器,提供額外的寄存器來配置和控制緩存、MMU、保護系統、時鐘模式等。可以訪問CP15的寄存器來控制系統。
CP15提供了16組寄存器:(以ARM9爲例)
1.2 協處理器的訪問
指令操作規則:
1)mcr:將通用寄存器的值移到協處理器
2)mrc:將協處理器的值移到通用寄存器
例如:讀取 ID code 的值(Main ID,可讀,表示處理器的類型)
mrc p15,0,Rd,c0,c0,0 (Rd表示通用寄存器)
驗證:(將協處理器CP15的 ID code寄存器讀取到r0寄存器,果然是0x41129200)