ARM體系結(jié)構(gòu)PPT教學(xué)課件_第1頁(yè)
ARM體系結(jié)構(gòu)PPT教學(xué)課件_第2頁(yè)
ARM體系結(jié)構(gòu)PPT教學(xué)課件_第3頁(yè)
ARM體系結(jié)構(gòu)PPT教學(xué)課件_第4頁(yè)
ARM體系結(jié)構(gòu)PPT教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、12.1 ARM處理器工作狀態(tài) ARM狀態(tài)。32位,ARM狀態(tài)下執(zhí)行字對(duì)齊的32位ARM指令。 Thumb狀態(tài)。16位,Thumb狀態(tài)下執(zhí)行半字對(duì)齊的16位Thumb指令。 在程序執(zhí)行的過(guò)程中,處理器可在2中狀態(tài)下切換。 切換時(shí)不影響處理器的模式國(guó)寄存器的內(nèi)容。 兩種指令集有相應(yīng)的狀態(tài)切換命令。 ARM處理器開(kāi)始執(zhí)行代碼的時(shí)候,只能處于ARM狀態(tài)第1頁(yè)/共17頁(yè)22.2 ARM處理器工作模式ARM微處理器支持7種工作模式 用戶(hù)模式(usr): ARM的正常運(yùn)行模式,通常用來(lái)執(zhí)行一般的應(yīng)用程序。 快速中斷模式(fiq): 由外部觸發(fā),用于高速數(shù)據(jù)傳輸或通道處理。 外部中斷模式(irq): 由外部

2、觸發(fā),用于一般的外部中斷處理。 管理模式(svc): 操作系統(tǒng)使用的保護(hù)模式。 中止模式(abt): 數(shù)據(jù)或者指令預(yù)取指出現(xiàn)錯(cuò)誤或者異常時(shí)進(jìn)入該模式,用于虛擬內(nèi)存或存儲(chǔ)保護(hù)。 系統(tǒng)模式(sys): 運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。 未定義模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。 除了用戶(hù)模式外,其他模式均可視為特權(quán)模式第2頁(yè)/共17頁(yè)32.2 ARM處理器工作模式改變ARM處理器工作模式的方法: 軟件改變,改變CPSR4:0位 外部中斷響應(yīng) 異常處理第3頁(yè)/共17頁(yè)42.3 ARM寄存器 ARM總共有37個(gè)寄存器,31個(gè)通用寄存器,和6個(gè)狀態(tài)寄存器,但并不

3、是同時(shí)可見(jiàn)的。 R0R7:未分組寄存器。 R8R14 :分組寄存器。 R15:程序計(jì)數(shù)器PC。 R13(SP):在ARM中常用作堆棧指針,應(yīng)用程序初始化 R13,使其指向異常模式專(zhuān)用的堆棧。 R14(LR):link register,放置當(dāng)前子程序返回地址或異常模式返回地址。 R15:Program Counter(PC) CPSR(Current Program Status Register)當(dāng)前程序狀態(tài)寄存器。 SPSR (Saved Program Status Register)備份程序狀態(tài)寄存器,SPSR用于在程序異常中斷時(shí)保存被中斷的程序狀態(tài)第4頁(yè)/共17頁(yè)52.3 ARM寄存

4、器第5頁(yè)/共17頁(yè)6關(guān)于PSR寄存器PSR分為CPSR和SPSR,它們的格式相同。 NZVC:指令作運(yùn)算時(shí)的標(biāo)志位。 IFT:I=1禁止IRQ,F(xiàn)=1禁止FIQ,T=1執(zhí)行thumb指令。 Mode bits User:10000 Abort:10111 FIQ: 10001 Undefined:11011 IRQ: 10010 System:11111 Supervisor:10011第6頁(yè)/共17頁(yè)7運(yùn)行模式位M4:0的具體含義 第7頁(yè)/共17頁(yè)8條件碼標(biāo)志的具體含義 第8頁(yè)/共17頁(yè)92.4 ARM的異常中斷 復(fù)位(reset):當(dāng)處理器的復(fù)位引腳有效時(shí),系統(tǒng)產(chǎn)生復(fù)位中斷,程序跳到中斷處

5、理程序處執(zhí)行。 復(fù)位中斷發(fā)生的情況: 系統(tǒng)加電時(shí) 系統(tǒng)復(fù)位時(shí) 跳轉(zhuǎn)到復(fù)位中斷向量處(0 x00000000) 未定義指令(undefined instruction):當(dāng)ARM處理器或者是系統(tǒng)中的協(xié)處理器認(rèn)為當(dāng)前指令未定義時(shí),產(chǎn)生未定義的指令異常處理。 軟件中斷(software interrupt):有用戶(hù)定義的中斷指令,在實(shí)時(shí)操作系統(tǒng)中可以通過(guò)該機(jī)制實(shí)現(xiàn)系統(tǒng)功能的調(diào)用。第9頁(yè)/共17頁(yè)102.4 ARM的異常中斷 指令預(yù)取中止(prefech abort):如果處理器預(yù)取的指令的地址不存在,或者該地址不允許當(dāng)前指令訪問(wèn),處理器產(chǎn)生指令預(yù)取中止異常處理。 數(shù)據(jù)訪問(wèn)中止(data Abort)

6、:如果數(shù)據(jù)訪問(wèn)指令的目標(biāo)地址不存在,或者該地址不允許當(dāng)前指令訪問(wèn),處理器產(chǎn)生數(shù)據(jù)訪問(wèn)中止異常處理。 外部中斷請(qǐng)求(IRQ):當(dāng)處理器的外部中斷請(qǐng)求引腳有效,而且CPSR寄存器的I控制位被清除時(shí),處理器產(chǎn)生外部中斷請(qǐng)求(IRQ)異常處理。 快速中斷請(qǐng)求(FIQ):當(dāng)處理器的外部快速中斷請(qǐng)求引腳有效,而且CPSR寄存器的F控制位被清除時(shí),處理器產(chǎn)生快速中斷請(qǐng)求(FIQ)異常處理。第10頁(yè)/共17頁(yè)11 2.4 ARM的異常中斷異常中斷類(lèi)型異常中斷模式向量地址優(yōu)先級(jí)(1最高)復(fù)位 管理模式0 x000000001未定義指令 未定義模式0 x000000046軟件中斷 (SWI)管理模式0 x0000

7、00086指令預(yù)取中止 中止模式0 x0000000C5數(shù)據(jù)訪問(wèn)中止中止模式0 x000000102保留 0 x00000014IRQ(外部中斷請(qǐng)求) IRQ模式0 x000000184FIQ(快速中斷請(qǐng)求)FIQ模式0 x0000001C3第11頁(yè)/共17頁(yè)12ARM處理器對(duì)異常中斷的響應(yīng)過(guò)程 進(jìn)入異常中斷的過(guò)程(由內(nèi)核自動(dòng)完成) 保存PC4值到新的異常模式的Lr中,以便處理完異常后,能正確返回原程序。 保存CPSR到新的異常模式的SPSR中。 強(qiáng)制改變Mode bits,使ARM進(jìn)入相應(yīng)的運(yùn)行模式。 強(qiáng)制PC值,設(shè)置成該異常模式的向量地址,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處執(zhí)行程序。 設(shè)置CP

8、SR中的中斷禁止位,以禁止中斷發(fā)生。 從異常中斷返回的過(guò)程(由內(nèi)核自動(dòng)完成) 由鏈接寄存器LR的值恢復(fù)PC,返回到發(fā)生異常中斷的指令的下一條指令處執(zhí)行程序。 從SPSR恢復(fù)CPSR。 清除中斷屏蔽位。注:當(dāng)一個(gè)異常發(fā)生時(shí),ARM處理器總是切換到ARM狀態(tài)(即非Thumb狀態(tài)).第12頁(yè)/共17頁(yè)132.5 ARM的存儲(chǔ)體系 存儲(chǔ)器格式Little Endian format 低位字節(jié)存放在低地址 如:0 x12345678在 存儲(chǔ)器中的存儲(chǔ)順序如 圖所示。第13頁(yè)/共17頁(yè)142.5 ARM的存儲(chǔ)體系 存儲(chǔ)器格式 Big Endian format 高位字節(jié)存放在低地址 如:0 x12345678在 存儲(chǔ)器中的存儲(chǔ)順序如 圖所示第14頁(yè)/共17頁(yè)152.6 ARM片上總線 AMBAAdvanced Microcontroller Bus Architecture(先進(jìn)的微控制器總線體系結(jié)構(gòu)) AMBA總線定義3種規(guī)范 AHBAdvanced High-performance Bus:用于連接高性能、高吞吐量的系統(tǒng)模塊,如:CPU、DMA和DSP。它支持突發(fā)數(shù)據(jù)傳輸方式及單個(gè)數(shù)據(jù)傳輸方式,所有的時(shí)序都以單一時(shí)鐘沿為基準(zhǔn)。 ASBAdvanced System Bus:是一種微處理器和系統(tǒng)外

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論