文件整理自arm system developer's guide
arm920t處理器包含了arm9tdmi核心,arm9tdmi實現了arm architecture v4t。
arm920t處理器包含兩個協處理器:
cp14。用於除錯
cp15。系統控制協處理器,提供附加的暫存器用來配置和控制cache,mmu,保護系統,時鐘模式,和arm920t其他的系統選項,如大小端操作。你可以使用mcr,mrc訪問定義在cp15中的暫存器。
cp15定義了16個暫存器,暫存器的對映圖如下:
注:暫存器位置0可以訪問兩個暫存器,通過opcode_2的值來確定。
arm920t存在3個位址。
只能在特權模式下使用mcr和mrc指令訪問cp15。這些指令的格式是:
mcr/mrc p15,
,rd,crn,crm,
指令cdp,ldc,stc和非特權模式的mrc,mcr指令操作cp15會導致未定義指令異常。mrc和mcr指令的crn域指定了要訪問的協處理暫存器。opcode_1,
和crm域應該是0,除非值被指定用來選擇需要的操作。
register 0,id code register
可以通過讀cp15 register 0,opcode_2域設定成除了1的任何值(在讀的時候crm應該為0)。如:
mrc p15,0,rd,c0,c0,0;return id register
cache type register 0
包含cache的大小和體系結構的資訊。可以通過設定
域為1,讀cp15 register 0來訪問cache type register。例如:
mrc p15,0,rd,c0,c0,1;returns cache details
dsize和isize域格式一樣:
register1,control register
這個暫存器包含了arm920t的控制位。
mrc p15,0,rd,c1,c0,0 ;read control register
mcr p15,0,rd,c1,c0,0;write control register
register 2,translation table base(ttb)register
這個是頁表基址暫存器。
使用下面的指令訪問ttb:
mrc p15,0,rd,c2,c0,0;read ttb register
mcr p15,0,rd,c2,c0,0;write ttb register
register 3,domain access control register
這個是讀寫域訪問控制暫存器。
mrc p15,0,rd,c3,c0,0;read domain 15:0 access permissions
mcr p15,0,rd,c3,c0,0;write domain 15:0 access permissions
register 4,reserved
register 5,fault status registers
register 6,fault address registers
register 7,cache operations register
register 8,tlb operations register
用來管理translation lookaside buffers(tlbs),指令tlb和資料tlb。
register 9,cache lockdown register
opcode_2=0x0 訪問的是dcache
opcode_2=0x1 訪問的是icache
regiter 10,tlb lockdown register
opcode_2=0x0 訪問的是d tlb
opcode_2=0x1 訪問的是i tlb
register 11,12,and 14,reserved
register 13,fcse pid register
是快速上下文切換擴充套件暫存器。
mrc p15,0,rd,c13,c0,0;read fcse_pid
mcr p15,0,rd,c13,c0,0; write fcse_pid
arm9tdmi發出的位址在0~32mb範圍內的被cp15的register 13轉換。位址a變成a+(fcse_pid×32mb)。fcse_pid是乙個7位的域,能夠使128×32mb的程序被對映。
register 15,test configuration register
ARM920T協處理器CP15
文件整理自arm system developer s guide arm920t處理器包含了arm9tdmi核心,arm9tdmi實現了arm architecture v4t。arm920t處理器包含兩個協處理器 cp14。用於除錯 cp15。系統控制協處理器,提供附加的暫存器用來配置和控制ca...
協處理器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管理...