n3_ARM嵌入式微處理器體系結(jié)構(gòu)指令_第1頁
n3_ARM嵌入式微處理器體系結(jié)構(gòu)指令_第2頁
n3_ARM嵌入式微處理器體系結(jié)構(gòu)指令_第3頁
n3_ARM嵌入式微處理器體系結(jié)構(gòu)指令_第4頁
n3_ARM嵌入式微處理器體系結(jié)構(gòu)指令_第5頁
已閱讀5頁,還剩244頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1嵌入式系統(tǒng)原理與應(yīng)用嵌入式系統(tǒng)原理與應(yīng)用第三講第三講 ARMARM嵌入式處理器體系結(jié)構(gòu)與指嵌入式處理器體系結(jié)構(gòu)與指令系統(tǒng)令系統(tǒng)2本節(jié)提要本節(jié)提要ARM7TDMI系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu) ARM處理器工作模式處理器工作模式S3C44B0X簡介簡介 ARM中斷處理中斷處理ARM系統(tǒng)啟動過程系統(tǒng)啟動過程ARM 微處理器的指令系統(tǒng)微處理器的指令系統(tǒng)3ARM7TDMI系統(tǒng)內(nèi)部結(jié)構(gòu)圖系統(tǒng)內(nèi)部結(jié)構(gòu)圖 lARM7TDMI處理處理器部件和主要信號器部件和主要信號路徑的框圖如圖所路徑的框圖如圖所示。示。l它內(nèi)部由處理器核它內(nèi)部由處理器核、用于邊界掃描的、用于邊界掃描的TAP控制器和在線控制器和在線仿真器仿真器ICE組成

2、。組成。雙向數(shù)據(jù)總線雙向數(shù)據(jù)總線D31:0被分割被分割成單向輸入和輸出成單向輸入和輸出總線,以便于與外總線,以便于與外部存儲器兼容。部存儲器兼容。 4ARM7TDMI模塊地址寄存器寄存器組31*32位寄存器(6個狀態(tài)寄存器)地址增量器乘法器桶形移位器32位ALU寫數(shù)據(jù)寄存器指令流水線讀數(shù)據(jù)寄存器Thumb指令譯碼器指令譯碼和邏輯控制ADDR31:0CLKCLENCFGBIGENDnIRQnFIQnRESETABORTLOCKWRITESIZE1:0PROT1:0TRANS1:0DBG輸出DBG輸入CP控制CP握手WDATA31:0RDATA31:0掃描調(diào)試控制A總線B總線ALU總線增量器總線P

3、C總線ARM7TDMI 的模塊和內(nèi)核框圖的模塊和內(nèi)核框圖5ARM7TDMI功能信號圖功能信號圖 ARM7TDMI6本節(jié)提要本節(jié)提要ARM7TDMI系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu) ARM處理器工作模式處理器工作模式S3C44B0X簡介簡介 ARM中斷處理中斷處理ARM系統(tǒng)啟動過程系統(tǒng)啟動過程ARM 微處理器的指令系統(tǒng)微處理器的指令系統(tǒng)73.2.1 ARM和和Thumb狀態(tài)狀態(tài)lARM體系結(jié)構(gòu)在體系結(jié)構(gòu)在V4T及其以上版本定義了稱為及其以上版本定義了稱為Thumb指令集的指令集的16位指令集。位指令集。Thumb指令集的功能是指令集的功能是32位位ARM指令集的功能子集。指令集的功能子集。l工作在工作在Thum

4、b狀態(tài)下的處理器譯碼和執(zhí)行狀態(tài)下的處理器譯碼和執(zhí)行Thumb指指令集。工作在令集。工作在ARM狀態(tài)下的處理器譯碼和執(zhí)行狀態(tài)下的處理器譯碼和執(zhí)行ARM指令集。必須確保處理器不接受對當前狀態(tài)來說為錯指令集。必須確保處理器不接受對當前狀態(tài)來說為錯誤指令集的指令。每個指令集都包括切換處理器狀態(tài)誤指令集的指令。每個指令集都包括切換處理器狀態(tài)的指令。處理器初始狀態(tài)默認是的指令。處理器初始狀態(tài)默認是ARM狀態(tài)狀態(tài)l注意:兩個狀態(tài)之間的切換并不影響處理器模式或寄存器內(nèi)容。8lTHUMBTHUMB指令集指令集 ( T)( T)uTHUMB THUMB 指令集指令集: 32: 32位位ARMARM指令集的子集,按

5、指令集的子集,按1616位指位指令重新編碼令重新編碼u代碼尺寸小代碼尺寸小 ( up to 35 % compression)( up to 35 % compression)u簡化設(shè)計簡化設(shè)計THUMBTHUMB指令的特點:指令的特點:1 1、THUMBTHUMB代碼所需空間為代碼所需空間為ARMARM代碼的代碼的70%70%;2 2、THUMBTHUMB代碼所使用的指令數(shù)比代碼所使用的指令數(shù)比ARMARM代碼多代碼多40%40%;3 3、用、用3232位存儲器,位存儲器,ARMARM代碼比代碼比THUMBTHUMB代碼快代碼快40%40%;4 4、用、用1616位存儲器,位存儲器,THUM

6、BTHUMB代碼比代碼比ARMARM代碼快代碼快45%45%;5 5、使用、使用THUMBTHUMB代碼,外部存儲器功耗比代碼,外部存儲器功耗比ARMARM代碼少代碼少30%30%9;從Arm狀態(tài)切換到Thumb狀態(tài) LDR R0,=Lable+1 BX R0;從Thumb狀態(tài)切換到ARM狀態(tài) LDR R0,=Lable BX R0地址最低位為1,表示切換到Thumb狀態(tài)地址最低位為0,表示切換到ARM狀態(tài)跳轉(zhuǎn)地址標號l處理器狀態(tài)切換:使用處理器狀態(tài)切換:使用BX指令將指令將ARM7TDMI內(nèi)核的內(nèi)核的操作狀態(tài)在操作狀態(tài)在ARM狀態(tài)和狀態(tài)和Thumb狀態(tài)之間進行切換(狀態(tài)之間進行切換(詳見第詳

7、見第4章)章) ,程序如下所示。,程序如下所示。103.2.2 ARM處理器模式處理器模式 除了用戶模式以外,其他除了用戶模式以外,其他6種處理器模式可以稱為特權(quán)模式種處理器模式可以稱為特權(quán)模式,在這些模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意,在這些模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式的切換。其中除了系統(tǒng)模式外的其他地進行處理器模式的切換。其中除了系統(tǒng)模式外的其他5種特權(quán)種特權(quán)模式又稱為異常模式。模式又稱為異常模式。 ARM處理器運行模式處理器運行模式處理器模式處理器模式描描 述述用戶模式(用戶模式(User,usrUser,usr)正常程序執(zhí)行的模式正常程序執(zhí)

8、行的模式快速中斷模式(快速中斷模式(FIQ,fiqFIQ,fiq)用于高速數(shù)據(jù)傳輸和通道處理用于高速數(shù)據(jù)傳輸和通道處理外部中斷模式(外部中斷模式(IRQ,irqIRQ,irq)用戶通常的中斷使用用戶通常的中斷使用管理模式(管理模式(Supervisor,sveSupervisor,sve)供操作系統(tǒng)使用的一種保護模式供操作系統(tǒng)使用的一種保護模式數(shù)據(jù)訪問中止模式(數(shù)據(jù)訪問中止模式(Abort,abtAbort,abt)用于虛擬存儲及存儲保護用于虛擬存儲及存儲保護未定義指令中止模式未定義指令中止模式(Undefined,undUndefined,und)用于支持通過軟件仿真硬件的協(xié)處用于支持通過軟

9、件仿真硬件的協(xié)處理器理器系統(tǒng)模式(系統(tǒng)模式(System,sysSystem,sys)用于運行特權(quán)級的操作系統(tǒng)任務(wù)用于運行特權(quán)級的操作系統(tǒng)任務(wù)11處理器模式處理器模式說明說明備注備注 用戶用戶 (usr)(usr)正常程序執(zhí)行模式正常程序執(zhí)行模式不能直接切換到其它模式不能直接切換到其它模式 系統(tǒng)系統(tǒng) (sys)(sys)運行操作系統(tǒng)的特權(quán)任務(wù)運行操作系統(tǒng)的特權(quán)任務(wù)與用戶模式類似,但具有可以直與用戶模式類似,但具有可以直接切換到其它模式等特權(quán)接切換到其它模式等特權(quán) 快中斷快中斷 (fiq)(fiq)支持高速數(shù)據(jù)傳輸及通道支持高速數(shù)據(jù)傳輸及通道處理處理FIQFIQ異常響應(yīng)時進入此模式異常響應(yīng)時進入

10、此模式 中斷中斷 (irq)(irq)用于通用中斷處理用于通用中斷處理IRQIRQ異常響應(yīng)時進入此模式異常響應(yīng)時進入此模式 管理管理 (svc)(svc)操作系統(tǒng)保護模式操作系統(tǒng)保護模式系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入此模式此模式 中止中止 (abt)(abt)用于支持虛擬內(nèi)存和用于支持虛擬內(nèi)存和/ /或或存儲器保護存儲器保護在在ARM7TDMIARM7TDMI沒有大用處沒有大用處 未定義未定義 (und)(und)支持硬件協(xié)處理器的軟件支持硬件協(xié)處理器的軟件仿真仿真未定義指令異常響應(yīng)時進入此模未定義指令異常響應(yīng)時進入此模式式3.2.2 ARM處理器模式處理器模式l處理

11、器處理器7種模式種模式123.2.2 ARM處理器模式處理器模式l特權(quán)模式特權(quán)模式處理器模式處理器模式說明說明備注備注 用戶用戶 (usr)正常程序工作模式正常程序工作模式不能直接切換到其它模式不能直接切換到其它模式 系統(tǒng)系統(tǒng) (sys)用于支持操作系統(tǒng)的特用于支持操作系統(tǒng)的特權(quán)任務(wù)等權(quán)任務(wù)等與用戶模式類似,但具有可以與用戶模式類似,但具有可以直接切換到其它模式等特權(quán)直接切換到其它模式等特權(quán) 快中斷快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通支持高速數(shù)據(jù)傳輸及通道處理道處理FIQ異常響應(yīng)時進入此模式異常響應(yīng)時進入此模式 中斷中斷 (irq)用于通用中斷處理用于通用中斷處理IRQ異常響應(yīng)時進入此模式異

12、常響應(yīng)時進入此模式 管理管理 (svc)操作系統(tǒng)保護代碼操作系統(tǒng)保護代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入此模式入此模式 中止中止 (abt)用于支持虛擬內(nèi)存和用于支持虛擬內(nèi)存和/或或存儲器保護存儲器保護在在ARM7TDMI沒有大用處沒有大用處 未定義未定義 (und)支持硬件協(xié)處理器的軟支持硬件協(xié)處理器的軟件仿真件仿真未定義指令異常響應(yīng)時進入此未定義指令異常響應(yīng)時進入此模式模式 除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計上只允許(或者可選為只允許)特權(quán)模式下訪問。此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。

13、未定義未定義 (und) 中止中止 (abt) 管理管理 (svc) 中斷中斷 (irq) 快中斷快中斷 (fiq) 系統(tǒng)系統(tǒng) (sys)133.2.2 ARM處理器模式處理器模式l異常模式異常模式處理器模式處理器模式說明說明備注備注 用戶用戶 (usr)正常程序工作模式正常程序工作模式不能直接切換到其它模式不能直接切換到其它模式 系統(tǒng)系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)用于支持操作系統(tǒng)的特權(quán)任務(wù)等任務(wù)等與用戶模式類似,但具有可以直與用戶模式類似,但具有可以直接切換到其它模式等特權(quán)接切換到其它模式等特權(quán) 快中斷快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道支持高速數(shù)據(jù)傳輸及通道處理處理FIQ異常響

14、應(yīng)時進入此模式異常響應(yīng)時進入此模式 中斷中斷 (irq)用于通用中斷處理用于通用中斷處理IRQ異常響應(yīng)時進入此模式異常響應(yīng)時進入此模式 管理管理 (svc)操作系統(tǒng)保護代碼操作系統(tǒng)保護代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入此模式此模式 中止中止 (abt)用于支持虛擬內(nèi)存和用于支持虛擬內(nèi)存和/或存或存儲器保護儲器保護在在ARM7TDMI沒有大用處沒有大用處 未定義未定義 (und)支持硬件協(xié)處理器的軟件支持硬件協(xié)處理器的軟件仿真仿真未定義指令異常響應(yīng)時進入此模未定義指令異常響應(yīng)時進入此模式式 未定義未定義 (und) 中止中止 (abt) 管理管理 (svc) 中斷中斷

15、(irq) 快中斷快中斷 (fiq) 這五種模式稱為異常模式。它們除了可以通過程序切換進入外,也可以由特定的異常進入。當特定的異常出現(xiàn)時,處理器進入相應(yīng)的模式。每種異常模式都有一些獨立的寄存器,以避免異常退出時用戶模式的狀態(tài)不可靠。143.2.2 ARM處理器模式處理器模式l用戶和系統(tǒng)模式用戶和系統(tǒng)模式處理器模式處理器模式說明說明備注備注 用戶用戶 (usr)正常程序工作模式正常程序工作模式不能直接切換到其它模式不能直接切換到其它模式 系統(tǒng)系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有可以直接切換到與用戶模式類似,但具有可以直接切換到其它模式等特

16、權(quán)其它模式等特權(quán) 快中斷快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道處理支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時進入此模式異常響應(yīng)時進入此模式 中斷中斷 (irq)用于通用中斷處理用于通用中斷處理IRQ異常響應(yīng)時進入此模式異常響應(yīng)時進入此模式 管理管理 (svc)操作系統(tǒng)保護代碼操作系統(tǒng)保護代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入此模式系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進入此模式 中止中止 (abt)用于支持虛擬內(nèi)存和用于支持虛擬內(nèi)存和/或存儲器保或存儲器保護護在在ARM7TDMI沒有大用處沒有大用處 未定義未定義 (und)支持硬件協(xié)處理器的軟件仿真支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時進入此模式未定義

17、指令異常響應(yīng)時進入此模式 這兩種模式都不能由異常進入,而且它們使用完全相同的寄存器組。 系統(tǒng)模式是特權(quán)模式,不受用戶模式的限制。操作系統(tǒng)在該模式下訪問用戶模式的寄存器就比較方便,而且操作系統(tǒng)的一些特權(quán)任務(wù)可以使用這個模式訪問一些受控的資源。 系統(tǒng)系統(tǒng) (sys) 用戶用戶 (usr)15ARM寄存器介紹寄存器介紹 16寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1

18、R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP,v8)R11R11R11_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR

19、13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SPSR_abtSPSR_abtSPSR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiqSPSR_fiqSPSR

20、_irqSPSR_undSPSR_abtSPSR_abtCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0所有的37個寄存器,分成兩大類:31個通用32位寄存器;6個狀態(tài)寄存器。ARM狀態(tài)各模式下的寄存器狀態(tài)各模式下的寄存器17寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理

21、中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP,v8)R11R11R1

22、1_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SPSR_abtSPSR_abtSP

23、SR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiqR13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0在匯編語言中寄存器R0R13為保存數(shù)據(jù)或地址值的通用寄存器。它們是完全通用的寄存器,不會被體系結(jié)構(gòu)作為特殊用途,并且可用于任何使用通用寄存器的指令。一般的通用寄存器18寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器

24、用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP

25、,v8)R11R11R11_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SPSR_a

26、btSPSR_abtSPSR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiqR13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0其中R0R7為未分組的寄存器,也就是說對于任何處理器模式,這些寄存器都對應(yīng)于相同的32位物理寄存器。一般的通用寄存器19寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問

27、的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R1

28、1(FP,v8)R11R11R11_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SP

29、SR_abtSPSR_abtSPSR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiqR14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8寄存器R8R14為分組寄存器。它們所對應(yīng)的物理寄存器取決于當前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器一般的通用寄存器20寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱

30、中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R1

31、0_fiqR10_fiqR11(FP,v8)R11(FP,v8)R11R11R11_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSR

32、CPSRCPSRCPSRSPSRSPSR無無SPSR_abtSPSR_abtSPSR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiqR12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R12有兩個分組的物理寄存器。一個用于除FIQ模式之外的所有寄存器模式,另一個用于FIQ模式。這樣在發(fā)生FIQ中斷后,可以加速FIQ的處理速度。一般的通用寄存器21寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理

33、管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP,v8)R11R11

34、R11_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SPSR_abtSPSR_abt

35、SPSR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiq寄存器R13、R14分別有6個分組的物理寄存器。一個用于用戶和系統(tǒng)模式,其余5個分別用于5種異常模式。R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13一般的通用寄存器22寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程

36、序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP,v8)R11R11R11_fiqR11_fiqR12(IP)R12(IP)R12R12R

37、12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SPSR_abtSPSR_abtSPSR_abtSPSR_abtSPSR_undSPSR_undSPS

38、R_irqSPSR_irqSPSR_fiqSPSR_fiq寄存器R13常作為堆棧指針(SP)。在ARM指令集當中,沒有以特殊方式使用R13的指令或其它功能,只是習慣上都這樣使用。但是在Thumb指令集中存在使用R13的指令。堆棧指針寄存器R13(SP)23寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3

39、R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP,v8)R11R11R11_fiqR11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_u

40、ndR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SPSR_abtSPSR_abtSPSR_abtSPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiqR14為鏈接寄存器(LR),在結(jié)構(gòu)上有兩個特殊功能:在每種模式下,模式自身的R14版本用

41、于保存子程序返回地址;當發(fā)生異常時,將R14對應(yīng)的異常模式版本設(shè)置為異常返回地址(有些異常有一個小的固定偏移量)。鏈接寄存器R14(LR)24Lable程序A程序BR14鏈接寄存器R14(LR)lR14(LR)寄存器與子程序調(diào)用)寄存器與子程序調(diào)用BL Lable地址A?MOV PC,LRR14(地址A)Lable?1.程序A執(zhí)行過程中調(diào)用程序B;操作流程2.程序跳轉(zhuǎn)至標號Lable,執(zhí)行程序B。同時硬件將“BL Lable”指令的下一條指令所在地址存入R14(LR);3.程序B執(zhí)行最后,將R14寄存器的內(nèi)容放入PC,返回程序A;25鏈接寄存器R14(LR) 異常發(fā)生時,程序要跳轉(zhuǎn)至異常服務(wù)程

42、序,對返回地址的處理與子程序調(diào)用類似,都是由硬件完成的。區(qū)別在于有些異常有一個小常量的偏移。l當發(fā)生異常嵌套時,這些異常之間可能會發(fā)生沖突。l例如:如果用戶在用戶模式下執(zhí)行程序時發(fā)生了IRQ中斷,用戶模式寄存器不會被破壞。但是如果允許在IRQ模式下的中斷處理程序重新使能IRQ中斷,并且發(fā)生了嵌套的IRQ中斷時,外部中斷處理程序保存在R14_irq中的任何值都將被嵌套中斷的返回地址所覆蓋。26鏈接寄存器R14(LR)lR14寄存器注意要點寄存器注意要點R14R14_irq用戶模式下的程序IRQ模式下的程序AareturnB.XA地址A地址A1.執(zhí)行用戶模式下的程序;2.發(fā)生IRQ中斷,硬件將某個

43、地址存入IRQ模式下的R14_irq寄存器,用戶模式下的R14沒有被破壞;3. IRQ服務(wù)程序A執(zhí)行完畢,將R14_irq寄存器的內(nèi)容減去某個常量后存入PC,返回之前被中斷的程序;未被破壞R14_irq27鏈接寄存器R14(LR)lR14寄存器注意要點寄存器注意要點R14R14_irq用戶模式下的程序IRQ模式下的程序AaB.XA地址A地址A1.執(zhí)行用戶模式下的程序;2.發(fā)生IRQ中斷,硬件將某個地址存入IRQ模式下的R14_irq寄存器,用戶模式下的R14沒有被破壞;3. IRQ服務(wù)程序A執(zhí)行完畢,將R14_irq寄存器的內(nèi)容減去某個常量后存入PC,返回之前被中斷的程序;未被破壞IRQ模式下

44、的程序BareturnB.XA地址B地址B4. 如果在IRQ處理程序中打開IRQ中斷,并且再次發(fā)生IRQ中斷;5. 硬件將返回地址保存在R14_irq寄存器中,原來保存的返回地址將被覆蓋,造成錯誤;R14_irq 被破壞6. 在程序B返回到程序A,然后在返回到用戶模式下被中斷的程序時,發(fā)生錯誤,將不能正確返回;returnreturn 解決辦法是確保R14的對應(yīng)版本在發(fā)生中斷嵌套時不再保存任何有意義的值(將R14入棧),或者切換到其它處理器模式下。28寄存器寄存器類別類別寄存器在匯編寄存器在匯編中的名稱中的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定

45、義未定義中斷中斷快中斷快中斷通用寄通用寄存器和存器和程序計程序計數(shù)器數(shù)器R0(a1)R0(a1)R0R0R1(a2)R1(a2)R1R1R2(a3)R2(a3)R2R2R3(a4)R3(a4)R3R3R4(v1)R4(v1)R4R4R5(v2)R5(v2)R5R5R6(v3)R6(v3)R6R6R7(v4)R7(v4)R7R7R8(v5)R8(v5)R8R8R8_fiqR8_fiqR9(SB,v6)R9(SB,v6)R9R9R9_fiqR9_fiqR10(SL,v7)R10(SL,v7)R10R10R10_fiqR10_fiqR11(FP,v8)R11(FP,v8)R11R11R11_fiqR

46、11_fiqR12(IP)R12(IP)R12R12R12_fiqR12_fiqR13(SP)R13(SP)R13R13R13_svcR13_svcR13_abtR13_abtR13_undR13_undR13_irqR13_irqR13_fiqR13_fiqR14(LR)R14(LR)R14R14R14_svcR14_svcR14_abtR14_abtR14_undR14_undR14_irqR14_irqR14_fiqR14_fiqR15(PC)R15(PC)R15R15狀態(tài)寄狀態(tài)寄存器存器CPSRCPSRCPSRCPSRSPSRSPSR無無SPSR_abtSPSR_abtSPSR_abt

47、SPSR_abtSPSR_undSPSR_undSPSR_irqSPSR_irqSPSR_fiqSPSR_fiq 寄存器R15為程序計數(shù)器(PC),它指向正在取指的地址。可以認為它是一個通用寄存器,但是對于它的使用有許多與指令相關(guān)的限制或特殊情況。如果R15使用的方式超出了這些限制,那么結(jié)果將是不可預(yù)測的。程序計數(shù)器R15(PC)29程序計數(shù)器R15(PC)LDR R0,PC?PCPC-4PC-8正在執(zhí)行正在譯碼正在取指流水線狀態(tài)地址程序代碼l讀讀R15的限制的限制l正常操作時,從R15讀取的值是處理器正在取指的地址,即當前正在執(zhí)行指令的地址加上8個字節(jié)(兩條ARM指令的長度)。由于ARM指令

48、總是以字為單位,所以R15寄存器的最低兩位總是為0。30程序計數(shù)器R15(PC)l讀讀R15的限制的限制l 當使用STR或STM指令保存R15時,會有一個例外。這些指令可能將當前指令地址加8字節(jié)或加12字節(jié)保存(可能還有其它數(shù)字)。偏移量是8還是12取決于具體的ARM芯片,但是對于一個確定的芯片,這個值是一個常量。l所以最好避免使用STR和STM指令來保存R15,如果很難做到,那么應(yīng)當在程序中計算出該芯片的偏移量。計算偏移量(PC值和當前指令地址的差)程序代碼:SUBR1,PC,#4;R1=下面STR指令的地址STRPC,R0;保存STR指令地址+偏移量LDRR0,R0;然后重裝SUBR0,R

49、0,R1;計算偏移量04812ARM狀態(tài)31程序計數(shù)器R15(PC) l寫寫R15的限制的限制l正常操作時,寫入R15 的值被當作一個指令地址,程序從這個地址處繼續(xù)執(zhí)行(相當于執(zhí)行一次無條件跳轉(zhuǎn))。l 由于ARM指令以字節(jié)為邊界,因此寫入R15的值最低兩位通常為0b00。具體的規(guī)則取決于內(nèi)核結(jié)構(gòu)的版本:l在ARM結(jié)構(gòu)V3版及以下版本中,寫入R15的值的最低兩位被忽略,因此跳轉(zhuǎn)地址由指令的實際目標地址(寫入R15的值)和0 xFFFFFFFC相與得到;l在ARM結(jié)構(gòu)V4版及以上版本中,寫入R15的值的最低兩位為0,如果不是,結(jié)果將不可預(yù)測。32寄存器類寄存器類別別寄存器在匯編中寄存器在匯編中的名

50、稱的名稱各模式下實際訪問的寄存器各模式下實際訪問的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通用寄存通用寄存器和程序器和程序計數(shù)器計數(shù)器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_irqR13_fiqR14(LR)R14R14_svcR14_

51、abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存狀態(tài)寄存器器CPSRCPSRSPSR無無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq 寄存器CPSR為程序狀態(tài)寄存器,在異常模式中,另外一個寄存器“程序狀態(tài)保存寄存器(SPSR)”可以被訪問。每種異常都有自己的SPSR,在進入異常時它保存CPSR的當前值,異常退出時可通過它恢復(fù)CPSR。程序狀態(tài)寄存器CPSR33程序狀態(tài)寄存器(程序狀態(tài)寄存器(PSR)l CPSR(當前程序狀態(tài)寄存器)可以在任何處理器模式下被訪(當前程序狀態(tài)寄存器)可以在任何處理器模式下被訪問。每一種模式下都有一個專

52、用的物理狀態(tài)寄存器,稱為問。每一種模式下都有一個專用的物理狀態(tài)寄存器,稱為SPSR(備份程序狀態(tài)寄存器)。當特定的異常中斷發(fā)生時,(備份程序狀態(tài)寄存器)。當特定的異常中斷發(fā)生時,這個寄存器用于存放當前程序狀態(tài)寄存器的內(nèi)容。在異常退出這個寄存器用于存放當前程序狀態(tài)寄存器的內(nèi)容。在異常退出時,可以用時,可以用SPSR中保存的值來恢復(fù)中保存的值來恢復(fù)CPSR。 NZCV IM0M1M2M3M4TF. . .31 30 29 28 27 26 8 7 6 5 4 3 2 1 0條件代碼標志保留控制位溢出標志 Overflow進位或借位擴展 Carry零 Zero負或小于 NegativeIRQ禁止 I

53、nterruptFIQ禁止 Fast狀態(tài)位 Thumb模式位 ModeNZCVIM0M1M2M3M4TFCPSR寄存器的格式341)條件標志位)條件標志位lN(Negative)、)、Z(Zero)、)、C(Carry)及)及V(oVerflow)統(tǒng)稱為條件標志位。)統(tǒng)稱為條件標志位。標標 志志含含 義義N本位設(shè)置成當前指令運算結(jié)果的本位設(shè)置成當前指令運算結(jié)果的bit31的值的值當兩個補碼表示的有符號整數(shù)運算時,當兩個補碼表示的有符號整數(shù)運算時,N1表示運算的結(jié)果為負數(shù),表示運算的結(jié)果為負數(shù),N0 表示結(jié)果為正數(shù)或零表示結(jié)果為正數(shù)或零ZZ1表示運算結(jié)果是表示運算結(jié)果是0,Z0表示運算結(jié)果不是零

54、表示運算結(jié)果不是零對于對于CMP指令,指令,Z1表示進行比較的兩個數(shù)大小相等表示進行比較的兩個數(shù)大小相等C 在加法指令中(包括比較指令在加法指令中(包括比較指令CMN),結(jié)果產(chǎn)生進位了,則),結(jié)果產(chǎn)生進位了,則C1,表,表示無符號數(shù)運算發(fā)生上溢出,其他情況下示無符號數(shù)運算發(fā)生上溢出,其他情況下C0 在減法指令中(包括比較指令在減法指令中(包括比較指令CMP),結(jié)果產(chǎn)生借位了,則),結(jié)果產(chǎn)生借位了,則C0,表示,表示無符號數(shù)運算發(fā)生下溢出,其他情況下無符號數(shù)運算發(fā)生下溢出,其他情況下C1 對于包含移位操作的非加對于包含移位操作的非加/減法運算指令,減法運算指令,C中包含最后一次被溢出的位中包含最

55、后一次被溢出的位的數(shù)值,對于其他非加的數(shù)值,對于其他非加/減法運算指令,減法運算指令,C位的值通常不受影響位的值通常不受影響V 對于加對于加/減法運算指令,當操作數(shù)和運算結(jié)果為二進制的補碼表示的帶符減法運算指令,當操作數(shù)和運算結(jié)果為二進制的補碼表示的帶符號數(shù)時,號數(shù)時,V1表示符號位溢出表示符號位溢出, 其他的指令通常不影響其他的指令通常不影響V位位352)Q標志位標志位l在在ARM v5的的E系列處理器中,系列處理器中,CPSR的的bit27稱為稱為Q標志位,主要用于指示增強的標志位,主要用于指示增強的DSP指令是否發(fā)生了溢指令是否發(fā)生了溢出,同樣的,出,同樣的,SPSR的的bit27也稱為

56、也稱為Q標志位,用于在標志位,用于在異常中斷發(fā)生時保存和恢復(fù)異常中斷發(fā)生時保存和恢復(fù)CPSR中的中的Q標志位。標志位。363) CPSR中的控制位中的控制位CPSR的低的低8位位I、F、T及及M4:0統(tǒng)稱為控制位,當異常中斷發(fā)生時這些統(tǒng)稱為控制位,當異常中斷發(fā)生時這些位發(fā)生變化。在特權(quán)級的處理器模式下,軟件可以修改這些控制位。位發(fā)生變化。在特權(quán)級的處理器模式下,軟件可以修改這些控制位。l中斷禁止位中斷禁止位當當I1時禁止時禁止IRQ中斷。中斷。當當F1時禁止時禁止FIQ中斷。中斷。 通常一旦進入中斷服務(wù)程序可以通過置位通常一旦進入中斷服務(wù)程序可以通過置位I和和F來禁止中斷,但是在來禁止中斷,但

57、是在本中斷服務(wù)程序退出前必須恢復(fù)原來本中斷服務(wù)程序退出前必須恢復(fù)原來I、F位的值。位的值。lT控制位控制位l用來控制指令執(zhí)行的狀態(tài),即說明本指令是用來控制指令執(zhí)行的狀態(tài),即說明本指令是ARM指令還是指令還是Thumb指令。指令。對于不同版本的對于不同版本的ARM處理器,處理器,T控制位的含義是有些不同的。控制位的含義是有些不同的。對于對于ARM v4及更高版本的及更高版本的T系列處理器,系列處理器,T控制位含義如下。控制位含義如下。 當當T0,表示執(zhí)行,表示執(zhí)行ARM指令。指令。當當T1,表示執(zhí)行,表示執(zhí)行Thumb指令。指令。37 M 控制位控制位M4:0處理器模式處理器模式可訪問的寄存器可

58、訪問的寄存器 0b10000UserPC,R14R0,CPSR 0b10001FIQPC,R14_fiqR8_fiq,R7R0,CPSR,SPSR_fiq 0b10010IRQPC,R14_irqR13_irq,R12R0,CPSR,SPSR_irq 0b10011SupervisorPC,R14_svcR13_svc,R12R0,CPSR,SPSR_svc 0b10111AbortPC,R14_abtR13_abt,R12R0,CPSR,SPSR_abt 0b11011UndefinedPC,R14_undR13_und,R12R0, CPSR, SPSR_und 0b11111System

59、PC,R14R0,CPSR(ARM v4及更高版本)及更高版本)38 R1 R2 R3 R4 R5 T humb R6 R7 ( C PSR ) ( SPSR ) R1 R2 R3 R4 R5 A R M R6 R7 R8 ( C PSR ) ( SPSR ) R9 R10 R11 R12 R0 R0 狀態(tài) 狀態(tài) 堆棧指針(SP) 連接寄存器(LR) 程序計數(shù)器(PC) 當前程序狀態(tài)寄存器 被保存程序狀態(tài)寄存器 堆棧指針(R13) 連接寄存器(R14) 程序計數(shù)器(R15) 當前程序狀態(tài)寄存器 被保存程序狀態(tài)寄存器 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12

60、R0 堆棧指針 (R13) 連接寄存器 (R14) 程序計數(shù)器 (R15) 低寄存器高寄存器Thumb狀態(tài)寄存器在Arm狀態(tài)寄存器上的映射在Thumb狀態(tài)中,高寄存器(R8R15)不是標準寄存器集的一部分。匯編語言程序員對它們的訪問受到限制。 可以使用MOV、CMP和ADD指令對高寄存器操作。39本節(jié)提要本節(jié)提要ARM處理器體系結(jié)構(gòu)處理器體系結(jié)構(gòu)ARM處理器工作模式處理器工作模式S3C44B0X簡介簡介 ARM中斷處理中斷處理ARM系統(tǒng)啟動過程系統(tǒng)啟動過程ARM 微處理器的指令系統(tǒng)微處理器的指令系統(tǒng)403.3 ARM中斷處理中斷處理3.3.1中斷基礎(chǔ)知識中斷基礎(chǔ)知識 中斷和輪詢方式不一樣,在中

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論