




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.嵌入式系統(tǒng)設(shè)計(jì)嵌入式系統(tǒng)設(shè)計(jì):ARM:ARM處理器的工作模式處理器的工作模式.1.1 ARM處理器的工作狀態(tài)和模式處理器的工作狀態(tài)和模式為了能夠體現(xiàn)為了能夠體現(xiàn)ARM的特點(diǎn)和性能,的特點(diǎn)和性能,ARM處理處理器有兩種工作狀態(tài)和器有兩種工作狀態(tài)和7種工作模式。種工作模式。1.1.1 ARM處理器的工作狀態(tài)處理器的工作狀態(tài) 有兩種工作狀態(tài):有兩種工作狀態(tài): ARM狀態(tài):狀態(tài):處理器執(zhí)行處理器執(zhí)行32位的字對(duì)齊的位的字對(duì)齊的ARM指指令;令; Thumb狀態(tài):狀態(tài):處理器執(zhí)行處理器執(zhí)行16位的半字對(duì)齊的位的半字對(duì)齊的Thumb指令。指令。 兩種狀態(tài)可以切換兩種狀態(tài)可以切換。程序執(zhí)行過程中,通過執(zhí)。
2、程序執(zhí)行過程中,通過執(zhí)行行帶狀態(tài)切換的分支指令帶狀態(tài)切換的分支指令BX,隨時(shí)在兩種工作狀,隨時(shí)在兩種工作狀態(tài)之間進(jìn)行切換。并且,處理器工作狀態(tài)的轉(zhuǎn)變,態(tài)之間進(jìn)行切換。并且,處理器工作狀態(tài)的轉(zhuǎn)變,并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。.1.1 ARM處理器的工作狀態(tài)和模式處理器的工作狀態(tài)和模式(2)從從ARM狀態(tài)切換到狀態(tài)切換到Thumb狀態(tài)狀態(tài)有兩種情況有兩種情況ARM處理器自動(dòng)切換到處理器自動(dòng)切換到Thumb狀態(tài)。狀態(tài)。 (1)執(zhí)行)執(zhí)行BX指令,當(dāng)操作數(shù)寄存器的位指令,當(dāng)操作數(shù)寄存器的位0為為1時(shí),則時(shí),則微處理器從微處理器從ARM狀態(tài)
3、切換到狀態(tài)切換到Thumb狀態(tài)。此為主動(dòng)切換。狀態(tài)。此為主動(dòng)切換。 (2)當(dāng)處理器處于)當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef等),處理完異常后,在異常處理返回時(shí),自等),處理完異常后,在異常處理返回時(shí),自動(dòng)切換到動(dòng)切換到Thumb狀態(tài)。此為自動(dòng)切換。狀態(tài)。此為自動(dòng)切換。從從Thumb狀態(tài)切換到狀態(tài)切換到ARM狀態(tài)狀態(tài)有兩種情況有兩種情況ARM處理器自動(dòng)切換到處理器自動(dòng)切換到Thumb狀態(tài)。狀態(tài)。 (1)執(zhí)行)執(zhí)行BX指令,當(dāng)操作數(shù)寄存器的位指令,當(dāng)操作數(shù)寄存器的位0為為0時(shí),則時(shí),則微處理器從微處理器從Thumb狀態(tài)切換到狀態(tài)切換到ARM狀態(tài)。狀
4、態(tài)。 (2)當(dāng)處理器在)當(dāng)處理器在Thumb狀態(tài)時(shí)發(fā)生異常(如狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef等),則處理器從等),則處理器從Thumb狀態(tài)自動(dòng)切換到狀態(tài)自動(dòng)切換到ARM狀態(tài)狀態(tài)進(jìn)行異常處理進(jìn)行異常處理.1.1 ARM處理器的工作狀態(tài)和模式處理器的工作狀態(tài)和模式(3)例例1.1 狀態(tài)切換程序狀態(tài)切換程序;從從ARM狀態(tài)切換到狀態(tài)切換到Thumb狀態(tài)狀態(tài)LDRR0,=Lable+1BXR0;從從Thumb狀態(tài)切換到狀態(tài)切換到ARM狀態(tài)狀態(tài)LDRR0,=LableBXR0注意:注意: ARM和和Thumb之間狀態(tài)的切換不影響處理器的之間狀態(tài)的切換不影響處理器的模式或寄存器的內(nèi)容。模式或
5、寄存器的內(nèi)容。 ARM處理器在開始執(zhí)行代碼時(shí),只能處于處理器在開始執(zhí)行代碼時(shí),只能處于ARM狀態(tài)。狀態(tài)。.1.1.2 ARM處理器的工作模式處理器的工作模式一、一、 ARM9的的7種工作模式種工作模式 1、用戶模式(、用戶模式(usr):非特權(quán)模式,大部分任務(wù)非特權(quán)模式,大部分任務(wù)執(zhí)行在這種模式。執(zhí)行在這種模式。正常程序執(zhí)行的模式正常程序執(zhí)行的模式2、快速中斷模式(、快速中斷模式(fiq):):當(dāng)一個(gè)高優(yōu)先級(jí)當(dāng)一個(gè)高優(yōu)先級(jí)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。 高速數(shù)據(jù)傳輸或通高速數(shù)據(jù)傳輸或通道處理道處理3、外部中斷模式(、外部中斷模式(irq):):當(dāng)一個(gè)低優(yōu)先
6、級(jí)當(dāng)一個(gè)低優(yōu)先級(jí)(normal)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。 通常的中通常的中斷處理斷處理4、管理模式(、管理模式(svc):當(dāng)復(fù)位或軟中斷指令執(zhí)行當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)將會(huì)進(jìn)入這種模式。時(shí)將會(huì)進(jìn)入這種模式。 供操作系統(tǒng)使用的一種保護(hù)供操作系統(tǒng)使用的一種保護(hù)模式模式.1.1.2 ARM處理器的工作模式處理器的工作模式(2) 5、中止模式(、中止模式(abt):):當(dāng)存取異常時(shí)將會(huì)進(jìn)入這當(dāng)存取異常時(shí)將會(huì)進(jìn)入這種模式種模式虛擬存儲(chǔ)及存儲(chǔ)保護(hù)虛擬存儲(chǔ)及存儲(chǔ)保護(hù) 6、未定義模式(、未定義模式(und):):當(dāng)執(zhí)行未定義指令時(shí)會(huì)當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種模式進(jìn)入這種模式軟
7、件仿真硬件協(xié)處理器軟件仿真硬件協(xié)處理器 7、系統(tǒng)模式(、系統(tǒng)模式(sys):):供需要訪問系統(tǒng)資源的操供需要訪問系統(tǒng)資源的操作系統(tǒng)任務(wù)使用作系統(tǒng)任務(wù)使用特權(quán)級(jí)的操作系統(tǒng)任務(wù)特權(quán)級(jí)的操作系統(tǒng)任務(wù).1.1.2 ARM處理器的工作模式處理器的工作模式(2)二、模式分類及特點(diǎn)二、模式分類及特點(diǎn) 七種模式可以劃分成四類七種模式可以劃分成四類 1、用戶模式特點(diǎn):、用戶模式特點(diǎn): 應(yīng)用程序不能夠訪問受操作系統(tǒng)保護(hù)的系統(tǒng)資源。應(yīng)用程序不能夠訪問受操作系統(tǒng)保護(hù)的系統(tǒng)資源。 應(yīng)用程序不能進(jìn)行處理器模式的切換。應(yīng)用程序不能進(jìn)行處理器模式的切換。 2、系統(tǒng)模式特點(diǎn):、系統(tǒng)模式特點(diǎn): 不屬于異常模式,不是通過異常進(jìn)入的
8、。系統(tǒng)模式屬于不屬于異常模式,不是通過異常進(jìn)入的。系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直接進(jìn)行模特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直接進(jìn)行模式的切換。它主要供操作系統(tǒng)使用。式的切換。它主要供操作系統(tǒng)使用。 3、特權(quán)模式及其特點(diǎn):、特權(quán)模式及其特點(diǎn):特權(quán)模式:特權(quán)模式:除用戶模式之外的工作模式又稱為特權(quán)模式除用戶模式之外的工作模式又稱為特權(quán)模式特點(diǎn):特點(diǎn):應(yīng)用程序可以訪問所有的系統(tǒng)資源應(yīng)用程序可以訪問所有的系統(tǒng)資源可以任意地進(jìn)行處理器模式的切換可以任意地進(jìn)行處理器模式的切換.1.1.2 ARM處理器的工作模式處理器的工作模式(3)4、異常模式及其特點(diǎn):、異常模式及其特點(diǎn):
9、異常模式:異常模式:除用戶模式、系統(tǒng)模式之除用戶模式、系統(tǒng)模式之外的五種模式稱為異常模式。外的五種模式稱為異常模式。特點(diǎn):以各自的中斷或異常方式進(jìn)入,特點(diǎn):以各自的中斷或異常方式進(jìn)入,并且處理各自的中斷或異常。對(duì)管理模式并且處理各自的中斷或異常。對(duì)管理模式 (svc)進(jìn)入方式和處理內(nèi)容有進(jìn)入方式和處理內(nèi)容有: 系統(tǒng)上電復(fù)位后進(jìn)入管理模式,運(yùn)行系統(tǒng)初始化系統(tǒng)上電復(fù)位后進(jìn)入管理模式,運(yùn)行系統(tǒng)初始化程序,如中斷允許程序,如中斷允許/禁止,主時(shí)鐘設(shè)置,禁止,主時(shí)鐘設(shè)置,SDRAM配置,配置,各個(gè)功能模塊初始化等。各個(gè)功能模塊初始化等。當(dāng)執(zhí)行軟件中斷指令當(dāng)執(zhí)行軟件中斷指令SWI時(shí),進(jìn)入管理模式。時(shí),進(jìn)入
10、管理模式。.1.1.2 ARM處理器的工作模式處理器的工作模式(4) 處理器模式的切換方式:處理器模式的切換方式: 軟件控制進(jìn)行切換。軟件控制進(jìn)行切換。 通過外部中斷和異常進(jìn)行切換通過外部中斷和異常進(jìn)行切換處理器啟動(dòng)時(shí)的模式轉(zhuǎn)換圖處理器啟動(dòng)時(shí)的模式轉(zhuǎn)換圖管理模式管理模式(Supervisor)多種特權(quán)多種特權(quán)模式變化模式變化用戶程序的用戶程序的運(yùn)行模式運(yùn)行模式復(fù)位后的缺省復(fù)位后的缺省模式模式主要完成各模式的主要完成各模式的堆棧設(shè)置,注意不堆棧設(shè)置,注意不要進(jìn)入用戶模式要進(jìn)入用戶模式一般為用戶模式一般為用戶模式User.1.2 ARM9寄存器寄存器本節(jié)主要內(nèi)容本節(jié)主要內(nèi)容1、ARM寄存器概述寄存
11、器概述2、ARM通用寄存器通用寄存器3、ARM狀態(tài)寄存器狀態(tài)寄存器.1.2 ARM9寄存器寄存器1.2.1、ARM寄存器概述寄存器概述ARM處理器處理器v4及以上版本有及以上版本有37個(gè)個(gè)32位的寄存位的寄存器器 其中其中31個(gè)為通用寄存器;個(gè)為通用寄存器;6個(gè)為狀態(tài)寄存器。個(gè)為狀態(tài)寄存器。 31個(gè)通用寄存器個(gè)通用寄存器 R0R15; R13_svc、R14_svc; R13_abt、R14_abt; R13_und、R14_und; R13_irq、R14_irq; R8_fiq-R14_fiq 6 個(gè)狀態(tài)寄存器個(gè)狀態(tài)寄存器 CPSRSPSR_svc、SPSR_abt、SPSR_und、SP
12、SR_irq和和SPSR_fiq.1.2 ARM9寄存器寄存器(2) 每一類處理器模每一類處理器模式都有一組相應(yīng)的式都有一組相應(yīng)的寄存器組;寄存器組; 在任意的處理器在任意的處理器模式下,可見的寄模式下,可見的寄存器包括存器包括1515個(gè)通用個(gè)通用寄存器(寄存器(R0R0R14R14)、)、1 1個(gè)或個(gè)或2 2個(gè)個(gè)狀態(tài)寄存器和程序狀態(tài)寄存器和程序寄存器。寄存器。 帶灰色底紋的單帶灰色底紋的單元格表示,用戶模元格表示,用戶模式或系統(tǒng)模式使用式或系統(tǒng)模式使用的一般寄存器,已的一般寄存器,已被異常模式特定的被異常模式特定的另一寄存器所替代。另一寄存器所替代。.1.2 ARM寄存器寄存器(4)1.2.
13、2 ARM的通用寄存器的通用寄存器 通用寄存器包括通用寄存器包括R0R15,可以分為三類:,可以分為三類: 未分組寄存器未分組寄存器R0R7 分組寄存器分組寄存器R8R14 程序計(jì)數(shù)器程序計(jì)數(shù)器PC(R15) 一、未分組寄存器一、未分組寄存器R0R7在所有的運(yùn)行模式下,未分組寄存器都指向同一個(gè)物在所有的運(yùn)行模式下,未分組寄存器都指向同一個(gè)物理寄存器,他們未被系統(tǒng)用作特殊的用途,理寄存器,他們未被系統(tǒng)用作特殊的用途,是真正的通用是真正的通用寄存器寄存器。因此,在中斷或異常處理進(jìn)行運(yùn)行模式轉(zhuǎn)換時(shí),由于因此,在中斷或異常處理進(jìn)行運(yùn)行模式轉(zhuǎn)換時(shí),由于不同的處理器運(yùn)行模式均使用相同的物理寄存器,可能會(huì)不
14、同的處理器運(yùn)行模式均使用相同的物理寄存器,可能會(huì)造成寄存器中數(shù)據(jù)的破壞,這一點(diǎn)在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)引造成寄存器中數(shù)據(jù)的破壞,這一點(diǎn)在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)引起注意。起注意。.1.2 ARM寄存器寄存器(5)二、分組的寄存器二、分組的寄存器R8R14 對(duì)于對(duì)于R8R12,每一次所訪問的物理寄存器,與處理,每一次所訪問的物理寄存器,與處理器當(dāng)前的工作模式有關(guān)。器當(dāng)前的工作模式有關(guān)。1、R8R12當(dāng)處理器工作于當(dāng)處理器工作于fiq模式時(shí),訪問的寄存器為模式時(shí),訪問的寄存器為R8_fiqR12_fiq;除除fiq模式以外的其他模式,訪問的寄存器為模式以外的其他模式,訪問的寄存器為R8_usrR12_usr。2
15、、R13和和R14:每個(gè)寄存器對(duì)應(yīng)每個(gè)寄存器對(duì)應(yīng)6個(gè)不同的物理寄存器,其中的一個(gè)是用戶個(gè)不同的物理寄存器,其中的一個(gè)是用戶模式與系統(tǒng)模式共用,另外模式與系統(tǒng)模式共用,另外5個(gè)物理寄存器,對(duì)應(yīng)于其他個(gè)物理寄存器,對(duì)應(yīng)于其他5種不種不同的異常模式。同的異常模式。采用以下的記號(hào)來區(qū)分不同的物理寄存器:采用以下的記號(hào)來區(qū)分不同的物理寄存器: R13_ R14_ 其中,其中,mode為以下幾種模式之一:為以下幾種模式之一:usr、fiq、irq、svc、abt、und。.1.2 ARM寄存器寄存器(6) R13:寄存器寄存器R13在在ARM指令中指令中常用作堆棧指針常用作堆棧指針SP。但這只是一種習(xí)慣用
16、法,用戶也可使用其他的寄存器但這只是一種習(xí)慣用法,用戶也可使用其他的寄存器作為堆棧指針。而在作為堆棧指針。而在Thumb指令集中,某些指令強(qiáng)制性的指令集中,某些指令強(qiáng)制性的要求使用要求使用R13作為堆棧指針。作為堆棧指針。 R14:寄存器寄存器R14也稱作子程序鏈接寄存器也稱作子程序鏈接寄存器(Subroutine Link Register)或)或鏈接寄存器鏈接寄存器LR。 當(dāng)執(zhí)行當(dāng)執(zhí)行BL子程序調(diào)用指令時(shí),子程序調(diào)用指令時(shí),R14中得到中得到R15(程序(程序計(jì)數(shù)器計(jì)數(shù)器PC)的備份。其他情況下,)的備份。其他情況下,R14用作通用寄存器。用作通用寄存器。與之類似,當(dāng)發(fā)生中斷或異常時(shí),對(duì)應(yīng)
17、的分組寄存器與之類似,當(dāng)發(fā)生中斷或異常時(shí),對(duì)應(yīng)的分組寄存器R14_svc、R14_irq、R14_fiq、R14_abt和和R14_und用來用來保存保存R15的返回值。的返回值。.1.2 ARM寄存器寄存器(7)三、程序計(jì)數(shù)器三、程序計(jì)數(shù)器PC(R15) 寄存器寄存器R15用作程序計(jì)數(shù)器(用作程序計(jì)數(shù)器(PC)。在在ARM狀態(tài)下,位狀態(tài)下,位1:0為為0,位,位31:2用于保存用于保存PC;在在Thumb狀態(tài)下,位狀態(tài)下,位0為為0,位,位31:1用于保存用于保存PC; 使用使用R15時(shí)注意:時(shí)注意:雖然雖然R15可以用作通用寄存器,可以用作通用寄存器,但是有一些指令在使用但是有一些指令在使
18、用R15時(shí)有一些特殊限制,若時(shí)有一些特殊限制,若不注意,執(zhí)行的結(jié)果將是不可預(yù)料的。所以,一般不注意,執(zhí)行的結(jié)果將是不可預(yù)料的。所以,一般不這么使用。不這么使用。 關(guān)于關(guān)于PC的值:的值:由于由于ARM采用多級(jí)流水線技術(shù),采用多級(jí)流水線技術(shù),所以所以PC總是指向正在取指的指令,而不是正在執(zhí)總是指向正在取指的指令,而不是正在執(zhí)行的指令。也即行的指令。也即PC總是指向當(dāng)前指令的下兩條指總是指向當(dāng)前指令的下兩條指令的地址。因此,對(duì)于令的地址。因此,對(duì)于ARM指令集而言,指令集而言,PC的值的值為當(dāng)前指令的地址值加為當(dāng)前指令的地址值加8個(gè)字節(jié)。個(gè)字節(jié)。.1.2 ARM寄存器寄存器(8)1.2.3 ARM
19、的狀態(tài)寄存器的狀態(tài)寄存器一、兩種程序狀態(tài)寄存器一、兩種程序狀態(tài)寄存器在在ARM微處理器中,有微處理器中,有CPSR和和SPSR兩種程序狀態(tài)寄存器。兩種程序狀態(tài)寄存器。1、當(dāng)前程序狀態(tài)寄存器、當(dāng)前程序狀態(tài)寄存器 CPSR (Current Program Status Register) 用來保存當(dāng)前程序狀態(tài)的寄存器。用來保存當(dāng)前程序狀態(tài)的寄存器。 所有處理器模式下都可以訪問當(dāng)前程序狀態(tài)寄存器所有處理器模式下都可以訪問當(dāng)前程序狀態(tài)寄存器CPSR。僅一個(gè)。僅一個(gè)CPSR。2、保存程序狀態(tài)寄存器、保存程序狀態(tài)寄存器SPSR_mode (Saved Program Status Register)SP
20、SR_mode用來進(jìn)行異常處理,其功能包括:用來進(jìn)行異常處理,其功能包括: 保存保存ALU中的當(dāng)前操作信息中的當(dāng)前操作信息當(dāng)異常發(fā)生時(shí)當(dāng)異常發(fā)生時(shí), 用來保存用來保存CPSR的值,從異常返回時(shí),將的值,從異常返回時(shí),將 SPSR_mode復(fù)制到復(fù)制到CPSR中,恢復(fù)中,恢復(fù)CPSR的值。的值。 控制允許和禁止中斷控制允許和禁止中斷修改修改SPSR的值的值 設(shè)置處理器的運(yùn)行模式設(shè)置處理器的運(yùn)行模式修改修改SPSR的值的值問題:問題:一共有多少個(gè)一共有多少個(gè)SPSR?為什么?為什么?.1.2.3 ARM的狀態(tài)寄存器的狀態(tài)寄存器(2)二、二、ARM狀態(tài)寄存器的格式狀態(tài)寄存器的格式1、條件碼標(biāo)志位、條
21、件碼標(biāo)志位(保存(保存ALU中的當(dāng)前操作信息)中的當(dāng)前操作信息)N:正負(fù)號(hào):正負(fù)號(hào)/大小大小 標(biāo)志位標(biāo)志位0表示:正數(shù)表示:正數(shù)/大于;大于;1表示:負(fù)數(shù)表示:負(fù)數(shù)/小于小于Z:零標(biāo)志位:零標(biāo)志位0表示:結(jié)果不為零;表示:結(jié)果不為零;1表示:結(jié)果為零表示:結(jié)果為零C:進(jìn)位:進(jìn)位/借位借位/移出位移出位0表示:未進(jìn)位表示:未進(jìn)位/借位借位/移出移出0;1表示:進(jìn)位表示:進(jìn)位/未借位未借位/移出移出1V:溢出標(biāo)志位:溢出標(biāo)志位0表示:結(jié)果未溢出;表示:結(jié)果未溢出;1表示:結(jié)果溢出表示:結(jié)果溢出31 30 29 28 27 876543210NZCV(保留)(保留)IFT M4 M3 M2 M1 M
22、0.1.2.3 ARM9的狀態(tài)寄存器的狀態(tài)寄存器(3)2、控制位、控制位 I、F中斷控制位中斷控制位控制允許和禁止中斷控制允許和禁止中斷 I1 禁止禁止IRQ中斷中斷I0 允許允許IRQ中斷中斷 F1 禁止禁止FIQ中斷中斷F0 允許允許FIQ中斷中斷 T控制控制(標(biāo)志標(biāo)志)位位反映處理器的運(yùn)行狀態(tài)反映處理器的運(yùn)行狀態(tài) T=1時(shí),程序運(yùn)行于時(shí),程序運(yùn)行于Thumb狀態(tài)狀態(tài) T=0時(shí),程序運(yùn)行于時(shí),程序運(yùn)行于ARM狀態(tài)狀態(tài) M控制位控制位決定了處理器的運(yùn)行模式?jīng)Q定了處理器的運(yùn)行模式 當(dāng)發(fā)生異常時(shí)這些位被改變。當(dāng)發(fā)生異常時(shí)這些位被改變。 如果處理器運(yùn)行在特權(quán)模式,這些位也可以由如果處理器運(yùn)行在特權(quán)
23、模式,這些位也可以由程序修改。程序修改。M4:010000100011001010011101111101111111模式模式用戶用戶快中斷快中斷中斷中斷管理管理中止中止未定義未定義系統(tǒng)系統(tǒng).1.2.3 ARM9的狀態(tài)寄存器的狀態(tài)寄存器(4)3、保留位、保留位 CPSR中的其余位為保留位,當(dāng)改變中的其余位為保留位,當(dāng)改變CPSR中中的條件碼標(biāo)志位或者控制位時(shí),保留位不要改變,的條件碼標(biāo)志位或者控制位時(shí),保留位不要改變,在程序中也不要使用保留位來存儲(chǔ)數(shù)據(jù)。保留位將在程序中也不要使用保留位來存儲(chǔ)數(shù)據(jù)。保留位將用于用于ARM版本的擴(kuò)展。版本的擴(kuò)展。1.2.4 Thumb狀態(tài)下的寄存器組織狀態(tài)下的寄存
24、器組織Thumb狀態(tài)下的寄存器集是狀態(tài)下的寄存器集是ARM狀態(tài)下寄存狀態(tài)下寄存器集的子集。程序員可以直接訪問器集的子集。程序員可以直接訪問8個(gè)通用的寄存?zhèn)€通用的寄存器(器(R0R7),程序計(jì)數(shù)器),程序計(jì)數(shù)器PC、堆棧指針、堆棧指針SP、鏈、鏈接寄存器接寄存器LR和當(dāng)前狀態(tài)寄存器和當(dāng)前狀態(tài)寄存器CPSP。.本節(jié)主要內(nèi)容本節(jié)主要內(nèi)容1、中斷和異常的概念、中斷和異常的概念2、ARM的異常中斷介紹的異常中斷介紹3、ARM的異常中斷響應(yīng)過程的異常中斷響應(yīng)過程 4、中斷向量和中斷優(yōu)先級(jí)、中斷向量和中斷優(yōu)先級(jí) 1.3 ARM異常異常 .1.3 ARM異常異常 1.3.1 中斷和異常的概念中斷和異常的概念
25、1、中斷、中斷 當(dāng)當(dāng)CPU正在執(zhí)行程序時(shí),系統(tǒng)發(fā)生了一件急正在執(zhí)行程序時(shí),系統(tǒng)發(fā)生了一件急需處理的事件,需處理的事件,CPU暫時(shí)停下正在執(zhí)行的程序,轉(zhuǎn)去處理相暫時(shí)停下正在執(zhí)行的程序,轉(zhuǎn)去處理相應(yīng)的事件,事件處理完后,應(yīng)的事件,事件處理完后,CPU再返回執(zhí)行原來的程序,這再返回執(zhí)行原來的程序,這種情況稱為中斷。這是中斷的本來意義。種情況稱為中斷。這是中斷的本來意義。 中斷事件:中斷事件:引起引起CPU產(chǎn)生中斷、并且與產(chǎn)生中斷、并且與CPU當(dāng)前所執(zhí)行當(dāng)前所執(zhí)行的程序無關(guān)的、由外部硬件產(chǎn)生的事件,也叫中斷源。中斷的程序無關(guān)的、由外部硬件產(chǎn)生的事件,也叫中斷源。中斷事件也常稱為事件也常稱為外中斷外中斷
26、。 常說的中斷:常說的中斷:有時(shí)指的是中斷的本意,有時(shí)指的是外部有時(shí)指的是中斷的本意,有時(shí)指的是外部中斷事件,即外中斷。中斷事件,即外中斷。 中斷是計(jì)算機(jī)系統(tǒng)基本的功能中斷是計(jì)算機(jī)系統(tǒng)基本的功能 利用中斷,外設(shè)可以與利用中斷,外設(shè)可以與CPU并行工作,當(dāng)外設(shè)需要傳輸數(shù)據(jù)或控制時(shí),向并行工作,當(dāng)外設(shè)需要傳輸數(shù)據(jù)或控制時(shí),向CPU發(fā)發(fā)出中斷請(qǐng)求信號(hào)。出中斷請(qǐng)求信號(hào)。CPU響應(yīng)其請(qǐng)求進(jìn)行處理。因此,使用中響應(yīng)其請(qǐng)求進(jìn)行處理。因此,使用中斷既可以實(shí)現(xiàn)斷既可以實(shí)現(xiàn)CPU與外設(shè)并行工作,又可以實(shí)時(shí)處理各種緊與外設(shè)并行工作,又可以實(shí)時(shí)處理各種緊急事件。急事件。.1.3 ARM異常異常 2、異常、異常 是指是
27、指CPU在執(zhí)行指令時(shí)出現(xiàn)的錯(cuò)誤,即不正常的在執(zhí)行指令時(shí)出現(xiàn)的錯(cuò)誤,即不正常的情況。異常是與當(dāng)前所執(zhí)行的程序有關(guān)的。如存取情況。異常是與當(dāng)前所執(zhí)行的程序有關(guān)的。如存取數(shù)據(jù)或指令錯(cuò)誤、計(jì)算結(jié)果溢出等。數(shù)據(jù)或指令錯(cuò)誤、計(jì)算結(jié)果溢出等。 異常的處理:異常的處理:也用中斷的方式進(jìn)行處理。也用中斷的方式進(jìn)行處理。 計(jì)算機(jī)通常是用中斷來處理外中斷和異常,因此計(jì)算機(jī)通常是用中斷來處理外中斷和異常,因此下面將二者均稱為異常。下面將二者均稱為異常。 3、ARM程序的三種執(zhí)行流程程序的三種執(zhí)行流程 順序流程:順序流程:每執(zhí)行一條每執(zhí)行一條ARM指令,程序計(jì)數(shù)器指令,程序計(jì)數(shù)器 (PC)的值加)的值加4;每執(zhí)行一條;
28、每執(zhí)行一條Thumb指令,程序計(jì)指令,程序計(jì)數(shù)器寄存器(數(shù)器寄存器(PC)的值加)的值加2,整個(gè)過程是按順序執(zhí),整個(gè)過程是按順序執(zhí)行。行。 .對(duì)異常的說明對(duì)異常的說明當(dāng)系統(tǒng)運(yùn)行時(shí),異常可能會(huì)隨時(shí)發(fā)生,為保當(dāng)系統(tǒng)運(yùn)行時(shí),異常可能會(huì)隨時(shí)發(fā)生,為保證在證在ARMARM處理器發(fā)生異常時(shí)不至于處于未知狀處理器發(fā)生異常時(shí)不至于處于未知狀態(tài),在應(yīng)用程序的設(shè)計(jì)中,首先要進(jìn)行異常態(tài),在應(yīng)用程序的設(shè)計(jì)中,首先要進(jìn)行異常處理,采用的方式是在異常向量表中的特定處理,采用的方式是在異常向量表中的特定位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序,當(dāng)序,當(dāng)ARMARM處理器發(fā)生異常時(shí),程序
29、計(jì)數(shù)器處理器發(fā)生異常時(shí),程序計(jì)數(shù)器PCPC會(huì)被強(qiáng)制設(shè)置為對(duì)應(yīng)的異常向量,從而跳轉(zhuǎn)會(huì)被強(qiáng)制設(shè)置為對(duì)應(yīng)的異常向量,從而跳轉(zhuǎn)到異常處理程序,當(dāng)異常處理完成以后,返到異常處理程序,當(dāng)異常處理完成以后,返回到主程序繼續(xù)執(zhí)行。回到主程序繼續(xù)執(zhí)行。我們需要處理所有的異常,盡管我們可以簡我們需要處理所有的異常,盡管我們可以簡單的在某些異常處理程序處放置死循環(huán)。單的在某些異常處理程序處放置死循環(huán)。1.3 ARM異常異常 .1.3 ARM異常異常 跳轉(zhuǎn)流程:跳轉(zhuǎn)流程:程序執(zhí)行了跳轉(zhuǎn)指令,則要跳轉(zhuǎn)到特程序執(zhí)行了跳轉(zhuǎn)指令,則要跳轉(zhuǎn)到特定的地址標(biāo)號(hào)處執(zhí)行,包括跳轉(zhuǎn)到子程序。例如,定的地址標(biāo)號(hào)處執(zhí)行,包括跳轉(zhuǎn)到子程序。例
30、如,跳轉(zhuǎn)指令,跳轉(zhuǎn)指令,B、BL、BLX和和BX。 中斷流程:中斷流程:當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。在當(dāng)異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)在當(dāng)異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下條指令處執(zhí)行。生中斷的指令的下條指令處執(zhí)行。 在進(jìn)行異常中斷處理程序時(shí),要保存被中斷的程序的執(zhí)在進(jìn)行異常中斷處理程序時(shí),要保存被中斷的程序的執(zhí)行現(xiàn)場(chǎng),在從異常中斷處理程序退出時(shí),要恢復(fù)被中斷的程行現(xiàn)場(chǎng),在從異常中斷處理程序退出時(shí),要恢復(fù)被中斷的程序的執(zhí)行現(xiàn)場(chǎng)。序的執(zhí)行
31、現(xiàn)場(chǎng)。 中斷處理與子程序調(diào)用的區(qū)別:中斷處理與子程序調(diào)用的區(qū)別:中斷是隨機(jī)的,并且與中斷是隨機(jī)的,并且與正在執(zhí)行的程序無關(guān);子程序調(diào)用是程序的主動(dòng)行為,并且正在執(zhí)行的程序無關(guān);子程序調(diào)用是程序的主動(dòng)行為,并且與正在執(zhí)行的程序密切相關(guān)。與正在執(zhí)行的程序密切相關(guān)。.1.3.2 ARM的異常的異常 ARM有有7種異常種異常1、復(fù)位、復(fù)位 處理器上一旦有復(fù)位輸入,處理器上一旦有復(fù)位輸入,ARM處理器立刻停止執(zhí)處理器立刻停止執(zhí)行當(dāng)前指令。復(fù)位后,行當(dāng)前指令。復(fù)位后,ARM處理器在禁止中斷的管理模處理器在禁止中斷的管理模式下,從地址式下,從地址0 x00000000或或0 xFFFF0000開始執(zhí)行指令。
32、開始執(zhí)行指令。2、未定義指令異常、未定義指令異常 當(dāng)當(dāng)ARM處理器執(zhí)行處理器執(zhí)行協(xié)處理器指令協(xié)處理器指令時(shí),它必須等待任時(shí),它必須等待任一外部協(xié)處理器應(yīng)答后,才能真正執(zhí)行這條指令。若協(xié)一外部協(xié)處理器應(yīng)答后,才能真正執(zhí)行這條指令。若協(xié)處理器沒有響應(yīng),就會(huì)出現(xiàn)未定義指令異常。處理器沒有響應(yīng),就會(huì)出現(xiàn)未定義指令異常。 未定義指令異??捎糜谠跊]有物理協(xié)處理器(硬件)未定義指令異??捎糜谠跊]有物理協(xié)處理器(硬件)的系統(tǒng)上,對(duì)協(xié)處理器進(jìn)行軟件仿真,或在軟件仿真時(shí)的系統(tǒng)上,對(duì)協(xié)處理器進(jìn)行軟件仿真,或在軟件仿真時(shí)進(jìn)行指令擴(kuò)展。進(jìn)行指令擴(kuò)展。1.3 ARM異常異常 .3、軟件中斷異常、軟件中斷異常 該異常由執(zhí)行
33、該異常由執(zhí)行SWI指令產(chǎn)生,可使用此機(jī)制進(jìn)行軟指令產(chǎn)生,可使用此機(jī)制進(jìn)行軟件仿真。件仿真。4、預(yù)取中止(取指令存儲(chǔ)器中止)、預(yù)取中止(取指令存儲(chǔ)器中止) 若處理器預(yù)取指令的地址不存在,或該地址不允許若處理器預(yù)取指令的地址不存在,或該地址不允許當(dāng)前指令訪問,存儲(chǔ)器會(huì)向處理器發(fā)出中止信號(hào),但當(dāng)前指令訪問,存儲(chǔ)器會(huì)向處理器發(fā)出中止信號(hào),但當(dāng)預(yù)取的指令被執(zhí)行時(shí),才會(huì)產(chǎn)生指令預(yù)取中止異常。當(dāng)預(yù)取的指令被執(zhí)行時(shí),才會(huì)產(chǎn)生指令預(yù)取中止異常。5、數(shù)據(jù)中止(訪問數(shù)據(jù)存儲(chǔ)器中止)、數(shù)據(jù)中止(訪問數(shù)據(jù)存儲(chǔ)器中止) 若處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不若處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當(dāng)前指令訪
34、問時(shí),產(chǎn)生數(shù)據(jù)中止異常。允許當(dāng)前指令訪問時(shí),產(chǎn)生數(shù)據(jù)中止異常。1.3 ARM異常異常 .6、IRQ異常異常 當(dāng)處理器的外部中斷請(qǐng)求引腳有效,且當(dāng)處理器的外部中斷請(qǐng)求引腳有效,且CPSR中的中的I=0,產(chǎn)生,產(chǎn)生IRQ異常。異常。 系統(tǒng)的外設(shè)可通過該異常請(qǐng)求中斷服務(wù)。系統(tǒng)的外設(shè)可通過該異常請(qǐng)求中斷服務(wù)。7、FIQ異常異常 當(dāng)處理器的外部中斷請(qǐng)求引腳有效,且當(dāng)處理器的外部中斷請(qǐng)求引腳有效,且CPSR中的中的F=0,產(chǎn)生,產(chǎn)生FIQ異常。異常。 FIQ支持?jǐn)?shù)據(jù)傳送和通道處理,并有足夠的支持?jǐn)?shù)據(jù)傳送和通道處理,并有足夠的私有寄存器,從而在應(yīng)用中可避免對(duì)寄存器保私有寄存器,從而在應(yīng)用中可避免對(duì)寄存器保存
35、的需求,減少了開銷。存的需求,減少了開銷。1.3 ARM異常異常 . 1.3.3 ARM異常中斷響應(yīng)過程異常中斷響應(yīng)過程 一、進(jìn)入異常一、進(jìn)入異常 當(dāng)發(fā)生異常時(shí),除了復(fù)位異常立即中止當(dāng)前指令外,處理當(dāng)發(fā)生異常時(shí),除了復(fù)位異常立即中止當(dāng)前指令外,處理器盡量完成當(dāng)前指令,然后脫離當(dāng)前的程序去處理異常。器盡量完成當(dāng)前指令,然后脫離當(dāng)前的程序去處理異常。ARM處理器對(duì)異常中斷的響應(yīng)過程如下處理器對(duì)異常中斷的響應(yīng)過程如下 : 1、保存返回地址、保存返回地址 將引起異常指令的下一條指令的地址保存到新的異常模式將引起異常指令的下一條指令的地址保存到新的異常模式x下的下的R14,即,即R14-中,使異常處理程
36、序執(zhí)行完后能中,使異常處理程序執(zhí)行完后能正確返回原程序。正確返回原程序。 2、保存當(dāng)前狀態(tài)寄存器、保存當(dāng)前狀態(tài)寄存器CPSR的內(nèi)容的內(nèi)容 將將CPSR的內(nèi)容保存到將要執(zhí)行的異常中斷對(duì)應(yīng)的的內(nèi)容保存到將要執(zhí)行的異常中斷對(duì)應(yīng)的SPSR中,中,便于中斷返回時(shí)恢復(fù)處理器當(dāng)前的狀態(tài)位、中斷屏蔽位以及便于中斷返回時(shí)恢復(fù)處理器當(dāng)前的狀態(tài)位、中斷屏蔽位以及各條件標(biāo)志位。各條件標(biāo)志位。1.3 ARM異常異常. 3、設(shè)置當(dāng)前狀態(tài)寄存器、設(shè)置當(dāng)前狀態(tài)寄存器CPSR中的相應(yīng)位中的相應(yīng)位設(shè)置設(shè)置CPSR模式控制位模式控制位CPSR4:0,使處理器進(jìn),使處理器進(jìn)入相應(yīng)的執(zhí)行模式;入相應(yīng)的執(zhí)行模式;設(shè)置中斷標(biāo)志位設(shè)置中斷標(biāo)
37、志位(CPSR6=1),禁止),禁止IRQ中斷;中斷;設(shè)置中斷標(biāo)志位設(shè)置中斷標(biāo)志位(CPSR7=1)禁止)禁止FIQ中斷,中斷,當(dāng)進(jìn)入當(dāng)進(jìn)入Reset或或FIQ模式時(shí)。模式時(shí)。 4、轉(zhuǎn)去執(zhí)行中斷處理程序、轉(zhuǎn)去執(zhí)行中斷處理程序 取相應(yīng)的中斷向量給程序計(jì)數(shù)器取相應(yīng)的中斷向量給程序計(jì)數(shù)器PC,使程序開始,使程序開始執(zhí)行中斷處理程序。執(zhí)行中斷處理程序。 一般地說,矢量地址處將包含一條指向相應(yīng)程序的轉(zhuǎn)一般地說,矢量地址處將包含一條指向相應(yīng)程序的轉(zhuǎn)移指令,從而可跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行異移指令,從而可跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行異常中斷處理程序常中斷處理程序 。1.3 ARM異常異常.1.
38、3 ARM異常異常 ARM處理器對(duì)異常的響應(yīng)過程可以用偽代處理器對(duì)異常的響應(yīng)過程可以用偽代碼描述如下碼描述如下 : R14_=return link SPSR_=CPSR CPSR4:0=exception mode number CPSR5=0 /*當(dāng)運(yùn)行于當(dāng)運(yùn)行于ARM狀態(tài)時(shí)狀態(tài)時(shí)*/ CPSR6=1 /*禁止新的禁止新的IRQ中斷中斷*/if =Reset or FIQ then CPSR7=1 /*當(dāng)當(dāng)Reset 或或FIQ異常中斷時(shí)異常中斷時(shí)*/*禁止新禁止新 的的FIQ中斷中斷*/ PC=exception vector address . 注意使用異常模式下的特有寄存器注意使用異
39、常模式下的特有寄存器F 每個(gè)異常模式對(duì)應(yīng)有兩個(gè)寄存器每個(gè)異常模式對(duì)應(yīng)有兩個(gè)寄存器R13_、R14_分別保存相分別保存相應(yīng)模式下的堆棧指針、返回地址;堆棧指應(yīng)模式下的堆棧指針、返回地址;堆棧指針可用來定義一個(gè)存儲(chǔ)區(qū)域保存其它用戶針可用來定義一個(gè)存儲(chǔ)區(qū)域保存其它用戶寄存器,在程序初始化時(shí)應(yīng)該對(duì)各種模式寄存器,在程序初始化時(shí)應(yīng)該對(duì)各種模式堆棧設(shè)置,便于隨時(shí)使用。堆棧設(shè)置,便于隨時(shí)使用。F FIQ模式還有額外的專用寄存器模式還有額外的專用寄存器R8_fiqR12_fiq,使用這些寄存器可以,使用這些寄存器可以加快快速中斷的處理速度。加快快速中斷的處理速度。 1.3 ARM異常異常.二、異常返回二、異常
40、返回 1、異常返回應(yīng)執(zhí)行的操作、異常返回應(yīng)執(zhí)行的操作 異常處理完畢之后,異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以微處理器會(huì)執(zhí)行以下幾步操作從異常返回:下幾步操作從異常返回: 將返回地址裝入將返回地址裝入PC 把連接寄存器把連接寄存器LR的值減的值減去相應(yīng)的偏移量,然后送到去相應(yīng)的偏移量,然后送到PC中。中。 恢復(fù)恢復(fù)CPSR的值的值 將將SPSR復(fù)制回復(fù)制回CPSR中。中。 清除中斷屏蔽位清除中斷屏蔽位 若在進(jìn)入異常處理時(shí)設(shè)置了若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。中斷禁止位,要在此清除。 可以認(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開始執(zhí)行可以認(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開始執(zhí)行的
41、,因此復(fù)位異常處理程序不需要返回。的,因此復(fù)位異常處理程序不需要返回。1.3 ARM異常異常.2、各種異常返回方法、各種異常返回方法 FIQ中斷返回中斷返回不管是在不管是在ARM狀態(tài)還是在狀態(tài)還是在Thumb狀態(tài)下進(jìn)入狀態(tài)下進(jìn)入FIQ模式,模式,F(xiàn)IQ處理程序均可以執(zhí)行以下指令從處理程序均可以執(zhí)行以下指令從FIQ模式返回:模式返回:SUBS PC,R14-fiq ,#4 指令預(yù)取中止(指令預(yù)取中止( Abort )異常返回)異常返回當(dāng)指令預(yù)取訪問存儲(chǔ)器失敗時(shí),存儲(chǔ)器系統(tǒng)向當(dāng)指令預(yù)取訪問存儲(chǔ)器失敗時(shí),存儲(chǔ)器系統(tǒng)向ARM處理處理器發(fā)出存儲(chǔ)器中止(器發(fā)出存儲(chǔ)器中止(Abort)信號(hào),預(yù)取的指令被記為
42、無效,)信號(hào),預(yù)取的指令被記為無效,但只有當(dāng)處理器試圖執(zhí)行無效指令時(shí),指令預(yù)取中止異常才但只有當(dāng)處理器試圖執(zhí)行無效指令時(shí),指令預(yù)取中止異常才會(huì)發(fā)生,如果指令未被執(zhí)行,例如在指令流水線中發(fā)生了跳會(huì)發(fā)生,如果指令未被執(zhí)行,例如在指令流水線中發(fā)生了跳轉(zhuǎn),則預(yù)取指令中止不會(huì)發(fā)生。轉(zhuǎn),則預(yù)取指令中止不會(huì)發(fā)生。如果發(fā)生了如果發(fā)生了指令指令預(yù)取中止異常,預(yù)取中止異常,無論是在無論是在ARM狀態(tài)還是狀態(tài)還是Thumb狀態(tài),其返回指令為:狀態(tài),其返回指令為:SUBS PC, R14_abt, #4;重新執(zhí)行被中止的指令;重新執(zhí)行被中止的指令1.3 ARM異常異常.數(shù)據(jù)中止(數(shù)據(jù)中止( Abort )異常返回)異
43、常返回如果發(fā)生了如果發(fā)生了數(shù)據(jù)數(shù)據(jù)中止異常,中止異常,無論是在無論是在ARM狀狀態(tài)還是態(tài)還是Thumb狀態(tài),其返回指令為:狀態(tài),其返回指令為:SUBS PC, R14_abt, #8重新執(zhí)行被中止的指令重新執(zhí)行被中止的指令軟件中斷指令(軟件中斷指令(SWI)異常返回)異常返回 用于進(jìn)入管理模式,常用于請(qǐng)求執(zhí)行特定的管理用于進(jìn)入管理模式,常用于請(qǐng)求執(zhí)行特定的管理功能。軟件中斷處理程序執(zhí)行以下指令可以從功能。軟件中斷處理程序執(zhí)行以下指令可以從SWI模式返回,無論是在模式返回,無論是在ARM狀態(tài)還是狀態(tài)還是Thumb狀態(tài):狀態(tài):MOVS PC , R14_svc 以上指令恢復(fù)以上指令恢復(fù)PC(從(從R14_svc)和)和CPSR(從(從SPSR_svc)的值,并返回到)的值,并返回到SWI的下一條指令。的下一條指令。1.3 ARM異常異常. 未定義指令異常返回未定義指令異常返回 當(dāng)當(dāng)ARM處理器遇到不能處理的指令時(shí),會(huì)處理器遇到不能處理的指令時(shí),會(huì)產(chǎn)生未定義指令異常。采用這種機(jī)制,可以產(chǎn)生未定義指令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公司對(duì)公司知識(shí)產(chǎn)權(quán)質(zhì)押借款協(xié)議
- 2025年度公益基金會(huì)災(zāi)害預(yù)防合作框架
- 億渡數(shù)據(jù):中國康復(fù)行業(yè)短報(bào)告
- 2025年度影視作品演員出演合同樣本
- 2025年度區(qū)塊鏈技術(shù)應(yīng)用增資擴(kuò)股協(xié)議
- 2025年度快遞配送與快遞網(wǎng)點(diǎn)建設(shè)合同
- 2025年度房產(chǎn)過戶房地產(chǎn)經(jīng)紀(jì)人服務(wù)協(xié)議
- 2025年度農(nóng)村鄰居土地界限確權(quán)與使用協(xié)議書
- 二零二五年度礦山股份合作協(xié)議書:礦山生態(tài)環(huán)境保護(hù)與修復(fù)
- 2025年度賓館客房客房服務(wù)員培訓(xùn)與勞務(wù)服務(wù)合同
- 主動(dòng)脈夾層的護(hù)理-ppt課件
- GB∕T 3836.31-2021 爆炸性環(huán)境 第31部分:由防粉塵點(diǎn)燃外殼“t”保護(hù)的設(shè)備
- 高新技術(shù)企業(yè)認(rèn)定申請(qǐng)書樣例與說明
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter6 Tree
- 高壓氧科工作總結(jié)高壓氧科個(gè)人年終總結(jié).doc
- 《政治學(xué)概論》教學(xué)大綱
- 橋梁缺陷與預(yù)防
- 食品生物化學(xué)習(xí)題謝達(dá)平(動(dòng)態(tài))
- 保安員工入職登記表
- 睿達(dá)RDCAM激光雕刻切割軟件V5.0操作說明書
- 機(jī)械設(shè)計(jì)基礎(chǔ)平面連桿機(jī)構(gòu)課件
評(píng)論
0/150
提交評(píng)論