31 28 | 27 24 | 23 21 | 20 | 19 16 | 15 12 | 11 8 | 7 5 | 4 | 3 0 |
cond | 1 1 1 0 | opcode_1 | L | cr n | rd | 1 1 1 1 | opcode_2 | 1 | crm |
指 令 | 說 明 | 語法格式 |
mcr | 將ARM處理器的寄存器中的數據寫到CP15中的寄存器中 | mcr{<cond>} p15, <opcode_1>, <rd>, <crn>, <crm>, {<opcode_2>} |
mrc | 將CP15中的寄存器中的數據讀到ARM處理器的寄存器中 | mcr{<cond>} p15, <opcode_1>, <rd>, <crn>, <crm>, {<opcode_2>} |
寄存器編號 | 基本作用 | 在MMU中的作用 | 在PU中的作用 |
0 | ID編碼(只讀) | ID編碼和cache類型 | |
1 | 控制位(可讀寫) | 各種控制位 | |
2 | 存儲保護和控制 | 地址轉換表基地址 | Cachability的控制位 |
3 | 存儲保護和控制 | 域訪問控制位 | Bufferablity控制位 |
4 | 存儲保護和控制 | 保留 | 保留 |
5 | 存儲保護和控制 | 內存失效狀態 | 訪問權限控制位 |
6 | 存儲保護和控制 | 內存失效地址 | 保護區域控制 |
7 | 高速緩存和寫緩存 | 高速緩存和寫緩存控制 | |
8 | 存儲保護和控制 | TLB控制 | 保留 |
9 | 高速緩存和寫緩存 | 高速緩存鎖定 | |
10 | 存儲保護和控制 | TLB鎖定 | 保留 |
11 | 保留 | ||
12 | 保留 | ||
13 | 進程標識符 | 進程標識符 | |
14 | 保留 | ||
15 | 因不同設計而異 | 因不同設計而異 | 因不同設計而異 |
opcode_2編碼 | 對應的標識符號寄存器 |
0b000 | 主標識符寄存器 |
0b001 | cache類型標識符寄存器 |
其他 | 保留 |
31 24 23 20 19 16 15 4 3 0 | ||||
由生產商確定 | 產品子編號 | ARM體系版本號 | 產品主編號 | 處理器版本號 |
位 | 說 明 |
位[3: 0] | 生產商定義的處理器版本號 |
位[15: 4] | 生產商定義的產品主編號,其中最高4位即位[15:12]可能的取值為0~7但不能是0或7 |
位[19: 16] | ARM體系的版本號,可能的取值如下: 0x1 ARM體系版本4 0x2 ARM體系版本4T 0x3 ARM體系版本5 0x4 ARM體系版本5T 0x5 ARM體系版本5TE 其他 由ARM公司保留將來使用 |
位[23: 20] | 生產商定義的產品子編號,當產品主編號相同時,使用子編號來區分不同的產品子類,如產品中不同的高速緩存的大小等 |
位[31: 24] | 生產廠商的編號,現在已經定義的有以下值: 0x41 =A ARM公司 0x44 =D Digital Equipment公司 0x69 =I intel公司 |
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |