版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第2章ARM微處理器的編程模型微處理器的編程模型本章簡介ARM微處理器編程模型的一些基本概念,包括工作狀態(tài)切換、數(shù)據(jù)的存儲格式、處理器異常等,通過對本章的閱讀,希望讀者能了解ARM微處理器的基本工作原理和一些與程序設(shè)計相關(guān)的基本技術(shù)細節(jié),為以后的程序設(shè)計打下基礎(chǔ)。本章的主要內(nèi)容:-ARM微處理器的工作狀態(tài)-ARM體系結(jié)構(gòu)的存儲器格式-ARM微處理器的工作模式-ARM體系結(jié)構(gòu)的寄存器組織-ARM微處理器的異常狀態(tài)在開始本章之前,首先對字
2、(Wd)、半字(HalfWd)、字節(jié)(Byte)的概念作一個說明:字(Wd):在ARM體系結(jié)構(gòu)中,字的長度為32位,而在8位16位處理器體系結(jié)構(gòu)中,字的長度一般為16位,請讀者在閱讀時注意區(qū)分。半字(HalfWd):在ARM體系結(jié)構(gòu)中,半字的長度為16位,與8位16位處理器體系結(jié)構(gòu)中字的長度一致。字節(jié)(Byte):在ARM體系結(jié)構(gòu)和8位16位處理器體系結(jié)構(gòu)中,字節(jié)的長度均為8位。2.1ARM微處理器的工作狀態(tài)微處理器的工作狀態(tài)從編程的角
3、度看,ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:-第一種為ARM狀態(tài),此時處理器執(zhí)行32位的字對齊的ARM指令;-第二種為Thumb狀態(tài),此時處理器執(zhí)行16位的、半字對齊的Thumb指令。當ARM微處理器執(zhí)行32位的ARM指令集時,工作在ARM狀態(tài);當ARM微處理器執(zhí)行16位的Thumb指令集時,工作在Thumb狀態(tài)。在程序的執(zhí)行過程中,微處理器可以隨時在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的
4、工作模式和相應(yīng)寄存器中的內(nèi)容。狀態(tài)切換方法:ARM指令集和Thumb指令集均有切換處理器狀態(tài)的指令,并可在兩種工作狀態(tài)之間切換,但ARM微處理器在開始執(zhí)行代碼時,應(yīng)該處于ARM狀態(tài)。進入Thumb狀態(tài):當操作數(shù)寄存器的狀態(tài)位(位0)為1時,可以采用執(zhí)行BX指令的方法,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此外,當處理器處于Thumb狀態(tài)時發(fā)生異常(如IRQ、FIQ、Undef、Abt、SWI等),則異常處理返回時,自動切換到Thu
5、mb狀態(tài)。進入ARM狀態(tài):當操作數(shù)寄存器的狀態(tài)位為0時,執(zhí)行BX指令時可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,在處理器進行異常處理時,把PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執(zhí)行程32.3指令長度及數(shù)據(jù)類型指令長度及數(shù)據(jù)類型ARM微處理器的指令長度可以是32位(在ARM狀態(tài)下),也可以為16位(在Thumb狀態(tài)下)。ARM微處理器中支持字節(jié)(8位)、半字(16位)、字(32位)三種數(shù)據(jù)類型,其中,字需要4字
6、節(jié)對齊(地址的低兩位為0)、半字需要2字節(jié)對齊(地址的最低位為0)。2.4處理器模式處理器模式ARM微處理器支持7種運行模式,分別為:─用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)─快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理─外部中斷模式(irq):用于通用的中斷處理─管理模式(svc):操作系統(tǒng)使用的保護模式─數(shù)據(jù)訪問終止模式(abt):當數(shù)據(jù)或指令預(yù)取終止時進入該模式,可用于虛擬存儲及存儲保護。─系統(tǒng)模式(sys):運
7、行具有特權(quán)的操作系統(tǒng)任務(wù)。─未定義指令中止模式(und):當未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統(tǒng)資源是不能被訪問的。除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式(PrivilegedModes);其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異
8、常模式(ExceptionModes),常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。2.5寄存器組織寄存器組織ARM微處理器共有37個32位寄存器,其中31個為通用寄存器,6個為狀態(tài)寄存器。但是這些寄存器不能被同時訪問,具體哪些寄存器是可編程訪問的,取決微處理器的工作狀態(tài)及具體的運行模式。但在任何時候,通用寄存器R14~R0、程序計數(shù)器PC、一個或兩個狀態(tài)寄存器都是可訪問的。2.5.1ARM狀態(tài)下的寄存器組織狀態(tài)下的寄存器
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- arm微處理器的編程模型
- 第3章arm微處理器的指令系統(tǒng)
- arm微處理器外文翻譯
- 微處理器
- 基于ARM微處理器的應(yīng)用研究.pdf
- 基于ARM微處理器的石油傾點測量系統(tǒng).pdf
- 基于ARM7微處理器距離保護的研究.pdf
- 8086微處理器引腳
- 微處理器工作原理
- 基于ARM微處理器的引信數(shù)據(jù)采集系統(tǒng)設(shè)計.pdf
- 微處理器外文翻譯
- 外文翻譯--微處理器
- 基于ARM微處理器的溫室環(huán)境監(jiān)控系統(tǒng)的研究.pdf
- 基于ARM微處理器的OLED圖像顯示系統(tǒng)研究.pdf
- 基于ARM微處理器的可觀測性設(shè)計與實現(xiàn).pdf
- 基于uCLinux平臺(ARM微處理器)的SNMP網(wǎng)絡(luò)管理設(shè)計.pdf
- 基于ARM微處理器的玻璃缺陷在線檢測系統(tǒng).pdf
- 基于ARM微處理器的隨動系統(tǒng)實驗平臺開發(fā).pdf
- 基于微處理器ARM的GPS接收機的設(shè)計.pdf
- 基于ARM微處理器的多軸運動控制器的研究.pdf
評論
0/150
提交評論