![ARM微處理器編程模型_第1頁](http://file4.renrendoc.com/view4/M00/2C/3D/wKhkGGaheF2AB5EyAAOgghEvj2A736.jpg)
![ARM微處理器編程模型_第2頁](http://file4.renrendoc.com/view4/M00/2C/3D/wKhkGGaheF2AB5EyAAOgghEvj2A7362.jpg)
![ARM微處理器編程模型_第3頁](http://file4.renrendoc.com/view4/M00/2C/3D/wKhkGGaheF2AB5EyAAOgghEvj2A7363.jpg)
![ARM微處理器編程模型_第4頁](http://file4.renrendoc.com/view4/M00/2C/3D/wKhkGGaheF2AB5EyAAOgghEvj2A7364.jpg)
![ARM微處理器編程模型_第5頁](http://file4.renrendoc.com/view4/M00/2C/3D/wKhkGGaheF2AB5EyAAOgghEvj2A7365.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
7.1ARM體系結(jié)構(gòu)ARM概述ARM(AdvancedRISCMachines,1991Cambridge),所設(shè)計的基于RISC技術(shù)IP內(nèi)核已成為絕大部分嵌入式系統(tǒng)核心工業(yè)控制領(lǐng)域過程控制、電力控制、數(shù)控機床、ABS無線通訊領(lǐng)域
基站、帶藍牙/定位等的手機/PDA、GPS網(wǎng)絡(luò)應(yīng)用
ADSL、路由器、交換機、VoIP消費類電子產(chǎn)品
DVD、機頂盒、游戲機成像產(chǎn)品
數(shù)碼相機、打印機、錄像機安全產(chǎn)品
ATM機、POS機、考勤系統(tǒng)、SIM卡全球處理器75%以上的市場份額;到目前為止,基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位嵌入式微80%的GSM/3G手機、99%的CDMA手機以及絕大多數(shù)PDA產(chǎn)品均采用ARM體系的嵌入式處理器,“掌上計算”相關(guān)的所有領(lǐng)域皆為其所主宰;RISC的簡單結(jié)構(gòu)簡化ARM內(nèi)核,在保證高性能的前提下盡量縮小芯片的面積,并降低功耗:采用固定長度的指令格式,指令歸整、簡單、基本尋址方式有2~3種。使用單周期指令,便于流水線操作執(zhí)行。大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率。用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率??稍谝粭l數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理。在循環(huán)處理中使用地址的自動增減來提高運行效率。
ARM體系特點
ARM處理器系列ARM7ARM9ARM10ARM11流水線3568典型頻率MHz80150260335功耗mW/MHz0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS/MHz0.971.11.31.2架構(gòu)馮
諾伊曼哈佛哈佛哈佛取指(Fetch)譯碼(Decode)執(zhí)行(Exec)取指(Fetch)譯碼(Decode)執(zhí)行(Exec)訪問(Memory)回寫(Write)取指(Fetch)發(fā)射(Issue)譯碼(Decode)執(zhí)行(Exec)訪問(Memory)回寫(Write)取指(Fetch)取指(Fetch)發(fā)射(Issue)譯碼(Decode)轉(zhuǎn)換(Snny)執(zhí)行(Exec)訪問(Memory)回寫(Write)ARM7ARM9ARM10ARM11指令集典型內(nèi)核應(yīng)用領(lǐng)域ARM7ARM,ThumbARM7TDMI,ARMTDMI-S,ARM720T,ARM7EJ工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用ARM9ARM,ThumbARM920T,ARM922TARM940T無線設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、高端打印機、數(shù)字照相機和數(shù)字攝像機等ARM9EARM,ThumbARM926EJ-S,ARM946E-S,ARM966E-S,ARM968EJ-S下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域ARM10EDSP,ARM,ThumbARM1020E,ARM1022E,ARM1026EJ-S下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域ARM產(chǎn)品命名規(guī)則ARM[x][y][z][T][D][M][I][E][J][F][-S]系列2帶有MMU4帶有MPU6無MMU/MPU0標準cache2減小cache6可變cacheThumb指令集JTAG調(diào)試器快速乘法器嵌入式跟蹤宏單元增強指令Jazzlle加速向量浮點單元可綜合版本ARM946E-SARM720TARM7TDMIARM7TDMI以后的ARM核,”TDMI”功能為默認配置7.2ARM編程模型ARM兩種工作狀態(tài)
ARM狀態(tài):執(zhí)行32位(字)ARM指令集
Thumb狀態(tài):執(zhí)行16位(半字)Thumb指令集說明1.處理器復(fù)位后處于ARM狀態(tài);2.處理器異常處理時進入ARM狀態(tài);3.若處理器在Thumb狀態(tài)進入異常,則異常返回仍然自動轉(zhuǎn)換到Thumb狀態(tài);4.狀態(tài)切換不影響工作模式及寄存器內(nèi)容。MOVR5,#0x00120005;最后bit0=1表示切換到Thumb狀態(tài)BXR5 ;轉(zhuǎn)移到0x00120005地址執(zhí)行Thumb指令A(yù)RMCPU數(shù)據(jù)通路ARMCPU控制邏輯ARMCPUARM內(nèi)核ARMCPUARM內(nèi)核ARM芯片處理器運行模式處理器模式說明備注用戶(usr)正常程序執(zhí)行模式不能直接切換到其它模式系統(tǒng)(sys)運行操作系統(tǒng)的特權(quán)任務(wù)與用戶模式類似,但具有可以直接切換到其它模式等特權(quán)快中斷(fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時進入此模式中斷(irq)用于通用中斷處理IRQ異常響應(yīng)時進入此模式管理(svc)操作系統(tǒng)保護模式系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入此模式中止(abt)用于支持虛擬內(nèi)存和/或存儲器保護數(shù)據(jù)或指令預(yù)取出錯時進入未定義(und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時進入此模式處理器模式用戶(usr)系統(tǒng)(sys)快中斷(fiq)中斷(irq)管理(svc)中止(abt)未定義(und)系統(tǒng)(sys)快中斷(fiq)中斷(irq)管理(svc)中止(abt)未定義(und)特權(quán)模式快中斷(fiq)中斷(irq)管理(svc)中止(abt)未定義(und)異常模式通過修改PSR寄存器D0~D4實現(xiàn)模式切換或通過異常切換到異常模式通過異常切換到異常模式處理器模式切換每種異常模式對應(yīng)一組寄存器供相應(yīng)的異常處理程序使用
ARM寄存器組織共37個32bit寄存器(有ARM和Thumb兩種組織方式)。寄存器的使用與處理器運行模式有關(guān)。不分組寄存器——所有模式共用(其中每一個都指向一個物理寄存器)分組寄存器——與工作模式有關(guān)。R8_fiq~R12_fiq通用寄存器R0~R7R8~R12R13_<mode>R14_<mode>快中斷模式下其余模式下R13、R14異常模式下。根據(jù)不同模式各有5個寄存器用戶、系統(tǒng)模式下程序計數(shù)器PCR15狀態(tài)寄存器CPSRSPSR_<mode>所有模式異常模式下。作CPSR的副本寄存器用戶系統(tǒng)管理中止未定義中斷快中斷不分組寄存器R0R0R1R1R2R2R3R3R4R4R5R5R6R6R7R7分組寄存器R8R8R8_fiqR9R9R9_fiqR10R10R10_fiqR11R11R11_fiqR12R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)程序計數(shù)器R15CPSR狀態(tài)寄存器CPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq堆棧指針指向該模式下的堆棧空間鏈接寄存器保存子程序返回地址或異常處理返回地址R8~R14專用于FIQ的分組,有利于加快FIQ處理備份程序狀態(tài)寄存器用戶系統(tǒng)管理終止未定義中斷快中斷1PC指示處理器要取的下一條指令的地址。由于流水線機制,PC值為當(dāng)前指令地址值加8個字節(jié)。也就是說,對于ARM指令集來說,PC指向當(dāng)前指令的下兩條指令的地址;2ARM指令是字對齊。對于ARMV4以及更高的版本,程序必須保證寫入R15寄存器的地址值的bits[1:0]為0b00,否則將會產(chǎn)生不可預(yù)知的結(jié)果;對于Thumb指令集(16位)來說,指令是半字對齊的。處理器將忽略bit[0]。寫入R15的值被看作程序轉(zhuǎn)移的目標地址。3指令BX利用bit[0]來確定是ARM指令,還是Thumb指令。這種讀取PC值和寫入PC值的不對稱的操作需要特別注意。關(guān)于程序計數(shù)器R15(PC)關(guān)于程序狀態(tài)寄存器CPSR反映ALU狀態(tài)標志、當(dāng)前工作模式、中斷允許標志;可在任何模式下被訪問(指令MRS/MSR);每種異常模式有專用寄存器SPSR備份CPSR,便于從異常退出時恢復(fù)CPSR。NZCV……IFTM4M3M2M1M0b31b30b29b28……b7b6b5b4b3b2b1b0符號標志:當(dāng)補碼運算結(jié)果為負時,N=1;否則N=0。零標志:當(dāng)運算結(jié)果為0時,Z=1;否則Z=0。進位標志:加法/減法(包括比較指令CMN/CMP)有進位/借位時C=1/0,其他情況C=0/1。對于移位操作,C=移出值的最后一位。其他非加/減運算指令,C通常不變。溢出標志對于帶符號數(shù)加減運算V=1符號位溢出;V=0符號位未溢出;其他非加/減運算指令,V通常不變符號標志:當(dāng)補碼運算結(jié)果為負時,N=1;否則N=0。b31b30b29b28……b7b6b5b4b3b2b1b0NZCV……IFTM4M3M2M1M0一般指令帶S后綴時,執(zhí)行結(jié)果會影響條件碼;但有一些指令的執(zhí)行總是會影響條件碼。中斷禁止標志
I=1:禁止IRQ;F=1:禁止FIQ運行狀態(tài)標志T=0:運行于ARM狀態(tài)T=1:運行于Thumb狀態(tài)M4~M0處理器模式10000User10111Abort10001FIQ11011Underfined10010IRQ11111System10011SupervisorThumb狀態(tài)寄存器組織R0R1R2R3R4R5R6R7SPLRPCCPSRSPSR通用寄存器堆棧指針鏈接寄存器程序計數(shù)器完全訪問R13R14R15限制訪問間接訪問不能訪問ARM狀態(tài)寄存器組織的子集無R8~R15,但可使用匯編語言程序有限制訪問數(shù)據(jù)類型與格式字節(jié):8位半字:16位字:32位以上類型均支持unsigned:二進制格式表示范圍為0~2n-1的非負整數(shù);signed:補碼格式表示范圍為-2n-1~+2n-1-1的整數(shù)所有數(shù)據(jù)類指令的操作數(shù)都是“字”0x0210~0x02170x0218~0x021F0x0220~0x0227數(shù)據(jù)類型信息按字長訪問,在存儲器中按整數(shù)邊界存儲信息長度整數(shù)邊界8位(字節(jié))x…xxxx16位(半字)x…xxx032位(單字)x…xx0064位(雙字)x…x000122334558字節(jié)123458字節(jié)ARM體系最大尋址空間4GB(232)。存儲器編址從0x00000000開始,以字節(jié)為單位。支持大端格式/小端格式小端格式
高字節(jié)→高地址;低字節(jié)→低地址大端格式
高字節(jié)→低地址;低字節(jié)→高地址地址大端格式小端格式0x000000000x120x780x000000010x340x560x000000020x560x340x000000030x780x12字數(shù)據(jù)0x12345678存放I/O地址采用存儲器地址映射(統(tǒng)一編址)異常(exception)程序執(zhí)行流程被短暫停止(包括正常的外部中斷Interrupt)異常種類異常類型對應(yīng)異常模式優(yōu)先級復(fù)位(Reset)Supervisor數(shù)據(jù)中止(DataAbort)AbortFIQFIQIRQIRQ指令預(yù)取中止(PrefetchAbort)Abort未定義指令(Undefined)Undefined軟件中斷(SWI)Supervisor高低1復(fù)位
用于系統(tǒng)上電、系統(tǒng)復(fù)位處理器復(fù)位電平有效(nRESET=0),ARM立即停止執(zhí)行當(dāng)前指令,跳轉(zhuǎn)到復(fù)位異常處理程序。操作:CPSR[4:0]=0b10011 進入管理模式;CPSR[5]=0 處理器進入ARM狀態(tài)CPSR[6]=1 禁止FIQ、IRQCPSR[7]=1PC=0x00000000 PC從地址0x00開始取第一條指令異常2未定義指令當(dāng)ARM處理器遇到不能處理的指令時,將產(chǎn)生未定義指令異常。軟件可使用這一機制通過模擬未定義的協(xié)處理器指令來擴展ARM指令集。操作R14_und=下一條指令地址SPSR_und=CPSR ;復(fù)制CPSRCPSR[4:0]=0b11011 ;進入未定義指令模式CPSR[5]=0 ;進入ARM狀態(tài)CPSR[7]=1 ;禁止IRQPC=0x00000004 ;PC從地址0x04開始取指令異常3軟中斷執(zhí)行SWI指令,進入管理模式。操作R14_svc=SWI的下一條指令地址SPSR_svc=CPSR ;復(fù)制CPSRCPSR[4:0]=0b10011 ;進入管理模式CPSR[5]=0 ;進入ARM狀態(tài)CPSR[7]=1 ;禁止IRQPC=0x00000008 ;PC從地址0x08開始取指令異常4數(shù)據(jù)中止、預(yù)取指令中止處理器試圖去取一條被標記為預(yù)取無效的指令時發(fā)生預(yù)取中止。數(shù)據(jù)訪問指令的目標地址不存在或該地址不允許當(dāng)前指令訪問時產(chǎn)生數(shù)據(jù)中止。中止異常表示對存儲器訪問失敗。這種機制實際保證了虛擬存儲技術(shù)的實現(xiàn)。R14_abt=中止指令地址+8(數(shù)據(jù)中止)或R14_abt=中止指令地址+4(預(yù)取中止)SPSR_abt=CPSR ;復(fù)制CPSRCPSR[4:0]=0b10111 ;進入中止模式CPSR[5]=0 ;進入ARM狀態(tài)CPSR[7]=1 ;禁止IRQPC=0x00000010 ;PC指向地址0x010(數(shù)據(jù)中止)或PC=0x0000000C ;PC指向地址0x00C(預(yù)取中止)異常5外部中斷IRQ處理器外部中斷請求引腳有效,且CPSR寄存器的I位被清除時,產(chǎn)生IRQ異常。外設(shè)通過該異常請求處理器服務(wù)。操作R14_irq=被執(zhí)行的下一條指令地址+4SPSR_irq=CPSR ;復(fù)制CPSRCPSR[4:0]=0b10010 ;進入IRQ模式CPSR[5]=0 ;進入ARM狀態(tài)CPSR[7]=1 ;禁止IRQPC=0x00000018 ;PC指向地址0x018異常6快速中斷FIQ處理器快速中斷請求引腳有效,且CPSR寄存器的F位被清除時,產(chǎn)生FIQ異常。操作R14_frq=被執(zhí)行的下一條指令地址+4SPSR_fiq=CPSR ;復(fù)制CPSRCPSR[4:0]=0b10001 ;進入FIQ模式CPSR[5]=0 ;進入ARM狀態(tài)CPSR[6]=1CPSR[7]=1 ;禁止IRQ、FIQPC=0x0000001c ;PC指向地址0x01c異常
異常向量表向量地址異常類型進入時模式0x00000000復(fù)位管理0x00000004未定義指令未定義0x00000008軟件中斷(SWI)管理0x0000000C預(yù)取中止(指令)中止0x00000010數(shù)據(jù)中止中止0x00000014保留保留0x00000018IRQ中斷0x0000001CFIQ快中斷存儲器中為每個異常類型
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年三軸運行業(yè)深度研究分析報告
- pocib出口合同范本
- 北京保密合同范例
- 產(chǎn)品代售代理合同范例
- 代銷權(quán)合同范本
- 買賣合同補充協(xié)議合同范本
- 2025年度住宅小區(qū)綠化與建筑裝飾一體化合同
- 2025年度高新技術(shù)居間服務(wù)費合同范本正規(guī)范本
- 2025年度建筑工程安全生產(chǎn)環(huán)保措施實施合同
- 2025年蕓香行業(yè)深度研究分析報告
- “小學(xué)英語對話教學(xué)”研究課題方案
- 城市地下管網(wǎng)建設(shè)工程投標書(范文)
- 聯(lián)合體三方協(xié)議合同模板
- 五上數(shù)學(xué)簡便運算500道及答案
- 山東省臨沂市2024年中考物理真題
- 2024新蘇教版一年級數(shù)學(xué)上冊全冊教材分析
- 溫州市甌海旅游投資集團有限公司下屬子公司招聘筆試題庫2024
- Altium-Designer-電路設(shè)計與制作教案
- 供應(yīng)商評估與篩選管理制度
- YBT 6227.1-2024《鋼鐵工業(yè)自動化儀表與控制裝置安裝規(guī)范 第1部分:總則》
- 2024赤峰學(xué)院教師招聘考試筆試試題
評論
0/150
提交評論