




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
DSP原理及應(yīng)用第六章TMS320DM6437的流水線與中斷第六章TMS320DM6437流水線與中斷
6.1流水線6.2DSP的中斷系統(tǒng)6.3實驗及程序?qū)嵗?.1流水線操作6.1.1流水線概述在馮諾依曼結(jié)構(gòu)中,機器各部件在某些周期內(nèi)進行操作,而在某些周期內(nèi)是空閑的,導(dǎo)致機器各部分的利用率不高。
為了提高計算機各功能部件的工作效率和計算機的運行速度,這就需要流水線(pipeline)技術(shù)。流水線技術(shù)是指在程序執(zhí)行時多條指令重疊進行操作的一種準并行處理技術(shù)。它是將一個重復(fù)的過程分解為若干個子過程,每個子過程有專門的功能部件來實現(xiàn)。6.1流水線操作流水線中的每個子過程及其功能部件稱為流水線的級或段,段與段相互連接形成流水線。流水線的段數(shù)稱為流水線的深度。把多個處理過程在時間上錯開,依次通過各功能段,這樣,每個子過程就可以與其他的子過程并行進行。6.1流水線操作對微處理器的每個部件來說,每隔1個時鐘周期即可進入一條新指令,這樣在同一時間內(nèi),就有多條指令交疊在不同部件內(nèi)處理,使CPU運算速度提高。但這種流水線工作方式控制較為復(fù)雜,很難全速運行。
6.1流水線操作
TMS320DM6437的DSP具有獨特的特點,它可以通過消除流水線交錯,簡化流水線的控制,并通過增加流水線消除程序提取、數(shù)據(jù)訪問和乘法運算等傳統(tǒng)結(jié)構(gòu)的瓶頸,提高了單周期的吞吐量。并且利用流水線提供的靈活性可以簡化編程,提高性能。6.1流水線操作6.1.2.流水線操作
流水線操作以CPU周期為單位,一個CPU周期是指特定的執(zhí)行包在流水線特定階段的時間。CPU周期的邊界總是發(fā)生在時鐘周期的邊界,隨著節(jié)拍代碼流流經(jīng)各個部件,各個部件根據(jù)指令代碼進行不同處理。一個指令的取出和執(zhí)行過程可以分為多個階段。
TMS320DM6437的DSP指令集流中所有的指令都通過:取指(Fetch),譯碼(Decode),執(zhí)行(Execute)3個階段,各階段的任務(wù)如下:6.1流水線操作(1)取指
取出一條指令送到指令寄存器;所有指令的取指階段都有4個節(jié)拍,即PG、PS、PW、PR節(jié)拍,每個節(jié)拍的具體功能如下:PG程序地址產(chǎn)生:CPU上取指包的地址確定PS程序地址發(fā)送:取指包的地址送至內(nèi)存PW程序訪問等待:訪問程序存儲空間PR程序取指包接收:取指包送至CPU邊界6.1流水線操作TMS320DM6437的DSP取指階段:①每個節(jié)拍采用8個字的取指包。②四個節(jié)拍從左到右依次進行。③
所有的這8個字同時通過PG、PS、PW和PR進行取指。④PR取指包有四個執(zhí)行包,PW和PS各包括兩個執(zhí)行包,PG包含有八個指令的一個執(zhí)行包。圖6-1
流水線取指級的四個節(jié)拍功能圖6.1流水線操作(2)譯碼對指令操作碼進行譯碼,讀取操作數(shù);所有指令譯碼階段都包括2個節(jié)拍,即DP和DC節(jié)拍,每個節(jié)拍的具體功能如下:DP指令分配
:確定取指包的下一個執(zhí)行包,并將其送至適當?shù)墓δ軉卧獪蕚渥g碼。DC指令譯碼:指令在功能單元進行譯碼。(1)DP階段,取指包被分為執(zhí)行包。執(zhí)行包包括一個指令或兩到八個平行指令。在此階段,執(zhí)行包的指令被分配合適的功能單元。(2)DC階段,源寄存器、目標寄存器和相關(guān)路徑被解碼,以執(zhí)行功能單元的指令。6.1流水線操作(3)執(zhí)行根據(jù)操作碼的要求,完成指令規(guī)定的操作,并把運算結(jié)果寫到指定的存儲或緩沖單元中。流水線的執(zhí)行階段節(jié)拍的數(shù)量不同,這取決于指令的類型。流水線的執(zhí)行部分被分為5個節(jié)拍。大多數(shù)DSP指令是單周期的,所以它們只有一個執(zhí)行節(jié)拍(E1)。只有少數(shù)指令需要多個執(zhí)行節(jié)拍。不同類型的指令需要不同數(shù)量的這些節(jié)拍來完成執(zhí)行。流水線執(zhí)行級的5個節(jié)拍如下:6.1流水線操作1>執(zhí)行節(jié)拍E1①測試指定執(zhí)行條件及讀取操作數(shù),對所有的指令適用②對于讀取和存儲指令,假定指令的條件被評估為真時,地址產(chǎn)生,其修正值寫入寄存器,若指令的條件為假,則指令在E1后不寫入任何結(jié)果或進行任何流水線操作③對于轉(zhuǎn)移指令,程序轉(zhuǎn)移目的地址取指包處于PG節(jié)拍④對于單周期指令,結(jié)果寫入寄存器6.1流水線操作1>執(zhí)行節(jié)拍E1⑤對于雙精度(DP)比較指令、ADDDP和MPYDP等指令,讀取源操作數(shù)的低32位⑥對于其他指令讀取操作數(shù)⑦對于雙周期雙精度(DP)指令,結(jié)果的低32位寫入寄存器6.1流水線操作2>執(zhí)行節(jié)拍E2①讀取指令的地址送至內(nèi)存,存儲指令的地址和數(shù)據(jù)送至內(nèi)存,對結(jié)果進行飽和處理的單周期指令,若結(jié)果飽和,置SRC的SAT位②
對于單個16×16乘法指令、乘法單元和非乘法操作指令,結(jié)果將寫入寄存器文件。TMS320C64x的M單元的非乘法操作指令,對于DP比較指令和ADDDP/SUBDP指令,讀取源操作數(shù)的高32位③
對于MPYDP指令,讀取源操作數(shù)1的低32位和源操作數(shù)2的高32位,對于MPYI和MPYID指令,讀取源操作數(shù)6.1流水線操作3>執(zhí)行節(jié)拍E3①進行數(shù)據(jù)存儲空間訪問②
對結(jié)果進行飽和處理的乘指令在結(jié)果飽和時置SAT位③對于MPYDP指令讀取源操作數(shù)1的高32位和源操作數(shù)2的低32位④
對于MPYI和MPYID指令,讀取源操作數(shù)6.1流水線操作4>執(zhí)行節(jié)拍E4①對于讀取指令,把所讀的數(shù)據(jù)送至CPU邊界;②對于乘法擴展,結(jié)果將被寫入寄存器;③
對于MPYI和MPYID指令,讀取源操作數(shù);④
對于MPYDP指令,讀取源操作數(shù)的高32位;⑤
對于4周期指令,結(jié)果寫人寄存器;⑥
對于INTDP指令,結(jié)果的低32位寫入寄存器。6.1流水線操作5>執(zhí)行節(jié)拍E5①對于讀取指令,把所讀的數(shù)據(jù)寫入寄存器②對于INTDP指令,結(jié)果寫入寄存器。TMS320DM6437中所有指令均按照以上3級流水線運行,具體流水線結(jié)構(gòu)如下圖所示:圖6-2
TMS320DM64373級流水線6.1流水線操作TMS320DM6437流水線流程圖如下圖所示,連續(xù)的各個取值包都包含8條并行指令,各個指令包以每個時鐘一個節(jié)拍的方式通過流水線。圖6-3TMS320DM6437流水線流程圖6.1流水線操作流水線的實現(xiàn)步驟如下所示:①從存儲器中取出一條指令。②判斷該指令是否支持并行執(zhí)行,如果支持,則執(zhí)行步驟①,不支持執(zhí)行步驟③。③對指令包中的每一條指令進行解析,解析過程中采用運用緩存機制提高指令的解析效率。④判斷延時隊列中是否有指令,如果有指令則執(zhí)行步驟⑤,沒有則執(zhí)行步驟⑥。6.1流水線操作⑤對延時隊列中每一條指令進行如下操作:將指令的延時間隙減1;此時,如果延時間隙為0,則執(zhí)行指令在En節(jié)拍的操作。⑥判斷指令包中是否有未執(zhí)行的指令,如果有,則執(zhí)行操作⑦,沒有則結(jié)束。⑦對執(zhí)行包中每一條指令進行如下操作:如果指令有延時間隙,則執(zhí)行步驟⑥,如果沒有執(zhí)行延時,執(zhí)行指令E1節(jié)拍的操作并跳動步驟⑥。⑧執(zhí)行指令E1節(jié)拍的操作,指令的延時間隙減1,將指令加入到延時隊列中,并跳到步驟⑥。6.1流水線操作6.13.各類指令的流水線執(zhí)行TMS320C64x+系列的DSP的流水線操作執(zhí)行指令分為6種:①單周期指令(single-cycleinstruction)
②雙周期或多周期(two-cycleormultiplyinstruction)
③
存儲指令(storeinstruction)④擴展乘法指令(extendedmultiplyinstructions)⑤加載指令(loadinstructions)⑥跳轉(zhuǎn)指令(branchinstructions)6.1流水線操作下表是六種類型指令的每個執(zhí)行階段中發(fā)生的操作的映射。表6-2
六種類型指令的每個執(zhí)行階段發(fā)生的操作表6.1流水線操作
當要將同一指令讀入和存儲到相同的內(nèi)存位置時,有如下規(guī)則(i為周期):(1)在存儲之前執(zhí)行讀入指令,則以前的值被讀入,新的值被存儲。
iLDWi+1STW(2)讀入指令前執(zhí)行存儲指令,則新的值被存儲和讀入。
iSTWi+1LDW6.1流水線操作(3)當讀入指令和存儲指令同時執(zhí)行,以前的值首先被讀入,新的值被存儲,但是都在同一節(jié)拍。
iSTWi+1LDW6.1流水線操作CPU運行時,每次取八條指令組成一個指令包,取指包一定在地址的256位邊界定位。每條指令的最后一位是并行標志位P,P標志位決定本條指令是否與取指包中的下一條指令并行執(zhí)行。CPU從低地址到高地址依次判讀P標志位:如果為1,則該指令將與下一條指令并行執(zhí)行;如果為0,則下一條指令要在本指令執(zhí)行完以后才能執(zhí)行。6.1流水線操作如果流水線中的指令相互獨立,則可以充分發(fā)揮流水線的性能。但在實際中,指令間可能會相互依賴,這會降低流水線的性能。相鄰或相近的兩條指令因存在某種關(guān)聯(lián),后一條指令不能在原指定的時鐘周期開始執(zhí)行,造成流水線中出現(xiàn)“阻塞”的情況。(1)在一個取指包中有多個執(zhí)行包的流水線操作一個FP包含8條指令,可分成1~8個EP,每個EP是并行執(zhí)行的指令,每條指令在1個獨立的功能單元內(nèi)執(zhí)行。當一個取值包包含多個執(zhí)行包時,這時將出現(xiàn)流水線阻塞。6.1流水線操作圖6-4流水線阻塞圖取指包在指令周期1~4時,通過取指級的4個節(jié)拍,同時1~4的每個指令周期都有1個新取指包進入PG節(jié)拍;在第5個指令周期的DP節(jié)拍,CPU掃描FPn的P位,檢測出有3個執(zhí)行包EPk~EPk+2,迫使流水線阻塞,允許EPk+1和EPk+2在第6和7個指令周期進入DP節(jié)拍,一旦EPk+2進入DC節(jié)拍,流水線阻塞也被釋放;6.1流水線操作FPn+1~FPn+4在第6和7個指令周期被阻塞,F(xiàn)Pn+5在第6和7個指令周期也被阻塞,直到第8個指令周期后才進入PG節(jié)拍:第8個指令周期后流水線將連續(xù)操作,直至又有多個執(zhí)行包進入DP節(jié)拍或有中斷發(fā)生。圖6-4
流水線阻塞圖6.1流水線操作(2)多周期NOP指令對流水線運行的影響單周期NOP指令與其它代碼在一個執(zhí)行包中。LD、ADD、和MPY指令的結(jié)果在適當指令周期是可用的,NOP指令對執(zhí)行包無影響。圖6-5NOP與其它代碼在一個執(zhí)行包6.1流水線操作用一個多周期NOP5代替單周期NOP指令。NOP5將產(chǎn)生除它的執(zhí)行包內(nèi)部指令操作之外的空操作。在NOP5指令周期完成之前,任何其它指令不能使用LD、ADD、和MPY指令的結(jié)果。圖6-6
用多周期NOP指令代替單周期NOP指令6.1流水線操作跳轉(zhuǎn)指令可以影響多周期NOP指令的執(zhí)行,當一個跳轉(zhuǎn)指令延遲間隙結(jié)束時,多周期NOP指令不管是否結(jié)束,這時跳轉(zhuǎn)都將廢棄多周期NOP指令。圖6-7
跳轉(zhuǎn)指令對多周期NOP指令的影響6.1流水線操作6.1.4.存儲器對流水線性能的影響
TMS320DM6437片內(nèi)為哈佛結(jié)構(gòu),即存儲器分為程序指令存儲空間和數(shù)據(jù)存儲空間,是一種并行體系結(jié)構(gòu)。與兩個存儲器相對應(yīng)的是體系中設(shè)置了程序總線和數(shù)據(jù)總線兩條總線,從而使數(shù)據(jù)的吞吐率提高了數(shù)倍。
6.1流水線操作
為了進一步提高運行速度和靈活性進行改進:(1)允許數(shù)據(jù)存放在程序存儲器中,并被算術(shù)運算指令直接使用,增強了芯片的靈活性;(2)將指令暫存在高速緩沖器中,當執(zhí)行此指令時,不需要再從存儲器中讀取指令,節(jié)省了取指令周期。由于數(shù)據(jù)讀入和程序取指,內(nèi)存訪問被分為多個階段,這保證了TMS320C64x系列的DSP能進行內(nèi)存訪問。6.1流水線操作
存儲器對流水線性能的影響主要為存儲器阻塞。對于程序存儲器,存儲器阻塞發(fā)生在PW節(jié)拍。對于數(shù)據(jù)存儲器則發(fā)生在E3節(jié)拍。存儲器阻塞會使處于該流水線的所有節(jié)拍延長1個指令周期以上,從而使執(zhí)行增加額外的指令周期。圖6-8
存儲器阻塞圖6.1流水線操作6.2DSP的中斷系統(tǒng)1.中斷的基礎(chǔ)知識中斷類型和優(yōu)先級中斷是由硬件或軟件驅(qū)動的信號,為使CPU具有對外界異步事件的處理能力而設(shè)置的。中斷信號使DSP暫停正在執(zhí)行的程序,接受并響應(yīng)中斷請求,進入中斷服務(wù)程序。中斷過程包括保存當前進程的上下文、完成中斷任務(wù)、恢復(fù)寄存器和進程上下文、恢復(fù)原始進程。中斷一旦被正確啟用,CPU將開始處理中斷并將程序流重新定向到中斷服務(wù)程序。TMS320DM6437的CPU有3種類型中斷,即RESET(復(fù)位)、不可屏蔽中斷(NMI)和可屏蔽中斷(INT4~INT15)。3種中斷的優(yōu)先級別不同,復(fù)位具有最高優(yōu)先級。優(yōu)先級別見表6-4。表6-4中斷優(yōu)先級表6.2DSP的中斷系統(tǒng)(1)復(fù)位RESET
具有最高級別中斷,復(fù)位中斷時正在執(zhí)行的指令中止,所有的寄存器返回到默認狀態(tài)。復(fù)位是低電平有效信號,必須保證低電平10個時鐘周期,然后再變高才能正確重新初始化CPU。復(fù)位中斷服務(wù)的取指包必須位于特定設(shè)備的特定地址。復(fù)位中斷不受分支指令的影響。6.2DSP的中斷系統(tǒng)(2)不可屏蔽中斷(NMI)
不可屏蔽中斷優(yōu)先級為2,它通常用來向CPU發(fā)出嚴重硬件問題的警報。出現(xiàn)在NMI線上的請求,不受中斷標志位IF的影響,在當前指令執(zhí)行完以后,CPU立即無條件響應(yīng)。為實現(xiàn)此中斷,在中斷使能寄存器中的不可屏蔽中斷使能位(NMIE)必須置1。NMIE為0時,所有可屏蔽中斷(INT4~INT15)均都被禁止。6.2DSP的中斷系統(tǒng)(3)可屏蔽中斷(INT4~INT15)
可被CPU通過指令限制某些設(shè)備發(fā)出中斷請求的中斷。有12個可屏蔽中斷,它們被鏈接到芯片外部或片內(nèi)外設(shè),也可由軟件控制或者不用。I/O設(shè)備發(fā)出的所有中斷都可以產(chǎn)生可屏蔽中斷,受標志位IF的影響,根據(jù)中斷循環(huán)標志的設(shè)置來判斷CPU是否響應(yīng)中斷請求。中斷發(fā)生時將中斷標志寄存器(IFR)的相應(yīng)位置為1。6.2DSP的中斷系統(tǒng)中斷服務(wù)表(IST)IST是包含中斷服務(wù)代碼的取指包的一個地址表。當CPU開始處理一個中斷服務(wù)時,它要參照IST進行。IST包含16個連續(xù)取指包,每個中斷服務(wù)取指包都含8條指令。圖6-9給出了IST的地址和內(nèi)容。圖6-9
中斷服務(wù)表6.2DSP的中斷系統(tǒng)中斷服務(wù)取指包(ISFP)當中斷服務(wù)程序很小時,可以把它放在一個單獨的取指包內(nèi),為了中斷結(jié)束后能夠返回主程序,F(xiàn)P中包含一條跳轉(zhuǎn)到中斷返回指針所指向地址的指令。接著是一條NOP5指令,它使跳轉(zhuǎn)目標能夠有效地進入流水線的執(zhí)行級。若無這條指令,CPU將會在跳轉(zhuǎn)前執(zhí)行下一個ISFP中的5個執(zhí)行包。
圖6-10單獨的中斷取指包6.2DSP的中斷系統(tǒng)中斷服務(wù)表指針寄存器(ISTP)ISTP用于確定中斷服務(wù)程序在中斷服務(wù)表中的地址。ISTP中的ISTB確定IST的地址的基值,HPEINT確定當前響應(yīng)的中斷,并給出這一特定中斷取指包在IST中的位置。6.2DSP的中斷系統(tǒng)圖6-12
ISTP格式描述表6-5ISTP字段描述6.2DSP的中斷系統(tǒng)2.中斷控制寄存器TMS320DM6437芯片控制寄存器組中有下列8個寄存器涉及中斷控制寄存器:(1)控制狀態(tài)寄存器(CSR)
控制全局使能或禁止中斷。該寄存器用于標識一些狀態(tài),其中包括全局中斷使能、高速緩沖存儲器的控制位和其它各種控制位和狀態(tài)位。在控制狀態(tài)寄存器中包含控制中斷的兩個域,即GIE和PGIE。全局中斷使能(GIE)允許通過控制單個位的值來使能或禁止所有的可屏蔽中斷。6.2DSP的中斷系統(tǒng)圖6-14CSR格式全局禁用可屏蔽中斷的代碼:MVCCSR,B0;AND-2,B0,B0;MVCB0,CSR;全局使能可屏蔽中斷的代碼:MVCCSR,B0;OR1,B0,B0;MVCB0,CSR;表6-6CSR字段描述(2)中斷使能寄存器(IER)
該寄存器用于標識某個中斷是使能還是禁止。格式圖6-15所示。圖6-15IER格式使能一個中斷(INT9)的代碼:MVK200h,B1;MVCIER,B0;ORB1,B0,B0;MVCB0,IER;禁用一個中斷(INT9)的代碼:MVKFDFFh,B1;MVCIER,B0;ANDB1,B0,B0;MVCB0,IER;6.2DSP的中斷系統(tǒng)該寄存器用于顯示中斷標志。給出有中斷請求但尚未得到服務(wù)的中斷,存在于等待中斷的狀態(tài)中,包括INT4-INT15和不可屏蔽中斷的狀態(tài)。圖6-16
IFR格式(3)中斷標志寄存器(IFR)、中斷設(shè)置寄存器(ISR)、中斷清除寄存器(ICR)設(shè)置一個中斷(INT6)并讀標志寄存器的代碼:MVK40h,B3MVCB3,ISRNOPMVCIFR,B4清除一個中斷(INT6)并讀標志寄存器的代碼:MVK40h,B3MVCB3,ICRNOP
MVCIFR,B46.2DSP的中斷系統(tǒng)(4)中斷設(shè)置寄存器(ISR)
人工設(shè)置IFR中的標志位,使用它手動清除IFR中的可屏蔽中斷(INT15-INT4)。該寄存器用于標識是否允許軟件控制來設(shè)置中斷。圖6-17
ISR格式6.2DSP的中斷系統(tǒng)(5)中斷清零寄存器(ICR)
人工清除IFR中的標志位,使用它手動完成中斷處理。該寄存器用于標識是否允許軟件來清除中斷。ICR格式如下圖所示。圖6-18ICR格式另外,ISR和ICR可用程序設(shè)置和清除IFR中的可屏蔽中斷位,設(shè)置和清除操作不影響NMI和復(fù)位。6.2DSP的中斷系統(tǒng)(6)不可屏蔽中斷返回指針寄存器(NRP)NRP保存從不可屏蔽中斷返回時的指針,該指針引導(dǎo)CPU返回到原來程序執(zhí)行的正確位置。當NMI完成服務(wù)時,為返回到被中斷的原程序中,在中斷服務(wù)程序末尾必須安排一條跳轉(zhuǎn)到NRP指令(BNRP)。從NMI返回的代碼:BNRP;NOP5;延遲間隙6.2DSP的中斷系統(tǒng)(7)可屏蔽中斷返回指針寄存器(IRP)IRP保存從可屏蔽中斷返回時的指針,該指針引導(dǎo)CPU返回到原來程序執(zhí)行的正確位置。當可屏蔽中斷完成服務(wù)時,為返回到被中斷的原程序中,在中斷服務(wù)程序末尾必須安排一條跳轉(zhuǎn)到NRP指令。從一個可屏蔽中斷返回的代碼:BIRP;NOP5;延遲間隙6.2DSP的中斷系統(tǒng)(8)中斷—復(fù)位狀態(tài)復(fù)位后,控制寄存器及控制位的中值如下:AMR,ISR,ICR,IFR及ISTP=0h;IER=1h;IRP和NRP未定義;CSR的位15~位0=100h(小終端模式)=000h(大終端模式)表6-7中斷控制寄存器描述6.2DSP的中斷系統(tǒng)3.中斷響應(yīng)過程根據(jù)TMS320DM6437的中斷機制,可以把中斷分為三部分:中斷請求、中斷
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年文化節(jié)慶主題堅果禮盒行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年手腕按摩器(磁療+脈沖+熱敷)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 中國陶瓷花盆投資分析報告(2024)(五模版)
- 二零二五年度商業(yè)地產(chǎn)商鋪租賃及營銷策劃合同
- 二零二五年度農(nóng)業(yè)貸款擔(dān)保合同風(fēng)險管理
- 2025年度瓷磚行業(yè)市場調(diào)研與分析服務(wù)合同
- 2025年度企業(yè)后勤保潔與綠化養(yǎng)護一體化合同
- 2025年度地勘鉆探風(fēng)險管理與保險合同范本
- 二零二五年度物流企業(yè)招聘合同樣本含員工培訓(xùn)
- 知識經(jīng)濟下的版權(quán)保護策略研究
- 這一封書信來得巧
- 血液透析應(yīng)急流程圖+
- 監(jiān)獄服裝加工企業(yè)開展全面
- 京東考試答案參考
- 建筑施工圖-剖面圖
- 我國動車組各型車輔助供電分析與比較
- 標書密封條格式模版(共19頁)
- 小學(xué)一年級硬筆書法入門(課堂PPT)
- 色彩的形式美感
- SMT車間溫濕度點檢記錄表
- 畢赤酵母發(fā)酵手冊
評論
0/150
提交評論