![ARM9體系結(jié)構(gòu)課件_第1頁](http://file4.renrendoc.com/view3/M01/1A/2D/wKhkFmYfJcWAJ3m7AABC_b1RUFE368.jpg)
![ARM9體系結(jié)構(gòu)課件_第2頁](http://file4.renrendoc.com/view3/M01/1A/2D/wKhkFmYfJcWAJ3m7AABC_b1RUFE3682.jpg)
![ARM9體系結(jié)構(gòu)課件_第3頁](http://file4.renrendoc.com/view3/M01/1A/2D/wKhkFmYfJcWAJ3m7AABC_b1RUFE3683.jpg)
![ARM9體系結(jié)構(gòu)課件_第4頁](http://file4.renrendoc.com/view3/M01/1A/2D/wKhkFmYfJcWAJ3m7AABC_b1RUFE3684.jpg)
![ARM9體系結(jié)構(gòu)課件_第5頁](http://file4.renrendoc.com/view3/M01/1A/2D/wKhkFmYfJcWAJ3m7AABC_b1RUFE3685.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
ARM9體系結(jié)構(gòu)Tao內(nèi)容計算機體系結(jié)構(gòu)基礎ARM架構(gòu)ARM處理器的工作狀態(tài)ARM流水線技術ARM體系結(jié)構(gòu)的存儲器格式ARM處理器工作模式ARM體系結(jié)構(gòu)的寄存器組織ARM處理器的異常處理體系結(jié)構(gòu)
馮諾依曼結(jié)構(gòu)單一存儲、統(tǒng)一編址、分時復用體系結(jié)構(gòu)哈佛結(jié)構(gòu)分開存儲、獨立編址、兩倍帶寬、執(zhí)行效率更高指令集系統(tǒng)嵌入式微處理器的指令系統(tǒng)可采用精簡指令集系統(tǒng)RISC(ReducedInstructionSetComputer)或復雜指令集系統(tǒng)CISC(ComplexInstructionSetComputer)
CISCRISC價格由硬件完成部分軟件功能,硬件復雜性增加,芯片成本高由軟件完成部分硬件功能,軟件復雜性增加,芯片成本低性能減少代碼尺寸,增加指令的執(zhí)行周期數(shù)使用流水線降低指令的執(zhí)行周期數(shù),增加代碼尺寸指令集大量的混雜型指令集,有簡單快速的指令,也有復雜的多周期指令,簡單的單周期指令,高級語言支持硬件完成軟件完成尋址模式復雜的尋址模式,支持內(nèi)存到內(nèi)存尋址簡單的尋址模式,僅允許LOAD和STORE指令存取內(nèi)存,其它所有的操作都基于寄存器到寄存器寄存器數(shù)目寄存器較少寄存器較多CISCVSRISCARM9TDMIHarvard架構(gòu)增加了可用的存儲器寬度指令存儲器接口數(shù)據(jù)存儲器接口可以實現(xiàn)對指令和數(shù)據(jù)存儲器的同時訪問5級流水線實現(xiàn)了以下改進:改進CPI到約1.5提高了最大時鐘頻率(300M)ARM9TDMIARM9TDMIDCacheICacheMMUGLUE外部存儲器ARM9xxTARM920T2x16KcachesMMU支持虛擬地址和內(nèi)存保護寫緩沖帶Cache的ARM9TDMIARM9功能框圖AMBA總線AMBA(AdvancedMicrocontrollerBusArchitecture)是ARM公司研發(fā)的一種總線規(guī)范。包括AHB(AdvancedHigh-performanceBus):用于高性能系統(tǒng)模塊的連接,支持突發(fā)模式數(shù)據(jù)傳輸和事務分割;可以有效地連接處理器、片上和片外存儲器,支持流水線操作。APB(AdvancedPeripheralBus):用于較低性能外設的簡單連接,一般是接在AHB系統(tǒng)總線上的第二級總線。AMBA總線測試接口ARMCPUSDRAMControlSRAMLCDControl橋并行接口串行接口TimerUART基于AMBA總線的典型系統(tǒng)AHB系統(tǒng)總線APB外部總線ARM工作狀態(tài)從編程者角度看ARM9有兩種工作狀態(tài),并且可相互切換ARM狀態(tài),處理執(zhí)行32位的ARM指令字對齊Thumb狀態(tài),處理執(zhí)行16位的Thumb指令半字對齊如果在1K的存儲空間中,可以放32條ARM指令,就可以放64條Thumb指令,因此在存放Thunb指令時,代碼密度高處理器狀態(tài)切換處理器狀態(tài)使用BX指令將ARM9TDMI內(nèi)核的操作狀態(tài)在ARM狀態(tài)和Thumb狀態(tài)之間進行切換;從Arm狀態(tài)切換到Thumb狀態(tài)
LDRR0,=Lable+1BXR0;從Thumb狀態(tài)切換到ARM狀態(tài)
LDRR0,=LableBXR0地址最低位為1,表示切換到Thumb狀態(tài)地址最低位為0,表示切換到ARM狀態(tài)跳轉(zhuǎn)地址標號三級流水線技術流水線技術ARM9TDMI流水線技術InstructionFetch
Shift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb
InstDecodeRegSelectRegReadShiftALURegWriteThumb?ARM
decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI流水線技術ARM9與ARM7比較流水線由三級變到五級,程序的執(zhí)行時間TprogTprog=Ninst*CPI/FclkTunmb指令由軟解碼變?yōu)橛步獯a編程模型ARM存儲器格式ARM的尋址空間是線性的地址空間,為232=4GBytes0to3存儲第一個word,bytes4to7存儲第二個wordARM支持大端(Big-endian)和小端(Little-endian)的內(nèi)存數(shù)據(jù)方式,可以通過硬件的方式設置(沒有提供軟件的方式)端模式ARM存儲格式大端的數(shù)據(jù)存放格式小端的數(shù)據(jù)存放格式低地址高地址地址A地址A+1地址A+2地址A+3worda=0xf6
73
4b
cdf6734bcd低地址高地址地址A地址A+1地址A+2地址A+3f6734bcdARM處理器7種工作模式用戶模式(usr)-正常的程序執(zhí)行模式快速中斷模式(fiq)-支持高速數(shù)據(jù)傳輸或通道處理中斷模式(irq)-用于通用中斷處理管理員模式(svc)-操作系統(tǒng)的保護模式.中止模式(abt)-支持虛擬內(nèi)存和/或內(nèi)存保護系統(tǒng)模式(sys)-支持操作系統(tǒng)的特殊用戶模式未定義模式(und)-支持硬件協(xié)處理器的軟件仿真處理器工作模式?jīng)Q定可以訪問的系統(tǒng)資源(寄存器、cache、等)處理器模式分特權模式,非特權模式特權模式下,允許完全讀/寫CPSR寄存器非特權模式下,只允許對CPSR的控制域進行讀訪問,但允許對條件標志的讀/寫訪問ARM微處理器:CPU模式User模式程序不能訪問有些受保護的資源只能通過異常的形式來改變CPU的當前運行模式特權模式可以存取系統(tǒng)中的任何資源System模式與User模式的運行環(huán)境一樣但是它可以不受任何限制的訪問任何資源該模式主要用于運行系統(tǒng)中的一些特權任務FIQ模式IRQ模式Supervisor模式Abort模式Undefined模式異常模式:主要是在外部中斷或者程序執(zhí)行非法操作時會觸發(fā)ARM微處理器:寄存器ARM處理器有37個寄存器
31個通用寄存器:程序計數(shù)器、堆棧及其他通用寄存器
6個狀態(tài)寄存器這些寄存器不能同時看到不同的處理器狀態(tài)和工作模式確定哪些寄存器是對編程者是可見的ARM微處理器:ARMState寄存器ARM微處理器:ThumbState寄存器ARM微處理器:通用寄存器通用寄存器是R0-R15的寄存器,分為三類
沒有對應影子寄存器的寄存器R0-R7
有對應影子寄存器的寄存器R8-R14
程序計數(shù)器R15(或者PC)
影子寄存器是指該寄存器在不同的模式下對應的物理寄存器ARM微處理器:通用寄存器R0-R7所有模式下,R0-R7所對應的物理寄存器都是相同的這八個寄存器是真正意義上的通用寄存器,ARM體系結(jié)構(gòu)中對它們沒有作任何特殊的假設,它們的功能都是等同的。在中斷或者異常處理程序中一般都需要對這幾個寄存器進行保存。ARM微處理器:通用寄存器R8-R14訪問的物理寄存器取決于當前的處理器模式,若要訪問特定的物理寄存器而不依賴當前的處理器模式,則要使用規(guī)定的名字。R8-R12各有兩組物理寄存器:一組為FIQ模式,另一組是除FIQ以外的其他模式。R13-R14各有6個分組的物理寄存器,一個用于用戶模式和系統(tǒng)模式,其他5個分別用于5種異常模式。R13(也被稱為SP指針)被用作棧指針,通常在系統(tǒng)初始化時需要對所有模式下的SP指針賦值,當CPU在不同的模式時棧指針會被自動切換成相應模式下的值。R14有兩個用途,一是在調(diào)用子程序時用于保存調(diào)用返回地址,二是在發(fā)生異常時用于保存異常返回地址。ARM微處理器:程序狀態(tài)寄存器CPSR(當前程序狀態(tài)寄存器)在所有的模式下都是可以讀寫的,它主要包含:條件標志中斷使能標志當前處理器的模式其它的一些狀態(tài)和控制標志ARM微處理器:程序狀態(tài)寄存器置0表示執(zhí)行32bit的ARM指令置1表示執(zhí)行16bit的Thumb指令NegativeZeroCarryOverflowIRQ中斷的響應:置1:禁止響應置0:允許響應FIQ中斷的響應:置1:禁止響應置0:允許響應條件標志模式控制位ARM/Thumb控制標志中斷標志ARM微處理器:程序狀態(tài)寄存器模式控制位M0-M4Lable程序A程序BR14R14寄存器與子程序調(diào)用BLLable地址A???MOVPC,LRR14(地址A)???1.程序A執(zhí)行過程中調(diào)用程序B;操作流程2.程序跳轉(zhuǎn)至標號Lable,執(zhí)行程序B。同時硬件將“BLLable”指令的下一條指令所在地址存入R14;3.程序B執(zhí)行最后,將R14寄存器的內(nèi)容放入PC,返回程序A;程序調(diào)用中斷調(diào)用R14寄存器注意要點R14R14_irq用戶模式下的程序IRQ模式下的程序AareturnB...XA地址A地址A1.執(zhí)行用戶模式下的程序;2.發(fā)生IRQ中斷,硬件將某個地址存入IRQ模式下的R14_irq寄存器,用戶模式下的R14沒有被破壞;3.IRQ服務程序A執(zhí)行完畢,將R14_irq寄存器的內(nèi)容減去某個常量后存入PC,返回之前被中斷的程序;未被破壞中斷調(diào)用R14寄存器注意要點R14R14_irq用戶模式下的程序IRQ模式下的程序AaB...XA地址A地址A1.執(zhí)行用戶模式下的程序;2.發(fā)生IRQ中斷,硬件將某個地址存入IRQ模式下的R14_irq寄存器,用戶模式下的R14沒有被破壞;3.IRQ服務程序A執(zhí)行完畢,將R14_irq寄存器的內(nèi)容減去某個常量后存入PC,返回之前被中斷的程序;未被破壞IRQ模式下的程序BareturnB...XA地址B地址B4.如果在IRQ處理程序中打開IRQ中斷,并且再次發(fā)生IRQ中斷;5.硬件將返回地址保存在R14_irq寄存器中,原來保存的返回地址將被覆蓋,造成錯誤;被破壞6.在程序B返回到程序A,然后在返回到用戶模式下被中斷的程序時,發(fā)生錯誤,將不能正確返回;returnreturn解決辦法是確保R14的對應版本在發(fā)生中斷嵌套時不再保存任何有意義的值(將R14入棧),或者切換到其它處理器模式下。ARM微處理器:異常異常是由內(nèi)部或者外部原因引起的,當異常發(fā)生時CPU將暫停執(zhí)行當前指令自動到指定的向量地址讀取指令并且執(zhí)行。ARM到向量地址的地方讀取指令,也就是ARM的向量地址處存放的是一條指令(一般是一條跳轉(zhuǎn)指令)ARM微處理器:異常當異常出現(xiàn)時,異常模式分組的R14和SPSR用于保存狀態(tài),即:
R14_<exception_mode>=returnlinkSPSR_<exception_mode>=CPSRCPSR[4:0]=exceptionmodenumberCPSR[5]=0/*在ARM狀態(tài)執(zhí)行*/if<exception_mode>==ResetorFIQthenCPSR[6]=1/*禁止快速中斷*/CPSR[7]=1/*禁止正常中斷*/PC=exceptionvectoraddress當處理異常返回時,將SPSR傳送到CPSR,R14傳送到PC程序AIRQ服務程序系統(tǒng)(用戶)模式IRQ模式程序寄存器組圖示進入異常過程1.程序在系統(tǒng)模式下運行用戶程序,假定當前處理器狀態(tài)為Thumb狀態(tài)、允許IRQ中斷;2.用戶程序運行時發(fā)生IRQ中斷,硬件完成以下動作:LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0...????MODTFI...NZCV置位I位(禁止IRQ中斷)清零T位(進入ARM狀態(tài))設置MOD位,切換處理器模式至IRQ模式將下一條指令的地址存入IRQ模式的LR寄存器將CPSR寄存器內(nèi)容存入IRQ模式的SPSR寄存器將跳轉(zhuǎn)地址存入PC,實現(xiàn)跳轉(zhuǎn)IRQ0?1...????BackAddrJumpAddrJumpSYS1?0...????“?”表示對該位不關心在異常處理結(jié)束后,異常處理程序完成以下動作:程序AIRQ服務程序系統(tǒng)模式IRQ模式程序寄存器組圖示退出異常過程LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0...????MODTFI...NZCV將SPSR寄存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工承包合同協(xié)議書
- 二零二五年度智能硬件知識產(chǎn)權授權與保密合同
- 健身房整裝清包合同樣本
- 風力發(fā)電葉片運輸合同
- 二零二五年度辦公室門套定制與建筑節(jié)能改造合同
- 港口物流居間合同委托書
- 電子設備采購合同
- 法院判決離婚協(xié)議書
- 醫(yī)療器械外包合同
- 設備維護管理作業(yè)指導書
- GB/T 19675.2-2005管法蘭用金屬沖齒板柔性石墨復合墊片技術條件
- 社會工作綜合能力上(初級)課件
- 運動技能學習與控制課件第十三章動作技能的保持和遷移
- 2023年春節(jié)后建筑施工復工復產(chǎn)專項方案
- 污水處理廠化驗管理手冊
- 電梯設備維護保養(yǎng)合同模板范本
- 叉車操作規(guī)程
- 土建工程技術標范本(DOC167頁)
- 注塑參數(shù)DOE分析范例
- 綜合布線類項目施工圖解(共21頁)
- 圓錐曲線方程復習
評論
0/150
提交評論