ARM協(xié)處理器._第1頁
ARM協(xié)處理器._第2頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ARM 協(xié)處理器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ù)。ARM 協(xié)處理器指令包括以下 5 條:CDP 協(xié)處理器數(shù)操作指令LDC 協(xié)處理器數(shù)據(jù)加載指令STC 協(xié)處理器數(shù)據(jù)存儲指令MCR ARM 處理器寄存器到協(xié)處理器寄存器的數(shù)據(jù)傳送指令MRC 協(xié)處理器寄存器到 ARM 處

2、理器寄存器的數(shù)據(jù)傳送指令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 的初始化2、 LDC 指令LDC 指令的格式為:LDC條

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

4、,如用于雙精度數(shù)據(jù)的傳輸。指令示例:STC P3 ,C4, R0;將協(xié)處理器 P3 的寄存器 C4 中的字數(shù)據(jù)傳送到 ARM 處理器的寄存器 R0 所 指向的存儲器中。4、MCR 指令MCR 指令的格式為:1.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é)處理器的

5、寄存器。指令示例:MCR P3 , 3 , R0 , C4 , C5 , 6 ;該指令將 ARM 處理器寄存器 R0 中的數(shù)據(jù)傳送到協(xié)處理 器 P3 的寄存器 C4和 C5 中。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é)處

6、理器的寄存器。指令示例:MRC P3 , 3 , R0 , C4 , C5 , 6 ;該指令將協(xié)處理器 P3 的寄存器中的數(shù)據(jù)傳送到 ARM 處 理器寄存器中 .The ARM920T 有兩個具體協(xié)處理器CP14 (略)CP15 系統(tǒng)控制協(xié)處理器 (the system control coprocessor )他通過協(xié)處理器指令 MCR 和 MRC 提供 具體的寄存器來配置和控制 caches、MMU、保護系統(tǒng)、配置時鐘模式(在 bootloader 時鐘初始化用到)CP15 的寄存器只能被 MRC 和 MCR(Move to Coprocessor from ARM Register )指

7、令訪問他包括 15 個具體的寄存器如下:-R0:ID 號寄存器 這是一個只讀寄存器,返回一個 32 位的設(shè)備 ID 號,32 具體功能參考 2410 datesheet 的 table 2-5-R0 :緩存類型寄存器(CACHE TYPE REGISTER ),注意有 2 個 R0,根據(jù) MCR 操作數(shù)的不同傳送不 同的值,這也一個只讀寄存器,包含了 caches 的信息。讀這個寄存器的方式是通過設(shè)置協(xié)處理操作碼為如: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-R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論