在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM處理器中CP15協(xié)處理器的寄存器

            ARM處理器中CP15協(xié)處理器的寄存器

            作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
            本章和第5章的內(nèi)容都與ARM處理器CP15協(xié)處理器寄存器有密切關(guān)系,所以我們這里先介紹一下CP15寄存器以及訪問CP15寄存器的匯編指令。
            4.1.1訪問CP15寄存器的指令訪問CP15寄存器指令的編碼格式及語法說明如下:
            312827242321201916151211875430
            cond1 1 1 0opcode_1Lcr nrd1 1 1 1opcode_21crm

            指令
            說明
            語法格式
            mcr
            將ARM處理器的寄存器中的數(shù)據(jù)寫到CP15中的寄存器中
            mcr{}p15,,,,, {}
            mrc
            將CP15中的寄存器中的數(shù)據(jù)讀到ARM處理器的寄存器中
            mcr{}p15,,,,, {}
            4.1.2CP15寄存器介紹CP15的寄存器列表如表4-1所示。
            表4-1ARM處理器中CP15協(xié)處理器的寄存器
            寄存器編號基本作用在MMU中的作用在PU中的作用
            0ID編碼(只讀)ID編碼和cache類型
            1控制位(可讀寫)各種控制位
            2存儲保護和控制地址轉(zhuǎn)換表基地址Cachability的控制位
            3存儲保護和控制域訪問控制位Bufferablity控制位
            4存儲保護和控制保留保留
            5存儲保護和控制內(nèi)存失效狀態(tài)訪問權(quán)限控制位
            6存儲保護和控制內(nèi)存失效地址保護區(qū)域控制
            7高速緩存和寫緩存高速緩存和寫緩存控制
            8存儲保護和控制TLB控制保留
            9高速緩存和寫緩存高速緩存鎖定
            10存儲保護和控制TLB鎖定保留
            11保留
            12保留
            13進程標識符進程標識符
            14保留
            15因不同設(shè)計而異因不同設(shè)計而異因不同設(shè)計而異

            opcode_2編碼
            對應(yīng)的標識符號寄存器
            0b000
            主標識符寄存器
            0b001
            cache類型標識符寄存器
            其他
            保留
            1)主標識符寄存器
            訪問主標識符寄存器的指令格式如下所示:
            mrcp15, 0, r0, c0, c0, 0;將主標識符寄存器C0,0的值讀到r0中
            ARM不同版本體系處理器中主標識符寄存器的編碼格式說明如下。
            ARM7之后處理器的主標識符寄存器編碼格式如下所示:
            31242320191615430
            由生產(chǎn)商確定產(chǎn)品子編號ARM體系版本號產(chǎn)品主編號處理器版本號

            說明
            位[3: 0]生產(chǎn)商定義的處理器版本號
            位[15: 4]生產(chǎn)商定義的產(chǎn)品主編號,其中最高4位即位[15:12]可能的取值為0~7但不能是0或7
            位[19: 16]ARM體系的版本號,可能的取值如下:
            0x1ARM體系版本4
            0x2ARM體系版本4T
            0x3ARM體系版本5
            0x4ARM體系版本5T
            0x5ARM體系版本5TE
            其他由ARM公司保留將來使用
            位[23: 20]生產(chǎn)商定義的產(chǎn)品子編號,當產(chǎn)品主編號相同時,使用子編號來區(qū)分不同的產(chǎn)品子類,如產(chǎn)品中不同的高速緩存的大小等
            位[31: 24]生產(chǎn)廠商的編號,現(xiàn)在已經(jīng)定義的有以下值:
            0x41=AARM公司
            0x44=DDigital Equipment公司
            0x69=Iintel公司
            ARM7處理器的主標識符寄存器編碼格式如下所示:
            3124232216 15430
            由生產(chǎn)商確定A產(chǎn)品子編號產(chǎn)品主編號處理器版本號

            說明
            位[3: 0]生產(chǎn)商定義的處理器版本號
            位[15: 4]生產(chǎn)商定義的產(chǎn)品主編號,其中最高4位即位[15:12]的值為0x7
            位[22: 16]生產(chǎn)商定義的產(chǎn)品子編號,當產(chǎn)品主編號相同時,使用子編號來區(qū)分不同的產(chǎn)品子類,如產(chǎn)品中不同的高速緩存的大小等
            續(xù)表
            說明
            位[23]ARM7支持下面兩種ARM體系的版本號:
            0x0ARM體系版本3
            0x1ARM體系版本4T
            位[31: 24]生產(chǎn)廠商的編號,現(xiàn)在已經(jīng)定義的有以下值:
            0x41=AARM公司
            0x44=DDigital Equipment公司
            0x69=IIntel公司
            ARM7之前處理器的主標識符寄存器編碼格式如下所示:
            312423221615430
            由生產(chǎn)商確定A產(chǎn)品子編號產(chǎn)品主編號處理器版本號

            說明
            位[3: 0]生產(chǎn)商定義的處理器版本號
            位[15: 4]生產(chǎn)商定義的產(chǎn)品主編號,其中最高4位即為[15:12]的值為0x7
            位[22: 16]生產(chǎn)商定義的產(chǎn)品子編號,當產(chǎn)品主編號相同時,使用子編號來區(qū)分不同的產(chǎn)品子類,如產(chǎn)品中不同的高速緩存的大小等
            位[23]ARM7支持下面兩種ARM體系的版本號:
            0x0ARM體系版本3
            0x1ARM體系版本4T
            位[31: 24]生產(chǎn)廠商的編號,現(xiàn)在已經(jīng)定義的有以下值:
            0x41=AARM公司
            0x44=DDigital Equipment公司
            0x69=Iintel公司
            2)cache類型標識符寄存器
            訪問cache類型標識符寄存器的指令格式如下所示:
            mrcp15, 0, r0, c0, c0, 1;將cache類型標識符寄存器C0,1的值讀到r0中
            ARM處理器中cache類型標識符寄存器的編碼格式如下所示:
            31292825242312110
            000屬性字段S數(shù)據(jù)cache相關(guān)屬性指令cache相關(guān)屬性

            說明
            位[28: 25]指定控制字段位[24: 0]指定的屬性之外的cache的其他屬性,詳見表4-2
            位[24]定義系統(tǒng)中的數(shù)據(jù)cache和指令cache是分開的還是統(tǒng)一的:
            0系統(tǒng)的數(shù)據(jù)cache和指令cache是統(tǒng)一的;
            1系統(tǒng)的數(shù)據(jù)cache和指令cache是分開的
            位[23: 12]定義數(shù)據(jù)cache的相關(guān)屬性,如果位[24]為0,本字段定義整個cache的屬性
            位[31: 24]定義指令cache的相關(guān)屬性,如果位[24]為0,本字段定義整個cache的屬性
            其中控制字段位[28:25]的含義說明如下:
            表4-2cache類型標識符寄存器的控制字段位[28:25]
            編碼cache類型cache內(nèi)容清除方法cache內(nèi)容鎖定方法
            0b0000寫通類型不需要內(nèi)容清除不支持內(nèi)容鎖定
            0b0001寫回類型數(shù)據(jù)塊讀取不支持內(nèi)容鎖定
            0b0010寫回類型由寄存器C7定義不支持內(nèi)容鎖定
            0b0110寫回類型由寄存器C7定義支持格式A
            0b0111寫回類型由寄存器C7定義支持格式B
            控制字段位[23:12]和控制字段位[11:0]的編碼格式相同,含義如下所示:
            1198653210
            000cache容量cache相聯(lián)特性M塊大小
            cache容量字段bits[8: 6]的含義如下所示:
            編碼M=0時含義(單位KB)M=1時含義(單位KB)
            0b0000.50.75
            0b00111.5
            0b01023
            0b01146
            0b100812
            0b1011624
            0b1103248
            0b1116496
            cache相聯(lián)特性字段bits[5: 3]的含義如下所示:
            編碼M=0時含義M=1時含義
            0b0001路相聯(lián)(直接映射)沒有cache
            0b0012路相聯(lián)3路相聯(lián)
            0b0104路相聯(lián)6路相聯(lián)
            0b0118路相聯(lián)12路相聯(lián)
            0b10016路相聯(lián)24路相聯(lián)
            0b10132路相聯(lián)48路相聯(lián)
            0b11064路相聯(lián)96路相聯(lián)
            0b111128路相聯(lián)192路相聯(lián)
            cache塊大小字段bits[1: 0]的含義如下所示:
            編碼cache塊大小
            0b002個字(8字節(jié))
            0b014個字(16字節(jié))
            0b108個字(32字節(jié))
            0b1116個字(64字節(jié))

            31 16
            15
            14
            13
            12
            11
            10
            9
            8
            7
            6
            5
            4
            3
            2
            1
            0
            附加
            L4
            RR
            V
            I
            Z
            F
            R
            S
            B
            L
            D
            P
            W
            C
            A
            M

            說明
            M0:禁止MMU或者PU;1:使能MMU或者PU
            A0:禁止地址對齊檢查;1:使能地址對齊檢查
            C0:禁止數(shù)據(jù)/整個cache;1:使能數(shù)據(jù)/整個cache
            W0:禁止寫緩沖;1:使能寫緩沖
            P0:異常中斷處理程序進入32位地址模式;1:異常中斷處理程序進入26位地址模式
            D0:禁止26位地址異常檢查;1:使能26位地址異常檢查
            L0:選擇早期中止模型;1:選擇后期中止模型
            B0:little endian;1:big endian
            S在基于MMU的存儲系統(tǒng)中,本位用作系統(tǒng)保護
            R在基于MMU的存儲系統(tǒng)中,本位用作ROM保護
            F0:由生產(chǎn)商定義
            Z0:禁止跳轉(zhuǎn)預(yù)測功能;1:使能跳轉(zhuǎn)預(yù)測指令
            I0:禁止指令cache;1:使能指令cache
            V0:選擇低端異常中斷向量0x0~0x1c;1:選擇高端異常中斷向量0xffff0000~ 0xffff001c
            RR0:常規(guī)的cache淘汰算法,如隨機淘汰;1:預(yù)測性淘汰算法,如round-robin淘汰算法
            L40:保持ARMv5以上版本的正常功能;1:將ARMv5以上版本與以前版本處理器兼容,不根據(jù)跳轉(zhuǎn)地址的bit[0]進行ARM指令和Thumb狀態(tài)切換:bit[0]等于0表示ARM指令,等于1表示Thumb指令
            附加:

            310
            一級映射描述符表的基地址(物理地址)

            310
            D15
            D14
            D13
            D12
            D11
            D10
            D9
            D8
            D7
            D6
            D5
            D4
            D3
            D2
            D1
            D0

            31987430
            UNP/SBZP
            0
            域標識
            狀態(tài)標識
            其中,域標識bit[7:4]表示存放引起存儲訪問失效的存儲訪問所屬的域。
            狀態(tài)標識bit[3:0]表示放引起存儲訪問失效的存儲訪問類型,該字段含義如表4-3所示(優(yōu)先級由上到下遞減)。
            表4-3狀態(tài)標識字段含義
            引起訪問失效的原因狀態(tài)標識域標識C6
            終端異常(Terminal Exception)0b0010無效生產(chǎn)商定義
            中斷向量訪問異常(Vector Exception)0b0000無效有效
            地址對齊0b00x1無效有效
            一級頁表訪問失效0b1100無效有效
            二級頁表訪問失效0b1110有效有效
            基于段的地址變換失效0b0101無效有效
            基于頁的地址變換失效0b0111有效有效
            基于段的存儲訪問中域控制失效0b1001有效有效
            基于頁的存儲訪問中域控制失效0b1101有效有效
            基于段的存儲訪問中訪問權(quán)限控制失效0b1111有效有效
            基于頁的存儲訪問中訪問權(quán)限控制失效0b0100有效有效
            基于段的cache預(yù)取時外部存儲系統(tǒng)失效0b0110有效有效
            基于頁的cache預(yù)取時外部存儲系統(tǒng)失效0b1000有效有效
            基于段的非cache預(yù)取時外部存儲系統(tǒng)失效0b1010有效有效

            310
            失效地址(虛擬地址)

            3132-W 31-W0
            cache組內(nèi)塊序號index
            0
            其中index表示當下一次發(fā)生cache未命中時,將預(yù)取的存儲塊存入cache中該塊對應(yīng)的組中序號為index的cache塊中。此時序號為0~index-1的cache塊被鎖定,當發(fā)生cache替換時,從序號為index到ASSOCIATIVITY的塊中選擇被替換的塊。
            編碼格式B如下所示:
            3130WW-10
            L0cache組內(nèi)塊序號index


            說明
            L=0當發(fā)生cache未命中時,將預(yù)取的存儲塊存入cache中該塊對應(yīng)的組中序號為index的cache塊中
            續(xù)表
            說明
            L=1如果本次寫操作之前L=0,并且index值小于本次寫入的index,本次寫操作執(zhí)行的結(jié)果不可預(yù)知;否則,這時被鎖定的cache塊包括序號為0~index-1的塊,當發(fā)生cache替換時,從序號為index到ASSOCIATIVITY的塊中選擇被替換的塊

            31 3032-W31-W32-2W31-2W10
            可被替換的條目起始地址的base
            下一個將被替換的條目地址victim
            0
            P

            說明
            victim指定下一次TLB沒有命中(所需的地址變換條目沒有包含在TLB中)時,從內(nèi)存頁表中讀取所需的地址變換條目,并把該地址變換條目保存在TLB中地址victim處
            base指定TLB替換時,所使用的地址范圍,從(base)到(TLB中條目數(shù)-1);字段victim的值應(yīng)該包含在該范圍內(nèi)
            P1:寫入TLB的地址變換條目不會受使整個TLB無效操作的影響,一直保持有效;0:寫入TLB的地址變換條目將會受到使整個TLB無效操作的影響

            3125240
            PID
            0
            其中,PID表示當前進程的所在的進程空間塊的編號,即當前進程的進程標識符,取值為0~127。
            0:MVA(變換后的虛擬地址)= VA(虛擬地址),禁止FCSE(快速上下文切換技術(shù)),系統(tǒng)復位后PID=0;
            非0:使能FCSE。


            評論


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

            關(guān)閉