![第二章ARM9體系結(jié)構(gòu)_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-4/27/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce1.gif)
![第二章ARM9體系結(jié)構(gòu)_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-4/27/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce2.gif)
![第二章ARM9體系結(jié)構(gòu)_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-4/27/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce3.gif)
![第二章ARM9體系結(jié)構(gòu)_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-4/27/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce4.gif)
![第二章ARM9體系結(jié)構(gòu)_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-4/27/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce/d642ca2b-3e3c-4d1a-9da9-422a8a7641ce5.gif)
已閱讀5頁(yè),還剩99頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.,第2章ARM9體系結(jié)構(gòu),.,第2章ARM9體系結(jié)構(gòu),2.1ARM處理器簡(jiǎn)介2.2ARM9體系結(jié)構(gòu)2.3ARM存儲(chǔ)結(jié)構(gòu)2.4ARM處理器的工作狀態(tài)和模式2.5ARM9寄存器2.6ARM9異常2.7ARM系統(tǒng)調(diào)試接口,.,2.1ARM處理器簡(jiǎn)介,2.1.1ARM公司簡(jiǎn)介2.1.2ARM體系結(jié)構(gòu)特點(diǎn)2.1.3ARM指令系統(tǒng)版本2.1.4ARM體系結(jié)構(gòu)演變2.1.5ARM微處理器簡(jiǎn)介,.,2.1.1ARM公司簡(jiǎn)介,ARM是AdvanceRISCMachine的縮寫(xiě),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類(lèi)微處理器的通稱(chēng),還可以認(rèn)為是一種技術(shù)的名字。ARM公司于1990年11月在英國(guó)劍橋成立,前身為Acorn計(jì)算機(jī)公司。ARM公司是全球領(lǐng)先的16/32位嵌入式RISC微處理器解決方案供應(yīng)商。,.,2.1.1ARM公司簡(jiǎn)介,ARM公司是知識(shí)產(chǎn)權(quán)IP(IntellectualProperty)公司,本身不生產(chǎn)芯片,只轉(zhuǎn)讓設(shè)計(jì)許可,由合作伙伴公司來(lái)生產(chǎn)各具特色的芯片。目前,全世界有幾十家著名的半導(dǎo)體公司都使用ARM公司的授權(quán),其中包括Intel、IBM、MOTOROLA、SONY、NEC、LG、ATMEL等,從而保證了大量的開(kāi)發(fā)工具和豐富的第三方資源,它們共同保證了基于ARM處理器核的設(shè)計(jì)可以很快投入市場(chǎng)。ARM公司已成為移動(dòng)通信、手持設(shè)備、多媒體數(shù)字消費(fèi)嵌入式解決方案的RISC標(biāo)準(zhǔn)。,.,2.1.2ARM體系結(jié)構(gòu)的特點(diǎn),總體思想:在不犧牲性能的同時(shí),盡量簡(jiǎn)化處理器。同時(shí)從體系結(jié)構(gòu)的層面上靈活支持處理器擴(kuò)展。這種簡(jiǎn)化和開(kāi)放的思路使得ARM處理器采用了很簡(jiǎn)單的結(jié)構(gòu)來(lái)實(shí)現(xiàn)。ARM處理器是最先進(jìn)的:目前,ARM32位體系結(jié)構(gòu)被公認(rèn)為業(yè)界領(lǐng)先的32位嵌入式RISC微處理器核,所有ARM處理器都共享這一體系結(jié)構(gòu)。,.,嵌入式微處理器體系結(jié)構(gòu),馮諾依曼體系結(jié)構(gòu)和哈佛體系機(jī)構(gòu)馮諾依曼體系結(jié)構(gòu),也稱(chēng)為普林斯頓結(jié)構(gòu),是一種將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起的存儲(chǔ)器結(jié)構(gòu)。例如Intel的80 x86系列CPU、ARM早期系列微處理器及MIPS系列微處理器哈佛體系結(jié)構(gòu)是將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的存儲(chǔ)器結(jié)構(gòu)。例如摩爾羅拉公司的MC68系列、ATMEL公司的AVR系列及ARM9以上系列復(fù)雜指令集計(jì)算機(jī)CISC(ComplexInstructionSetComputer)和精簡(jiǎn)指令集計(jì)算機(jī)RISC(ReducedInstructionSetComputer),.,2.1.2ARM體系結(jié)構(gòu)的特點(diǎn),RISC型處理器結(jié)構(gòu)ARM采用RISC結(jié)構(gòu),在簡(jiǎn)化處理器結(jié)構(gòu),減少?gòu)?fù)雜功能指令的同時(shí),提高了處理器的速度。減少指令執(zhí)行時(shí)間:考慮到處理器與存儲(chǔ)器打交道的指令執(zhí)行時(shí)間遠(yuǎn)遠(yuǎn)大于在寄存器內(nèi)操作的指令執(zhí)行時(shí)間,RISC型處理器采用了Load/Store(加載/存儲(chǔ))結(jié)構(gòu),即只有Load/Store指令可與存儲(chǔ)器打交道,其余指令都不允許進(jìn)行存儲(chǔ)器操作。提高存取速度:為了進(jìn)一步提高指令和數(shù)據(jù)的存取速度,RISC型處理器增加了指令高速緩沖I-Cache和數(shù)據(jù)高速緩沖D-Cache及多處理器結(jié)構(gòu),使指令的操作盡可能在寄存器之間進(jìn)行。,.,2.1.2ARM體系結(jié)構(gòu)的特點(diǎn),.,2.1.2ARM體系結(jié)構(gòu)的特點(diǎn),多種處理器模式ARM體系結(jié)構(gòu)定義了7種處理器模式:用戶(hù)、快中斷、中斷、管理、終止、未定義和系統(tǒng)模式,大大提高了ARM處理器的效率。兩種處理器工作狀態(tài)ARM狀態(tài)(32位指令)和Thumb狀態(tài)(16位指令)。雖然ARM處理器本身是32位設(shè)計(jì),但考慮到RISC型處理器的指令功能相對(duì)較弱,新型的ARM體系結(jié)構(gòu)中定義了16位的Thumb指令集。,.,2.1.2ARM體系結(jié)構(gòu)的特點(diǎn),嵌入式在線仿真調(diào)試ARM體系結(jié)構(gòu)的處理器芯片都嵌入了在線仿真ICE-RT邏輯,便于通過(guò)JTAG來(lái)仿真調(diào)試,省去了價(jià)格昂貴的在線仿真器。靈活方便的協(xié)處理器接口ARM體系結(jié)構(gòu)具有協(xié)處理器接口,允許接16個(gè)協(xié)處理器。既可以使基本的ARM處理器內(nèi)核盡可能小,方便地?cái)U(kuò)充ARM指令集,也可以通過(guò)未定義指令來(lái)支持協(xié)處理器的軟件仿真。低電壓功耗的設(shè)計(jì)考慮到ARM處理器主要用于手持式嵌入式系統(tǒng)中,在設(shè)計(jì)中就十分注意功耗的設(shè)計(jì)。,.,2.1.3ARM指令系統(tǒng)版本,ARM公司從最初的開(kāi)發(fā)到現(xiàn)在,ARM指令集結(jié)構(gòu)有了巨大的改進(jìn),并在不斷完善和發(fā)展。為了清楚地表達(dá)每個(gè)ARM內(nèi)核所使用的指令集,ARM公司定義了一系列的指令集體系結(jié)構(gòu)版本,以vx表示某種版本。,.,2.1.4ARM體系結(jié)構(gòu)的演變,Thumb指令集(T變種)長(zhǎng)乘指令(M變種)支持片上調(diào)試(D變種)在線觀察(I變種)增強(qiáng)型DSP指令(E變種)Java加速器Jazelle(J變種)ARM媒體功能擴(kuò)展(SIMD變種)ARM可綜合版本“-S”,.,2.1.5ARM系列處理器簡(jiǎn)介,ARM有以下系列處理器:ARM7系列ARM9系列ARM9E系列ARM10系列ARM11系列SecurCore系列Inter的StrongARM和Xscale系列其中,ARM7、ARM9、ARM9E、ARM10和ARM11為5個(gè)通用處理器系列,每一個(gè)系列提供一套相對(duì)獨(dú)特的性能來(lái)滿足不同應(yīng)用領(lǐng)域的需求。SecurCore系列專(zhuān)門(mén)為安全要求較高的應(yīng)用而設(shè)計(jì)。,.,2.1.5ARM系列處理器簡(jiǎn)介,ARM7系列ARM7采用馮諾依曼(Von-Neumann)結(jié)構(gòu),數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器使用同一存儲(chǔ)空間,用相同的指令訪問(wèn)。此結(jié)構(gòu)也被大多數(shù)計(jì)算機(jī)所采用。ARM7為三級(jí)流水線結(jié)構(gòu)(取指,譯碼,執(zhí)行),平均功耗為0.6mW/MHz,時(shí)鐘速度為66MHz,每條指令平均執(zhí)行1.9個(gè)時(shí)鐘周期。ARM7系列微處理器包括如下幾種類(lèi)型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。,.,2.1.5ARM系列處理器簡(jiǎn)介,ARM9系列ARM7采用的Neumann結(jié)構(gòu),取指令和取操作數(shù)都是通過(guò)一條總線分時(shí)進(jìn)行,這樣,在高速運(yùn)算時(shí),不但不能同時(shí)取指令和取操作數(shù),而且還會(huì)造成傳輸通道上的瓶頸現(xiàn)象。ARM9采用哈佛(Harvard)結(jié)構(gòu),程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分開(kāi),提供了較大的存儲(chǔ)器帶寬。同時(shí),大多數(shù)DSP都采用此結(jié)構(gòu)。,.,2.1.5ARM系列處理器簡(jiǎn)介,ARM9E系列ARM9E系列微處理器包括如下4種類(lèi)型的核:ARM926EJ-S、ARM946E-S和ARM966E-S,ARM968E-S。見(jiàn)表2-3。ARM9E系列是一種包含有微控制器、DSP、Java功能的綜合處理器,并且具有嵌入式在線觀察功能(EmbededICE-RT邏輯),更好地適應(yīng)了實(shí)時(shí)系統(tǒng)開(kāi)發(fā)的需要。,.,2.1.5ARM系列處理器簡(jiǎn)介,ARM10系列ARM10系列微處理器包括:ARM1020E和ARM1022E等型號(hào),見(jiàn)表2-4。ARM10系列采用了新的體系結(jié)構(gòu),其核心為使用了向量浮點(diǎn)單元,有強(qiáng)大的浮點(diǎn)運(yùn)算能力,并且增加了Cache容量和總線寬度,并且具有低功耗的特點(diǎn)。ARM10系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、視頻消費(fèi)品等。,.,2.1.5ARM系列處理器簡(jiǎn)介,ARMStrong/Xscale系列StrongARM是采用ARM體系結(jié)構(gòu)高度集成的32位RISC微處理器。它融合了Intel公司的設(shè)計(jì)技術(shù),以及ARM體系結(jié)構(gòu)的電源效率,其體系結(jié)構(gòu)在軟件上兼容ARMv4,同時(shí)又具有Intel技術(shù)優(yōu)點(diǎn)。StrongARM是Intrl公司為手持消費(fèi)類(lèi)電子和移動(dòng)計(jì)算與通信設(shè)備生產(chǎn)的嵌入式處理器。采用StrongARM架構(gòu)的處理器有:SA-1、SA-110、SA-1100、SA1110和IXP1200。,.,2.1.5ARM系列處理器簡(jiǎn)介,Xscale是基于ARMv5體系結(jié)構(gòu)的解決方案,是一款性能全、性?xún)r(jià)比高、功耗低的處理器,支持16位的Thumb和DSP指令集,主要應(yīng)用于數(shù)字移動(dòng)電話、個(gè)人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等。Xscale架構(gòu)的處理器有:PXA250、PXA255和PXA270等。,.,ARM系列產(chǎn)品命名規(guī)則,.,2.2ARM9體系結(jié)構(gòu),2.2.1ARM9體系結(jié)構(gòu)2.2.2ARM9流水線結(jié)構(gòu)2.2.3ARM9總線結(jié)構(gòu),.,2.2.1ARM9體系結(jié)構(gòu),ARM9內(nèi)核ARM9TDMI、指令接口、數(shù)據(jù)接口、JTAG接口、跟蹤接口等5部分,.,2.2.1ARM9體系結(jié)構(gòu),在ARM9中,最常用的是ARM920T內(nèi)核,后頁(yè)圖給出了ARM920T結(jié)構(gòu)框圖。ARM920T結(jié)構(gòu)主要部分有:ARM9TDMI內(nèi)核CPU、MMU、Cache、協(xié)處理器接口、運(yùn)行跟蹤信息接口(ETM)、JTAG調(diào)試接口、總線接口等7部分構(gòu)成。,.,ARM920T體系結(jié)構(gòu)框圖,.,2.2.2ARM流水線結(jié)構(gòu),流水線方式:是把一個(gè)重復(fù)的過(guò)程分解為若干個(gè)子過(guò)程,每個(gè)子過(guò)程可以與其他子過(guò)程同時(shí)進(jìn)行。由于這種工作方式與工廠中的生產(chǎn)流水線十分相似,因此,把它稱(chēng)為流水線工作方式。處理器按照一系列步驟來(lái)執(zhí)行每一條指令。典型的步驟為:1)從存儲(chǔ)器讀取指令(fetch,取指)2)譯碼以鑒別它是哪一類(lèi)指令(dec,譯碼)3)從寄存器組取得所需的操作數(shù)(reg,取操作數(shù))4)將操作數(shù)組合以得到結(jié)果或存儲(chǔ)器地址(exe,執(zhí)行)5)如果需要,則訪問(wèn)存儲(chǔ)器存取數(shù)據(jù)(mem,存數(shù)據(jù))6)將結(jié)果回寫(xiě)到寄存器組(res,存數(shù)據(jù)),.,2.2.2ARM流水線結(jié)構(gòu),ARM7的三級(jí)流水線取指:從程序存儲(chǔ)器中取指令,放入指令流水線。(占用存儲(chǔ)器訪問(wèn)操作)譯碼:指令譯碼。(占用譯碼邏輯)執(zhí)行:執(zhí)行指令/讀寫(xiě)REG。(占用ALU及數(shù)據(jù)路徑),.,2.2.2ARM流水線結(jié)構(gòu),下圖為3個(gè)單周期指令在流水線上的情況。一條指令需要3個(gè)時(shí)鐘執(zhí)行,但吞吐量是每個(gè)周期1條指令。,.,優(yōu)秀的流水線結(jié)構(gòu),Operation,Cycle,123456,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Decode,Execute,Fetch,Decode,Fetch,Fetch,.,2.2.2ARM流水線結(jié)構(gòu),ARM9TDMI的五級(jí)流水線,ARM7TDMI與ARM9TDMI流水線比較,.,2.2.2ARM流水線結(jié)構(gòu)(8),ARM7和ARM9流水線比較5級(jí)流水線的ARM9內(nèi)核是哈佛架構(gòu),擁有獨(dú)立的指令和數(shù)據(jù)總線;指令和數(shù)據(jù)的讀取可以在同一周期進(jìn)行;3級(jí)流水的ARM7內(nèi)核是指令和數(shù)據(jù)總線復(fù)用的馮.諾依曼架構(gòu),指令和數(shù)據(jù)的讀取不能在同一周期進(jìn)行;5級(jí)流水線設(shè)計(jì)把寄存器讀取、邏輯運(yùn)算、結(jié)果回寫(xiě)分散在不同的流水當(dāng)中,每一級(jí)流水的操作簡(jiǎn)潔,提升了處理器的主頻。,.,2.2.2ARM流水線結(jié)構(gòu),隨著流水線深度(級(jí)數(shù))的增加,每一段的工作量被削減了,這使得處理器可以工作在更高的頻率,同時(shí)改進(jìn)了處理器的性能;負(fù)面作用是增加了系統(tǒng)的延時(shí),即內(nèi)核在執(zhí)行一條指令前,需要更多的周期來(lái)填充流水線;流水線級(jí)數(shù)的增加也意味著在某些段之間會(huì)產(chǎn)生數(shù)據(jù)相關(guān)。,.,ARM處理器性能比較,.,2.2.3ARM總線結(jié)構(gòu),ARM微控制器使用的是AMBA總線體系結(jié)構(gòu)AMBA(AdvancedMicrocontrollerBusArchitecture)是ARM公司公布的總線標(biāo)準(zhǔn),先進(jìn)的AMBA規(guī)范定義了三種總線:AHB總線(AdvancedHigh-performanceBus):用于連接高性能系統(tǒng)模塊。它支持突發(fā)數(shù)據(jù)傳輸方式及單個(gè)數(shù)據(jù)傳輸方式,所有時(shí)序參考同一個(gè)時(shí)鐘沿。ASB總線(AdvancedSystemBus):用于連接高性能系統(tǒng)模塊,它支持突發(fā)數(shù)據(jù)傳輸模式。APB總線(AdvancePeripheralBus):是一個(gè)簡(jiǎn)單接口支持低性能的外圍接口。,.,2.3ARM存儲(chǔ)結(jié)構(gòu),2.3.1ARM存儲(chǔ)結(jié)構(gòu)2.3.2ARM存儲(chǔ)器組織2.3.3ARM存儲(chǔ)器層次,.,2.3.1ARM存儲(chǔ)結(jié)構(gòu),ARM處理器支持以下6種數(shù)據(jù)類(lèi)型:8位有符號(hào)和無(wú)符號(hào)字節(jié)(Byte)。16位有符號(hào)和無(wú)符號(hào)半字(Halfword)它們必須以?xún)勺止?jié)的邊界對(duì)齊(半字對(duì)齊)32位有符號(hào)和無(wú)符號(hào)字(Word)它們必須以4字節(jié)的邊界對(duì)齊(字對(duì)齊),.,2.3.2ARM存儲(chǔ)器組織,ARM存儲(chǔ)器以8位為一個(gè)單元存儲(chǔ)數(shù)據(jù)(一個(gè)字節(jié)),每個(gè)存儲(chǔ)單元分配一個(gè)存儲(chǔ)地址。ARM將存儲(chǔ)器看作是從零地址開(kāi)始的字節(jié)的線性組合。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB(232字節(jié))。,.,2.3.2ARM存儲(chǔ)器組織,從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。32位的字?jǐn)?shù)據(jù)要使用4個(gè)地址單元,16位半字?jǐn)?shù)據(jù)要使用2個(gè)地址單元。這樣,就存在一個(gè)所存儲(chǔ)的字或半字?jǐn)?shù)據(jù)的排列順序問(wèn)題。ARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱(chēng)為大端格式和小端格式。,.,2.3.2ARM存儲(chǔ)器組織,大端格式(big-endian):字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中。,.,2.3.2ARM存儲(chǔ)器組織,小端格式(low-endian):與大端存儲(chǔ)格式相反。低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。缺省設(shè)置為小端格式。,.,2.3.3ARM存儲(chǔ)器層次,微處理器希望存儲(chǔ)器容量大、速度快。但容量大者速度慢;速度快者容量小。解決方法是構(gòu)建一個(gè)由多級(jí)存儲(chǔ)器組成的復(fù)合存儲(chǔ)器系統(tǒng)。兩級(jí)存儲(chǔ)器方案一般包括:一個(gè)容量小但速度快的從存儲(chǔ)器一個(gè)容量大但速度慢的主存儲(chǔ)器宏觀上看這個(gè)存儲(chǔ)器系統(tǒng)像一個(gè)即大又快的存儲(chǔ)器。這個(gè)容量小但速度快的元件是Cache,它自動(dòng)地保存處理器經(jīng)常用到的指令和數(shù)據(jù)的拷貝。,.,寄存器組:訪問(wèn)時(shí)間約為幾個(gè)ns。片上RAM:片外RAM比速度快、功耗小、容量小。讀寫(xiě)時(shí)間約為幾個(gè)ns。片上Cache:832KB,訪問(wèn)時(shí)間約為十幾個(gè)ns。主存儲(chǔ)器:一般為幾兆字節(jié)數(shù)GB的動(dòng)態(tài)存儲(chǔ)器,訪問(wèn)時(shí)間約50ns。,多級(jí)存儲(chǔ)器系統(tǒng),.,2.4ARM處理器的工作狀態(tài)和模式,2.4.1ARM處理器的工作狀態(tài)2.4.2ARM處理器的工作模式,.,2.4ARM處理器的工作狀態(tài)和模式,為了能夠體現(xiàn)ARM的特點(diǎn)和性能,ARM處理器有2種工作狀態(tài)和7種工作模式。兩種工作狀態(tài):ARM狀態(tài):處理器執(zhí)行32位的字對(duì)齊的ARM指令;Thumb狀態(tài):處理器執(zhí)行16位的半字對(duì)齊的Thumb指令。兩種狀態(tài)可以切換。程序執(zhí)行過(guò)程中,通過(guò)執(zhí)行帶狀態(tài)切換的分支指令BX,隨時(shí)在兩種工作狀態(tài)之間進(jìn)行切換。處理器工作狀態(tài)的轉(zhuǎn)變,并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。,.,2.4.1ARM處理器的工作狀態(tài),從ARM狀態(tài)切換到Thumb狀態(tài),有兩種情況處理器從ARM狀態(tài)切換到Thumb狀態(tài)。(1)執(zhí)行指令切換到Thumb狀態(tài):執(zhí)行BX指令(跳轉(zhuǎn)指令),當(dāng)目標(biāo)地址為奇數(shù)時(shí),則微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此為主動(dòng)切換。(2)中斷返回切換到Thumb狀態(tài):當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef等),處理完異常后,在異常處理返回時(shí),自動(dòng)切換回到Thumb狀態(tài)。此為自動(dòng)切換。,.,2.4.1ARM處理器的工作狀態(tài),從Thumb狀態(tài)切換到ARM狀態(tài):有兩種情況處理器從Thumb狀態(tài)切換到ARM狀態(tài)。(1)執(zhí)行指令切換到ARM狀態(tài)執(zhí)行BX指令(跳轉(zhuǎn)指令),當(dāng)目標(biāo)地址為偶數(shù)時(shí),則微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。(2)中斷處理切換到ARM狀態(tài)當(dāng)處理器在Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef等),則處理器從Thumb狀態(tài)自動(dòng)切換到ARM狀態(tài)進(jìn)行異常處理。自動(dòng)切換。ARM和Thumb之間狀態(tài)的切換不影響處理器的模式或寄存器的內(nèi)容。ARM處理器在開(kāi)始執(zhí)行代碼時(shí),只能處于ARM狀態(tài),.,狀態(tài)切換的匯編程序?qū)嵗?AREAAddReg,CODE,READONLYENTRYmainADRr0,ThumbProg+1BXr0;切換到Thumb狀態(tài)CODE16ThumbProgMOVr2,#2MOVr3,#3ADDr2,r2,r3ADRr0,ARMProg;切換到ARM狀態(tài)BXr0,CODE32ARMProgMOVr4,#4MOVr5,#5ADDr4,r4,r5stopMOVr0,#0 x18LDRr1,=0 x20026SWI0X123456END,.,2.4.2ARM處理器的工作模式,ARM基于安全保護(hù)、中斷響應(yīng)快捷、易于擴(kuò)展考慮,設(shè)計(jì)有多種工作模式。用戶(hù)模式(USR):非特權(quán)模式,大部分任務(wù)執(zhí)行在這種模式。正常程序執(zhí)行的模式快速中斷模式(FIQ):當(dāng)一個(gè)高優(yōu)先級(jí)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。用于高速數(shù)據(jù)傳輸或通道處理普通中斷模式(IRQ):當(dāng)一個(gè)低優(yōu)先級(jí)(normal)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。用于普通的中斷處理,.,2.4.2ARM處理器的工作模式,管理模式(SVC):當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)將會(huì)進(jìn)入這種模式。供操作系統(tǒng)使用的一種保護(hù)模式中止模式(ABT):當(dāng)出現(xiàn)存取異常時(shí)將會(huì)進(jìn)入這種模式,用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。未定義模式(UND):當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種模式,用于軟件仿真硬件協(xié)處理器系統(tǒng)模式(SYS):供需要訪問(wèn)系統(tǒng)資源的操作系統(tǒng)任務(wù)使用,用于特權(quán)級(jí)的操作系統(tǒng)任務(wù),.,2.4.2ARM處理器的工作模式,7種工作模式總結(jié),.,2.4.2ARM處理器的工作模式,特權(quán)模式,除用戶(hù)模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計(jì)上只允許(或者可選為只允許)特權(quán)模式下訪問(wèn)。此外,特權(quán)模式可以自由的切換處理器模式,而用戶(hù)模式不能直接切換到別的模式。,.,2.4.2ARM處理器的工作模式,用戶(hù)和系統(tǒng)模式,這兩種模式都不能由異常進(jìn)入,而且它們使用完全相同的寄存器組。系統(tǒng)模式是特權(quán)模式,不受用戶(hù)模式的限制。操作系統(tǒng)在該模式下訪問(wèn)用戶(hù)模式的寄存器就比較方便,而且操作系統(tǒng)的一些特權(quán)任務(wù)可以使用這個(gè)模式訪問(wèn)一些受控的資源。,.,2.4.2ARM處理器的工作模式,處理器模式的切換方式:軟件控制進(jìn)行切換(軟中斷、改變模式字)通過(guò)外部中斷和異常進(jìn)行切換處理器啟動(dòng)時(shí)的模式轉(zhuǎn)換圖:,管理模式,多種特權(quán)模式,用戶(hù)程序的運(yùn)行模式,復(fù)位后的缺省模式,完成各模式的堆棧設(shè)置,注意不要進(jìn)入用戶(hù)模式,一般為用戶(hù)模式User,.,2.5ARM9寄存器,2.5.1ARM寄存器2.5.2ARM通用寄存器2.5.3ARM狀態(tài)寄存器2.5.4Thumb狀態(tài)下的寄存器組織,.,2.5.1ARM9寄存器,ARM處理器v4及以上版本有37個(gè)32位的寄存器,其中31個(gè)為通用寄存器;6個(gè)為狀態(tài)寄存器。31個(gè)通用寄存器R0R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_fiqR14_fiq6個(gè)狀態(tài)寄存器CPSRSPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq,ARM狀態(tài)各模式下的寄存器,ARM狀態(tài)各模式下的寄存器,所有的37個(gè)寄存器,分成兩大類(lèi):31個(gè)通用32位寄存器;6個(gè)狀態(tài)寄存器。,ARM狀態(tài)各模式下可以訪問(wèn)的寄存器,一般的通用寄存器,在匯編語(yǔ)言中寄存器R0R13為保存數(shù)據(jù)或地址值的通用寄存器。它們是完全通用的寄存器,不會(huì)被體系結(jié)構(gòu)作為特殊用途,并且可用于任何使用通用寄存器的指令。,一般的通用寄存器,其中R0R7為未分組的寄存器,也就是說(shuō)對(duì)于任何處理器模式,這些寄存器都對(duì)應(yīng)于相同的32位物理寄存器。,一般的通用寄存器,寄存器R8R14為分組寄存器。它們所對(duì)應(yīng)的物理寄存器取決于當(dāng)前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器,一般的通用寄存器,寄存器R8R12有兩個(gè)分組的物理寄存器。一個(gè)用于除FIQ模式之外的所有寄存器模式,另一個(gè)用于FIQ模式。這樣在發(fā)生FIQ中斷后,可以加速FIQ的處理速度。,一般的通用寄存器,寄存器R13、R14分別有6個(gè)分組的物理寄存器。一個(gè)用于用戶(hù)和系統(tǒng)模式,其余5個(gè)分別用于5種異常模式。,堆棧指針寄存器R13(SP),寄存器R13常作為堆棧指針(SP)。在ARM指令集當(dāng)中,沒(méi)有以特殊方式使用R13的指令或其它功能,只是習(xí)慣上都這樣使用。但是在Thumb指令集中存在使用R13的指令。,鏈接寄存器R14(LR),R14為鏈接寄存器(LR),在結(jié)構(gòu)上有兩個(gè)特殊功能:在每種模式下,模式自身的R14版本用于保存子程序返回地址;當(dāng)發(fā)生異常時(shí),將R14對(duì)應(yīng)的異常模式版本設(shè)置為異常返回地址(有些異常有一個(gè)小的固定偏移量)。,.,2.5.2ARM9通用寄存器,MOVPC,LR,R14(地址A),?,1.程序A執(zhí)行過(guò)程中調(diào)用程序B;,操作流程,2.程序跳轉(zhuǎn)至標(biāo)號(hào)Lable,執(zhí)行程序B。同時(shí)硬件將“BLLabel”指令的下一條指令所在地址存入R14(LR);,3.程序B執(zhí)行最后,將R14寄存器的內(nèi)容放入PC,返回程序A;,R14(LR)寄存器與子程序調(diào)用,程序計(jì)數(shù)器R15(PC),寄存器R15為程序計(jì)數(shù)器(PC),它指向正在取指的地址??梢哉J(rèn)為它是一個(gè)通用寄存器,但是對(duì)于它的使用有許多與指令相關(guān)的限制或特殊情況。如果R15使用的方式超出了這些限制,那么結(jié)果將是不可預(yù)測(cè)的。,.,2.5.2ARM的通用寄存器,R15在ARM狀態(tài)下,位1:0為0,位31:2用于保存PC;在Thumb狀態(tài)下,位0為0,位15:1用于保存PC;關(guān)于PC的值:由于ARM采用多級(jí)流水線技術(shù),所以PC總是指向正在取指的指令,而不是正在執(zhí)行的指令。對(duì)于ARM9的五級(jí)流水線,在第一級(jí)取指令,第三級(jí)執(zhí)行指令,因此PC總是指向當(dāng)前指令(正在執(zhí)行的指令)的下兩條指令的地址,所以PC的值為當(dāng)前指令的地址值加8個(gè)字節(jié)。,.,2.5.3ARM的狀態(tài)寄存器,在ARM微處理器中,有CPSR和SPSR兩種程序狀態(tài)寄存器。CPSR:當(dāng)前程序狀態(tài)寄存器(CurrentProgramStatusRegister)用來(lái)保存當(dāng)前的程序狀態(tài)。所有處理器模式下都可以訪問(wèn)當(dāng)前程序狀態(tài)寄存器CPSR。僅一個(gè)CPSR。,.,2.5.3ARM的狀態(tài)寄存器,SPSR_mode-保存程序狀態(tài)寄存器(SavedProgramStatusRegister)SPSR_mode用來(lái)進(jìn)行異常處理,其功能包括:保存ALU中的當(dāng)前操作信息當(dāng)異常發(fā)生時(shí),用來(lái)保存CPSR的值,從異常返回時(shí),將SPSR_mode復(fù)制到CPSR中,恢復(fù)CPSR的值??刂圃试S和禁止中斷設(shè)置處理器的運(yùn)行模式,.,2.5.3ARM的狀態(tài)寄存器,條件碼標(biāo)志位(保存ALU中的當(dāng)前操作信息)N:正負(fù)號(hào)/大小標(biāo)志位(0表示:正數(shù)/大于;1表示:負(fù)數(shù)/小于)Z:零標(biāo)志位(0表示:結(jié)果不為零;1表示:結(jié)果為零)C:進(jìn)位/借位/移出位(0表示:未進(jìn)位/借位/移出0;1表示:進(jìn)位/未借位/移出1)V:溢出標(biāo)志位(0表示:結(jié)果未溢出;1表示:結(jié)果溢出)Q:DSP指令運(yùn)算溢出標(biāo)志位(v5及以上版本的E變種),.,2.5.3ARM9的狀態(tài)寄存器,控制位I:IRQ中斷控制位(1:禁止中斷;0:允許中斷)、F:FIQ中斷控制位(1:禁止中斷;0:允許中斷T:處理器運(yùn)行狀態(tài)標(biāo)志位(T=1時(shí),程序運(yùn)行于Thumb狀態(tài);T=0時(shí),程序運(yùn)行于ARM狀態(tài))M:處理器運(yùn)行模式控制位(當(dāng)發(fā)生異常時(shí)這些位被改變;如果處理器運(yùn)行在特權(quán)模式,這些位也可以由程序修改),.,2.5.3ARM9的狀態(tài)寄存器,保留位:CPSR中其余位為保留位。當(dāng)修改CPSR時(shí),保留位不要改變,在程序中也不要使用保留位來(lái)存儲(chǔ)數(shù)據(jù)。保留位將用于ARM版本的擴(kuò)展。,.,2.5.4Thumb狀態(tài)下的寄存器組織,Thumb狀態(tài)下的寄存器集是ARM狀態(tài)下寄存器集的子集。程序員可以直接訪問(wèn)8個(gè)通用的寄存器(R0R7),程序計(jì)數(shù)器PC、堆棧指針SP、鏈接寄存器LR和當(dāng)前狀態(tài)寄存器CPSP。共有27個(gè)寄存器:21個(gè)通用寄存器和6個(gè)狀態(tài)寄存器。,.,2.5.4Thumb狀態(tài)下的寄存器組織,.,2.6ARM異常,2.6.1中斷和異常的概念2.6.2ARM異常中斷響應(yīng)過(guò)程2.6.3ARM異常類(lèi)型2.6.4ARM中斷向量和中斷優(yōu)先級(jí),.,2.6.1中斷和異常的概念,中斷是一種過(guò)程,指CPU正常執(zhí)行的程序被某種臨時(shí)發(fā)生的事件所打斷,當(dāng)前程序暫時(shí)停止執(zhí)行,CPU轉(zhuǎn)去處理所發(fā)生的事件,處理完畢再返回繼續(xù)執(zhí)行暫時(shí)停止的程序,這一過(guò)程稱(chēng)為中斷。中斷事件:引起CPU產(chǎn)生中斷、并且與CPU當(dāng)前所執(zhí)行的程序無(wú)關(guān)的、由外部硬件產(chǎn)生的事件,也叫中斷源。中斷事件也常稱(chēng)為外中斷。中斷是計(jì)算機(jī)系統(tǒng)基本的功能。利用中斷,外設(shè)可以與CPU并行工作,當(dāng)外設(shè)需要傳輸數(shù)據(jù)或控制時(shí),向CPU發(fā)出中斷請(qǐng)求信號(hào)。CPU響應(yīng)其請(qǐng)求進(jìn)行處理。因此,使用中斷既可以實(shí)現(xiàn)CPU與外設(shè)并行工作,又可以實(shí)時(shí)處理各種緊急事件。,.,2.6.1中斷和異常的概念,異常是指CPU在執(zhí)行指令時(shí)出現(xiàn)的錯(cuò)誤,即不正常的情況。異常是與當(dāng)前所執(zhí)行的程序有關(guān)的。如存取數(shù)據(jù)或指令錯(cuò)誤、計(jì)算結(jié)果溢出等。異常的處理:也用中斷的方式進(jìn)行處理。計(jì)算機(jī)通常是用中斷來(lái)處理外中斷和異常,因此下面將二者均稱(chēng)為異常。當(dāng)系統(tǒng)運(yùn)行時(shí),異??赡軙?huì)隨時(shí)發(fā)生,為保證在ARM處理器發(fā)生異常時(shí)不至于處于未知狀態(tài),在應(yīng)用程序的設(shè)計(jì)中,首先要進(jìn)行異常處理,當(dāng)異常處理完成以后,返回到主程序繼續(xù)執(zhí)行。所有異常都需要處理,盡管有些異常處理程序可能是簡(jiǎn)單的死循環(huán)或直接返回。,.,2.6.1中斷和異常的概念,ARM程序的三種執(zhí)行流程順序流程:每執(zhí)行一條ARM指令,程序計(jì)數(shù)器(PC)的值加4;每執(zhí)行一條Thumb指令,程序計(jì)數(shù)器寄存器(PC)的值加2,整個(gè)過(guò)程是按順序執(zhí)行。跳轉(zhuǎn)流程:程序執(zhí)行了跳轉(zhuǎn)指令,則要跳轉(zhuǎn)到特定的地址標(biāo)號(hào)處執(zhí)行,包括跳轉(zhuǎn)到子程序。例如,跳轉(zhuǎn)指令,B、BL、BLX和BX。中斷流程:當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。在當(dāng)異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下條指令處執(zhí)行。,.,2.6.2ARM異常中斷響應(yīng)過(guò)程,進(jìn)入異常:當(dāng)發(fā)生異常時(shí),處理器盡量完成當(dāng)前指令,然后立即中止當(dāng)前指令,脫離當(dāng)前的程序去處理異常。ARM處理器對(duì)異常中斷的響應(yīng)過(guò)程如下:1、保存返回地址將引起異常指令的下一條指令的地址保存到新的異常模式x下的R14,即R14-mode中,使異常處理程序執(zhí)行完后能正確返回原程序。2、保存當(dāng)前狀態(tài)寄存器CPSR的內(nèi)容將CPSR的內(nèi)容保存到將要執(zhí)行的異常中斷對(duì)應(yīng)的SPSR-mode中,便于中斷返回時(shí)恢復(fù)處理器當(dāng)前的狀態(tài)位、中斷屏蔽位以及各條件標(biāo)志位。,.,2.6.2ARM異常中斷響應(yīng)過(guò)程,3、設(shè)置當(dāng)前狀態(tài)寄存器CPSR中的相應(yīng)位設(shè)置CPSR模式控制位CPSR4:0,使處理器進(jìn)入相應(yīng)的模式運(yùn)行;設(shè)置IRQ中斷標(biāo)志位(CPSR6=1)禁止IRQ中斷;設(shè)置FIQ中斷標(biāo)志位(CPSR7=1)禁止FIQ中斷,當(dāng)進(jìn)入Reset或FIQ模式時(shí)。4、轉(zhuǎn)去執(zhí)行中斷處理程序取相應(yīng)的中斷向量給程序計(jì)數(shù)器PC,使程序開(kāi)始執(zhí)行中斷處理程序。異常矢量的地址處是一條指向相應(yīng)程序的轉(zhuǎn)移指令,從而可跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處,執(zhí)行異常中斷處理程序。,.,2.6.2ARM異常中斷響應(yīng)過(guò)程,異常返回:異常處理完畢之后,需要執(zhí)行以下幾步操作從異常返回:1、將返回地址裝入PC把連接寄存器LR的值減去相應(yīng)的偏移量,然后送到PC中。2、恢復(fù)CPSR的值將SPSR復(fù)制回CPSR中。3、清除中斷屏蔽位若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。注意:復(fù)位異常處理程序不需要返回。,.,2.6.3ARM異常類(lèi)型,.,2.6.3ARM異常類(lèi)型,復(fù)位(RST)處理器上一旦出現(xiàn)復(fù)位信號(hào),ARM處理器立刻停止執(zhí)行當(dāng)前指令。復(fù)位后,ARM處理器轉(zhuǎn)換到禁止中斷的管理模式下,從地址0 x00000000處開(kāi)始執(zhí)行指令。由此可見(jiàn),復(fù)位也是一種異常。對(duì)于復(fù)位這種異常,不返回到異常前的程序。,.,2.6.3ARM異常類(lèi)型,普通中斷(IRQ)異常當(dāng)處理器的普通中斷請(qǐng)求引腳有效,且CPSR中的I=0,產(chǎn)生IRQ異常。無(wú)論是在ARM狀態(tài)還是Thumb狀態(tài),其返回指令應(yīng)該為:SUBSPC,R14_irq,#4恢復(fù)CPSR的值(SPSR_mode),并返回執(zhí)行中斷前未被執(zhí)行的指令。,.,異常進(jìn)入和退出,.,2.6.3ARM異常類(lèi)型,快速中斷(FIQ)異常當(dāng)處理器所設(shè)的快速中斷請(qǐng)求有效,且CPSR中的F=0,則產(chǎn)生快速中斷異常。FIQ支持?jǐn)?shù)據(jù)傳送和通道處理,并有足夠的私有寄存器,從而可以減少對(duì)寄存器保存的開(kāi)銷(xiāo)。無(wú)論是在ARM狀態(tài)還是Thumb狀態(tài),執(zhí)行以下指令從FIQ模式返回:SUBSPC,R14_fiq,#4恢復(fù)CPSR的值(SPSR_mode),并返回執(zhí)行中斷前未被執(zhí)行的指令。,.,指令預(yù)取中止(ABT)異常若處理器預(yù)取指令的地址不存在,或者該地址不允許當(dāng)前指令訪問(wèn),存儲(chǔ)器會(huì)向CPU發(fā)出存儲(chǔ)器中止(Abort)信號(hào),其指令被記為無(wú)效。但只有當(dāng)CPU試圖執(zhí)行無(wú)效指令時(shí),指令預(yù)取中止異常才會(huì)發(fā)生,否則不發(fā)生。對(duì)于指令預(yù)取中止異常,無(wú)論是在ARM狀態(tài)還是Thumb狀態(tài),其返回指令為:SUBSPC,R14_abt,#4恢復(fù)CPSR的值(SPSR_mode),并重新執(zhí)行被中止的指令。,2.6.3ARM異常類(lèi)型,.,數(shù)據(jù)中止(ABT)異常如果處理器數(shù)據(jù)訪問(wèn)指令的地址不存在,或者該地址不允許當(dāng)前指令訪問(wèn)時(shí),產(chǎn)生數(shù)據(jù)中止異常。無(wú)論是在ARM狀態(tài)還是Thumb狀態(tài),中止異常返回指令為:SUBSPC,R14_abt,#8恢復(fù)CPSR的值(SPSR_mode),并重新執(zhí)行被中止的指令。,2.6.3ARM異常類(lèi)型,.,軟件中斷(SWI)異常該異常由執(zhí)行軟件中斷指令SWI產(chǎn)生,用于進(jìn)入管理模式,常用于請(qǐng)求執(zhí)行特定的管理功能、軟件仿真等。無(wú)論是在ARM狀態(tài)下還是在Thumb狀態(tài)下進(jìn)入軟件中斷異常,都可以執(zhí)行以下指令從SWI模式返回:MOVSPC,R14_svc以上指令恢復(fù)PC(從R14_svc)和CPSR(從SPSR_svc)的值,并返回到SWI的下一條指令。,2.6.3ARM異常類(lèi)型,.,2.6.3ARM異常類(lèi)型,未定義指令(UND)異常1、發(fā)生未定義異常的兩種情況(1)遇到了一條ARM處理器和任何協(xié)處理器都無(wú)法識(shí)別的指令,則發(fā)生未定義指令異常。(2)當(dāng)ARM處理器執(zhí)行協(xié)處理器指令時(shí),它必須等待協(xié)處理器應(yīng)答后,才能真正執(zhí)行這條指令。若協(xié)處理器沒(méi)有響應(yīng),就會(huì)出現(xiàn)未定義指令異常。,.,2.6.3ARM異常類(lèi)型,處理器執(zhí)行以下程序返回,無(wú)論是在ARM狀態(tài)還是T
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心托管服務(wù)合同
- 2025年度企業(yè)定制化出租車(chē)租賃服務(wù)合同
- 2025年度養(yǎng)老機(jī)構(gòu)護(hù)理科室承包服務(wù)合同
- 2025年度建筑勞務(wù)市場(chǎng)信息服務(wù)平臺(tái)合作合同
- 個(gè)人銀行申請(qǐng)書(shū)
- 2025年度文化遺址保護(hù)與修復(fù)工程合同范本
- 2025年度智能音響系統(tǒng)定制安裝服務(wù)合同范本
- 2025年度建筑工程安全監(jiān)理合同
- 技術(shù)人員的申請(qǐng)書(shū)
- 留校察看申請(qǐng)書(shū)
- 2025年山東商務(wù)職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025年個(gè)人合法二手車(chē)買(mǎi)賣(mài)合同(4篇)
- 2025年內(nèi)蒙古自治區(qū)包頭市中考試卷數(shù)學(xué)模擬卷(二)
- 外研版(三起)小學(xué)英語(yǔ)三年級(jí)下冊(cè)Unit 1 Animal friends Get ready start up 課件
- 2025年華潤(rùn)燃?xì)庹衅腹P試參考題庫(kù)含答案解析
- 推進(jìn)煙草網(wǎng)格化管理工作
- 銅礦隱蔽致災(zāi)普查治理工作計(jì)劃
- 金融服務(wù)鄉(xiāng)村振興
- 2024-2030年中國(guó)出版社行業(yè)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- (新版)廣電全媒體運(yùn)營(yíng)師資格認(rèn)證考試復(fù)習(xí)題庫(kù)(含答案)
- 教師及教育系統(tǒng)事業(yè)單位工作人員年度考核登記表示例范本1-3-5
評(píng)論
0/150
提交評(píng)論