




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、異常的響應異常的響應/ /返回:返回:PCPC、LRLR偏移量的計算偏移量的計算2/106項目項目ARM7ARM9ARM10ARM11流水線流水線3568典型頻率典型頻率MHz80150260335功耗功耗mW/MHz0.060.19(+cache)0.5(+cache)0.4(+cache)性能性能MIPS/MHz0.971.11.31.2架構架構馮馮 諾伊曼諾伊曼哈佛哈佛哈佛哈佛哈佛哈佛ARM處理器(核)比較處理器(核)比較3-Stage Pipeline 3-Stage Pipeline vs 5-Stage Pipeline 4InstructionFetch Shift + ALUM
2、emoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMIARMARM處理器內核流水線工作流程處理器內核流水線工作流程5ARM的編程模型的編程模型p所謂ARM的編程模型,就是決定ARM程序組織形式的硬件架構,ARM的編程模型主要包括:ARMARM微處理器的微處理
3、器的工作狀態工作狀態ARMARM體系結構的體系結構的存儲器模式存儲器模式ARMARM微處理器的微處理器的運行(操作)模式運行(操作)模式ARMARM體系結構的體系結構的寄存器組織寄存器組織ARMARM微處理器的微處理器的異常狀態異常狀態6ARM Processor Core Registers7ARMARM支持的數據類型支持的數據類型字節:字節:8 8位位半字:半字:1616位(必須分配為占用位(必須分配為占用2 2個字節)個字節)字:字:3232位(必須分配為占用位(必須分配為占用4 4個字節)個字節)注意:注意:1 1)半字存儲單元地址最低位為)半字存儲單元地址最低位為0 0 2 2)字存
4、儲單元地址最低兩位為)字存儲單元地址最低兩位為0 0N N位無符號數:位無符號數: 二進制格式表示范圍為二進制格式表示范圍為0202N-1N-1的非負整數;的非負整數;N N位有符號數時,位有符號數時,N N位數據值使用位數據值使用2 2的補碼格式表示范圍為的補碼格式表示范圍為-2-2N-1N-1+2+2N-1N-1-1-1的整數的整數1112342數據存儲格式數據存儲格式 ARMARM體系結構所支持的最大尋址空間為體系結構所支持的最大尋址空間為4GB4GB(2 23232字節)字節) ARMARM體系結構將存儲器看成是以字節為單位的線性組合,存體系結構將存儲器看成是以字節為單位的線性組合,存
5、儲單元地址從儲單元地址從0 x000000000 x00000000開始編址開始編址 ARMARM可按大端格式和小端格式兩種方式存儲字數據可按大端格式和小端格式兩種方式存儲字數據 地址地址 大端格式大端格式 0 x00000000 0 x12 0 x00000001 0 x34 0 x00000002 0 x56 0 x00000003 0 x78 地址地址 小端格式小端格式 0 x00000000 0 x78 0 x00000001 0 x56 0 x00000002 0 x34 0 x00000003 0 x12字數據字數據0 x12345678 一個基于一個基于ARMARM內核的芯片可以
6、只支持大端模式或小端模式,也可以兩內核的芯片可以只支持大端模式或小端模式,也可以兩者都支持。通常,小端模式是者都支持。通常,小端模式是ARMARM處理器的默認形式。處理器的默認形式。 在在ARMARM指令集中不包含任何直接選擇大小端的指令,但是一個同時支指令集中不包含任何直接選擇大小端的指令,但是一個同時支持大小端模式的持大小端模式的ARMARM芯片可以通過硬件配置(一般使用芯片的引腳來配置)芯片可以通過硬件配置(一般使用芯片的引腳來配置)來匹配存儲器系統所使用的規則。來匹配存儲器系統所使用的規則。ARM微處理器支持微處理器支持7種運行模式種運行模式 用戶模式用戶模式(usrusr):): A
7、RMARM處理器處理器正常的程序執行正常的程序執行狀態狀態 快速中斷模式快速中斷模式(fiqfiq):): 用于高速數據傳輸或通道處理用于高速數據傳輸或通道處理 外部中斷模式外部中斷模式(irqirq):): 用于通用的中斷處理用于通用的中斷處理 管理模式管理模式(svcsvc):): 操作系統使用的保護模式操作系統使用的保護模式 數據訪問中止模式數據訪問中止模式( (abtabt) ): 訪問存儲器失敗訪問存儲器失敗,當數據或,當數據或指令預取中止時進入該模式,可用于虛擬存儲及存儲保護。指令預取中止時進入該模式,可用于虛擬存儲及存儲保護。 系統模式系統模式(syssys):): 運行具有特權
8、的操作系統任務。運行具有特權的操作系統任務。 未定義指令中止模式未定義指令中止模式(undund):當未定義的指令執行時):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。進入該模式,可用于支持硬件協處理器的軟件仿真。 ARMARM微處理器的微處理器的運行模式可以通過軟件改變運行模式可以通過軟件改變,也可以通過,也可以通過外外部中斷或異常處理改變部中斷或異常處理改變。 大多數的應用程序運行在用戶模式下,當處理器運行在用大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的戶模式下時,某些被保護的系統資源是不能被訪問的10ARM的運行模
9、式:的運行模式:if u, as u11異常異常exceptionexception異常指正常執行的程序流因故被暫時中止;異常指正常執行的程序流因故被暫時中止;ARM支持支持7種異常類型、種異常類型、5種處理器異常工作模式種處理器異常工作模式若同時發生多個異常,將按優先級順序處理;若同時發生多個異常,將按優先級順序處理;異常類型對應異常模式優先級復位Supervisor1(最高優先級)數據中止Abort2FIQFIQ3IRQIRQ4指令預取中止Abort5未定義指令Undefined6SWISupervisor7(最低優先級)優先級降低12異常(異常(exception)的進入和返回)的進入和
10、返回異常向量(表)向量地址異常類型進入時模式進入時I狀態 進入時F狀態0 x0000 0000復位管理禁止禁止0 x0000 0004未定義指令未定義IF0 x0000 0008軟件中斷(SWI)管理禁止F0 x0000 000C 預取中止(指令)中止IF0 x0000 0010數據中止中止IF0 x0000 0014保留保留0 x0000 0018IRQ中斷禁止F0 x0000 001CFIQ快中斷禁止禁止注:表中的I和F表示不對該位有影響異常發生時處理器將PC值強制設置為對應的異常向量; 異常向量處通常只存放一條跳轉指令,指向真正的異常處理程序;異常向量表的后面一般緊跟著存放FIQ的異常處
11、理程序,這樣可以減少一次跳轉,提高FIQ的響應速度;14異常響應過程異常響應過程在在LRLR中保存返回地址信息;中保存返回地址信息; ARMARM狀態下將當前指令地址加狀態下將當前指令地址加4 4或加或加8 8復制到復制到LRLR ThumbThumb狀態下將當前指令地址加狀態下將當前指令地址加2 2、4 4或加或加8 8 復制到復制到LRLR將將CPSRCPSR復制到適當的復制到適當的SPSRSPSR中;中;將將CPSRCPSR模式位強制設置為與異常類型相對應的模式位強制設置為與異常類型相對應的值;值;強制強制PCPC從相關的異常向量處取指;從相關的異常向量處取指;注注1 1:中斷異常時置位
12、中斷禁止標志可以防止不受控制的異常嵌套:中斷異常時置位中斷禁止標志可以防止不受控制的異常嵌套 2 2:異??偸窃冢寒惓?偸窃贏RMARM狀態中處理。若處理器處于狀態中處理。若處理器處于ThumbThumb狀態時發生狀態時發生異常,則異常向量地址裝入異常,則異常向量地址裝入PCPC時會自動切換到時會自動切換到ARMARM狀態。狀態。取決于異常類型取決于異常類型異常返回(退出)過程異常返回(退出)過程將LR( R14 )中的值減去偏移量后存入PC,偏移量根據異常的類型而有所不同;將SPSR的值復制回CPSR;清零在入口置位的中斷禁止標志;注:恢復CPSR的動作會將T、F和I位自動恢復為異常發生前的
13、值。異常異常exception異常指正常執行的程序流因故被暫時中止;ARM支持7種異常類型、5種處理器異常工作模式若同時發生多個異常,將按優先級順序處理;異常類型對應異常模式優先級復位Supervisor1(最高優先級)數據中止Abort2FIQFIQ3IRQIRQ4指令預取中止Abort5未定義指令Undefined6SWISupervisor7(最低優先級)優先級降低17復位異常復位異常Reset 微處理器剛開始上電,其實就算進入了復位狀態。后面執行時,如果發生了不可恢復的異常,也會強制進入復位異常,復位操作包括:p1)停止當前指令操作,PC寫入:0 x0000_0000。p2) CPSR
14、寄存器做出如下改變 (CPSR7:0 = 8b110_10011): 禁止IRQ中斷, 禁止FIQ中斷; 進入ARM指令執行狀態; 系統進入管理模式。18未定義指令異常(未定義指令異常(UND)當ARM處理器在取到一條指令時,發現該指令不是一條有效指令,或者識別是一條協處理器指令,但是沒有應答時,進入的異常模式將進行如下操作:p1)停止當前指令操作,停止當前指令操作,PC寫入:寫入:Ox0000_0004。p2)下一條指令的存放地址寫入下一條指令的存放地址寫入R14_und。p3) CPSR寫入SPSR_und。p4) CPSR寄存器做出如下改變(CPSR7:0=8b1x0_11011)禁止I
15、RQ中斷;進入ARM指令執行狀態;系統進入未定義指令異常模式(UND)。由于這條指令屬于未定義指令,因此這條指令并不執行。當前狀態寄存器CPSR會自動保存入SPSR_und,下一條指令地址保存入R14_und。未定義指令異常處理完畢后,它可以把PSR_und送回CPSR,可以把R14_und寫回PC,這樣就可跳過未定義指令繼續執行。如果未定義指令已經被排除,可以用R14_und-4替代R14 und寫回PC,則可從未定義指令處執行程序。軟件中斷異常軟件中斷異常(SWI)軟件中斷異常是由微處理器執行SWI指令時觸發的。軟件中斷異常和未定義指令異常一樣,不是由外界的中斷引起的,而是由指令執行引起的
16、。未定義指令異常是由非法指令引起的,軟件中斷異常是由合法的“中斷”指令引起的。SWI指令將進行如下操作:p 1)對對PC寫入寫入Ox0000 0008。p 2)下一條指令的地址寫入下一條指令的地址寫入R14_svc。p 3) CPSR寫入SPSR_svc。p 4) CPSR寄存器做出如下改變 (CPSR7:0 = 8blx0_10011): 禁止IRQ中斷; 進入ARM指令執行狀態; 系統進入管理模式(SVC)。在軟件中斷后,可以輕松返回,它只需把SPSR_svc寫回CPSR,把R14_svc寫回PC,則可以繼續從SWI的下一條指令開始執行。20取指令異常(取指令異常(abort)取指令異常是
17、在向指令池取指令時,指令池發出該次取指令操作異常的信號,而微處理器會進入的一種中斷異常。如果觸發取指令異常,則微處理器會進行如下操作:p 1)當前指令發生異常,并不執行,當前指令發生異常,并不執行,PC寫入寫入0 x0000_000C。p 2)下一條指令地址寫入下一條指令地址寫入R14_abt。p 3) CPSR寫入SPSR_abt。p 4) CPSR寄存器做出如下改變(CPSR7:0 =8blx0_10111): 禁止IRQ中斷; 進入ARM指令執行狀態; 系統進入數據訪問異常模式(ABT)。l 取指令異常引導微處理器進入排除異常的中斷服務程序。在排除異常完畢后,可能會再次取該條指令,則可以
18、通過把R14_abt 4寫入PC來實現。21數據處理異常(數據處理異常(abort)向數據池進行數據處理操作時,數據池也會發出異常信號,這時的異常稱為數據處理異常。在發生數據處理異常時,數據處理指令已經執行完畢,它在發生數據處理異常時,數據處理指令已經執行完畢,它的的下一條指令正在執行,當然由于發生了異常,它的下一條指令必須放棄執下一條指令正在執行,當然由于發生了異常,它的下一條指令必須放棄執行行。發生數據處理異常時,微處理器會進行如下操作:p 1)下一條指令放棄執行,PC寫入0 x0000_0010。p 2)下一條指令的下一條的地址,也就是數據異常對應執行指令的地址+8,寫入R14_abt。
19、p 3) CPSR寫入SPSR_abt。 ;p 4) CPSR寄存器做出如下改變(CPSR7:0 = 8blx0_10111): 禁止IRQ中斷; 進入ARM指令執行狀態; 系統進入數據訪問異常模式(ABT)。n 數據處理異常發生時,正處于下一條指令執行的時刻,因此,對處理現數據處理異常發生時,正處于下一條指令執行的時刻,因此,對處理現場的保留都是基于下一條指令的。如果我們需薯重新執行發生數據處理場的保留都是基于下一條指令的。如果我們需薯重新執行發生數據處理異常的指令,則應該對異常的指令,則應該對R14_abt減去減去8,這才是發生數據處理異常的指令。,這才是發生數據處理異常的指令。22IRQ
20、中斷異常中斷異常IRQ中斷由外部中斷輸入引起,是由輸入端口irq為一個周期的高電平觸發的,當IRQ中斷生效,則會進行下列操作:p 1)當前指令放棄執行,當前指令放棄執行,PC寫入寫入Ox0000_0018。p 2)下一條指令的地址寫入下一條指令的地址寫入R14_irq。p 3) CPSRTs入SPSR_irq。p 4) CPSR寄存器做出如下改變(CPSR7:0 = 8blx0_10010): 禁止IRQ中斷; 進入ARM指令執行狀態; 系統進入外部中斷模式(IRQ)。n 一旦進入IRQ模式,首先是對cpsr_i置位,避免新的IRQ中斷對其影響,形成IRQ中斷嵌套,但是并能不禁止FIQ中斷,因
21、為FIQ中斷具有較高的優先級。需要返回現場時,將執行發生需要返回現場時,將執行發生IRQ中斷放棄執行的指令,則可以執行中斷放棄執行的指令,則可以執行指令指令SUBS PC R14,#4。它不僅對PC寫入放棄執行的那條指令的地址,而且同時還會把SPSR_irq寫回CPSR。23FIQ中斷異常中斷異常FIQ中斷異常和IRQ中斷類似,都是由外部輸入端口觸發的。也可由cpsr_f來禁止它生效。在cpsr_f為低電平,外部生成FIQ中斷時,會進行下列操作:p 1)當前指令放棄執行,當前指令放棄執行,PC寫入寫入0 x0000_00IC。p 2)下一條指令的地址寫入下一條指令的地址寫入R14_fiq。p
22、3) CPSRs入SPSR_fiq。p 4) CPSR寄存器做出如下改變(CPSR7:0 = 8b110_10001): 禁止IRQ中斷;禁止FIQ中斷;進入ARM指令執行狀態; 系統進入快速中斷模式(FIQ)。與IRQ中斷異常不同,FIQ中斷異常會禁用cpsr_f,這樣會避免進入FIQ中斷嵌套。FIQ中斷有專有的寄存器R8-R14。因此進入FIQ中斷,對于R8-R14來說,不用保存然后導入這個過程。把FIQ中斷的入口放在所有中斷的入口的最后,可以不用在0 x0000_00IC中放置跳轉指令令,而是可以直接放置執行程序,從0 x0000_00IC繼續執行下去。這樣,FIQ中斷執行可以發揮更高的
23、效率。24寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統系統管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數器數器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_
24、irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態寄狀態寄存器存器CPSRCPSRSPSR無無SPSR_svc SPSR_abtSPSR_und SPSR_irq SPSR_fiq無無CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0用戶用戶無無CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系統系統SPSR_svcCPSRR15R14_svcR13_svcR12R11R10R9R8R7R6R5R4R3R2R1R0管理管理SPSR_abtCP
25、SRR15R14_abtR13_abtR12R11R10R9R8R7R6R5R4R3R2R1R0中止中止SPSR_undCPSRR15R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定義未定義SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中斷中斷SPSR_fiqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中斷快中斷FIQ中斷有專用的寄存器中斷有專用的寄存器R8-R1425異常excepti
26、on的操作異常類型操作復位停止當前指令操作,PC寫入:0 x0000_0000。數據中止下一條指令放棄執行,PC寫入0 x0000_0010。下一條指令的下一條的地址,也就是數據異常對應執行指令的地址+8,寫入R14_abt。FIQ當前指令放棄執行,PC寫入x0000_00IC。下一條指令的地址寫入R14_fiq。IRQ當前指令放棄執行,PC寫入x0000_0018。下一條指令的地址寫入R14_irq。指令預取中止當前指令發生異常,并不執行,PC寫入0 x0000_000C。下一條指令地址寫入R14_abt。未定義指令停止當前指令操作,PC寫入:Ox0000_0004。下一條指令的存放地址寫入
27、R14_und。SWI對PC寫入Ox0000 0008,下一條指令的地址寫入R14_svc。27/106Lable程序程序1程序程序2R14R14(LR)寄存器與子程序調用BL Lable地址地址A?MOV PC,LRR14(地址地址A)Lable?1. 1.程序程序1 1執行過程中執行過程中調用程序調用程序2 2;2.2.程序跳轉至標號程序跳轉至標號LableLable,執行程序,執行程序2 2。3.3.同時硬件將同時硬件將“BL BL LableLable” 的下一條指令的下一條指令所在地址存入所在地址存入R14R14(LRLR););3.3.程序程序2 2執行完后,將執行完后,將R14R
28、14 (LRLR)寄存器的內容放入)寄存器的內容放入PCPC,返回程序,返回程序1 1繼續執行;繼續執行;28/1061. 1.異常返回地址的處理與子程序調用類似,都是由硬件異常返回地址的處理與子程序調用類似,都是由硬件自動完成。區別在于有些異常有一個小自動完成。區別在于有些異常有一個小常量偏移常量偏移。2.2.當發生異常嵌套時,這些異常之間可能會發生沖突。當發生異常嵌套時,這些異常之間可能會發生沖突。如用戶模式下發生如用戶模式下發生IRQIRQ中斷嵌套中斷嵌套時,時,R14_irqR14_irq中低級中中低級中斷返回主程序的地址將被高級中斷的返回地址所覆蓋;斷返回主程序的地址將被高級中斷的返
29、回地址所覆蓋;R14(LR)寄存器與異常處理R14R14_irq用戶模式下的程序用戶模式下的程序0IRQ模式下的程序模式下的程序1指令指令m+1.指令指令m+n指令指令m地址地址A地址地址A未被破壞未被破壞IRQ模式下的程序模式下的程序2return指令指令j+1.指令指令j+k指令指令j地址地址B地址地址BR14_irq 被破壞被破壞returnreturn1. 1.執行用戶模式執行用戶模式下的程序下的程序0 0;2.2.發生發生IRQIRQ中斷中斷后,硬件將帶后,硬件將帶偏移的返回地偏移的返回地址存入址存入IRQIRQ模式模式下的下的R14_irqR14_irq寄寄存器,存器,用戶模用戶模
30、式下的式下的R14R14沒有沒有被破壞被破壞;3. IRQ3. IRQ服務程服務程序序1 1執行完后,執行完后,可將可將R14_irqR14_irq寄寄存器的內容減存器的內容減去偏移量后存去偏移量后存入入PCPC,返回之,返回之前被中斷的程前被中斷的程序;序;4. 4. 如果在如果在IRQIRQ處理程序中打處理程序中打開開IRQIRQ中斷,并中斷,并且再次發生且再次發生IRQIRQ中斷;中斷;5. 5. 硬件將返回硬件將返回地址保存在地址保存在R14_irqR14_irq寄存器寄存器中,中,原來保存原來保存的返回地址信的返回地址信息將被覆蓋,息將被覆蓋,造成錯誤造成錯誤;6. 6. 在程序在程
31、序2 2返回返回到程序到程序1 1,然后,然后在返回到用戶在返回到用戶模式下被中斷模式下被中斷的程序時,發的程序時,發生錯誤,將不生錯誤,將不能正確返回;能正確返回; 解決辦法是確解決辦法是確保保R14R14的對應版本的對應版本在發生中斷嵌套在發生中斷嵌套時不再保存任何時不再保存任何有意義的值(將有意義的值(將R14R14入棧),或者入棧),或者切換到其它處理切換到其它處理器模式下。器模式下。R15(PC)寄存器的讀操作)寄存器的讀操作l ARM指令以字為單位,因此R15的最低兩位總是為0;l R15的值是處理器正在取指的指令地址。因為有流水線,它與當前正在執行指令的地址之間存在一個偏移(對于
32、確定的ARM芯片該值為常量)。l 當使用指令STR/STM保存R15時,不同芯片中(可能是三級流水或五級流水)PC偏移量可能是8或12,因此需事先計算出該芯片的PC偏移量。30/1061. 1. 寫入寫入R15 R15 的值被當作指令地址,程序將從這個的值被當作指令地址,程序將從這個地址處繼續執行(相當于執行地址處繼續執行(相當于執行無條件跳轉無條件跳轉););2.2. 由于由于ARMARM指令以字為邊界,因此寫入指令以字為邊界,因此寫入R15R15的值的值最低兩位通常為最低兩位通常為0b000b00。具體的規則取決于內核。具體的規則取決于內核結構的版本:結構的版本: 在在V3V3及以下版本中
33、,寫入及以下版本中,寫入R15R15的值的最低兩位的值的最低兩位被忽略,因此跳轉地址由指令的實際目標地址被忽略,因此跳轉地址由指令的實際目標地址(寫入(寫入R15R15的值)和的值)和0 xFFFFFFFC0 xFFFFFFFC相與得到;相與得到; 在在V4V4及以上版本中,寫入及以上版本中,寫入R15R15的值的最低兩位的值的最低兩位如果不為如果不為0 0,結果將不可預測。,結果將不可預測。R15(PC)寄存器的寫操作31/106異常響應過程異常響應過程在在LRLR中保存返回地址信息;中保存返回地址信息; ARMARM狀態下將當前指令地址加狀態下將當前指令地址加4 4或加或加8 8復制到復制
34、到LRLR ThumbThumb狀態下將當前指令地址加狀態下將當前指令地址加2 2、4 4或加或加8 8 復制到復制到LRLR將將CPSRCPSR復制到適當的復制到適當的SPSRSPSR中;中;將將CPSRCPSR模式位模式位強制設置為與異常類型相對應強制設置為與異常類型相對應的值;的值;強制強制PCPC從相關的從相關的異常向量異常向量處取指;處取指;注注1 1:中斷異常時置位:中斷異常時置位中斷禁止中斷禁止標志可以防止不受控制的異常嵌套標志可以防止不受控制的異常嵌套 2 2:異??偸窃冢寒惓?偸窃贏RMARM狀態狀態中處理。若處理器處于中處理。若處理器處于ThumbThumb狀態時狀態時發生
35、異常,則異常向量地址裝入發生異常,則異常向量地址裝入PCPC時會自動切換到時會自動切換到ARMARM狀態狀態。取決于異常類型取決于異常類型32/106程序AIRQ服務程序系統模式IRQ模式程序寄存器組異常響應(進入)過程異常響應(進入)過程1. 1. 程序運行用戶程序,假定當前處程序運行用戶程序,假定當前處理器狀態為理器狀態為ThumbThumb狀態、允許狀態、允許IRQIRQ中斷;中斷;2. 2. 用戶程序運行時發生用戶程序運行時發生IRQIRQ中斷,中斷,硬件硬件完成以下動作:完成以下動作:LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0. . .? ? ? ?
36、MODTFI. . .N Z C V置位置位I I位(禁止位(禁止IRQIRQ中斷)中斷)清零清零T T位(進入位(進入ARMARM狀態)狀態) 設置設置MODMOD位,切換處理器模位,切換處理器模式至式至IRQIRQ模式模式將返回地址信息存入將返回地址信息存入IRQIRQ模式的模式的LRLR寄存器寄存器將將CPSRCPSR寄存器內容存入寄存器內容存入IRQIRQ模式的模式的SPSRSPSR寄存器寄存器將跳轉地址存入將跳轉地址存入PCPC,實現跳轉,實現跳轉IRQ0?1. . .? ? ? ?BackAddrJumpAddrJumpSYS1?0. . .?“?”表示對該位不關心表示對該位不關心
37、33/106異常返回(退出)過程異常返回(退出)過程 將將LRLR( R14 R14 )中的值減去偏移量后)中的值減去偏移量后存入存入PCPC,偏移量根據異常的類型而,偏移量根據異常的類型而有所不同;有所不同; 將將SPSRSPSR的值復制回的值復制回CPSRCPSR; 清零在入口置位的清零在入口置位的中斷禁止標志中斷禁止標志;注:恢復注:恢復CPSRCPSR的動作會將的動作會將T T、F F和和I I位自動恢復位自動恢復為異常發生前的值。為異常發生前的值。34/106在異常處理結束后,在異常處理結束后,異常處理程序異常處理程序完成以完成以下動作:下動作:程序AIRQ服務程序系統模式IRQ模式程序寄存器組異常返回(退出)過程異常返回(退出)過程LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0. . .? ? ? ?MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高級花藝課程試題及答案探討
- 2024年項目管理資格鍛煉試題及答案
- 2025年養老金投資策略研究試題及答案
- 2024年項目管理認證測試計劃試題及答案
- 2025年CFA考試企業估值方法試題及答案
- 注會考試全方位復習策略探討試題及答案
- 2025年內部控制風險試題及答案
- 學校圍墻翻修方案范本
- 2024年項目管理資格認證的自我評估試題及答案
- 證券市場對宏觀經濟變動的反應考試試題及答案
- 渝北區國土空間生態修復規劃 (2019-2035年)說明書
- 農產品營銷學第三版(教學課件)第一章 農產品營銷導論
- 2024年國家文物局考古研究中心招聘應屆畢業生19人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 部編版小學六年級道德與法治(上冊)單元測試卷附答案(全冊)
- 蘇教版五年級下冊數學期中考試試卷含答案
- 2024年認證行業法律法規及認證基礎知識 CCAA年度確認 試題與答案
- 陜煤集團榆林化學有限責任公司招聘筆試題庫2024
- 2024年江西省高考歷史試卷真題(含答案解析)
- 【財務共享模式下費用報銷管理的探究7900字(論文)】
- 班組長執行力提升培訓課件
- 電影音樂欣賞智慧樹知到期末考試答案章節答案2024年華南農業大學
評論
0/150
提交評論