在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設計應用 > ARM存儲器之:協(xié)處理器CP15

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

            作者: 時間:2013-09-30 來源:網(wǎng)絡 收藏

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

            bit[1:0]:定義Cache的塊大小,其編碼格式及含義如表15.9所示。

            表15.9 類型標識符寄存器控制字段bit[1:0]含義

            編碼

            Cache塊大小

            0b00

            2個字(8字節(jié))

            0b01

            4個字(16字節(jié))

            0b10

            8個字(32字節(jié))

            0b11

            16個字(64字節(jié))

            bit[5:3]:定義了Cache的相聯(lián)屬性,其編碼格式及含義如表15.10所示。

            表15.10 類型標識符寄存器控制字段bit[5:3]含義

            編碼

            M=0時的含義

            M=1時的含義

            0b000

            1路相聯(lián)

            (直接映射)

            沒有Cache

            0b001

            2路相聯(lián)

            3路相聯(lián)

            0b010

            4路相聯(lián)

            6路相聯(lián)

            0b011

            8路相聯(lián)

            12路相聯(lián)

            0b100

            16路相聯(lián)

            24路相聯(lián)

            0b101

            32路相聯(lián)

            48路相聯(lián)

            0b110

            64路相聯(lián)

            96路相聯(lián)

            0b111

            128路相聯(lián)

            192路相聯(lián)

            15.1.4寄存器c1

            中的寄存器c1包括以下控制功能:

            ·禁止/使能MMU以及其他與存儲系統(tǒng)有關的功能;

            ·配置存儲系統(tǒng)以及處理器中相關的工作。

            注意

            在寄存器c1中包含了一些沒有使用的位,這些位在將來可能被擴展其他功能時使用。因此為了編寫代碼在將來更高版本的處理器中仍可以使用,在修改寄存器c1中的位時應該使用“讀?。薷奶囟ㄎ唬瓕懭?rdquo;的操作序列。

            當對寄存器c1進行讀操作時,指令中CRm和opcode2的值將被處理器忽略,所以要人工將其置位為0。

            例15.2用MRC/MCR指令將寄存器c1的值進行讀取和寫入。

            【例15.2】

            MR,0,r0,c1,0,0;將寄存器c1的值讀取到寄存器r0中

            MCRP15,0,r0,c1,0,0;將ARM寄存器r0的值寫入寄存器c1

            圖15.7顯示了寄存器c1的編碼格式。

            圖15.7寄存器c1編碼格式

            寄存器c1各控制字段的含義如表15.11所示。

            表15.11 寄存器c1中各控制位字段的含義

            C1中的控制位

            含義

            M(bit[0])

            禁止/使能MMU或者MPU

            0:禁止MMU或者MPU

            1:使能MMU或者MPU

            如果系統(tǒng)中沒有MMU或者MPU,讀取時該位返回0,寫入時忽略

            A(bit[1])

            對于可以選擇是否支持內(nèi)存訪問時地址對齊檢查的系統(tǒng),本位禁止/使能地址對齊檢查功能

            0:禁止地址對齊檢查功能

            1:使能地址對齊檢查功能

            對寄存器進行寫操作時,忽略該位

            C(bit[2])

            當數(shù)據(jù)Cache和指令Cache分開時,本控制位禁止/使能數(shù)據(jù)Cache。

            當數(shù)據(jù)Cache和指令Cache統(tǒng)一時,該控制位禁止/使能整個Cache

            0:禁止Cache

            1:使能Cache

            如果系統(tǒng)中不含Cache,讀取時該位返回0,寫入時忽略

            當系統(tǒng)中Cache不能禁止時,讀取返回1,寫入時忽略

            W(bit[3])

            禁止/使能寫緩存

            0:禁止寫緩存

            1:使能寫緩存

            如果系統(tǒng)中不含寫緩存,讀取時該位返回0,寫入時忽略

            當系統(tǒng)中的寫緩存不能禁止時,讀取時該位返回0,寫入時忽略

            P(bit[4])

            對于向前兼容26位ARM處理器,本控制位控制PRGC32控制信號

            0:異常中斷處理程序進入32位地址模式

            1:異常中斷處理程序進入26位地址模式

            如果系統(tǒng)不支持向前兼容26位地址,讀取該位時返回1,寫入時被忽略

            D(bit[5])

            對于向前兼容26位ARM處理器,本控制位控制DATA32控制信號

            0:禁止26位地址異常檢查

            1:使能26位地址異常檢測

            如果系統(tǒng)不支持向前兼容26位地址,讀取該位時返回1,寫入時被忽略

            續(xù)表

            C1中的控制位

            含義

            L(bit[6])

            對于ARMv3及以前版本,本控制位可以控制處理器的中止模式

            0:選擇早期中止模式

            1:選擇后期中止模式

            對于以后的處理器讀取該位時返回1,寫入時忽略

            B(bit[7])

            對于存儲系統(tǒng)同時支持大/小端(big-endian/little-endian)的ARM處理器,該控制位配置系統(tǒng)使用哪種內(nèi)存模式

            0:使用小端(little-endian)

            0:使用大端(big-endian)

            對于只支持小端(little-endian)的系統(tǒng),讀取時該位返回0,寫入時忽略

            對于只支持大端(big-endian)的系統(tǒng),讀取時該位返回1,寫入時忽略

            S(bit[8])

            支持MMU的存儲系統(tǒng)中,本控制位用作系統(tǒng)保護

            R(bit[9])

            支持MMU的存儲系統(tǒng)中,本控制位用作ROM保護

            F(bit[10])

            本控制位由生產(chǎn)廠商定義

            Z(bit[11])

            對于支持跳轉(zhuǎn)預測的ARM系統(tǒng),本控制位禁止/使能跳轉(zhuǎn)預測功能

            0:禁止跳轉(zhuǎn)預測功能

            1:使能跳轉(zhuǎn)預測功能

            對于不支持跳轉(zhuǎn)預測的ARM系統(tǒng),讀取時該位返回0,寫入時忽略

            I(bit[12])

            當數(shù)據(jù)Cache和指令Cache是分開的,本控制位禁止/使能指令Cache

            0:禁止指令Cache

            1:使能指令Cache

            如果系統(tǒng)中使用統(tǒng)一的指令Cache和數(shù)據(jù)Cache或者系統(tǒng)中不含Cache,讀取該位時返回0,寫入時忽略該位

            當系統(tǒng)中的指令Cache不能禁止時,讀取該位返回1,寫入時忽略該位

            V(bit[13])

            支持高端異常向量表的系統(tǒng)中,本控制位控制向量表的位置

            0:選擇0x00000000~0x0000001c

            1:選擇0Xffff0000~0xffff001c

            對于不支持高端中斷向量表的系統(tǒng),讀取時返回0,寫入時忽略

            RR(bit[14])

            如果系統(tǒng)中Cache的淘汰算法可以選擇的話,本控制位選擇淘汰算法

            0:選擇常規(guī)的淘汰算法,如隨機淘汰算法

            1:選擇預測性的淘汰算法,如輪轉(zhuǎn)(round-robin)淘汰算法

            如果系統(tǒng)中淘汰算法不可選擇,寫入該位時被忽略,讀取該位時,根據(jù)其淘汰算法是否可以比較簡單地預測最壞情況返回1或者0

            L4(bit[15])

            ARM版本5及以上的版本中,本控制位可以提供兼容以前的ARM版本的功能

            0:保持當前ARM版本的正常功能

            1:對于一些根據(jù)跳轉(zhuǎn)地址的bit[0]進行狀態(tài)切換的指令,忽略bit[0],不進行狀態(tài)切換,保持和以前ARM版本兼容

            此控制位可以影響以下指令:LDM、LDR和POP

            對于ARM版本5以前的處理器,該位沒有使用,應作為UNP/SBZP

            對于ARM版本5以后的處理器,如果不支持向前兼容的屬性,讀取時該位返回0,寫入時忽略

            Bit(bit[31:16])

            這些位保留將來使用,應為UNP/SBZP


            上一頁 1 2 3 4 5 6 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉