版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第十六第十六講講 ARM微處理器微處理器體系結(jié)構(gòu)體系結(jié)構(gòu)2主要內(nèi)容主要內(nèi)容ARM簡(jiǎn)介簡(jiǎn)介ARM編程模型編程模型ARM指令集指令集ARM JTAG調(diào)試接口調(diào)試接口S3C44B0開發(fā)平臺(tái)簡(jiǎn)介開發(fā)平臺(tái)簡(jiǎn)介3ARM簡(jiǎn)介簡(jiǎn)介lARMAdvanced RISC MachineslARM32位位RISC結(jié)構(gòu)結(jié)構(gòu)IP核提供商核提供商lARM微處理器系列微處理器系列ARM7系列系列ARM9系列系列ARM9E系列系列ARM10E系列系列SecurCore系列系列Inter的的XscaleInter的的StrongARM4ARMARM微處理器的選型微處理器的選型lARM內(nèi)核的選擇內(nèi)核的選擇l系統(tǒng)的工作頻率系統(tǒng)的工
2、作頻率l片內(nèi)存儲(chǔ)器的容量片內(nèi)存儲(chǔ)器的容量l片內(nèi)外圍電路的選擇片內(nèi)外圍電路的選擇5ARM處理器的處理器的3大特點(diǎn)如下:大特點(diǎn)如下:l小體積、低功耗、成本低、高性能;小體積、低功耗、成本低、高性能;l16位位/32位雙指令集;位雙指令集;l全球眾多的合作伙伴。全球眾多的合作伙伴。當(dāng)前當(dāng)前ARM體系結(jié)構(gòu)的擴(kuò)充包括:體系結(jié)構(gòu)的擴(kuò)充包括:lThumb:16位指令集,用以改善代碼密度;位指令集,用以改善代碼密度;lDSP:用于:用于DSP應(yīng)用的算術(shù)運(yùn)算指令集;應(yīng)用的算術(shù)運(yùn)算指令集;lJazeller:允許直接執(zhí)行:允許直接執(zhí)行Java代碼的擴(kuò)充。代碼的擴(kuò)充。ARM處理器系列提供的解決方案包括:處理器系列提
3、供的解決方案包括:l在無線、消費(fèi)電子和圖像應(yīng)用方面的開放平臺(tái);在無線、消費(fèi)電子和圖像應(yīng)用方面的開放平臺(tái);l存儲(chǔ)、自動(dòng)化、工業(yè)和網(wǎng)絡(luò)應(yīng)用的嵌入式實(shí)時(shí)系統(tǒng);存儲(chǔ)、自動(dòng)化、工業(yè)和網(wǎng)絡(luò)應(yīng)用的嵌入式實(shí)時(shí)系統(tǒng);l智能卡和智能卡和SIM卡的安全應(yīng)用。卡的安全應(yīng)用。ARM處理器的特點(diǎn)6ARM 微處理器l微處理器微處理器核核: ARM6, ARM7, ARM9, ARM10, ARM11l擴(kuò)展擴(kuò)展: Thumb, DSP, SIMD, Jazelle etc.l其它其它IP核核: UART, GPIO, memory controllers, etc7ARM體系結(jié)構(gòu)版本 - 1lVersion 1 (obsol
4、ete)l基本數(shù)據(jù)處理基本數(shù)據(jù)處理l字節(jié)字節(jié),字以及多字字以及多字 load/storel軟件中斷軟件中斷l(xiāng)26 bit 地址總線地址總線lVersion 2 (obsolete)lMultiply & Multiply-accumulatel支持協(xié)處理器支持協(xié)處理器l支持線程同步支持線程同步l26 bit 地址總線地址總線8ARM體系結(jié)構(gòu)版本 - 2lV3版本推出版本推出32位尋址能力位尋址能力,結(jié)構(gòu)擴(kuò)展變化為結(jié)構(gòu)擴(kuò)展變化為uT16位壓縮指令集位壓縮指令集uM增強(qiáng)型乘法器增強(qiáng)型乘法器,產(chǎn)生全產(chǎn)生全64位結(jié)果位結(jié)果(32X3264or32X32+64 64)lV4版本增加了半字版本增加了半字l
5、oad和和store指令指令lV5版本改進(jìn)了版本改進(jìn)了ARM和和Thumb之間的交互之間的交互,結(jié)構(gòu)擴(kuò)展變化為結(jié)構(gòu)擴(kuò)展變化為:uE-增強(qiáng)型增強(qiáng)型DSP指令集指令集,包括全部算法操作和包括全部算法操作和16位乘法操作位乘法操作uJ-支持新的支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能9ARM7 TDMI的指令流水線取指譯碼執(zhí)行從存儲(chǔ)器取指從存儲(chǔ)器取指指令所用的寄存器譯碼指令所用的寄存器譯碼從寄存器組中讀寄存器從寄存器組中讀寄存器移位和移位和ALUALU操作操作把寄存器寫回到存儲(chǔ)器組把寄存器寫回到存儲(chǔ)器組每條指令可以分每條指令可以分3 3個(gè)階段
6、執(zhí)行個(gè)階段執(zhí)行10ARM單周期指令3段流水線操作*取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行t指令123注注: :程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC指向正在取指的指令而不是正在執(zhí)行的指令指向正在取指的指令而不是正在執(zhí)行的指令11處理器的工作狀態(tài)lARM7TDMI 處理器有兩種工作狀態(tài)處理器有兩種工作狀態(tài):uARM - 32-bit, 按字排列的按字排列的ARM指令集指令集uThumb -16-bit, 按半字排列的按半字排列的Thumb指令集指令集uARM7TDMI 核的操作狀態(tài)可能通過核的操作狀態(tài)可能通過BX指令指令(分支和交分支和交換指令)在換指令)在ARM狀態(tài)和狀態(tài)和Thumb狀態(tài)之間切換狀態(tài)之間切
7、換例:例:從從ARM狀態(tài)切換到狀態(tài)切換到Thumb狀態(tài):狀態(tài): LDR R0,=Label+1 BX R0從從Thumb狀態(tài)切換到狀態(tài)切換到ARM狀態(tài):狀態(tài): LDR R0,=Label BX R012存儲(chǔ)器模式*l大端模式大端模式u字?jǐn)?shù)據(jù)的高位字節(jié)存儲(chǔ)在低地址中字?jǐn)?shù)據(jù)的高位字節(jié)存儲(chǔ)在低地址中u字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中l(wèi)小端模式小端模式u低地址中存放字?jǐn)?shù)據(jù)的低字節(jié)低地址中存放字?jǐn)?shù)據(jù)的低字節(jié)u高地址中存放字?jǐn)?shù)據(jù)的高字節(jié)高地址中存放字?jǐn)?shù)據(jù)的高字節(jié)3124 2316 158 70字地址字地址11109887654432100 低地址低地址 高地址高地址3124 2
8、316 158 70 字地址字地址89101184567401230 低地址低地址 高地址高地址13指令長(zhǎng)度及數(shù)據(jù)類型lARM微處理器的指令長(zhǎng)度可以是微處理器的指令長(zhǎng)度可以是32位(位(ARM狀態(tài)),狀態(tài)),也可以為也可以為16位(位(Thumb)狀態(tài))狀態(tài)lARM微處理器支持字節(jié)(微處理器支持字節(jié)(8位)、半字(位)、半字(16位)、字(位)、字(32位)位)3種數(shù)據(jù)類型種數(shù)據(jù)類型l字需要字需要4字節(jié)對(duì)齊(地址的低兩位為字節(jié)對(duì)齊(地址的低兩位為0)、半字需要)、半字需要2字節(jié)字節(jié)對(duì)齊(地址的最低位為對(duì)齊(地址的最低位為0)14操作模式lARM 處理器有處理器有7種工作模式種工作模式:l用戶模
9、式用戶模式(usr) - 正常的程序執(zhí)行模式正常的程序執(zhí)行模式l快速中斷模式快速中斷模式(fiq)- 支持高速數(shù)據(jù)傳輸或通道處理支持高速數(shù)據(jù)傳輸或通道處理l中斷模式中斷模式(irq) - 用于通用中斷處理用于通用中斷處理l管理員模式管理員模式(svc)- 操作系統(tǒng)的保護(hù)模式操作系統(tǒng)的保護(hù)模式.l中止模式中止模式(abt)- 支持虛擬內(nèi)存和支持虛擬內(nèi)存和/或內(nèi)存保護(hù)或內(nèi)存保護(hù)l系統(tǒng)模式系統(tǒng)模式(sys)- 支持操作系統(tǒng)的特殊用戶模式支持操作系統(tǒng)的特殊用戶模式(運(yùn)行運(yùn)行操作系統(tǒng)任務(wù))操作系統(tǒng)任務(wù))l未定義模式未定義模式(und)- 支持硬件協(xié)處理器的軟件仿真支持硬件協(xié)處理器的軟件仿真 l除了用戶模
10、式外,其他模式均可視為特權(quán)模式除了用戶模式外,其他模式均可視為特權(quán)模式15寄存器組織 1*16寄存器 - 2l37 寄存器寄存器u31 個(gè)通用個(gè)通用32位寄存器,包括程序計(jì)數(shù)器位寄存器,包括程序計(jì)數(shù)器PC未分組寄器未分組寄器R0-R7分組寄存器分組寄存器R8-R14程序計(jì)數(shù)器程序計(jì)數(shù)器PC(R15)u6 個(gè)狀態(tài)寄存器個(gè)狀態(tài)寄存器u15 通用寄存器通用寄存器 (R0 to R14), 以及以及1或者或者2個(gè)狀態(tài)寄存?zhèn)€狀態(tài)寄存器和程序計(jì)數(shù)器在任何時(shí)候都是可以訪問的器和程序計(jì)數(shù)器在任何時(shí)候都是可以訪問的l可訪問的寄存器取決于處理器的模式可訪問的寄存器取決于處理器的模式l其它寄存器其它寄存器 (the
11、 banked registers) 的狀態(tài)在支持的狀態(tài)在支持IRQ, FIQ, 管理員管理員, 中止和未定義模式處理時(shí)被切換中止和未定義模式處理時(shí)被切換17寄存器 - 3lR0 到到 R15 可以直接訪問可以直接訪問lR0 到到 R14 是通用寄存器是通用寄存器lR13: 堆棧指針堆棧指針 (sp) (通常通常)u每種處理器模式都有單獨(dú)的堆棧每種處理器模式都有單獨(dú)的堆棧lR14: 鏈接寄存器鏈接寄存器 (lr)lR15 包含程序計(jì)數(shù)器包含程序計(jì)數(shù)器 (PC)lCPSR 當(dāng)前程序狀態(tài)寄存器,包括代碼標(biāo)志狀態(tài)和當(dāng)當(dāng)前程序狀態(tài)寄存器,包括代碼標(biāo)志狀態(tài)和當(dāng)前模式位前模式位l5個(gè)個(gè)SPSRs-(程序狀
12、態(tài)保存寄存器程序狀態(tài)保存寄存器) 當(dāng)異常發(fā)生時(shí)保存當(dāng)異常發(fā)生時(shí)保存CPSR狀態(tài)狀態(tài)18程序狀態(tài)寄存器 - 1lARM7TDMI 包含當(dāng)前程序狀態(tài)寄存器包含當(dāng)前程序狀態(tài)寄存器 (CPSR), 加上加上5個(gè)程序狀態(tài)保存寄存器個(gè)程序狀態(tài)保存寄存器SPSR,當(dāng)異常發(fā)生時(shí),用于保,當(dāng)異常發(fā)生時(shí),用于保存存CPSR的狀態(tài)的狀態(tài) l這些寄存器的功能是這些寄存器的功能是:u保存保存ALU當(dāng)前操作信息當(dāng)前操作信息u控制允許和禁止中斷控制允許和禁止中斷u設(shè)置處理器操作模式設(shè)置處理器操作模式19程序狀態(tài)寄存器 - 2uN, Z, C and V 條件碼標(biāo)志條件碼標(biāo)志u可以在處理器中作為數(shù)學(xué)和邏輯操作改變可以在處理器
13、中作為數(shù)學(xué)和邏輯操作改變u可以被所有的指令測(cè)試,以決定指令是否被執(zhí)行可以被所有的指令測(cè)試,以決定指令是否被執(zhí)行uN : Negative. Z : Zero. C : Carry. V : oVerflowuI and F 位是中斷禁止位位是中斷禁止位uM0, M1, M2, M3 and M4 位是模式位位是模式位20程序狀態(tài)寄存器PSR的模式位21異常 - 1l異常異常內(nèi)部或外部中斷源產(chǎn)生并引起處理器處理一個(gè)事件,如外部?jī)?nèi)部或外部中斷源產(chǎn)生并引起處理器處理一個(gè)事件,如外部中斷或試圖執(zhí)行未定義指令都會(huì)引起異常。中斷或試圖執(zhí)行未定義指令都會(huì)引起異常。u處理異常之前必須保留處理器的狀態(tài)處理異常之
14、前必須保留處理器的狀態(tài)l異常類型異常類型uFIQ uIRQ(Interrupt ReQuest)u未定義指令未定義指令u預(yù)取中止預(yù)取中止u數(shù)據(jù)中止數(shù)據(jù)中止u復(fù)位復(fù)位u軟件中斷軟件中斷Software interruptu通過軟件中斷產(chǎn)生通過軟件中斷產(chǎn)生u進(jìn)行管理員模式中獲得進(jìn)行管理員模式中獲得u通常要求特殊的管理功能,如操作系統(tǒng)支持通常要求特殊的管理功能,如操作系統(tǒng)支持22異常 - 2l異常類型異常類型u未定義的指令陷井未定義的指令陷井u當(dāng)當(dāng)ARM接受到一條不能處理的指令接受到一條不能處理的指令,ARM把這條指令提供給任何把這條指令提供給任何一個(gè)協(xié)處理器執(zhí)行一個(gè)協(xié)處理器執(zhí)行u如果協(xié)處理器可以執(zhí)
15、行這條指令但此時(shí)協(xié)處理器忙如果協(xié)處理器可以執(zhí)行這條指令但此時(shí)協(xié)處理器忙,ARM將等待將等待直到協(xié)處理器準(zhǔn)備好或中斷發(fā)生直到協(xié)處理器準(zhǔn)備好或中斷發(fā)生u如果沒有協(xié)處理器處理這條指令如果沒有協(xié)處理器處理這條指令,那么那么ARM將處理未定義的指令將處理未定義的指令陷井陷井l異常優(yōu)先級(jí)異常優(yōu)先級(jí)(1) Reset (highest priority)(2) Data abort(3) FIQ(4) IRQ(5) Prefetch abort(6) 未定義指令未定義指令, Software interrupt (最低優(yōu)先級(jí)最低優(yōu)先級(jí))23異常 - 3l只要產(chǎn)生異常就會(huì)導(dǎo)致正常和程序流程被臨時(shí)停止只要產(chǎn)生異
16、常就會(huì)導(dǎo)致正常和程序流程被臨時(shí)停止, ,例如外圍中例如外圍中斷服務(wù)程序斷服務(wù)程序l在異常被處理前在異常被處理前, ,當(dāng)前的處理器狀態(tài)必須被保存當(dāng)前的處理器狀態(tài)必須被保存, ,以便處理程序完以便處理程序完成后成后, ,最后的程序可以被恢復(fù)最后的程序可以被恢復(fù). .24進(jìn)入異常的操作-1l在相應(yīng)的鏈接寄存器在相應(yīng)的鏈接寄存器LR (r14)中保存下一條指中保存下一條指令的地址令的地址l將將CPSR復(fù)制到相應(yīng)的復(fù)制到相應(yīng)的SPSR中中l(wèi)強(qiáng)制使強(qiáng)制使CPSR模式位置成對(duì)應(yīng)異常類型的值模式位置成對(duì)應(yīng)異常類型的值l強(qiáng)制使程序計(jì)數(shù)器指向相應(yīng)異常向量強(qiáng)制使程序計(jì)數(shù)器指向相應(yīng)異常向量,取下一條取下一條指令指令2
17、5進(jìn)入異常的操作-2R14_=Return LinkSPSR_=CPSRCPSR4:0=Exception Mode NumberCPSR5=0 ;當(dāng)運(yùn)行于當(dāng)運(yùn)行于ARM狀態(tài)時(shí)狀態(tài)時(shí)IF=Reset or FIQ then ;當(dāng)響應(yīng)當(dāng)響應(yīng)FIQ異常時(shí),禁止新的異常時(shí),禁止新的FIQ異常異常 CPSR6=1; CPSR7=1;PC=Exception Vector Address26例子: 用戶模式到 FIQ模式*spsr_fiqcpsrr7r4r5r2r1r0r3r6r15 (pc)r14_fiqr13_fiqr12_fiqr10_fiqr11_fiqr9_fiqr8_fiqr14 (lr)r
18、13 (sp)r12r10r11r9r8用戶模式用戶模式 CPSR CPSR 復(fù)制到復(fù)制到 FIQ FIQ 模式模式 SPSRSPSRcpsrr15 (pc)r14 (lr)r13 (sp)r12r10r11r9r8r7r4r5r2r1r0r3r6r14_fiqr13_fiqr12_fiqr10_fiqr11_fiqr9_fiqr8_fiq返回一個(gè)從用戶模式計(jì)算的地址返回一個(gè)從用戶模式計(jì)算的地址,PC,PC值存儲(chǔ)值存儲(chǔ)在在FIQFIQ模式模式Registers in useRegisters in use異常異常用戶模式用戶模式FIQ 模式模式spsr_fiq27退出異常的操作l將將LR寄存器
19、中的值減去相應(yīng)的偏移量送到寄存器中的值減去相應(yīng)的偏移量送到PC中中l(wèi)將將 SPSR 復(fù)制回復(fù)制回 CPSRl清除禁止中斷標(biāo)志清除禁止中斷標(biāo)志,如果它被設(shè)置成使能如果它被設(shè)置成使能l可以認(rèn)為程序總是從復(fù)位異常處理程序開始執(zhí)可以認(rèn)為程序總是從復(fù)位異常處理程序開始執(zhí)行的,因此復(fù)位異常處理程序不需要返回。行的,因此復(fù)位異常處理程序不需要返回。28進(jìn)入/退出異常概述29指令長(zhǎng)度l指令集可以是以下任一種指令集可以是以下任一種l32 bits 長(zhǎng)長(zhǎng) (ARM狀態(tài)狀態(tài))l16 bits 長(zhǎng)長(zhǎng) (Thumb 狀態(tài)狀態(tài))lARM7TDMI 支持支持3種數(shù)據(jù)類型種數(shù)據(jù)類型l字節(jié)字節(jié) (8-bit)l半字半字 (16
20、-bit)l字字 (32-bit)l字必須被排成字必須被排成4個(gè)字節(jié)邊界對(duì)齊個(gè)字節(jié)邊界對(duì)齊,半字必須被排半字必須被排列成列成2個(gè)字節(jié)邊界對(duì)齊個(gè)字節(jié)邊界對(duì)齊 30ARM 指令集lLoad-store 結(jié)構(gòu)結(jié)構(gòu)*u在通用寄存器中操作在通用寄存器中操作uload/store 從存儲(chǔ)器中讀某個(gè)值從存儲(chǔ)器中讀某個(gè)值,操作完后再將其放操作完后再將其放回存儲(chǔ)器中回存儲(chǔ)器中l(wèi)指令分類指令分類u數(shù)據(jù)處理指令數(shù)據(jù)處理指令 使用和改變寄存器的值使用和改變寄存器的值u數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 把存儲(chǔ)器的值拷貝到寄存器中把存儲(chǔ)器的值拷貝到寄存器中 (load) or 把寄存器中的值拷貝到存儲(chǔ)器中把寄存器中的值拷貝到存儲(chǔ)
21、器中(store)u控制流指令控制流指令 分支分支分支和鏈接分支和鏈接, 保存返回的地址保存返回的地址,以恢復(fù)最先的次序以恢復(fù)最先的次序陷入系統(tǒng)代碼陷入系統(tǒng)代碼31指令格式l指令格式指令格式u3 地址指令格式地址指令格式 在在ARM狀態(tài)中使用狀態(tài)中使用u2 地址指令格式地址指令格式 在在 ARM和和 THUMB 狀態(tài)下使用狀態(tài)下使用32ARM指令集指令集33數(shù)據(jù)處理指令 - 1l數(shù)據(jù)處理指令的類別數(shù)據(jù)處理指令的類別u算術(shù)操作算術(shù)操作u按位邏輯操作按位邏輯操作u寄存器移位操作寄存器移位操作u比較操作比較操作l操作數(shù)操作數(shù): 32-bits 寬寬;有有3種指定操作數(shù)的方式種指定操作數(shù)的方式u來自寄
22、存器來自寄存器u第二操作數(shù)可以是常數(shù)第二操作數(shù)可以是常數(shù)(立即數(shù)立即數(shù))u移位寄存器操作數(shù)移位寄存器操作數(shù)l結(jié)果結(jié)果: 32-bits 寬寬, 放在寄存器中放在寄存器中u長(zhǎng)乘法產(chǎn)生長(zhǎng)乘法產(chǎn)生64位結(jié)果位結(jié)果34數(shù)據(jù)處理指令 2*cond0 0operand 2#opcodeSRnRd3128 27 26 25 2421 20 1916 1512 110目的寄存器第一操作寄存器設(shè)置操作碼算術(shù)/邏輯功能8-bit 立即數(shù)125118 70#rotRm11765 430#shiftRm025118 765 430RsSh010Shimmediate alignmentimmediate shift
23、lengthshift typesecond operand register移位寄存器長(zhǎng)度35數(shù)據(jù)處理指令 - 3Opcode24:21MnemonicMeaningEffect0000ANDLogical bit-wise ANDRd := Rn AND Op20001EORLogical bit-wise exclusive ORRd := Rn EOR Op20010SUBSubtractRd := Rn - Op20011RSBReverse subtractRd := Op2 - Rn0100ADDAddRd := Rn + Op20101ADCAdd with carryRd :
24、= Rn + Op2 + C0110SBCSubtract with carryRd := Rn - Op2 + C - 10111RSCReverse subtract with carryRd := Op2 - Rn + C - 11000TSTTestScc on Rn AND Op21001TEQTest equivalenceScc on Rn EOR Op21010CMPCompareScc on Rn - Op21011CMNCompare negatedScc on Rn + Op21100ORRLogical bit-wise ORRd := Rn OR Op21101MOV
25、MoveRd := Op21110BICBit clearRd := Rn AND NOT Op21111MVNMove negatedRd := NOT Op236數(shù)據(jù)處理指令 - 4ADD r0, r1, r2r0 := r1 + r2ADC r0, r1, r2r0 := r1 + r2 + CSUB r0, r1, r2r0 := r1 - r2SBC r0, r1, r2r0 := r1 - r2 + C - 1RSB r0, r1, r2r0 := r2 r1RSC r0, r1, r2r0 := r2 r1 + C - 1算術(shù)操作算術(shù)操作按位邏輯操作按位邏輯操作AND r0, r
26、1, r2r0 := r1 and r2ORR r0, r1, r2r0 := r1 or r2EOR r0, r1, r2r0 := r1 xor r2BIC r0, r1, r2r0 := r1 and (not) r2寄存器移位寄存器移位MOV r0, r2r0 := r2MVN r0, r2r0 := not r2比較操作比較操作CMP r1, r2set cc on r1 - r2CMN r1, r2set cc on r1 + r2TST r1, r2set cc on r1 and r2TEQ r1, r2set cc on r1 xor r237數(shù)據(jù)處理指令 - 5l立即數(shù)操作
27、立即數(shù)操作: :立即數(shù)操作立即數(shù)操作 = (0-255) x 22n, 0 = n 255) x 22n, 0 = n = 12l移位寄存器操作數(shù)移位寄存器操作數(shù)u第二個(gè)操作數(shù)在與第一個(gè)操作數(shù)合成之前第二個(gè)操作數(shù)在與第一個(gè)操作數(shù)合成之前, ,是服從于移是服從于移位操作的位操作的. .ADD r3, r2, r1, LSL #3r3 := r2 + 8 x r1ADD r5, r5, r3, LSL r2r5 := r5 + 2r2 x r3ADD r3, r3, #3r3 := r3 + 3AND r8, r7, #&ffr8 := r77:0, & for hex38數(shù)據(jù)處理指令 - 6l移
28、位操作移位操作u在任何數(shù)據(jù)處理指令中在任何數(shù)據(jù)處理指令中, ,第二個(gè)寄存器操作數(shù)可以有應(yīng)用第二個(gè)寄存器操作數(shù)可以有應(yīng)用該操作數(shù)的移位操作該操作數(shù)的移位操作. .u邏輯移位邏輯移位uLSL:LSL:邏輯左移邏輯左移u字的最小位空位清零字的最小位空位清零uLSR:LSR:邏輯右移字的最大位空位清零邏輯右移字的最大位空位清零. .39數(shù)據(jù)處理指令 - 7l移位操作移位操作 (contd)(contd)u算術(shù)移位算術(shù)移位uASR: = LSRASR: = LSRuASL: ASL: 算術(shù)左移算術(shù)左移u循環(huán)移位循環(huán)移位: ROR, RRX: ROR, RRX40條件碼標(biāo)志l任何數(shù)據(jù)處理指令都可以設(shè)置條件
29、碼任何數(shù)據(jù)處理指令都可以設(shè)置條件碼 (N, Z, V, and C) (N, Z, V, and C) u適用于除比較操作外的所有數(shù)據(jù)處理指令適用于除比較操作外的所有數(shù)據(jù)處理指令u特殊的請(qǐng)求必須在匯編語言中實(shí)現(xiàn)特殊的請(qǐng)求必須在匯編語言中實(shí)現(xiàn), ,這種請(qǐng)求是通過把這種請(qǐng)求是通過把”S”S”增加到選擇代碼中指定的增加到選擇代碼中指定的l算術(shù)操作設(shè)置所有的標(biāo)志位算術(shù)操作設(shè)置所有的標(biāo)志位 (N, Z, C, and V) (N, Z, C, and V)l邏輯和移位操作設(shè)置邏輯和移位操作設(shè)置 N and Z N and Zu當(dāng)無移位操作時(shí)當(dāng)無移位操作時(shí), ,保存保存V V和和V,V,或根據(jù)移位操作設(shè)置
30、或根據(jù)移位操作設(shè)置ADDS r2, r2, r0; carry out to C41乘法指令集l在寄存器在寄存器產(chǎn)產(chǎn)生生32位位值值cond0 0 0 0R m3128 2724 2321 20 1916 1512 118 74301 0 0 1R sR n/R dLoR d/R dH im ulSOpcode23:21MnemonicMeaningEffect000MULMultiply (32-bit result)Rd := (Rm * Rs) 31:0001MLAMultiply-accumulate (32-bit result)Rd := (Rm * Rs + Rn) 31:010
31、0UMULLUnsigned multiply longRdHi:RdLo := Rm * Rs101UMLALUnsigned multiply-accumulate longRdHi:RdLo += Rm * Rs110SMULLSigned multiply longRdHi:RdLo := Rm * Rs111SMLALSigned multiply-accumulate longRdHi:RdLo += Rm * Rs42乘法l例子例子 ( (乘法乘法, , 乘法累加器乘法累加器) )l注意注意u最低最低 32-bits 32-bits 置于結(jié)果寄存器中置于結(jié)果寄存器中, ,其余被忽
32、略其余被忽略 u不支持第二立即操作數(shù)不支持第二立即操作數(shù)u結(jié)果寄存器與源寄存器必須不同結(jié)果寄存器與源寄存器必須不同 uif S bit is set the V is preserved and if S bit is set the V is preserved and the C is rendered meaninglessthe C is rendered meaninglessMUL r4, r3, r2r4 := r3 x r2MLA r4, r3, r2, r1r4 := r3 x r2 + r1 43數(shù)據(jù)傳送指令 - 1l單指令傳送單指令傳送 (LDR, STR)(LDR, S
33、TR)u單字單字(32bit), (32bit), 半字半字(6 bit) (6 bit) 以及字節(jié)以及字節(jié)(8 bit) (8 bit) 傳送傳送u尋址尋址u寄存器偏移寄存器偏移u地址地址 = =基址基址 寄存器偏移寄存器偏移u立即數(shù)偏移立即數(shù)偏移u地址地址 = = 基址基址 立即數(shù)常數(shù)立即數(shù)常數(shù)u后變址后變址Post-indexing: modify address after usePost-indexing: modify address after useu前變址前變址Pre-indexing: modify address before usePre-indexing: modif
34、y address before useu回寫回寫u如果可能如果可能, ,更新基址寄存器更新基址寄存器44數(shù)據(jù)傳送指令 - 2l多數(shù)據(jù)傳送指令多數(shù)據(jù)傳送指令 (LDM, STM)(LDM, STM)uload (LDM) load (LDM) 或或 store (STM) store (STM) 當(dāng)前可訪問寄存器的任意子集當(dāng)前可訪問寄存器的任意子集u 使用使用u堆棧堆棧: maintaining full or empty stacks which can : maintaining full or empty stacks which can grow up or down memorygr
35、ow up or down memoryu上下文切換上下文切換: : 保存或重新存儲(chǔ)工作寄存器保存或重新存儲(chǔ)工作寄存器u塊拷貝塊拷貝: :在主存儲(chǔ)器中移動(dòng)大數(shù)據(jù)塊在主存儲(chǔ)器中移動(dòng)大數(shù)據(jù)塊u尋址尋址uPre/Post indexingPre/Post indexinguAuto increment or decrementAuto increment or decrementu回寫到基址寄存器回寫到基址寄存器Write back the base registerWrite back the base register45數(shù)據(jù)傳送指令 - 3l單數(shù)據(jù)交換單數(shù)據(jù)交換 (SWAP)(SWAP)u在寄
36、存器和外部存儲(chǔ)器之間交換字節(jié)或字在寄存器和外部存儲(chǔ)器之間交換字節(jié)或字u讀存儲(chǔ)器和寫存儲(chǔ)器是是放在一起的讀存儲(chǔ)器和寫存儲(chǔ)器是是放在一起的u原子指令原子指令u執(zhí)行時(shí)不能中斷執(zhí)行時(shí)不能中斷u當(dāng)當(dāng)LOCK LOCK 信號(hào)輸出操作時(shí)信號(hào)輸出操作時(shí), ,外部存儲(chǔ)器管理單元被鎖定外部存儲(chǔ)器管理單元被鎖定, ,當(dāng)當(dāng)u多線程操作時(shí)使程序同步多線程操作時(shí)使程序同步(OS(OS支持支持) )u鎖定鎖定u信號(hào)量信號(hào)量46數(shù)據(jù)傳送指令 - 4LDR r0, r1r0 := mem32r1STR r0, r1mem32r1 := r0Note: r1 keeps a word address (2 LSBs are 0)
37、LDR r0, r1, #4r0 := mem32r1 +4寄存器間接尋址基址+偏移量尋址 (offset of up to 4Kbytes)LDR r0, r1, #4!r0 := mem32r1 + 4r1 := r1 + 4自動(dòng)變址尋址LDR r0, r1, #4r0 := mem32r1r1 := r1 + 4后變址尋址LDRB r0, r1r0 := mem8r1Note: no restrictions for r1單單寄存器寄存器 load and store47數(shù)據(jù)傳送指令 - 5COPY:ADR r1, TABLE1; r1 points to TABLE1ADR r2, T
38、ABLE2; r2 points to TABLE2LOOP:LDR r0, r1STR r0, r2ADD r1, r1, #4ADD r2, r2, #4.TABLE1:.TABLE2:.COPY:ADR r1, TABLE1; r1 points to TABLE1ADR r2, TABLE2; r2 points to TABLE2LOOP:LDR r0, r1, #4STR r0, r2, #4.TABLE1:.TABLE2:.48數(shù)據(jù)傳送指令 - 6l塊塊拷拷貝貝l數(shù)數(shù)據(jù)被存據(jù)被存貯貯在基本寄存器的上面地在基本寄存器的上面地址或下面地址址或下面地址 l地址增加或地址增加或減減少是在
39、存少是在存貯貯第一第一個(gè)值個(gè)值之前或之后之前或之后開開始的始的LDMIA r1, r0, r2, r5r0 := mem32r1r2 := mem32r1 + 4r5 := mem32r1 + 8Note: 寄存器的部分或全部都可以用單指令傳送Note: 在表中的寄存器順序并不重要Note: 在表中包括 r15 i將造成控制流的改變多寄存器多寄存器數(shù)數(shù)據(jù)據(jù)傳傳送送 Increment After49多寄存器傳送尋址模式r5r1r9r0r9STMIA r9!, r0,r1,r5100016100c16101816r1r5r9STMDA r9!, r0,r1,r5r0r9100016100c161
40、01816r5r9STMDB r9!, r0,r1,r5r1r0r9100016100c16101816r5r1r0r9r9STMIB r9!, r0,r1,r5100016100c1610181650條件執(zhí)行l(wèi)所有的所有的ARM指令都可以指令都可以條條件件執(zhí)執(zhí)行行l(wèi)指令的指令的執(zhí)執(zhí)行行與與否取否取決決于于CPSR寄存器的寄存器的N, Z, C and V標(biāo)標(biāo)志位志位l所有的所有的Thumb指令都可以解指令都可以解壓壓成全部成全部條條件指令件指令lCondition Field in instructionl0000 = EQ - Z set (equal)l0001 = NE - Z cle
41、ar (not equal)l0010 = CS - C set (unsigned higher or same)l0011 = CC - C clear (unsigned lower)l0100 = MI - N set (negative)l0101 = PL - N clear (positive or zero)l0110 = VS - V set (overflow)l0111 = VC - V clear (no overflow)l1000 = HI - C set and Z clear (unsigned higher)l1001 = LS - C clear or Z
42、set (unsigned lower or same)l1010 = GE - N set and V set, or N clear and V clear (greater or equal)l1011 = LT - N set and V clear, or N clear and V set (less than)l1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than)l1101 = LE - Z set, or N set and V clear, or N cle
43、ar and V set (less than or equal)l1110 = AL - alwaysl1111 = NV - never31 27 0 Cond 51控制流指令Branch Interpretation Normal uses B BAL Unconditional Always Always take this branch Always take this branch BEQ Equal Comparison equal or zero result BNE Not equal Comparison not equal or non-zero result BPL P
44、lus Result positive or zero BMI Minus Result minus or negative BCC BLO Carry clear Lower Arithmetic operation did not give carry-out Unsigned comparison gave lower BCS BHS Carry set Higher or same Arithmetic operation gave carry-out Unsigned comparison gave higher or same BVC Overflow clear Signed i
45、nteger operation; no overflow occurred BVS Overflow set Signed integer operation; overflow occurred BGT Greater than Signed integer comparison gave greater than BGE Greater or equal Signed integer comparison gave greater or equal BLT Less than Signed integer comparison gave less than BLE Less or equ
46、al Signed integer comparison gave less than or equal BHI Higher Unsigned comparison gave higher BLS Lower or same Unsigned comparison gave lower or same 52條件執(zhí)行l(wèi)條件執(zhí)行避免使用分支指令條件執(zhí)行避免使用分支指令lExampleExampleCMP r0, #5; BEQ BYPASS; if (r0!=5) ADD r1, r1, r0; r1:=r1+r0-r2SUB r1, r1, r2; BYPASS:.CMP r0, #5; AD
47、DNE r1, r1, r0; SUBNE r1, r1, r2; .使用條件執(zhí)行Note: add 2 letter condition after the 3-letter opcode; if (a=b) & (c=d) e+;CMP r0, r1CMPEQ r2, r3ADDEQ r4, r4, #153控制和分支指令l控制指令控制指令u分支和分支連接分支和分支連接u跳到希望的指令中跳到希望的指令中u保存當(dāng)前的保存當(dāng)前的PCPC并返回并返回 (with L bit) (with L bit)u分支和交換分支和交換u跳到期望的指令中與指令集交換跳到期望的指令中與指令集交換uRmRm0 =
48、 1: Subsequent inst. are THUMB.0 = 1: Subsequent inst. are THUMB.uRmRm0 = 0: Subsequent inst. are ARM.0 = 0: Subsequent inst. are ARM.cond1 0 1L24-bit signed word offset3128 2725 24 230condRm0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 03128276 5 4 301L54分支和鏈接指令l分支子程序分支子程序 (r14 serves as a link registe
49、r)(r14 serves as a link register)l嵌套子程序嵌套子程序BL SUBR; branch to SUBR.; return hereSUBR:.; SUBR entry pointMOV pc, r14 ; returnBL SUB1 .SUB1:; save work and link registerSTMFD r13!, r0-r2,r14 BL SUB2.LDMFD r13!, r0-r2,pcSUB2:.MOV pc, r14 ; copy r14 into r15Full Descending55請(qǐng)求管理程序l管理程序是在特權(quán)級(jí)操作的程序管理程序是在特
50、權(quán)級(jí)操作的程序, ,它可以實(shí)現(xiàn)用戶級(jí)程序不能實(shí)它可以實(shí)現(xiàn)用戶級(jí)程序不能實(shí)現(xiàn)的任務(wù)現(xiàn)的任務(wù)lExample: send text to the displayExample: send text to the displaylARM ISA ARM ISA 包括包括 SWI (SWI (SoftWareSoftWare Interrupt) Interrupt); output r07:0SWI SWI_WriteC; return from a user program back to monitorSWI SWI_Exit56轉(zhuǎn)移表l根據(jù)程序計(jì)算值調(diào)用一個(gè)子程序根據(jù)程序計(jì)算值調(diào)用一個(gè)子程序B
51、L JTAB.JTAB:CMP r0, #0BEQ SUB0CMP r0, #1BEQ SUB1CMP r0, #2BEQ SUB2Note: slow when the list is long, and all subroutines are equally frequentBL JTAB.JTAB:ADR r1, SUBTABCMP r0, #SUBMAX ; overrun?LDRLS pc, r1, r0, LSL #2B ERRORSUBTAB:DCD SUB0DCD SUB1DCD SUB2.57PSR 指令l程序狀態(tài)寄存器訪問指令程序狀態(tài)寄存器訪問指令(MRS, MSR)(MR
52、S, MSR)lMRS MRS 程序狀態(tài)寄存器到通用寄存器的數(shù)據(jù)傳送指令程序狀態(tài)寄存器到通用寄存器的數(shù)據(jù)傳送指令lMSR MSR 通用寄存器到程序狀態(tài)寄存器的數(shù)據(jù)傳送指令通用寄存器到程序狀態(tài)寄存器的數(shù)據(jù)傳送指令58協(xié)處理器指令 - 1l協(xié)處理器協(xié)處理器l一般原理是通過增加核擴(kuò)展指令集一般原理是通過增加核擴(kuò)展指令集lExample : Example : 如如 MMU & cache. FPUMMU & cache. FPU等系統(tǒng)控制器等系統(tǒng)控制器l寄存器寄存器l協(xié)處理器專用協(xié)處理器專用lARM ARM 控制數(shù)據(jù)流控制數(shù)據(jù)流l協(xié)處理器只包含數(shù)據(jù)處理和存貯器傳送操作協(xié)處理器只包含數(shù)據(jù)處理和存貯器傳
53、送操作l協(xié)處理器數(shù)據(jù)操作協(xié)處理器數(shù)據(jù)操作 (CDP)(CDP)l這類指令是用來告訴協(xié)處理器執(zhí)行某些內(nèi)部操作這類指令是用來告訴協(xié)處理器執(zhí)行某些內(nèi)部操作l無結(jié)果返回?zé)o結(jié)果返回ARM,ARMARM,ARM并不等待操作完成并不等待操作完成cond1 1 1 0C R m3128 2724 2320 1916 1512 118 75 430C op1C R nC R dC P#C op2059協(xié)處理器指令 - 2l協(xié)處理器數(shù)據(jù)傳送協(xié)處理器數(shù)據(jù)傳送 (LDC, STC)(LDC, STC)lLoad (LDC) or store (STC) Load (LDC) or store (STC) 一個(gè)協(xié)處理器
54、寄存器的子集直一個(gè)協(xié)處理器寄存器的子集直接到存儲(chǔ)器接到存儲(chǔ)器lARM is ARM is 負(fù)責(zé)提供存儲(chǔ)器地址負(fù)責(zé)提供存儲(chǔ)器地址, ,協(xié)處理器提供或接收大量傳送協(xié)處理器提供或接收大量傳送的數(shù)據(jù)或控制指令的數(shù)據(jù)或控制指令l協(xié)處理器寄存器傳送協(xié)處理器寄存器傳送 (MRC, MCR)(MRC, MCR)l在在ARMARM和協(xié)處理器之間的直接通訊信息和協(xié)處理器之間的直接通訊信息l軟件中斷指令軟件中斷指令 (SWI)(SWI)l在控制方式中用于進(jìn)入管理員模式在控制方式中用于進(jìn)入管理員模式l該指令造成軟件中斷陷刊產(chǎn)生該指令造成軟件中斷陷刊產(chǎn)生, ,它會(huì)影響模式改變它會(huì)影響模式改變cond1 1 1 124-
55、bit (interpreted) immediate3128 272423060 AREA HelloW,CODE,READONLY ;聲明代碼區(qū)聲明代碼區(qū)SWI_WriteC EQU &0 ;輸出;輸出r0中的字符中的字符SWI_Exit EQU &11 ;程序結(jié)束;程序結(jié)束 ENTRY ;代碼入口;代碼入口START ADR r1,TEXT ;r1-“Hello World”LOOP LDRB r0,r1,#1 ;讀取下一字節(jié)讀取下一字節(jié) CMP r0,#0 ;檢查文本終點(diǎn);檢查文本終點(diǎn) SWINE SWI_WriteC ;若非終點(diǎn),則打??;若非終點(diǎn),則打印 BNE LOOP ;并返回;
56、并返回LOOP SWI SWI_Exit ;執(zhí)行結(jié)束;執(zhí)行結(jié)束TEXT = “Hello World”,&0a,&0d,0 END ;程序結(jié)束;程序結(jié)束Example:Hello ARM World!61ARM系統(tǒng)初始化過程簡(jiǎn)介包括:包括:l中斷向量表中斷向量表l初始化存儲(chǔ)器系統(tǒng)初始化存儲(chǔ)器系統(tǒng)l初始化堆棧初始化堆棧l初始化有特殊要求的端口、設(shè)備初始化有特殊要求的端口、設(shè)備l初始化應(yīng)用程序執(zhí)行環(huán)境初始化應(yīng)用程序執(zhí)行環(huán)境l改變處理器模式改變處理器模式lCALL CALL 主應(yīng)用程序主應(yīng)用程序621、中斷向量表FIQ0 x1C外部快速中斷IRQ0 x18一般外部中斷(Reserved)0 x14保
57、留Data Abort0 x10數(shù)據(jù)異常Frefetch Abort0 x0C預(yù)取指異常Software int0 x08軟件中斷Undef0 x04未定義指令中斷Reset0 x00復(fù)位中斷63中斷向量表的程序AREA Boot,CODE,READONLYAREA Boot,CODE,READONLYENTRYENTRYB Reset_handlerB Reset_handlerB UndefB Undef_Handler_HandlerB SWI_HandlerB SWI_HandlerB PreAbortB PreAbort_Handler_HandlerB . ;for reserve
58、d interrupt,stop hereB . ;for reserved interrupt,stop hereB IRQ_handlerB IRQ_handlerB FIQ_handlerB FIQ_handler642、初始化存儲(chǔ)器系統(tǒng)l存儲(chǔ)器的類型和時(shí)序配置存儲(chǔ)器的類型和時(shí)序配置l存儲(chǔ)器的地址分布存儲(chǔ)器的地址分布65ROM地址的重映射(remap)0 x0200(boot code)0 x0100(Reset_handler)B Reset_Handler0 x0000Flash(remap)0 x0204(boot code)0 x0200(Reset_handler)B Rese
59、t_Handler0 x0000RAM663、初始化堆棧lARMARM有有7 7種執(zhí)行狀態(tài),每一種狀態(tài)堆棧指針寄存器(種執(zhí)行狀態(tài),每一種狀態(tài)堆棧指針寄存器(SPSP)都是獨(dú)立的;都是獨(dú)立的;l對(duì)每一種模式都要定義對(duì)每一種模式都要定義SPSP寄存器的堆棧地址;寄存器的堆棧地址;674、初始化有特殊要求的端口、設(shè)備l如驅(qū)動(dòng)指示系統(tǒng)運(yùn)行狀態(tài)的一些簡(jiǎn)單的輸出設(shè)備,如驅(qū)動(dòng)指示系統(tǒng)運(yùn)行狀態(tài)的一些簡(jiǎn)單的輸出設(shè)備,如如LEDLED,蜂鳴器等,蜂鳴器等l一般外設(shè)初始化可以系統(tǒng)初始化之后進(jìn)行一般外設(shè)初始化可以系統(tǒng)初始化之后進(jìn)行685、初始化應(yīng)用程序執(zhí)行環(huán)境l完成必要的從完成必要的從ROMROM到到RAMRAM的數(shù)
60、據(jù)傳輸?shù)臄?shù)據(jù)傳輸696、改變處理器模式管理員模式多種特權(quán)模式用戶運(yùn)行模式復(fù)位后缺省模式堆棧初始化階段用戶選擇707、呼叫主應(yīng)用程序l系統(tǒng)初始化工作完成后,程序流程轉(zhuǎn)入主應(yīng)用程序系統(tǒng)初始化工作完成后,程序流程轉(zhuǎn)入主應(yīng)用程序執(zhí)行執(zhí)行l(wèi)可以直接從啟動(dòng)代碼跳到應(yīng)用程序的主函數(shù)入口可以直接從啟動(dòng)代碼跳到應(yīng)用程序的主函數(shù)入口71嵌入式軟件的開發(fā)過程嵌入式軟件的開發(fā)過程72ARM的JTAG調(diào)試結(jié)構(gòu)AngelJTAG73宿主機(jī)調(diào)試器l宿主機(jī)調(diào)試器通過固定的協(xié)議控制下位機(jī)(協(xié)宿主機(jī)調(diào)試器通過固定的協(xié)議控制下位機(jī)(協(xié)議轉(zhuǎn)換器)。比如,議轉(zhuǎn)換器)。比如,SDT中通過中通過Angel協(xié)議或者協(xié)議或者第三方調(diào)試器所提供
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 備戰(zhàn)2025年中考語文課內(nèi)文言文(統(tǒng)編版)20《與朱元思書》三年中考真題+模擬題(學(xué)生版+解析)
- 股東平等原則與對(duì)賭協(xié)議書(2篇)
- 南京工業(yè)大學(xué)浦江學(xué)院《稅法二》2022-2023學(xué)年第一學(xué)期期末試卷
- 殯儀館施工組織設(shè)計(jì)
- 方爺爺和圓奶奶說課稿
- 肚子里的故事說課稿
- 《中 國美食》說課稿
- 《液體的壓強(qiáng)》說課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《公共事業(yè)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 八年級(jí)第六單元《三峽》說課稿
- 北京市海淀區(qū)2024-2025學(xué)年高三第一學(xué)期期中練習(xí)語文試卷含答案
- 江蘇省徐州市銅山區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期中英語試卷(含答案解析)
- 大數(shù)據(jù)處理服務(wù)合同
- 河北省唐山市灤南縣2024-2025學(xué)年七年級(jí)上學(xué)期10月期中數(shù)學(xué)試題
- 劉潤(rùn)年度演講2024
- GB/T 44653-2024六氟化硫(SF6)氣體的現(xiàn)場(chǎng)循環(huán)再利用導(dǎo)則
- GB/T 44540-2024精細(xì)陶瓷陶瓷管材或環(huán)材彈性模量和彎曲強(qiáng)度的測(cè)定缺口環(huán)法
- 道路交通安全法律法規(guī)
- 應(yīng)急管理試題庫
- 緣起、流變與現(xiàn)狀:當(dāng)前中國古詩詞藝術(shù)歌曲的發(fā)展思考
- 2020行政事業(yè)單位審計(jì)報(bào)告(最新)
評(píng)論
0/150
提交評(píng)論