dsp學(xué)習(xí)復(fù)習(xí) 考試必備_第1頁
dsp學(xué)習(xí)復(fù)習(xí) 考試必備_第2頁
dsp學(xué)習(xí)復(fù)習(xí) 考試必備_第3頁
dsp學(xué)習(xí)復(fù)習(xí) 考試必備_第4頁
dsp學(xué)習(xí)復(fù)習(xí) 考試必備_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DSPDSP芯片結(jié)構(gòu)的特點芯片結(jié)構(gòu)的特點 1、哈佛結(jié)構(gòu)、哈佛結(jié)構(gòu) 將程序和數(shù)據(jù)存儲在不同的存儲空間,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問。 2、DSP芯片廣泛采用流水線流水線以減少指令執(zhí)行時間,從而增強了處理器的處理能力。3、在DSP內(nèi)部采用了多總線結(jié)構(gòu)多總線結(jié)構(gòu),這樣可以保證在一個機器周期內(nèi)可以多次訪問程序空間和數(shù)據(jù)空間。 三組數(shù)據(jù)總線(CB,DB和EB)連接各種元器件,如CPU、數(shù)據(jù)地址產(chǎn)生邏輯、程序地址產(chǎn)生邏輯,片內(nèi)外設(shè)和數(shù)據(jù)存儲器。CB和DB總線傳送從數(shù)據(jù)存儲器讀出的操作數(shù)。EB總線傳送寫入到數(shù)據(jù)存儲器的數(shù)據(jù)。 四組數(shù)據(jù)總線(PAB,CAB,DA

2、B和EAB)傳送執(zhí)行指令所需要的地址。 4、 DSP內(nèi)部一般都包括有多個處理單元多個處理單元,如算術(shù)邏輯運算單元(ALU)、輔助寄存器運算單元(ARAU)、累加器(ACC)以及硬件乘法器(MUL)等。 它們可以在一個指令周期內(nèi)同時進(jìn)行運算。例如,當(dāng)執(zhí)行一次乘法和累加的同時,輔助寄存器單元已經(jīng)完成了下一個地址的尋址工作,為下一次乘法和累加運算做好了充分的準(zhǔn)備。在進(jìn)行在進(jìn)行DSP系統(tǒng)設(shè)計時,選擇合適的系統(tǒng)設(shè)計時,選擇合適的DSP芯片是非常重要芯片是非常重要的一個環(huán)節(jié)。通常依據(jù)系統(tǒng)的的一個環(huán)節(jié)。通常依據(jù)系統(tǒng)的運算速度、運算精度和存儲器運算速度、運算精度和存儲器的的需求等來選擇需求等來選擇DSP芯片。

3、芯片。 一般來說,選擇一般來說,選擇DSP芯片時應(yīng)考慮如下一些因素。芯片時應(yīng)考慮如下一些因素。 1DSP芯片的運算速度芯片的運算速度 2DSP芯片的價格芯片的價格 3DSP芯片的運算精度芯片的運算精度 4DSP芯片的硬件資源芯片的硬件資源5DSP芯片的開發(fā)工具芯片的開發(fā)工具 6DSP芯片的功耗芯片的功耗 7其它因素其它因素TMS320C54x DSP芯片的芯片的CPU結(jié)構(gòu)結(jié)構(gòu) 1. 算術(shù)邏輯運算單元: ALU的輸入: 16位的立即數(shù)(來源于移位寄存器的輸出)、從數(shù)據(jù)存儲器讀出的16位字、暫存器T中的16位字、從數(shù)據(jù)存儲器讀出的2個16位字、從數(shù)據(jù)存儲器讀出的32位字、來源于累加器A累加器B輸出

4、的40位字?jǐn)?shù)據(jù)。 ALU的輸出:ALU的輸出為40位,被送往累加器A或B。 2. 累加器A和B: 累加器A和B都可以配置成乘法器/加法器或ALU的目的寄存器。 累加器和的差別僅在于累加器的3116位可以用作乘法器的一個輸入。 3桶形移位器: 40位桶形移位器的輸入端接至DB(取得16位輸入數(shù)據(jù)),或DB和CB(取得32位輸入數(shù)據(jù)),或40位累加器A或B。其輸出接至ALU的一個輸入端或數(shù)據(jù)存儲器(EB)。 4乘法器/加法器: CPU有一個17位17位的硬件乘法器,它與一個40位專用加法器相連。 乘法器有兩個輸入:一個數(shù)據(jù)來自暫存器(TREG)、累加器A的位3216、以及由DB總線傳送過來的數(shù)據(jù)存

5、儲器操作數(shù);另一個輸入端來自累加器A的位3216、由DB總線和CB總線傳送過來的數(shù)據(jù)存儲器操作數(shù)以及由PB總線傳送過來的程序存儲器操作數(shù)。 乘法器的輸出加到加法器的輸入端XA,累加器A或B則是加法器的另一個輸入。最后結(jié)果送往目的累加器A或B。n5比較、選擇和存儲單元: 比較、選擇和存儲單元(CSSU)是專為Viterbi型蝶形算法設(shè)計的進(jìn)行加法/比較/選擇(ACS)運算的硬件單元。 6指數(shù)編碼器: 指數(shù)編碼器也是一個專用硬件。有了它,可以在單個周期內(nèi)執(zhí)行EXP指令,求得累加器中數(shù)的指數(shù)值,并以二進(jìn)制補碼形式存放到T寄存器中,范圍為8至31位。累加器的指數(shù)值=冗余符號位-8,也就是為消去多余符號

6、位而將累加器中的數(shù)值左移的位數(shù)。當(dāng)累加器數(shù)值超過32位時,指數(shù)是個負(fù)值。 7CPU狀態(tài)和控制寄存器: C54x有3個狀態(tài)和控制寄存器: 狀態(tài)寄存器0(ST0)和狀態(tài)寄存器1(ST1): 包含有各種工作條件和工作方式的狀態(tài)。 處理器工作方式狀態(tài)寄存器(PMST): 包含存儲器的設(shè)置狀態(tài)及其它控制信息。TMS320C54x DSP芯片的存儲器結(jié)構(gòu) C54的總存儲空間為192K字,分成3個可選擇的存儲空間: 64K字的程序存儲空間 64K字的數(shù)據(jù)存儲空間 64K字的I/O空間 C54x還有26個CPU寄存器和外設(shè)寄存器。它們映射在數(shù)據(jù)存儲空間(內(nèi)存映射寄存器MMR)。 (1)輔助寄存器(AR0AR7

7、) 產(chǎn)生16位數(shù)據(jù)地址,也可以用來作通用寄存器和計數(shù)器。 (2)暫存器(TREG) 為乘法指令和乘/累加指令存放一個乘數(shù)。 (3)過渡寄存器(TRN) 是一個16位寄存器,為得到一個新的度量值存放中間結(jié)果。 (4)堆棧指針寄存器(SP) 存放棧頂?shù)刂返?6位寄存器,SP總指向壓入頂?shù)氐淖詈笠粋€數(shù)據(jù)。 (5)循環(huán)緩沖寄存器(BK) 由ARAU用來在循環(huán)尋址中確定數(shù)據(jù)塊的大小。(6)塊循環(huán)寄存器(BRC、RSA、REA)、塊循環(huán)計數(shù)器(BRC) 在循環(huán)時確定一塊代碼所需要的循環(huán)次數(shù)(BRC)、塊循環(huán)開始地址(RSA)、塊循環(huán)結(jié)束地址(REA) (7)中斷寄存器(IMR、IFR) 中斷屏蔽寄存器(I

8、MR)在需要時獨立地屏蔽特定的中斷。中斷標(biāo)志寄存器(IFR)用來指明各中斷當(dāng)前的狀態(tài)。定時器 片內(nèi)定時器是一個軟件可編程定時器,可以用來周期地產(chǎn)生中斷。 定時器每個時鐘周期減1,減至0就產(chǎn)生一個定時中斷。 可以通過設(shè)置特定的狀態(tài)位,來使定時器停止、恢復(fù)、運行或禁止。 定時器主要由3個寄存器所組成: 定時器寄存器(TIM)、定時器周期寄存器(PRD)和定時器控制器寄存器(TCR) TIM是一減1計數(shù)器。 PRD中存放時間常數(shù)。 TCR中包含有定時器的控制位和狀態(tài)位。時鐘發(fā)生器 時鐘發(fā)生器為C54x提供時鐘信號。時鐘發(fā)生器由內(nèi)部振蕩器和鎖相環(huán)(PLL)電路兩部分組成。時鐘發(fā)生器要求有一個參考時鐘輸

9、入,可以由兩種方式提供: 第一種方式:利用DSP芯片內(nèi)部提供的晶振電路,在DSP芯片的X1和X2/CLKIN之間連接一晶體可啟動內(nèi)部振蕩器, 第二種方式:將外部時鐘源直接輸入X2/CLKIN引腳,X1懸空??刹捎梅庋b好的晶體振蕩器,復(fù)位電路:復(fù)位電路: 在DSP上電后,系統(tǒng)的晶體振蕩器往往需 要 幾 百 毫 秒 的 穩(wěn) 定 期 , 一 般 為100ms200ms。 為此,應(yīng)在DSP的復(fù)位引腳RS上加一復(fù)位信號。 為使芯片初始化正確,一般RS為低至少持續(xù)3個CLKOUT周期。DSP中斷 中斷類型: 中斷是由硬件驅(qū)動或者軟件驅(qū)動的信號。中斷信號使C54x暫停正在執(zhí)行的程序,并進(jìn)入中斷服務(wù)程序(IS

10、R)。通常,當(dāng)外部需要送一個數(shù)至C54x(如A/D變換),或者從C54x取走一個數(shù)(如D/A變換),就通過硬件向C54x發(fā)出中斷請求信號。中斷也可以是發(fā)出特殊事件,如定時器已經(jīng)完成計數(shù)。 C54x的中斷可以分成兩大類: 第一類是可屏蔽中斷。這些都是可以用軟件來屏蔽或開放的硬件和軟件中斷。 第二類是非屏蔽中斷。這些中斷是不能夠屏蔽的。C54x對這一類中斷總是響應(yīng)的,并從主程序轉(zhuǎn)移到中斷服務(wù)程序。 54X支持軟件中斷(如INTR,TRAP,RESET)和硬件中斷,中斷可分為可屏蔽中斷(如TINT,INT0等)和不可屏蔽中斷(如RESET和NMI),其中RESET的優(yōu)先級最高,不可屏蔽中斷的優(yōu)先級高

11、于可屏蔽中斷的優(yōu)先級,硬件中斷的優(yōu)先級則高于軟件中斷的優(yōu)先級。主機接口(HPI) 主機接口為一個8位并行接口,是與主微處理器通信的接口。通過C54X和主微處理器都可訪到的C54X片內(nèi)存儲器,并且可在C54X和主微處理器之間進(jìn)行信息交換。串行口串行口 C54x具有高速、全雙工串行口,可用來與系統(tǒng)中的其它C54x器件、編碼解碼器、串行模/數(shù)(A/D)變換器以及其它串行器件直接接口。 C54x中的串行口有三種形式:標(biāo)準(zhǔn)同步串行口、緩沖串行口(BSP)和時分多路串行口(TDM).尋址方式尋址方式1.立即數(shù)尋址: 指令中已經(jīng)包含有執(zhí)行指令所需要的操作數(shù)。CPU不必再去尋找數(shù)據(jù)。在操作數(shù)前面需要加字號來說

12、明該操作數(shù)為立即數(shù)。否則會把該操作誤認(rèn)為是一個地址,從而把立即數(shù)尋址變成絕對地址尋址。2.絕對地址尋址: 利用一個16位數(shù)標(biāo)識地址,這個16位的地址可以用其所在單元的地址標(biāo)號或者16位符號常數(shù)來表示。有4種類型的絕對地址尋址。 數(shù)據(jù)存儲器地址(damd)尋址:它是用一個符號或一個數(shù)來確定數(shù)據(jù)空間的一個地址。 程序存儲器地址(pmad)尋址:它是用一個符號或一個具體的數(shù)來確定程序存儲器中的一個地址。I/O端口尋址(PA) :用一個符號或一個常數(shù)來確定外部I/O口地址。 *(lk)尋址:用一個符號或一個常數(shù)來確定數(shù)據(jù)存儲器中的一個地址。3.累加器尋址: 累加器尋址是用累加器中的數(shù)值作為地址來讀寫程

13、序存儲器。這種尋址方式可用來對存放數(shù)據(jù)的程序存儲器尋址。4.直接尋址: 指令代碼中包含了數(shù)據(jù)存儲器地址(dam)的低7位。這7bits的dam作為偏移地址與數(shù)據(jù)頁指針(DP)或堆棧指針(SP)相結(jié)合共同形成16位的數(shù)據(jù)存儲器實際地址。 利用這種尋址方式,可以在不改變DP或SP的情況下,隨機地尋址128個存儲單元中的任何一個單元。 直接尋址的語法是用一個符號或一個常數(shù)來確定偏移值。 在表示時,用符號加在變量的前面。5.間接尋址: 間接尋址通過輔助寄存器中的16位地址進(jìn)行尋址,尋址范圍為64K。 C54x有8個16位輔助寄存器(AR0AR7)都可用來進(jìn)行尋址。兩個輔助寄存器算術(shù)單元(ARAU0和A

14、RAU1),根據(jù)輔助寄存器的內(nèi)容進(jìn)行操作,完成無符號的16位算術(shù)運算。6.存儲器映射寄存器尋址: 存儲器映射寄存器(MMR)尋址用來修改存儲器映射寄存器而不影響當(dāng)前數(shù)據(jù)頁指針(DP)或堆棧指針(SP)的值。7.堆棧尋址: 系統(tǒng)堆棧用來在中斷和子程序調(diào)用時自動保存程序計數(shù)器(PC)中的數(shù)值。它也能用來保護(hù)現(xiàn)場或傳送參數(shù)。 C54x的堆棧是從高地址向低地址方向生長,并用一個16位存儲器映象寄存器堆棧指針(SP)來管理堆棧,SP始終指向堆棧中所存放的最后一個數(shù)據(jù),即SP指針始終指向棧頂。在壓入操作時,先減小SP的值,再將數(shù)據(jù)壓入堆棧;在彈出操作時,先從堆棧彈出數(shù)據(jù),再增加SP的值。匯編語言指令系統(tǒng)匯

15、編語言指令系統(tǒng) 算術(shù)指令: 加法、減法、乘法、乘法減法、32位操作數(shù)、特殊用途 邏輯指令: 與、或、異或和移位、測試 程序控制指令: 跳轉(zhuǎn)、調(diào)用、中斷、返回、重復(fù)、棧操作和復(fù)雜控制 裝入和存儲指令: 載入、存儲、條件存儲、并行載入存儲、并行載入乘法、并行存儲加減、并行存儲乘法和復(fù)雜載入存儲 長長 混合裝載和存儲指令混合裝載和存儲指令 加法指令加法指令(ADD) 減法指令減法指令(SUB) 乘法指令乘法指令(MPY) 乘法乘法-累加累加/減指令減指令(MAC/MAS) 雙字運算指令雙字運算指令(DADD)特殊運算指令特殊運算指令 ABS src ,dst 累加器求絕對值累加器求絕對值 NEG N

16、EG src src ,dstdst 累加器變負(fù)累加器變負(fù) MAX MAX dst dst 求求A和和B的最大值的最大值 EXP EXP src src 求累加器的指數(shù)求累加器的指數(shù) NORM NORM src src ,dst dst 歸一化歸一化 無條件分支轉(zhuǎn)移指令: BD 用指令中所給出的地址加載PC. BACCD 用所指定的累加器的低16位作為地址加載PC。 條件分支轉(zhuǎn)移指令: BCD 如果指令中所規(guī)定的條件得到滿足,就用指令中所給出的地址加載PC; BANZD 如果當(dāng)前輔助寄存器不等于0,就用指令中所規(guī)定的地址加載PC。 子程序調(diào)用與返回指令: CALLD:將返回地址壓入堆棧,用指令

17、 所規(guī)定的地址加載PC; CALAD:將返回地址壓入堆棧,用指定累加器的低16位加載PC; RETD: 用棧頂?shù)姆祷氐刂芳虞dPC; RETED:用棧頂?shù)姆祷氐刂芳虞dPC并開放中斷; RETFD:用快速返回寄存器RTN中的 返回地址加載PC,并開放中斷。 單條指令的重復(fù)操作單條指令的重復(fù)操作 RPT指令: RPT Smem RPT #k RPT #lk執(zhí)行過程: (Smem) RC k RC lk RC RPTZ指令: RPTZ dst,#k執(zhí)行過程: 0 dst lk RC 當(dāng)RPTZ指令執(zhí)行時,對目的累加器dst清0,循環(huán)執(zhí)行下一條指令n+1次。RC的值是一個16位常數(shù)1k。 操作數(shù)n的最大

18、值為65 535(216),因此重復(fù)執(zhí)行單條指令的最大次數(shù)為65 536。塊重復(fù)操作塊重復(fù)操作 例如: STM #99,BRC ;99塊重復(fù)計數(shù) 器BRC RPTB NEXT-1 ;對下條指令至標(biāo)號 為NEXT前的程序 塊執(zhí)行 ;重復(fù)操作 NEXT:. ;重復(fù)程序塊以外的 指令匯編指令 匯編指令(偽指令)是用來為程序提供數(shù)據(jù)和控制匯編進(jìn)程的。 C54x匯編器共有64條匯編命令。 將代碼和數(shù)據(jù)匯編到特定的段中。 為未初始化的變量保留存儲器空間。 控制展開列表的形式。 存儲器初始化。 匯編條件塊。 定義全局變量。匯編程序的編輯與匯編和鏈接匯編程序的編輯與匯編和鏈接 匯編語言源程序編好后,必須經(jīng)過匯

19、編和鏈接才能運行。DSP軟件開發(fā)軟件開發(fā)C編譯器(C Compiler):將C源程序代碼編譯成為C54x匯編語言源代碼程序。 在編譯軟件包中包括一個外殼程序(Shell program)、一個優(yōu)化器(Optimizer)和一個內(nèi)部列表公用程序(Interlist utility)。其中,外殼程序能自動編譯、匯編、連接源模塊。優(yōu)化器能改進(jìn)代碼來提高C程序的效率。內(nèi)部列表公用程序能將C源程序同匯編語言輸出相結(jié)合。匯編程序(匯編器)功能匯編程序(匯編器)功能 匯編器根據(jù)匯編命令用適當(dāng)?shù)亩螌⒏鞑糠謪R編器根據(jù)匯編命令用適當(dāng)?shù)亩螌⒏鞑糠殖绦虼a和數(shù)據(jù)連在一起,構(gòu)成可重定位的目程序代碼和數(shù)據(jù)連在一起,構(gòu)成可

20、重定位的目標(biāo)文件(標(biāo)文件(.obj.obj文件);文件); 如果需要,可以生成一個列表文件(如果需要,可以生成一個列表文件(.lst.lst文件);文件); 將程序代碼分段,每段的目標(biāo)代碼都有一將程序代碼分段,每段的目標(biāo)代碼都有一個個SPCSPC管理;管理; 所謂段,就是在存儲器圖中占據(jù)相鄰空間的代碼或數(shù)據(jù)塊。一個目標(biāo)文件中的每一個段都是分開的和不相同的。所有的COFF目標(biāo)文件都包含以下3種形式的段: .text 段(此段通常包含可執(zhí)行代碼) .data 段(此段通常包含初始化數(shù)據(jù)) .bss 段(此段通常為未初始化變量保留存儲空間) 鏈接器的功能 鏈接器的一個任務(wù)就是分配存儲單元,鏈接器的一個任務(wù)就是分配存儲單元,即把各個段重新定位到目標(biāo)存儲器中。即把各個段重新定位到

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論