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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM硬件完美解讀——協(xié)處理器

          ARM硬件完美解讀——協(xié)處理器

          作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
          1、協(xié)處理器是哪位大神

          協(xié)處理器(coprocessor),一種芯片,用于減輕系統(tǒng)微處理器的特定處理任務(wù)。例如,數(shù)學(xué)協(xié)處理器可以控制數(shù)字處理;圖形協(xié)處理器可以處理視頻繪制。例如,intel pentium 微處理器就包括內(nèi)置的數(shù)學(xué)協(xié)處理器。協(xié)處理器可以附屬于ARM處理器。一個協(xié)處理器通過擴展指令集或提供配置寄存器來擴展內(nèi)核處理功能。一個或多個協(xié)處理器可以通過協(xié)處理器接口與ARM內(nèi)核相連。協(xié)處理器可以通過一組專門的、提供load-store類型接口的ARM指令來訪問。例如協(xié)處理器15(CP15),ARM處理器使用協(xié)處理器15的寄存器來控制cache、TCM、存儲器管理(MMU)等。

          本文引用地址:http://www.ex-cimer.com/article/201611/317529.htm

          2、我的電腦有黃老“協(xié)”嗎

          80486CPU之前有協(xié)處理器,提高浮點運算能力,那時cpu較弱才有的協(xié)處理器,現(xiàn)在速度是原來數(shù)百倍不止,pc機一般不存在協(xié)處理器了。居然有這么回事,算是領(lǐng)教了,我們一直都以是黃老邪是傳說中滴東邪,還不知道有協(xié)處理器這么一說。

          3、武器(ARM)才是硬道理

          ARM 微處理器可支持多達 16 個協(xié)處理器,用于各種協(xié)處理操作,在程序執(zhí)行的過程中,每個協(xié)處理器只執(zhí)行針對自身的協(xié)處理指令,忽略 ARM 處理器和其他協(xié)處理器的指令。ARM 的協(xié)處理器指令主要用于 ARM 處理器初始化 ARM 協(xié)處理器的數(shù)據(jù)處理操作,以及在ARM 處理器的寄存器和協(xié)處理器的寄存器之間傳送數(shù)據(jù),和在 ARM 協(xié)處理器的寄存器和存儲器之間傳送數(shù)據(jù)。

          4、如何借“老協(xié)”之力平定中原

          在ARM指令中,訪問協(xié)處理器的指令主要以下幾條:

          CDP 協(xié)處理器數(shù)操作指令
          LDC 協(xié)處理器數(shù)據(jù)加載指令
          STC 協(xié)處理器數(shù)據(jù)存儲指令
          MCR ARM 處理器寄存器到協(xié)處理器寄存器的數(shù)據(jù)傳送指令
          MRC 協(xié)處理器寄存器到ARM 處理器寄存器的數(shù)據(jù)傳送指令

          4.1、CDP 指令

          CDP 指令的格式為:
          CDP{條件} 協(xié)處理器編碼,協(xié)處理器操作碼1,目的寄存器,源寄存器1,源寄存器2,協(xié)處理 器操作碼2。
          CDP 指令用于ARM 處理器通知ARM 協(xié)處理器執(zhí)行特定的操作,若協(xié)處理器不能成功完成特定的操作,則產(chǎn)生未定義指令異常。其中協(xié)處理器操作碼1 和協(xié)處理器操作碼2 為協(xié)處理器將要執(zhí)行的操作,目的寄存器和源寄存器均為協(xié)處理器的寄存器,指令不涉及ARM 處理器的寄存器和存儲器。
          指令示例:
          CDP P3 , 2 , C12 , C10 , C3 , 4 ;該指令完成協(xié)處理器 P3 的初始化

          4.2、LDC 指令

          LDC 指令的格式為:
          LDC{條件}{L} 協(xié)處理器編碼,目的寄存器,[源寄存器]
          LDC 指令用于將源寄存器所指向的存儲器中的字數(shù)據(jù)傳送到目的寄存器中,若協(xié)處理器不能成功完成傳送操作,則產(chǎn)生未定義指令異常。其中,{L}選項表示指令為長讀取操作,如用于雙精度數(shù)據(jù)的傳輸。
          指令示例:
          LDC P3 , C4 , [R0] ;將 ARM 處理器的寄存器 R0 所指向的存儲器中的字數(shù)據(jù)傳送到協(xié)處理器 P3 的寄存器 C4 中。

          4.3、STC 指令

          STC 指令的格式為:
          STC{條件}{L} 協(xié)處理器編碼,源寄存器,[目的寄存器]
          STC 指令用于將源寄存器中的字數(shù)據(jù)傳送到目的寄存器所指向的存儲器中,若協(xié)處理器不能成功完成傳送操作,則產(chǎn)生未定義指令異常。其中,{L}選項表示指令為長讀取操作,如用于雙精度數(shù)據(jù)的傳輸。
          指令示例:
          STC P3 , C4 , [R0] ;將協(xié)處理器 P3 的寄存器 C4 中的字數(shù)據(jù)傳送到 ARM 處理器的寄存器R0 所指向的存儲器中。

          4.4、MCR 指令

          MCR 指令的格式為:
          MCR{條件} 協(xié)處理器編碼,協(xié)處理器操作碼1,源寄存器,目的寄存器1,目的寄存器2,協(xié)處理器操作碼2。
          MCR 指令用于將ARM 處理器寄存器中的數(shù)據(jù)傳送到協(xié)處理器寄存器中,若協(xié)處理器不能成功完成操作,則產(chǎn)生未定義指令異常。其中協(xié)處理器操作碼1 和協(xié)處理器操作碼2 為協(xié)處理器將要執(zhí)行的操作,源寄存器為ARM 處理器的寄存器,目的寄存器1 和目的寄存器2 均為協(xié)處理器的寄存器。
          指令示例:
          MCR P3 , 3 , R0 , C4 , C5 , 6 ;該指令將 ARM 處理器寄存器 R0 中的數(shù)據(jù)傳送到協(xié)處理器 P3 的寄存器 C4 和 C5 中。

          4.5、MRC 指令

          MRC 指令的格式為:
          MRC{條件} 協(xié)處理器編碼,協(xié)處理器操作碼1,目的寄存器,源寄存器1,源寄存器2,協(xié)處理器操作碼2。
          MRC 指令用于將協(xié)處理器寄存器中的數(shù)據(jù)傳送到ARM 處理器寄存器中,若協(xié)處理器不能成功完成操作,則產(chǎn)生未定義指令異常。其中協(xié)處理器操作碼1 和協(xié)處理器操作碼2 為協(xié)處理器將要執(zhí)行的操作,目的寄存器為ARM 處理器的寄存器,源寄存器1 和源寄存器2 均為協(xié)處理器的寄存器。
          指令示例:
          MRC P3 , 3 , R0 , C4 , C5 , 6 ;該指令將協(xié)處理器 P3 的寄存器中的數(shù)據(jù)傳送到 ARM 處理器寄存器中.

          5、老邪家的十五阿哥CP15

          系統(tǒng)控制協(xié)處理器 (the system control coprocessor)他通過協(xié)處理器指令MCR和MRC提供具體的寄存器來配置和控制caches、MMU、保護系統(tǒng)、配置時鐘模式等。

          只能在特權(quán)模式下使用MRC和MCR(Move to Coprocessor from ARM Register )指令訪問CP15的寄存器。因此,在系統(tǒng)上電啟動過程時,會切換進入SVC模式,可參見《U-Boot完美解讀(2)——啟動文件start.s解析》。
          包括15個具體的寄存器如下:
          -R0:ID號寄存器 這是一個只讀寄存器,返回一個32位的設(shè)備ID號,32具體功能參考2410 datesheet的 table 2-5
          -R0:緩存類型寄存器(CACHE TYPE REGISTER) ,注意有2個R0,根據(jù)MCR操作數(shù)的不同傳送不同的值,這也一個只讀寄存器,包含了caches的信息。讀這個寄存器的方式是通過設(shè)置協(xié)處理操作碼為1.
          如:
          MRC p15,0,Rd,c0,c0,1; 返回caches的詳細信息,詳見:table 2-6
          -R1:控制寄存器 2-10
          -R2:轉(zhuǎn)換表基址寄存器(Translation Table Base --TTB) 2-12
          -R3:域訪問控制寄存器(Domain access control )2-13
          -R4:保留 2-14
          -R5:異常狀態(tài)寄存器(fault status -FSR)2-14
          -R6:異常地址寄存器(fault address -FAR)2-15
          -R7:緩存操作寄存器 2-15
          -R8:TLB操作寄存器 2-18
          -R9:緩存鎖定寄存器 2-19
          -R10:TLB 鎖定寄存器 2-21
          -R11-12&14:保留
          -R13:處理器ID 2-22
          -R15:測試配置寄存器 2-24



          關(guān)鍵詞: ARM硬件協(xié)處理

          評論


          技術(shù)專區(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); })();