<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          ARM920T協(xié)處理器CP15

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
          ARM920T處理器包含了ARM9TDMI內(nèi)核,ARM9TDMI實(shí)現(xiàn)了ARM architecture v4T。








          ARM920T處理器包含兩個(gè)協(xié)處理器:

          CP14。用于調(diào)試

          CP15。系統(tǒng)控制協(xié)處理器,提供附加的寄存器用來(lái)配置和控制cache,MMU,保護(hù)系統(tǒng),時(shí)鐘模式,和ARM920T其他的系統(tǒng)選項(xiàng),如大小端操作。你可以使用MCR,MRC訪問(wèn)定義在CP15中的寄存器。

          CP15定義了16個(gè)寄存器,寄存器的映射圖如下:







          注:寄存器位置0可以訪問(wèn)兩個(gè)寄存器,通過(guò)opcode_2的值來(lái)確定。

          ARM920T存在3個(gè)地址。











          只能在特權(quán)模式下使用MCR和MRC指令訪問(wèn)CP15。這些指令的格式是:

          MCR/MRC{cond} P15,,Rd,CRn,CRm,

          指令CDP,LDC,STC和非特權(quán)模式的MRC,MCR指令操作CP15會(huì)導(dǎo)致未定義指令異常。MRC和MCR指令的CRn域指定了要訪問(wèn)的協(xié)處理寄存器。opcode_1,和CRm域應(yīng)該是0,除非值被指定用來(lái)選擇需要的操作。

          Register 0,ID code register

          可以通過(guò)讀CP15 register 0,opcode_2域設(shè)置成除了1的任何值(在讀的時(shí)候CRm應(yīng)該為0)。

          如:

          MRC p15,0,Rd,c0,c0,0;return ID register







          cache type register 0

          包含cache的大小和體系結(jié)構(gòu)的信息。可以通過(guò)設(shè)置域?yàn)?,讀CP15 register 0來(lái)訪問(wèn)cache type register。例如:

          MRC p15,0,Rd,c0,c0,1;returns cache details







          Dsize和Isize域格式一樣:















          Register1,control register

          這個(gè)寄存器包含了ARM920T的控制位。

          MRC p15,0,Rd,c1,c0,0 ;read control register

          MCR p15,0,Rd,c1,c0,0;write control register












          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: ARM920T協(xié)處理器CP1

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();