版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
會計學(xué)1DSP指令系統(tǒng)及特點第三章DSP指令系統(tǒng)與特點第一節(jié)尋址方式第二節(jié)程序地址的生成第三節(jié)流水線操作技術(shù)(了解)第四節(jié)指令系統(tǒng)概述第1頁/共62頁Smem:16位單尋址操作數(shù)。Xmem:16位雙尋址操作數(shù),從DB數(shù)據(jù)總線上讀出。Ymem:16位雙尋址操作數(shù),從CB數(shù)據(jù)總線上讀出。dmad:16位立即數(shù),數(shù)據(jù)存儲器地址。pmad:16位立即數(shù),程序存儲器地址。PA:16位立即數(shù),I/O口地址。src:源累加器(A或B)。dst:目的累加器(A或B)。lk:16位長立即數(shù)。第一節(jié)TMS320C54x的尋址方式
第2頁/共62頁1.立即數(shù)尋址2.絕對地址尋址3.累加器尋址4.直接尋址5.間接尋址6.存儲器映象寄存器尋址7.堆棧尋址尋址分類第3頁/共62頁
1.立即數(shù)尋址
在操作數(shù)前面需要加#字號來說明該操作數(shù)為立即數(shù)。否則會把該操作數(shù)誤認(rèn)為是一個地址,從而把立即數(shù)尋址變成絕對地址尋址。
特點指令中包含有執(zhí)行指令所需要的操作數(shù)。立即數(shù)分為3、5、8或9位的短立即數(shù)和16位的長立即數(shù)兩種。短立即數(shù)可包含在單字或雙字指令中,長立即數(shù)在雙字指令中。
注意LD#93h,A
LD93h,A舉例第4頁/共62頁
2.絕對地址尋址特點在指令中包含有所要尋址的存儲單元的16位地址。這個16位的地址可以用其所在單元的地址標(biāo)號或者16位符號常數(shù)來表示。
(1)數(shù)據(jù)存儲器地址(damd)尋址
用一個符號或一個數(shù)來確定數(shù)據(jù)空間的一個地址。
方法MVKDSAMPLE,*AR3
舉例第5頁/共62頁用一個符號或一個具體的數(shù)來確定程序存儲器中的一個地址
(2)程序存儲器地址(pmad)尋址方法MVPDTABLE,*AR4
舉例第6頁/共62頁用一個符號或一個常數(shù)來確定外部I/O口地址
(3)PA尋址端口(PA)方法PORTRFIFO,*AR5舉例第7頁/共62頁用一個符號或一個常數(shù)來確定數(shù)據(jù)存儲器中的一個地址
(4)*(lk)尋址方法LD*(BUFFER),A舉例特點允許所有使用Smem尋址的指令去訪問數(shù)據(jù)空間的任意單元而不改變數(shù)據(jù)頁指針(DP)的值,也不用對ARx進行初始化
第8頁/共62頁用累加器中的數(shù)值作為地址來讀寫程序存儲器。方法READASmemWRITASmem舉例特點可用來完成程序存儲器單元的數(shù)據(jù)與數(shù)據(jù)存儲器單元的數(shù)據(jù)進行交換
3.累加器尋址第9頁/共62頁可以在不改變DP或SP的情況下,隨機地尋址128個存儲單元中的任何一個單元。
用一個符號或一個常數(shù)來確定7位偏移值,與DP或SP共同形成16位的數(shù)據(jù)存儲器實際地址。4.直接尋址方法LD#x,DPLD@u,AADD@v,A===========SSBXCPLLD@X1,AADD@Y2,A舉例特點第10頁/共62頁CPL=07位dma域與9bit的DP相結(jié)合形成16位的數(shù)據(jù)存儲器地址。CPL=17位dma域加上(正偏移)SP的值形成16位的數(shù)據(jù)存儲器地址。
DP值是從0~511(29-1),以DP為基準(zhǔn)的直接尋址把存儲器分成512頁,7位的dma范圍從0~127,每頁有128個可訪問的單元。
第11頁/共62頁5.間接尋址方法特點(AR0~AR7)→ARAU0/ARAU1→16位無符號算術(shù)運算→尋址范圍為64K
能在一個指令中訪問兩個數(shù)據(jù)存儲器單元兩個獨立的存儲器單元讀數(shù)據(jù)讀一個、寫另一個存儲器單元讀寫兩個連續(xù)的存儲器單元
第12頁/共62頁5.間接尋址(1)單操作數(shù)尋址定義間接尋址的類型定義尋址所使用的輔助寄存器ST1CMPT=0標(biāo)準(zhǔn)方式
ARF確定輔助寄存器,ST0中ARP=0
CMPT=1兼容方式如ARF=0,用ARP選擇輔助寄存器,否則,用ARF來確定輔助寄存器。ARF的值裝入ARP。LD*AR1,B第13頁/共62頁單操作數(shù)間接尋址的硬件框圖第14頁/共62頁MOD域操作碼語法功能說明0000*ARxaddr=ARxARx包含了數(shù)據(jù)存儲器地址0001*ARx-addr=ARxARx=ARx-1訪問后,ARx中的地址減1②0010*ARx+addr=ARxARx=ARx+1訪問后,ARx中的地址加1①0011*+ARxaddr=ARx+1ARx=ARx+1在尋址前,ARx中的地址加1,然后再尋址①②③0100*ARx-0Baddr=ARxARx=B(ARx-AR0)訪問后,從ARx中以位倒序進位的方式減去AR00101*ARx-0addr=ARxARx=ARx-AR0訪問后,從ARx中減去AR00110*ARx+0addr=ARxARx=ARx+AR0訪問后,把AR0加到ARx中去0111*ARx+0Baddr=ARxARx=B(ARx+AR0)訪問后,把AR0以位倒序進位的方式加到ARx中1000*ARx-%addr=ARxARx=circ(ARx-1)訪問后,ARx中的地址以循環(huán)尋址的方式減1①1001*ARx-0%addr=ARxARx=circ(ARx-AR0)訪問后,從ARx中以循環(huán)尋址的方式減去AR01010*ARx+%addr=ARxARx=circ(ARx+1)訪問后,ARx中的地址以循環(huán)尋址的方式加1①1011*ARx+0%addr=ARxARx=circ(ARx+AR0)訪問后,把AR0以循環(huán)尋址的方式加到ARx中1100*ARx(lk)addr=ARx+lkARx=ARxARx和16位的長偏移(lk)的和用來作為數(shù)據(jù)存儲器地址。ARx本身不被修改1101*+ARx(lk)addr=ARx+lkARx=ARx+lk在尋址前,把一個帶符號的16位的長偏移(lk)加到ARx中,然后用新的ARx的值作為數(shù)據(jù)存儲器的地址③1110*+ARx(lk)%addr=circ(ARx+lk)ARx=circ(ARx+lk)在尋址前,把一個帶符號的16位的長偏移以循環(huán)尋址的方式加到ARx中,然后再用新的ARx的值作為數(shù)據(jù)存儲器的地址③1111*(lk)addr=lk一個無符號的16位的長偏移(lk)用來作為數(shù)據(jù)存儲器的絕對地址。(也屬絕對尋址)③單數(shù)據(jù)存儲器操作數(shù)間接尋址類型
第15頁/共62頁1)循環(huán)尋址循環(huán)緩沖區(qū)的長度值存放在循環(huán)緩沖區(qū)長度寄存器BK中,BK中的數(shù)值由指令設(shè)定。長度為R的循環(huán)緩沖器必須從一個N位地址的邊界開始,即循環(huán)緩沖器基地址的最低N位必須為0。N是滿足2N>R的最小整數(shù)。R的值必須裝入BK。例如,含有31個字的循環(huán)緩沖器必須從最低5位為0的地址開始,即xxxxxxxxxxx000002,N=5,2N=25>R=31,且31必須裝入BK。如:STM#1k,BK如果R=32,則最小的N值為6,循環(huán)緩沖區(qū)的起始地址必須有6個最低有效位為0,即××××××××××0000002。第16頁/共62頁2)位倒序?qū)ぶ吩谶@種尋址方式中,用AR0存放FFT點數(shù)的一半整數(shù)N,用另一輔助寄存器指向一數(shù)據(jù)存放的物理單元。當(dāng)使用位倒序?qū)ぶ钒袮R0加到輔助寄存器中時,地址以位倒序的方式產(chǎn)生,即進位是從左向右,而不是從右向左進位。例如:01101000+00001000
01100100以8位輔助寄存器為例,AR1表示了在存儲器中數(shù)據(jù)的基地址(01100000)2,AR0的值為(00001000)2。利用以下兩條語句可以向外設(shè)口(口地址為PA)輸出整序后的FFT變換結(jié)果:RPT#15重復(fù)執(zhí)行下條指令15+1次PORTW*AR1+0B,PA向外設(shè)口PA輸出整結(jié)果第17頁/共62頁AR1修改循環(huán)值存儲單元地址整序前FFT變換結(jié)果位倒序AR1更新的地址值A(chǔ)R0=000010002整序后PA輸出的FFT變換結(jié)果00000X(0)000001100000X(0)10001X(8)100001101000X(1)20010X(4)010001100100X(2)30011X(12)110001101100X(3)40100X(2)001001100010X(4)50101X(10)101001101010X(5)60110X(6)011001100110X(6)70111X(14)111001101110X(7)81000X(1)000101100001X(8)91001X(9)100101101001X(9)101010X(5)010101100101X(10)111011X(13)110101101101X(11)121100X(3)001101100011X(12)131101X(11)101101101011X(13)141110X(7)011101100111X(14)151111X(15)111101101111X(15)位倒序?qū)FT變換結(jié)果的序號調(diào)整
第18頁/共62頁5.間接尋址(2)雙操作數(shù)尋址方式確定包含Xmem地址的輔助寄存器
確定包含Ymem地址的輔助寄存器定義用于訪問Ymem操作數(shù)的間接尋址方式的類型定義用于訪問Xmem操作數(shù)的間接尋址方式的類型MPY*AR2,*AR3,A第19頁/共62頁Xar或Yar輔助寄存器
00AR2
01AR3
10AR4
11AR5
輔助寄存器選擇Xmod或Ymod操作碼語法功能說明00*ARxaddr=ARxARx是數(shù)據(jù)存儲器地址01*ARx-addr=ARxARx=ARx-1訪問后,ARx中的地址減110*ARx+addr=ARxARx=ARx+1訪問后,ARx中的地址加111*ARx+0%addr=ARxARx=circ(ARx+AR0)訪問后,AR0以循環(huán)尋址的方式加到ARx中雙數(shù)據(jù)存儲器操作數(shù)尋址的類型第20頁/共62頁0頁尋址。不影響當(dāng)前DP或SP值。用于直接尋址和間接尋址用來修改存儲器映象寄存器
6.存儲器映象寄存器尋址功能LDMPRD,A舉例特點方法高9位數(shù)據(jù)存儲器地址被置0,利用指令中的低7位地址訪問MMR。第21頁/共62頁7.堆棧尋址從高地址向低地址方向生長,SP)來管理堆棧,SP始終指向堆棧中所存放的最后一個數(shù)據(jù),即SP指針始終指向棧頂。在壓入操作時,先減小SP的值,再將數(shù)據(jù)壓入堆棧;在彈出操作時,先從堆棧彈出數(shù)據(jù),再增加SP的值。用來在中斷和子程序調(diào)用時自動保存程序計數(shù)器(PC)中的數(shù)值,也能用來保護現(xiàn)場或傳送參數(shù)功能特點PSHD*AR2
POPD*AR3第22頁/共62頁第二節(jié)程序地址的生成程序地址生成器(PAGEN)構(gòu)成程序計數(shù)器(PC)重復(fù)計數(shù)器(RC)塊重復(fù)計數(shù)器(BRC)塊重復(fù)起始地址寄存器(RSA)塊重復(fù)結(jié)束地址寄存器(REA)核心16位程序計數(shù)器(PC)內(nèi)中保存某個內(nèi)部或外部程序存儲器的地址。地址內(nèi)容為:
即將取指的某條指令;
某個16位立即操作數(shù);
系數(shù)表。在程序存儲器中的地址第23頁/共62頁操作加載到PC的地址復(fù)位PC=FF80h。順序執(zhí)行指令PC=PC+1。分支轉(zhuǎn)移用緊跟在分支轉(zhuǎn)移指令后面的16位立即數(shù)加載PC。由累加器分支轉(zhuǎn)移用累加器A或B的低16位立即數(shù)加載PC。塊重復(fù)循環(huán)假如ST1中的塊重復(fù)有效位BRAF=1,當(dāng)PC+1等于塊重復(fù)結(jié)束地址(REA)+1,將塊重復(fù)起始地址(RSA)加載PC。子程序調(diào)用將PC+2壓入堆棧,并用緊跟在調(diào)用指令后面的16位立即數(shù)加載PC。返回指令將棧頂彈出至PC,回到原先的程序處繼續(xù)執(zhí)行。從累加器調(diào)用子程序?qū)C+1壓入椎棧,用累加器A或B的低16位加載PC。返回指令將棧頂彈出至PC,回到原先的程序處繼續(xù)執(zhí)行。硬件中斷或軟件中斷將PC壓入堆棧,用適當(dāng)?shù)闹袛嘞蛄康刂芳虞dPC。中斷返回時,將棧頂彈出至PC,繼續(xù)執(zhí)行被中斷了的子程序。將程序存儲器地址加載到程序計數(shù)器的途徑第24頁/共62頁1.分支轉(zhuǎn)移操作通過分支轉(zhuǎn)移指令改寫PC,可以改變程序的流向。而子程序調(diào)用指令則通過將一個返回地址壓入堆棧,執(zhí)行返回時恢復(fù)原地址。可執(zhí)行:分支轉(zhuǎn)移循環(huán)控制子程序操作功能方法第25頁/共62頁條件分支轉(zhuǎn)移無條件分支轉(zhuǎn)移
B[D]用指令中所給出的地址加載PCBACC[D]用所指定的累加器的低16位作為地址加載PC。
帶延遲不帶延遲操作轉(zhuǎn)移種類BC[D]如果指令中所規(guī)定的條件得到滿足,就用指令中所給出的地址加載PC;BANZ[D]如果當(dāng)前輔助寄存器不等于0,就用指令中所規(guī)定的地址加載PC。BCnew,AOV
BANZloop,*AR2-BnextBACCA第26頁/共62頁2.調(diào)用和返回轉(zhuǎn)移前,原程序的下條指令的地址被壓入堆棧,而在返回時則將這個地址彈出至PC,使被中斷了的原程序能繼續(xù)執(zhí)行。
當(dāng)采用調(diào)用指令進行子程序或函數(shù)調(diào)用時,DSP中斷當(dāng)前運行的程序,轉(zhuǎn)移到程序存儲器的其它地址繼續(xù)運行。功能方法無條件調(diào)用與返回有條件調(diào)用與返回帶延遲不帶延遲CALL[d]lopRETmain第27頁/共62頁3.條件指令中的條件判斷第28頁/共62頁多重條件判斷
第1組第2組A類B類A類B類C類EQOVTCCBIONEQNOVNTCNCNBIOLT
LEQ
GT
GEQ
第29頁/共62頁第1組
例如
可以從A類中選一個條件,同時可以從B類中選擇一個條件。但是不能從同一類中選擇兩個條件。另外,兩種條件測試的累加器必須是同一個。可以同時測試AGT和AOV,但不能同時測試AGT和BGT。第30頁/共62頁第2組
例如
可以在A、B、C三類中各選擇一個條件,但不能從同一類中選擇兩個條件可以在A、B、C三類中各選擇一個條件,但不能從同一類中選擇兩個條件第31頁/共62頁特例如果條件分支轉(zhuǎn)移出去的地方只有1~2字的程序段,則可以用一條單周期條件執(zhí)行指令(XC)來代替分支轉(zhuǎn)移指令:XCn,cond[,cond[,cond]]當(dāng)n=1,且條件得到滿足,就執(zhí)行緊隨此條件指令后的1個字指令。當(dāng)n=2,且條件得到滿足,就執(zhí)行緊隨此指令后的1個雙字指令或者2條單字指令。當(dāng)條件不滿足,就依n的值執(zhí)行1條或2條NOP指令。第32頁/共62頁例3-3
編寫計算的主要程序部分。
.bssx,4;為X建立4個單元,;放置X1、X2、X3、X4
.bssy,1;為Y建立1個單元,放置Y
STM#x,AR1;將X1的地址傳給AR1
STM#3,AR2;將循環(huán)次數(shù)3傳給AR2
LD#0,A;對A清零loop:ADD*AR1+,A;對X1、X2、X3、X4循環(huán)累;加,結(jié)果放A中
BANZloop,*AR2-;檢查循環(huán)是否應(yīng)結(jié)束
STLA,y;將累加結(jié)果存入Y中第33頁/共62頁特點2特點14.單條指令的重復(fù)操作重復(fù)執(zhí)行(RC)+1次。RC內(nèi)容不能編程設(shè)置,只能由重復(fù)指令(RPT和RPTZ)中的操作數(shù)加載。操作數(shù)n的最大值為65535,最大重復(fù)執(zhí)行次數(shù)為65535+1。
一旦重復(fù)指令被取指、譯碼,直到重復(fù)循環(huán)完成以前,對所有的中斷(包括,但不包括)均不響應(yīng)。功能重復(fù)執(zhí)行下一條指令第34頁/共62頁重復(fù)過程當(dāng)RPT指令執(zhí)行時:①首先把循環(huán)的次數(shù)裝入循環(huán)計數(shù)器(RC),②其循環(huán)次數(shù)n由一個16位單數(shù)據(jù)存儲器操作數(shù)
Smem或一個8位或16位常數(shù)k或lk給定。這樣,緊接著的下一條指令會循環(huán)執(zhí)行n+1次。③循環(huán),RC在執(zhí)行減1操作時不能被訪問。注意:該循環(huán)內(nèi)不能套用循環(huán)。當(dāng)RPTZ指令執(zhí)行時:對目的累加器dst清0,循環(huán)執(zhí)行下一條指令n+1次。
第35頁/共62頁例3-5利用單條指令的重復(fù)操作對數(shù)組x[5]={0,0,0,0,0}進行初始化。.bssx,5;為數(shù)組x分配5個存儲單元STM#x,AR1;將x的首地址賦給AR1LD#0,A;對A清零RPT#4;設(shè)置重復(fù)執(zhí)行下條指令5次STLA,*AR1+;對x[5]各單元清零或者.bssx,5STM#x,AR1RPTZA,#4;對A清零并設(shè)置重復(fù)執(zhí)行下條指令5次STLA,*AR1+第36頁/共62頁特點5.塊重復(fù)操作利用C54x內(nèi)部的塊重復(fù)計數(shù)器(BRC,加載值可為0~65535)、塊重復(fù)起始地址寄存器(RSA)、塊重復(fù)結(jié)束地址寄存器(REA)與程序塊重復(fù)指令RPTB,可對緊隨RPTB、由若干條指令構(gòu)成的程序塊進行重復(fù)操作。功能將重復(fù)操作的范圍擴大到任意長度的循環(huán)回路注意1.RPT指令一旦執(zhí)行,不會停止操作,即使有中斷請求也不響應(yīng);2.RPTB指令可以響應(yīng)中斷;第37頁/共62頁例3-6
對數(shù)據(jù)組x[5]中的每個元素加1。
.bssx,5;為數(shù)組x分配5個存儲單元begin:LD#1,16,B;將1左移16位放入B的;高端字的最低位
STM#4,BRC;4→BRC,(PC)+2→RSA
STM#x,AR4;將x的首地址賦給AR4
RPTBnext-1;將NEXT-1→REA
ADD*AR4,16,B,A;x地址的內(nèi)容左移16位加;B的高端字,結(jié)果放A
STHA,*AR4+;將A的高端字存入x單元,;完成加1操作next:LD#0,B;對B清零
…;必需next-1作為結(jié)束地址第38頁/共62頁對寄存器的占用6.循環(huán)的嵌套執(zhí)行RPT指令時占用RPTC寄存器(重復(fù)計數(shù)器);執(zhí)行RPTB指令時要用到BRC、RSA和RSE寄存器。只有一套塊重復(fù)寄存器,故塊重復(fù)操作不能嵌套。由于RPT與RPTB兩者用了不同的寄存器,因此RPT指令可以嵌套在RPTB指令中,實現(xiàn)循環(huán)的嵌套。執(zhí)行BANZ指令只占用輔助寄存器ARx。不會與RPTRPTB指令相沖突。嵌套原則參與嵌套循環(huán)的寄存器不能重復(fù)使用
第39頁/共62頁圖3-3一個三重循環(huán)嵌套結(jié)構(gòu)第40頁/共62頁第三節(jié)流水線操作技術(shù)
流水線操作在執(zhí)行多條指令時,將每條指令的預(yù)取指、取指、譯碼、尋址、讀取操作數(shù)、執(zhí)行等階段,相差一個階段地重疊地執(zhí)行。流水線操作的優(yōu)點一條k段流水能在k+(n-1)個周期內(nèi)處理n條指令。其前k個周期用于完成第一條指令,其余n-1條指令的執(zhí)行需要n-1個周期。而非流水處理器上執(zhí)行n條指令則需要nk
個周期。當(dāng)指令條數(shù)n較大時,可認(rèn)為每個周期內(nèi)執(zhí)行的最大指令個數(shù)為k。第41頁/共62頁預(yù)取指P取指F譯碼D尋址A讀取操作數(shù)R執(zhí)行X流水線操作
在第一個機器周期用PC中的內(nèi)容加載PAB
在第二個機器周期用讀取到的指令字加載PB。
第三個周期用PB的內(nèi)容加載指令寄存器IR,對IR內(nèi)的指令進行譯碼,產(chǎn)生執(zhí)行指令所需要的一系列控制信號。第42頁/共62頁預(yù)取指P取指F譯碼D尋址A讀取操作數(shù)R執(zhí)行X流水線操作
用數(shù)據(jù)1讀地址加載DAB,或用數(shù)據(jù)2讀地址加載CAB,修正輔助寄存器和堆棧指針。讀數(shù)據(jù)1加載DB,或讀數(shù)據(jù)2加載CB;用數(shù)據(jù)3寫地址加載到EAB,以便在流水線的最后一級將數(shù)據(jù)送到數(shù)據(jù)存儲空間。
執(zhí)行指令,或用寫數(shù)據(jù)加載EB。第43頁/共62頁空轉(zhuǎn)浪費周期1.延遲分支轉(zhuǎn)移的流水線圖無延遲流水線分支轉(zhuǎn)移的問題地址指令a1,a2
Bb1這是一個四周期、二字分支指令a3
i3這是任意的一周期、一字指令a4
i4這是任意的一周期、一字指令......b1j1例3-7第44頁/共62頁分支轉(zhuǎn)移指令流水線圖用分支轉(zhuǎn)移指令的地址a1加載PAB。
取得雙字分支轉(zhuǎn)移指令取得雙字分支轉(zhuǎn)移指令第45頁/共62頁分支轉(zhuǎn)移指令流水線圖i3和i4指令取指。由于這兩條指令處在分支轉(zhuǎn)移指令的后面,雖然已經(jīng)取指,但不能進入譯碼級,且最終被丟棄。分支轉(zhuǎn)移指令進入譯碼級用新的值b1加載PAB第46頁/共62頁分支轉(zhuǎn)移指令流水線圖j1指令取指雙字分支轉(zhuǎn)移指令進入流水線的執(zhí)行級
執(zhí)行j1指令
雙字分支轉(zhuǎn)移指令進入流水線的執(zhí)行級
由于i3和i4指令是不允許執(zhí)行的,所以這兩個周期均花在分支轉(zhuǎn)移指令的執(zhí)行上。第47頁/共62頁允許跟在延遲分支轉(zhuǎn)移指令之后的兩條單字或一條雙字指令可以被執(zhí)行
延遲分支轉(zhuǎn)移注意1.延遲操作指令后面只有兩個字的空隙,因此不能在此空隙中安排任何一類分支轉(zhuǎn)移指令或重復(fù)指令;2.在CALLD或RETD的空隙中還不能安排PUSH和POP指令。3.延遲操作指令比它們的非延遲型指令要快,在調(diào)試延遲型指令時,直觀性稍差一些,因此希望在大多數(shù)情況下還是采用非延遲型指令。第48頁/共62頁例3-8在完成R=(x+y)*z操作后轉(zhuǎn)至next。可以分別編出如下兩段程序:利用普通分支轉(zhuǎn)移指令B利用延遲分支轉(zhuǎn)移指令BD
LD@x,ALD@x,A
ADD@y,AADD@y,A
STLA,@sSTLA,@s
LD@s,TLD@s,T
MPY@z,ABDnext
STLA,@rMPY@z,A
BnextSTLA,@r(共8個字,10個T)(共8個字,8個T)在空閑的隨后兩周期中執(zhí)行下兩條指令
第49頁/共62頁XCn,cnd[,cnd[,cnd]
如果條件滿足,則執(zhí)行下面n(n=1或2)條指令,否則下面n條指令改為執(zhí)行n條NOP指令。
2.條件執(zhí)行指令的流水線圖條件執(zhí)行指令XC
有下列程序:地址指令a1i1a2i2a3i3a4XC2,conda5i5a6i6第50頁/共62頁條件執(zhí)行指令流水線圖XC指令的地址a4加載到PAB取XC指令的操作碼求解XC指令所規(guī)定的條件。如果條件滿足,則后面指令i5和i6進入譯碼級并執(zhí)行;否則不對i5和i6指令譯碼。第51頁/共62頁1.XC是一條單字單周期指令,與條件跳轉(zhuǎn)指令相比,具有快速選擇其后1或2
條指令是否執(zhí)行的優(yōu)點;2.XC指令在執(zhí)行前2個周期就已經(jīng)求出條件,如果在這之后到執(zhí)行前改變條件(如發(fā)生中斷),將會造成無期望的結(jié)果。3.要盡力避免在XC指令執(zhí)行前2個周期改變所規(guī)定的條件。4.并沒有規(guī)定XC指令后的一條或兩條指令必須是單周期指令。注意第52頁/共62頁CPU在單個周期內(nèi)兩次訪問雙尋址存儲器3.雙尋址存儲器的流水線沖突流水線沖突原因不會產(chǎn)生流水線沖突的情況
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安裝工程分包合同書3篇
- 數(shù)據(jù)中心運維合同3篇
- 收購牧草合同書樣本3篇
- 教育志愿者服務(wù)合作合同3篇
- 整棟樓房租賃合同3篇
- 工業(yè)廢油再生合同3篇
- 工業(yè)灰渣再利用合同3篇
- 文藝演出音響設(shè)備租賃協(xié)議3篇
- 就讀委托代為辦理就學(xué)手續(xù)3篇
- 施工分包協(xié)議書模板3篇
- 產(chǎn)科利用PDCA循環(huán)降低初產(chǎn)婦陰道分娩會陰側(cè)切率品管圈QCC成果匯報
- 2024屆黑龍江省齊齊哈爾市建華區(qū)中考聯(lián)考數(shù)學(xué)試題含解析
- 美國RAZ分級讀物目錄整理
- 2023年我國及部分省市畜牧業(yè)相關(guān)政策 深入推進草原畜牧業(yè)轉(zhuǎn)型升級
- 小學(xué)六年級語文:《??嫉?0篇文言文》
- DB31∕T 1154-2019 手術(shù)室X射線影像診斷放射防護及檢測要求
- 花崗巖檢測報告-實用文檔
- 保育員(高級)考試題庫附答案(600題)
- 全廣東江門市蓬江區(qū)2022年九年級數(shù)學(xué)上學(xué)期期末試題含答案
- 國家文化安全戰(zhàn)略研究論文
- 中國傳統(tǒng)文化英語(課堂PPT)
評論
0/150
提交評論