dsp學(xué)習(xí)c54x的基本知識(shí)點(diǎn)_第1頁
dsp學(xué)習(xí)c54x的基本知識(shí)點(diǎn)_第2頁
dsp學(xué)習(xí)c54x的基本知識(shí)點(diǎn)_第3頁
dsp學(xué)習(xí)c54x的基本知識(shí)點(diǎn)_第4頁
dsp學(xué)習(xí)c54x的基本知識(shí)點(diǎn)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C54X DSP 的基本知識(shí)點(diǎn)2006-5-17 10:20:001、DSP采用改進(jìn)的哈佛結(jié)構(gòu),允許同時(shí)取指令和取數(shù)據(jù),而且還允許在程序空間和數(shù)據(jù)空間之間相互傳送數(shù)據(jù)。所謂哈佛結(jié)構(gòu),是將程序和數(shù)據(jù)的存貯空間分開,各有各的地址總線和數(shù)據(jù)總線。這樣同一條指令可以同時(shí)對(duì)不同的存貯空間進(jìn)行讀操作或?qū)懖僮?從而提高了處理速度。和哈佛結(jié)構(gòu)相配合的就是流水線操作。如果一條指令僅僅對(duì)一個(gè)數(shù)據(jù)空間操作,哈佛結(jié)構(gòu)就失去其存在的意義。而 DSP 指令又不可避免地需要一些單操作數(shù)指令。所謂流水線操作,就是將各條指令執(zhí)行過程的幾個(gè)階段(取指、譯碼、取操作數(shù)、執(zhí)行)重迭進(jìn)行,執(zhí)行完第一條指令的第一步后,緊接執(zhí)行該指令的第

2、二步,同時(shí) 執(zhí)行下條指令的第一步,使得指令執(zhí)行加快,使大多數(shù)指令都可以在單個(gè)指令周期內(nèi)完成。2、DSP采用多總線結(jié)構(gòu),C54X有8條 16 位總線,即 1 條程序總線,3 條數(shù)據(jù)總線,和 4 條地址總線。程序總線 PB 傳送取自程序存貯器的指令代碼和立即操作數(shù)或系數(shù)表中的數(shù)據(jù);數(shù)據(jù)總線 CB 和 DB 傳送讀自數(shù)據(jù)存貯器的操作數(shù);數(shù)據(jù)總線 EB 傳送寫到存貯器的數(shù)據(jù);地址總線傳送執(zhí)行指令所需的地址。3、DSP 執(zhí)行一條指令,需要經(jīng)過取指、譯碼、取操作數(shù)和執(zhí)行等幾個(gè)階段。由于采用流水線結(jié)構(gòu),使指令執(zhí)行的這幾個(gè)階段重迭進(jìn)行。C54X 有一個(gè) 6 級(jí)深度的流水線,在任何一個(gè)機(jī)器周期內(nèi),可以有 16

3、條不同的指令在同時(shí)工作,每條指令工作在不同級(jí)的流水線上。4、C54X 可尋址 64K 字程序空間,64K 字?jǐn)?shù)據(jù)空間,64K 字 I/O 空間,總共可尋址 192K 字空間,而C548 和C549 的程序空間可擴(kuò)展到 8M(即 8192K)字。5、C54X 中,存貯器的形式有 DARAM、SARAM 和 ROM 三種,RAM(包括 DARAM和 SARAM)總是安排到數(shù)據(jù)存貯空間,也可以程序存貯空間;ROM 一般程序存貯空間,也可部分地安排到數(shù)據(jù)存貯空間。所謂雙尋址 RAM(DARAM)就是每個(gè)機(jī)器周期內(nèi)可以進(jìn)行兩次存取操作的 RAM 存貯器,而單尋址 RAM(SARAM)就是每個(gè)機(jī)間內(nèi)只能進(jìn)

4、行一次存取操作的 RAM 存貯器。6、在處理器工作方式狀態(tài)寄存器 PMST 中有 3 個(gè)狀態(tài)位 MP/來安排C54X 片內(nèi)存貯器作為程序或數(shù)據(jù)空間。、OVLY 和 DROM,用若 MP/ 0,則片內(nèi) ROM 安排到程序空間。若 MP/ =1,則片內(nèi) ROM 不安排到程序空間。若 OVLY=0,則片內(nèi) RAM 只安排到數(shù)據(jù)存貯空間。若 OVLY=1,則片內(nèi) RAM 安排到程序和數(shù)據(jù)空間。若 DROM0,則片內(nèi) ROM 不安排到數(shù)據(jù)空間。若 DROM1,則片內(nèi) ROM 安排到數(shù)據(jù)空間。7、為了增強(qiáng)處理器的性能,C54X 對(duì)片內(nèi) ROM 進(jìn)行分塊,這樣可以在對(duì)片內(nèi) ROM的某一塊取指的同時(shí),又可對(duì)片

5、內(nèi) ROM 別的塊讀數(shù)據(jù)。為了增強(qiáng)處理器的性能,C54X 對(duì)片內(nèi) RAM 也進(jìn)行分塊,分塊以后,可以在同一周期內(nèi)從同一塊 DARAM 中取出兩個(gè)操作數(shù)并將數(shù)據(jù)寫入另一塊 DARAM 中。8、C548 和C549 采用分頁擴(kuò)展方法,把程序空間分成 128 頁,每頁 64K 字,使其程序空間可擴(kuò)展到 8M 字。因此,它們有 23 根地址線,增加了一個(gè)額外的存貯器映象寄存器程序計(jì)數(shù)器擴(kuò)展寄存器(XPC)。當(dāng)片內(nèi) RAM 安排到程序空間時(shí),每頁程序存貯器分成兩部分:一部分是公共的 32K 字;另一部分是各自獨(dú)立的 32K 字;當(dāng)片內(nèi) ROM 被尋址(MP/MC=0),它只能在 0 頁,不能映象到程序存

6、貯器的其它頁。9、C54X 有兩類特殊功能寄存器,它們都映象到數(shù)據(jù)存貯器空間的 0 頁,第一類是 CPU 寄存器,它們映象到數(shù)據(jù)空間的 0000001FH 地址范圍內(nèi),主要用于程序的運(yùn)算處理和尋址方式的選擇及設(shè)定,第二類是電路寄存器,它們映象到數(shù)據(jù)空間的 0020H005FH 區(qū)域內(nèi),主要用于控制片內(nèi)外設(shè),包括串行通信控制寄存器組、定時(shí)器控制寄存器組、機(jī)器周期設(shè)定寄存器組等。10、指數(shù)編可以在單個(gè)周期內(nèi)執(zhí)行 EXP 指令,求得累加器中數(shù)的指數(shù)值,并以 2 的補(bǔ)碼的形式存放到 T 寄存器中。累加器的指數(shù)值冗余符號(hào)位8,也就是為消去多余符號(hào)位而將累加器中的數(shù)值時(shí)指數(shù)時(shí)個(gè)負(fù)值。的位數(shù),當(dāng)累加器數(shù)值超

7、過 32 位11、對(duì)于C54X 來說,不同型號(hào)器件的 CPU 是相同的,它由以下基本組成:40位的 ALU、2 個(gè) 40 位累加器、桶形移位寄存器(移位數(shù)為1631)、乘法器/加法器單元、比較選擇和單元 C、指數(shù)編、CPU 狀態(tài)和控制寄存器。12累加器A和B 都可分為三部分:保護(hù)位高階位和低階位。其中,保護(hù)位用作計(jì)算時(shí)的數(shù)據(jù)余量,以防止諸如自相關(guān)那樣的迭代運(yùn)算時(shí)溢出。13桶形移位寄存器的任務(wù)是為輸入的數(shù)據(jù)定標(biāo),包括在 ALU 運(yùn)算前對(duì)來自數(shù)據(jù)存貯器的操作數(shù)或累加器的值進(jìn)行定標(biāo)對(duì)累加器的值進(jìn)行移位歸一化處理等。14C54X CPU 有一個(gè) 17 位17 位硬件乘法器,它與一個(gè) 40 位加法器相連

8、,乘法器/加法器單元可以在一個(gè)流水線狀態(tài)周期內(nèi)完成一次乘法累加(MAC)運(yùn)算。當(dāng) ST1 中的小數(shù)方式位 FRCT=1,乘法器工作在小數(shù)相乘方式,乘法結(jié)果自動(dòng)左移 1 位,以消去多余的符號(hào)位。15比較選擇和單元 C是專為 Viterbi 算法設(shè)計(jì)的硬件單元,只要將ST1 中的 C16 位置 1,ALU 就被配置成雙 16 位工作方式,所有的雙字指令都變成雙 16 位的算術(shù)運(yùn)算指令。ALU 可以在一個(gè)機(jī)器周期內(nèi)完成兩個(gè) 16 位數(shù)的加/減運(yùn)算,結(jié)果分別存放在累加器的高 16 位和低 16 位,然后可以利用 CMPS 指令對(duì)累加器的高 16 位和低 16 位進(jìn)行比較,并選擇較大者存放到指令所規(guī)定的

9、存貯單元中。16狀態(tài)寄存器 0 中,ARP 字段是作為輔助寄存器指針,在間接尋址單操作數(shù)時(shí),用來選擇輔助寄存器,當(dāng) DSP 工作在標(biāo)準(zhǔn)方式時(shí),不能修正 ARP,它必須置“0”。17狀態(tài)寄存器 0 中,DP 字段稱數(shù)據(jù)存貯器頁指針,在直接尋址方式,若 ST1中的 CPL=0,該字段(9 位)與指令中給出的低 7 位地址一起形成一個(gè) 16 位直接尋址存貯器的地址。18處理器工作方式狀態(tài)寄存器 PMST 中的 IPTR 字段(9 位)為中斷的向量指針,它指示中斷向量所駐面的 128 字程序存貯器的位置,DSP 復(fù)位時(shí),這 9 位字段全部置“1”,所以復(fù)位向量總是駐面在程序存貯器空間 FF80H。19

10、C54X 尋址存貯器有兩種基本形式:16 位數(shù)和 32 位數(shù)。在 32 位數(shù)尋址時(shí),先處理高有效字,后處理低有效字。如果尋址的第 1 個(gè)字處在偶地址,那么第 2個(gè)字就在下一個(gè)(較高的)地址。如果尋址的第 1 個(gè)字處在奇地址,那么第 2個(gè)字就處一個(gè)(較低的)地址。20C54X 共有七種尋址方式,分別為立即尋址絕對(duì)尋址累加器尋址直接尋址間接尋址存貯器映象寄存器尋址堆棧尋址。21立即尋址就是在指令中已經(jīng)包含有執(zhí)行指令所需的操作數(shù)。C54X 中的立即數(shù)有兩種形式;即短立即數(shù)和長(zhǎng)立即數(shù)。22絕對(duì)尋址,就是在指令中包含有所要尋址的存貯單元的 16 位地址。23累加器尋址,就是利用累加器的數(shù)值(低 16 位

11、或低 23 位)作為地址來讀寫程序存貯器。24直接尋址,就是在指令中包含有數(shù)據(jù)存貯器地址(dma)的低 7 位,由這 7位 dma 作為偏移地址值,與址值(DP 或 SP)一道16 位數(shù)據(jù)存貯器地址。25間接尋址就是利用 8 個(gè)輔助寄存器(AR0AR7)中的任一個(gè) ARX 中的內(nèi)容作地址尋址 64K 字?jǐn)?shù)據(jù)存貯空間中的任一個(gè)存貯單元。26間接尋址方式中的位碼倒序?qū)ぶ?,就是?ARX 為指針數(shù)據(jù)存貯器之后,再把 ARX 的內(nèi)容加/減 AR0 中的內(nèi)容進(jìn)行指針調(diào)整時(shí),是以位倒序的方式進(jìn)行,即進(jìn)位/借位是從左到右,而不是從右到左。27間接尋址方式中的循環(huán)尋址,就是在存貯器中設(shè)置一個(gè)長(zhǎng)度為 R 的循環(huán)

12、緩沖區(qū),用來保存的一批數(shù)據(jù),緩沖區(qū)址的 N 個(gè)最低有效位必須為 0,即 N是滿足 R 的最小整數(shù)。將 R 值存放在循環(huán)緩沖區(qū)長(zhǎng)度寄存器 BK 中,并指定一個(gè)輔助寄存器 ARX 指向循環(huán)緩沖區(qū),尋址時(shí)以 ARX 的低 N 位作為循環(huán)緩沖區(qū)的偏移量進(jìn)行所規(guī)定的尋址操作,并根據(jù)以下循環(huán)尋址方法修改偏移量,再返回 ARX的低 N 位。If0index+stepIndex=index+stepElseif index+stepBKindex=index+step-BKElseif index+step鎖定時(shí)間/16TCLK IN57、主機(jī)接口 HPI 是一個(gè) 8 位并行口,用來與主設(shè)備或主處理器接口。外

13、部主機(jī)是 HPI 的主控者,它可以通過 HPI 直接CPU 的空間,包括存貯器映象寄存器。HIP 是主機(jī)的一個(gè)設(shè)備。C54X 與主機(jī)傳送數(shù)據(jù)時(shí),HPI 能自動(dòng)地將外部接口傳來的連接的 8 位數(shù)組16 位數(shù)后傳送給C54X。58、HPI 主要由 HPI 存貯器(HPI RAM)、HPI 地址寄存器(HPIA)、HPI 數(shù)據(jù)鎖存器(H)、HPI 控制寄存器(HPIC)和 HPI 控制邏輯五個(gè)部分組成。HPI RAM為 2K 字 DARAM,主要用于C54X 與主機(jī)之間傳送數(shù)據(jù),也可作為雙尋址 RAM 或程序 RAM。HPIA 只能被主機(jī)尋址,寄存器中存放的是主機(jī)要的 HPIRAM 單元地址。H也只

14、能被主機(jī)直接,其中的內(nèi)容是主機(jī)當(dāng)前讀/寫 HPI RAM 的數(shù)據(jù)。HPIC 可被C54X 也可被主機(jī)59、HPI 有兩種工作方式:共用尋址方式 SAM 和僅主機(jī)尋址方式 HOM。在共用尋址方式下,主機(jī)和C54X 都能尋址 HPI RAM,在僅主機(jī)尋址方式下,僅能讓主機(jī)尋址 HPI RAM,如果工作時(shí)序周期發(fā)生一個(gè)周期。,則主機(jī)有更高優(yōu)先權(quán)。C54X 等待60、HPI 存貯器地址的自動(dòng)增量特性(使引腳、TL001,進(jìn)入地址自動(dòng)增量方式),可以用來連續(xù)尋址 HPI RAM,在自動(dòng)增量方式,每進(jìn)行一次讀操作,都會(huì)使 HPIA 事后增 1,每進(jìn)行一次寫操作,都會(huì)使 HIPA 事先增 1。61、HPIC

15、 寄存器是一個(gè) 16 位的寄存器,其中有 4 個(gè)狀態(tài)位控制著 HPI 的操作。由于主機(jī)接口總是傳送 8 位字節(jié),在主機(jī)這一邊就以相同內(nèi)容的高字節(jié)與低字節(jié)通過 8 位 HPI 數(shù)據(jù)總線傳送給 HPIC(選擇 HCNTL1 和 HCNTL0 均為 0)。在C54X這一邊 HPIC 的 002CH。是不用的,控制/狀態(tài)位都在低 4 位,尋址 HPIC 的地址為62、C54X 具有高速、全雙工串行口,它有三種形式:標(biāo)準(zhǔn)同步串行口 SSP、緩沖串行口 BSP 和時(shí)分多路串行口 TDM。C54X 的串行口都是雙緩沖的。63、標(biāo)準(zhǔn)同步串行口 SSP 是由 16 位數(shù)據(jù)接收寄存器 DRR、數(shù)據(jù)發(fā)送寄存器 DX

16、R、接收移位寄存器 RSR、發(fā)送移位寄存器 XSR 以及控制電路所組成。收、發(fā)部分還有與之相關(guān)的時(shí)鐘、幀同步脈沖信號(hào),串行數(shù)據(jù)可按 8 位字節(jié)或 16 位字轉(zhuǎn)換。64、緩沖串行口 BSP 是在標(biāo)準(zhǔn)同步串行口的基礎(chǔ)上增加了一個(gè)自動(dòng)緩沖單元 ABU,它是一種增強(qiáng)型的標(biāo)準(zhǔn)串行口。ABU 利用獨(dú)立于 CPU 的總線,讓串行口直接讀/寫C54X 的存貯器。65、BSP 有兩種工作方式:非緩沖方式和自動(dòng)緩沖方式。當(dāng)工作在非緩沖方式時(shí) ABU 是透明的,數(shù)據(jù)傳送操作與標(biāo)準(zhǔn)同步串行口一樣,串行口產(chǎn)生以字為基礎(chǔ)的中斷加到 CPU,作為接收和發(fā)送中斷。當(dāng)工作在緩沖方式時(shí),串行口直接與C54X存貯器進(jìn)行 16 位數(shù)

17、據(jù)傳送。66、時(shí)分多路串行口 TDM 是將時(shí)間間隔分成若干個(gè)子間隔,按事先規(guī)定,每一個(gè)子間隔表示一個(gè)通信信道,C54X TDM 最多可以有 8 個(gè) TDM 信道可用,每個(gè)器件可以用 1 個(gè)信道發(fā)送數(shù)據(jù),用 1 個(gè)或多個(gè)信道接收數(shù)據(jù)。67、TDM 串行口也有兩種工作方式:非 TDM 方式和 TDM 方式,當(dāng)工作在非 TDM 方式時(shí),其功能與標(biāo)準(zhǔn)同步串行口是一樣的。68、標(biāo)準(zhǔn)同步串行口的工作原理?接口操作受串行口控制寄存器 SPC 控制。69、C54X 通過外部總線與外部存貯器以及 I/O 設(shè)備相連,外部總線由數(shù)據(jù)總線、地址總線以及一組控制信號(hào)線所組成。當(dāng) CPU 尋址片內(nèi)存貯器時(shí),外部數(shù)據(jù)總線呈

18、狀態(tài),地址總線及 、 、 均保持先前的狀態(tài),如果 PMSR 中的地址可見位AVIS=1,那么 CPU 執(zhí)行指令時(shí)的程序存貯器的地址就出現(xiàn)在外部地址總線上,同時(shí)指令地址信號(hào) IAQ 有效。通過 READY 信號(hào)和片內(nèi)可編程等待狀態(tài)發(fā)生器,可以使處理器與慢速的存貯器及 I/O 口設(shè)備接口。當(dāng)外部設(shè)備需要尋址C54X 的外部程序、數(shù)據(jù)和 I/O 空間時(shí),可以利用 HOLD 和 HOLDA 信號(hào),達(dá)到控制C54X 的外部資源的目的。70、C54X 外部是單總線結(jié)構(gòu),每個(gè)周期只允許進(jìn)行一次尋址,否則就會(huì)發(fā)生流水線,因此C54X 規(guī)定了流水線各階段操作的優(yōu)先級(jí)別:數(shù)據(jù)尋址比程序?qū)ぶ赣休^高的優(yōu)先權(quán),在所有的 CPU 數(shù)據(jù)尋址完成以前程序存貯器取指操作是不可能開始的。71、C54X 片內(nèi)有兩個(gè)部總線的工作。等待狀態(tài)發(fā)生器和分區(qū)轉(zhuǎn)換邏輯電路,控制著外可編程等待狀態(tài)發(fā)生器可以將外部總線周期延長(zhǎng)多達(dá) 7 個(gè)機(jī)器周期,如果外部器件要求7 個(gè)以上的等待周期,則可以利用硬件 READY 線來接口,當(dāng)所有的外部尋址都配置在 0 等待狀態(tài)時(shí),加到等待狀態(tài)發(fā)生器的時(shí)鐘被關(guān)斷。72、C54X 將程序空間和數(shù)據(jù)空間都分成兩個(gè) 32K 字塊,I/O 空間由一個(gè) 64K 字塊組成。等待狀態(tài)寄存器每 3 位一個(gè)字段,共 5 個(gè)字段,分別對(duì)應(yīng)這 5 個(gè)存貯空間,用來定義各個(gè)空間等待狀態(tài)的數(shù)目 0

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論