arm工作模式及寄存器_第1頁(yè)
arm工作模式及寄存器_第2頁(yè)
arm工作模式及寄存器_第3頁(yè)
arm工作模式及寄存器_第4頁(yè)
arm工作模式及寄存器_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ARM工作模式人民郵電出版社從編程的角度看,ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:?第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行

32位的字對(duì)齊的ARM指令。?第二種為Thumb狀態(tài),此時(shí)處理器執(zhí) 行16位的、半字對(duì)齊的Thumb指令。

工作狀態(tài)

當(dāng)ARM微處理器執(zhí)行32位的ARM指令集時(shí),工作在ARM狀態(tài);當(dāng)ARM微處理器執(zhí)行16位的Thumb指令集時(shí),工作在Thumb狀態(tài)。在程序的執(zhí)行過(guò)程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。工作狀態(tài)

ARM體系結(jié)構(gòu)將存儲(chǔ)器看作是從零地址開始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字(32位)數(shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB。存儲(chǔ)器格式

ARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱之為大端格式和小端格式。?大端格式:字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中。?小端格式:與大端存儲(chǔ)格式相反,在小端存儲(chǔ)格式中,低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。存儲(chǔ)器格式

存儲(chǔ)器格式

ARM微處理器的指令長(zhǎng)度可以是32位(在ARM狀態(tài)下),也可以為16位(在Thumb狀態(tài)下)。ARM微處理器中支持字節(jié)(8位)、半字(16位)、字(32位)三種數(shù)據(jù)類型,其中,字需要4字節(jié)對(duì)齊(地址的低兩位為0)、半字需要2字節(jié)對(duì)齊(地址的最低位為0)。指令長(zhǎng)度

工作模式ARM微處理器支持7種工作模式,分別為:1、用戶模式(Usr)用于正常執(zhí)行程序2、快速中斷模式(FIQ)用于高速數(shù)據(jù)傳輸3、外部中斷模式(IRQ)用于通常的中斷處理

4.管理模式(svc)

操作系統(tǒng)使用的保護(hù)模式5.數(shù)據(jù)訪問(wèn)終止模式(abt)當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。6.系統(tǒng)模式(sys)

運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。7.未定義指令中止模式(und)當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件工作模式

ARM微處理器的運(yùn)行模式可以通過(guò)軟件改變,也可以通過(guò)外部中斷或異常處理改變。應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問(wèn)的。工作模式

除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式(PrivilegedModes);其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式(ExceptionModes),常用于處理中斷或異常,以及需要訪問(wèn)受保護(hù)的系統(tǒng)資源等情況。工作模式ARM寄存器寄存器ARM微處理器共有37個(gè)32位寄存器,其中31個(gè)為通用寄存器,6個(gè)為狀態(tài)寄存器。但是這些寄存器不能被同時(shí)訪問(wèn),具體哪些寄存器是可以訪問(wèn)的,取決ARM處理器的工作狀態(tài)及具體的運(yùn)行模式。但在任何時(shí)候,通用寄存器R14~R0、程序計(jì)數(shù)器PC、一個(gè)狀態(tài)寄存器都是可訪問(wèn)的。

寄存器(ARM狀態(tài))在ARM工作狀態(tài)下,任一時(shí)刻可以訪問(wèn)16個(gè)通用寄存器和一到兩個(gè)狀態(tài)寄存器。在非用戶模式(特權(quán)模式)下,則可訪問(wèn)到特定模式分組寄存器,具體見(jiàn)下頁(yè)圖:

寄存器(ARM狀態(tài))寄存器(Thumb狀態(tài))Thumb狀態(tài)下的寄存器集是ARM狀態(tài)下寄存器集的一個(gè)子集,程序可以直接訪問(wèn)8個(gè)通用寄存器(R7~R0)、程序計(jì)數(shù)器(PC)、堆棧指針(SP)、連接寄存器(LR)和CPSR。具體見(jiàn)下頁(yè)圖:

寄存器(Thumb狀態(tài))

Thumb狀態(tài)下的寄存器組織與ARM狀態(tài)下的寄存器組織的 關(guān)系:vThumb狀態(tài)下和ARM狀態(tài)下的R0~R7是相同的。vThumb狀態(tài)下和ARM狀態(tài)下的CPSR和SPSR是相同的。vThumb狀態(tài)下的SP對(duì)應(yīng)于ARM狀態(tài)下的R13。vThumb狀態(tài)下的LR對(duì)應(yīng)于ARM狀態(tài)下的R14。vThumb狀態(tài)下的程序計(jì)數(shù)器PC對(duì)應(yīng)于ARM狀態(tài)下R15。

寄存器對(duì)應(yīng)

寄存器對(duì)應(yīng)

通用寄存器§R0~R15§R13_svc、R14_svc§R13_abt、R14_abt§R13_und、R14_und§R13_irq、R14_irq§R8_fiq~R14_fiq

v不分組寄存器(Theunbankedregisters)R0-R7v分組寄存器(Thebankedregisters)R8-R14v程序計(jì)數(shù)器:R15(PC)通用寄存器

R0-R7是不分組寄存器。這意味著在所有處理器模式下,訪問(wèn)的都是同一個(gè)物理寄存器。未分組寄存器沒(méi)有被系統(tǒng)用于特別的用途,任何可采用通用寄存器的應(yīng)用場(chǎng)合都可以使用未分組寄存器。不分組通用寄存器

v分組寄存器R8-R121.FIQ模式分組寄存器R8-R122.FIQ以外的分組寄存器R8-R12v分組寄存器R13、R141.寄存器R13通常用做堆棧指針SP2.寄存器R14用作子程序鏈接寄存器(Link Register-LR),也稱為L(zhǎng)R,指向函數(shù)的返回 地址分組通用寄存器

寄存器R15被用作程序計(jì)數(shù)器,也稱為PC。其值等于當(dāng)前正在執(zhí)行的指令的地址+8(因?yàn)樵谌≈泛蛨?zhí)行之間多了一個(gè)譯碼的階段)。程序計(jì)數(shù)器

狀態(tài)寄存器CPSRSPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM所有工作模式下都可以訪問(wèn)程序狀態(tài)寄存器CPSR。CPSR包含條件碼標(biāo)志、中斷禁止位、當(dāng)前處理器模式以及其它狀態(tài)和控制信息。

狀態(tài)寄存器CPSR在每種異常模式下都有一個(gè)對(duì)應(yīng)的物理寄存器——程序狀態(tài)保存寄存器SPSR。當(dāng)異常出現(xiàn)時(shí),SPSR用于保存CPSR的值,以便異常返回后恢復(fù)異常發(fā)生時(shí)的工作狀態(tài)。

狀態(tài)寄存器CPSR/SPSRN:運(yùn)算結(jié)果的最高位反映在該標(biāo)志位。對(duì)于有符號(hào)二進(jìn)制補(bǔ)碼,結(jié)果為負(fù)數(shù)時(shí)N=1,結(jié)果為正數(shù)或零時(shí)N=0Z:指令結(jié)果為0時(shí)Z=1(通常表示比較結(jié)果“相等”),否則Z=0

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論