新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM存儲(chǔ)器之:協(xié)處理器CP15

        ARM存儲(chǔ)器之:協(xié)處理器CP15

        作者: 時(shí)間:2013-09-30 來(lái)源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.104case.com/article/257013.htm

        15.1.2中的寄存器

        表15.1給出了主要寄存器的功能和作用。

        表15.1 寄存器

        寄存器編號(hào)

        基本作用

        特殊用途

        0

        ID編號(hào)(只讀)

        ID和Cache類型

        1

        控制位

        各種控制位

        2

        保護(hù)和控制

        MMU:地址轉(zhuǎn)換表基地址

        PU:Cache屬性設(shè)置

        3

        內(nèi)存保護(hù)和控制

        MMU:域訪問(wèn)控制

        PU:寫緩存控制

        4

        內(nèi)存保護(hù)和控制

        保留

        5

        內(nèi)存保護(hù)和控制

        MMU:錯(cuò)誤狀態(tài)

        PU:訪問(wèn)權(quán)限控制

        6

        內(nèi)存保護(hù)和控制

        MMU:錯(cuò)誤狀態(tài)

        PU:保護(hù)區(qū)域控制

        7

        Cache和寫緩存

        Cache和寫緩存控制

        8

        內(nèi)存保護(hù)和控制

        MMU:TLB控制

        PU:保留

        9

        Cache和寫緩存

        Cache鎖定

        續(xù)表

        寄存器編號(hào)

        基本作用

        特殊用途

        10

        內(nèi)存保護(hù)和控制

        MMU:TLB鎖定

        PU:保留

        11

        保留

        保留

        12

        保留

        保留

        13

        進(jìn)程ID

        進(jìn)程ID

        14

        保留

        保留

        15

        芯片生產(chǎn)廠商定義

        芯片生產(chǎn)廠商定義

        15.1.3寄存器c0

        寄存器c0包含的是本身或芯片生產(chǎn)廠商的一些標(biāo)識(shí)信息。當(dāng)使用MRC指令讀c0寄存器時(shí),根據(jù)第二個(gè)操作碼opcode2的不同,讀出的標(biāo)識(shí)符也是不同的。操作碼與標(biāo)識(shí)符的對(duì)應(yīng)關(guān)系如表15.2所示。寄存器c0是只讀寄存器,當(dāng)用MCR指令對(duì)其進(jìn)行寫操作時(shí),指令的執(zhí)行結(jié)果不可預(yù)知。

        表15.2 操作碼和標(biāo)識(shí)符的對(duì)應(yīng)關(guān)系

        操作碼opcode2

        對(duì)應(yīng)的標(biāo)識(shí)符寄存器

        0b000

        主標(biāo)識(shí)符寄存器

        0b001

        Cache類型寄存器

        其他

        保留

        在操作碼opcode2的取值中,主標(biāo)識(shí)符(opcode2=0)是強(qiáng)制定義的,其他標(biāo)識(shí)符由芯片的生產(chǎn)廠商定義。如果操作碼opcode2指定的值未定義,指令將返回主標(biāo)識(shí)符。其他標(biāo)識(shí)符的值應(yīng)與主標(biāo)識(shí)符的值不同,可以由軟件編程來(lái)實(shí)現(xiàn),同時(shí)讀取主標(biāo)識(shí)符和其他標(biāo)識(shí)符,并將兩者的值進(jìn)行比較。如果兩個(gè)標(biāo)識(shí)符值相同,說(shuō)明未定義該標(biāo)識(shí)符;如果兩個(gè)標(biāo)識(shí)符值不同,說(shuō)明定義了該標(biāo)識(shí)符,并且得到該標(biāo)識(shí)符的值。

        (1)主標(biāo)識(shí)符寄存器

        當(dāng)指令對(duì)CP15進(jìn)行操作,并且操作碼opcode=2時(shí),處理器的主標(biāo)識(shí)符將被讀出。從主標(biāo)識(shí)符中,可以確定體系結(jié)構(gòu)的版本型號(hào)。同時(shí)也可以參考由芯片生產(chǎn)廠商定義的其他標(biāo)識(shí)符,來(lái)獲得更詳細(xì)的信息。

        在主標(biāo)識(shí)信息中,bit[15:12]區(qū)分了不同的處理器版本:

        ·如果bit[15:12]為0x0,說(shuō)明處理器是7之前的處理器;

        ·如果bit[15:12]為0x7,說(shuō)明處理器為ARM7處理器;

        ·如果bit[15:12]為其他值,說(shuō)明處理器為ARM7之后的處理器。

        對(duì)于ARM7之后的處理器,其標(biāo)識(shí)符的編碼格式如圖15.2所示。

        其中各部分的編碼含義說(shuō)明如下。

        bit[3:0]:包含生產(chǎn)廠商定義的處理器版本型號(hào)。

        bit[15:4]:生產(chǎn)廠商定義的產(chǎn)品主編號(hào),可能的取值為0x0~0x7。

        bit[19:16]:ARM體系的版本號(hào),可能的取值如表15.3(其他值由ARM公司保留將來(lái)使用)所示。

        圖15.2ARM7之后處理器標(biāo)識(shí)符編碼

        表15.3 bit[19:16]與ARM版本號(hào)

        可能的取值

        版本號(hào)

        0x1

        ARM體系版本4

        0x2

        ARM體系版本4T

        0x3

        ARM體系版本5

        0x4

        ARM體系版本5T

        0x5

        ARM體系版本5TE



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 阳泉市| 柞水县| 堆龙德庆县| 青龙| 玛曲县| 江西省| 静海县| 黄浦区| 北流市| 无极县| 洪洞县| 平湖市| 濮阳市| 易门县| 中超| 恭城| 正安县| 蒲江县| 黄石市| 上蔡县| 鹤岗市| 高平市| 武威市| 青川县| 浙江省| 兰考县| 桂阳县| 宜黄县| 图木舒克市| 连城县| 出国| 博爱县| 深水埗区| 新泰市| 治县。| 中宁县| 牡丹江市| 宁蒗| 遂川县| 水城县| 昌图县|