版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
TMS320C54XDSP原理、編程及應(yīng)用第2章
TMS320C54X的硬件結(jié)構(gòu)教學(xué)內(nèi)容及要求
教學(xué)內(nèi)容:TMS320C54X芯片是一種特殊結(jié)構(gòu)的微處理器,為了快速地實(shí)現(xiàn)數(shù)字信號(hào)處理運(yùn)算,采用了流水線指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行處理結(jié)構(gòu),可在一個(gè)周期內(nèi)對(duì)數(shù)據(jù)進(jìn)行高速的算術(shù)運(yùn)算和邏輯運(yùn)算。本章主要介紹TMS320C54X芯片的硬件結(jié)構(gòu),重點(diǎn)對(duì)芯片的引腳功能、CPU結(jié)構(gòu)、內(nèi)部存儲(chǔ)器、系統(tǒng)控制以及內(nèi)外部總線進(jìn)行了討論。
教學(xué)要求:掌握TMS320C54X芯片基本結(jié)構(gòu),了解CPU基本組成;重點(diǎn)理解存儲(chǔ)器結(jié)構(gòu)與地址分配知識(shí),同時(shí)對(duì)芯片的外部引腳要有直觀的了解。本章主要內(nèi)容2.1TMS320C54X結(jié)構(gòu)2.2C54X的中央處理器CPU2.3C54X的存儲(chǔ)空間結(jié)構(gòu)
2.1TMS320C54X結(jié)構(gòu)
TMS320C54X(簡(jiǎn)稱C54X)是TI公司為實(shí)現(xiàn)低功耗、高速實(shí)時(shí)信號(hào)處理而專門設(shè)計(jì)的16位定點(diǎn)數(shù)字信號(hào)處理器,采用改進(jìn)的哈佛結(jié)構(gòu),具有高度的操作靈活性和運(yùn)行速度,適應(yīng)于遠(yuǎn)程通信等實(shí)時(shí)嵌入式應(yīng)用的需要,現(xiàn)已廣泛地應(yīng)用于無線電通信系統(tǒng)中。2.1.1C54內(nèi)部基本結(jié)構(gòu)圖2.1TMS320C54X內(nèi)部結(jié)構(gòu)框圖2.1.1C54內(nèi)部基本結(jié)構(gòu)2.1.2C54X主要特性和外部引腳1.C54X的主要特性⑴CPU
①采用先進(jìn)的多總線結(jié)構(gòu),通過1組程序總線、3組數(shù)
據(jù)總線和4組地址總線來實(shí)現(xiàn)。
②40位算術(shù)邏輯運(yùn)算單元ALU,包括1個(gè)40位桶形移位寄存器和2個(gè)獨(dú)立的40位累加器。
③
17×17bit并行乘法單元和專用的40bit加法器用于無等待狀態(tài)的單周期乘/累加操作。
④比較、選擇和存儲(chǔ)單元(CSSU)能夠完成維特比(Viterbi,通信中一種編碼方式)的加/比較/選擇操作。2.1.2C54X主要特性和外部引腳
⑤指數(shù)編碼器可以在單周期內(nèi)對(duì)40bit累加器進(jìn)行指數(shù)運(yùn)算。
⑥兩個(gè)地址發(fā)生器包括8個(gè)輔助寄存器(AR0~AR7)和兩個(gè)輔助寄存器算術(shù)運(yùn)算單元(ARAU0、ARAU1)。
⑦TMS320C5420還包括一個(gè)雙CPU的結(jié)構(gòu)。⑵存儲(chǔ)器
①可訪問的最大存儲(chǔ)空間為192K×16位,即64K字的程序存儲(chǔ)器、64K字的數(shù)據(jù)存儲(chǔ)器以及64K字的I/O空間。
②片內(nèi)ROM,可配置為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。
③片內(nèi)RAM有兩種類型,即雙尋址RAM(DARAM)和單尋址RAM(SARAM)。2.1.2C54X主要特性和外部引腳⑶指令系統(tǒng)
①支持單指令重復(fù)和塊指令重復(fù)操作
②支持存儲(chǔ)器塊傳送指令
③支持32位長(zhǎng)操作數(shù)指令
④具有支持2操作數(shù)或3個(gè)操作數(shù)的讀指令
⑤具有能并行存儲(chǔ)和并行加載的算術(shù)指令
⑥支持條件存儲(chǔ)指令及中斷快速返回指令⑷在片外圍電路
①具有軟件可編程等待狀態(tài)發(fā)生器
2.1.2C54X主要特性和外部引腳
②設(shè)有可編程分區(qū)轉(zhuǎn)換邏輯電路
③帶有內(nèi)部振蕩器或外部時(shí)鐘源的片內(nèi)鎖相環(huán)(PLL)發(fā)生器
④支持全雙工操作的串行口,可進(jìn)行8位或16位串行通信
⑤16位可編程定時(shí)器
⑥設(shè)有與主機(jī)通信的8位并行接口(HPI)
⑦具有外部總線判斷控制,以斷開外部的數(shù)據(jù)總線、地址總線和控制信號(hào)
⑧數(shù)據(jù)總線具有總線保持器特性2.1.2C54X主要特性和外部引腳⑸電源
①具有多種節(jié)電模式??捎肐DLE1、IDLE2和IDLE3指令來控制芯片功耗,使CPU工作在省電方式。
②可在軟件控制下,禁止CLKOUT輸出信號(hào)。⑹片內(nèi)仿真接口
具有符合IEEE1149.1標(biāo)準(zhǔn)的片內(nèi)仿真接口。2.C54X的引腳功能
TMS320C54X芯片采用CMOS制造工藝,整個(gè)系列的型號(hào)基本上都采用塑料或陶瓷四方扁平封裝形式(TQFP)。不同的器件型號(hào)其引腳的個(gè)數(shù)有所不同。下面以2.1.2C54X主要特性和外部引腳TMS320VC5402芯片為例,介紹C54X引腳的名稱及功能,引腳功能見附錄1。
TMS320C5402引腳:■電源引腳
■串行口引腳■時(shí)鐘引腳
■主機(jī)接口引腳■控制引腳
■通用I/O引腳■地址和數(shù)據(jù)引腳
■測(cè)試引腳⑴電源引腳
C5402采用雙電源供電,其引腳有:
2.1.2C54X主要特性和外部引腳
①CVDD(16、52、68、91、125、142),電壓為+1.8V,為CPU內(nèi)核提供專用電源;
②DVDD(4、33、56、75、112、130),電壓為+3.3V,為各I/O引腳提供電源;
③VSS(3、14、34、40、50、57、70、76、93、106、111、128),接地。⑵時(shí)鐘引腳
C5402的時(shí)鐘發(fā)生器由內(nèi)部振蕩器和鎖相環(huán)PLL構(gòu)成,引腳功能見附錄1。
①CLKOUT:主時(shí)鐘輸出引腳,周期為CPU的機(jī)器周期。2.1.2C54X主要特性和外部引腳
②CLKMD1、CLKMD2和CLKMD3:設(shè)定時(shí)鐘工作模式引腳,用來配置硬件時(shí)鐘模式。
③X2/CLKIN:時(shí)鐘振蕩器引腳。
若使用內(nèi)部時(shí)鐘,該引腳用來外接晶體電路;若使用外部時(shí)鐘,該引腳接外部時(shí)鐘輸入。
④X1:時(shí)鐘振蕩器引腳。若使用內(nèi)部時(shí)鐘,該引腳用來外接晶體電路;若使用
外部時(shí)鐘,該引腳懸空。
⑤TOUT:定時(shí)器輸出引腳。2.1.2C54X主要特性和外部引腳⑶控制引腳
控制引腳用來產(chǎn)生和接收外部器件的各種控制信號(hào),引腳功能見附錄1。
2.1.2C54X主要特性和外部引腳⑷地址和數(shù)據(jù)引腳
C5402芯片共有20個(gè)地址引腳和16個(gè)數(shù)據(jù)引腳。地址引腳用來尋址外部程序空間、外部數(shù)據(jù)空間和片外I/O空間。A19~A0:可尋址1M的外部程序空間,64K外部數(shù)據(jù)空間,64K片外I/O空間
數(shù)據(jù)引腳:用于在處理器、外部數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器和I/O器件之間進(jìn)行16位數(shù)據(jù)并行傳輸。D15~D0:組成16位外部數(shù)據(jù)總線。在下列情況下,D15~D0將呈現(xiàn)高阻狀態(tài)。2.1.2C54X主要特性和外部引腳⑸串行口引腳
C5402器件有兩個(gè)McBSP串行口,共有12個(gè)外部引腳。2.1.2C54X主要特性和外部引腳⑹主機(jī)接口HPI引腳
C5402的HPI接口是一個(gè)8位并行口,用來與主設(shè)備或主處理器接口,實(shí)現(xiàn)DSP與主設(shè)備或主處理器間的通信。
:8位雙向并行數(shù)據(jù)線;
:片選信號(hào),作為HPI的使能端;
:地址選通信號(hào);
、
:數(shù)據(jù)選通信號(hào),由主機(jī)控制HPI數(shù)據(jù)傳輸;HBIL:字節(jié)識(shí)別信號(hào),用來判斷主機(jī)送來的數(shù)據(jù)是第1字節(jié)還是第2字節(jié)。2.1.2C54X主要特性和外部引腳HCNTL0、HCNTL1:主機(jī)控制信號(hào)。用于主機(jī)選擇所要尋址的寄存器;HR/
:主機(jī)對(duì)HPI口的讀/寫信號(hào);
HRDY
:HPI數(shù)據(jù)準(zhǔn)備好信號(hào);/TOUT1:HPI向主機(jī)請(qǐng)求的中斷信號(hào);
HPIENA:HPI模塊選擇信號(hào)。⑺通用I/O引腳
C5402芯片都有2個(gè)通用的I/O引腳,分別為:XF:外部標(biāo)志輸出信號(hào),用來給外部設(shè)備發(fā)送信號(hào)。通過編程設(shè)置,控制外設(shè)工作。2.1.2C54X主要特性和外部引腳
:控制分支轉(zhuǎn)移輸入信號(hào),用來監(jiān)測(cè)外設(shè)的工作狀態(tài)。⑻測(cè)試引腳
C5402芯片具有符合IEEE1149.1標(biāo)準(zhǔn)的在片仿真接口。2.1.3C54X的內(nèi)部總線結(jié)構(gòu)TMS320C54X的結(jié)構(gòu)是以8組16位總線為核心,形成了支持高速指令執(zhí)行的硬件基礎(chǔ)。1.程序總線PB
主要用來傳送取自程序存儲(chǔ)器的指令代碼和立即操作數(shù)。PB總線既可以將程序空間的操作數(shù)據(jù)(如系數(shù)表)送至數(shù)據(jù)空間的目標(biāo)地址中,以實(shí)現(xiàn)數(shù)據(jù)移動(dòng),也可以將程序空間的操作數(shù)據(jù)傳送乘法器和加法器中,以便執(zhí)行乘法-累加操作。2.1.3C54X的內(nèi)部總線結(jié)構(gòu)2.?dāng)?shù)據(jù)總線CB、DB和EB3條數(shù)據(jù)總線分別與不同功能內(nèi)部單元相連接。如:CPU、程序地址產(chǎn)生邏輯PAGEN、數(shù)據(jù)地址產(chǎn)生邏輯
DAGEN、片內(nèi)外設(shè)和數(shù)據(jù)存儲(chǔ)器等。CB和DB用來傳送從數(shù)據(jù)存儲(chǔ)器讀出的數(shù)據(jù);EB用來傳送寫入存儲(chǔ)器的數(shù)據(jù)。3.地址總線PAB、CAB、DAB和EAB2.1.3C54X的內(nèi)部總線結(jié)構(gòu)2.2C54X的中央處理器CPUCPU是DSP器件的核心部件,它的性能直接關(guān)系到DSP器件的性能。C54X的CPU采用了流水線指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行結(jié)構(gòu)設(shè)計(jì),使其能在一個(gè)指令周期內(nèi),高速地完成多項(xiàng)算術(shù)運(yùn)算。CPU包括下列基本部件:
①40位算術(shù)邏輯運(yùn)算單元ALU;
②2個(gè)40位的累加器A和B;
③支持-16~31位移位范圍的桶形移位寄存器;
④能完成乘法-加法運(yùn)算的乘法累加器MAC;
⑤16位暫存寄存器T;
2.2C54X的中央處理器CPU
⑥比較、選擇、存儲(chǔ)單元CSSU;
⑦指數(shù)譯碼器;
⑧CPU狀態(tài)和控制寄存器。C54X使用40位的算術(shù)邏輯運(yùn)算單元和2個(gè)40位累加器,可完成寬范圍的算術(shù)、邏輯運(yùn)算。C54X的大多數(shù)算術(shù)邏輯運(yùn)算指令都是單周期指令,其運(yùn)算結(jié)果通常自動(dòng)送入目的累加器A或B。但在執(zhí)行存儲(chǔ)器到存儲(chǔ)器的算術(shù)邏輯運(yùn)算指令時(shí),其運(yùn)算結(jié)果則存入指令指定的目的存儲(chǔ)器。2.2.1算術(shù)邏輯運(yùn)算單元ALU2.2.1算術(shù)邏輯運(yùn)算單元ALU1.ALU的輸入和輸出根據(jù)輸入源的不同,ALU采用不同的輸入方式。(1)ALU的X輸入源
①來自桶形移位寄存器輸出的操作數(shù);
②
來自數(shù)據(jù)總線DB中的操作數(shù)。(2)ALU的Y輸入源
①來自累加器A中的數(shù)據(jù);
②來自累加器B中的數(shù)據(jù);
③來自數(shù)據(jù)總線CB中的操作數(shù);
④來自T寄存器中的操作數(shù)。2.2.1算術(shù)邏輯運(yùn)算單元ALU(3)ALU輸入數(shù)據(jù)的預(yù)處理當(dāng)16位數(shù)據(jù)存儲(chǔ)器操作數(shù)通過數(shù)據(jù)總線DB或CB輸入時(shí),ALU將采用兩種方式對(duì)操作數(shù)進(jìn)行預(yù)處理。
①若數(shù)據(jù)存儲(chǔ)器的16位操作數(shù)在低16位時(shí),則
■當(dāng)SXM=0時(shí),高24位
(39~16位
)用0填充;
■當(dāng)SXM=1時(shí),高24位
(39~16位
)擴(kuò)展為符號(hào)位。②若數(shù)據(jù)存儲(chǔ)器的16位操作數(shù)在高16位時(shí),則
■當(dāng)SXM=0時(shí),39~32位和15~0位用0填充;
■當(dāng)SXM=1時(shí),39~32位擴(kuò)展為符號(hào)位,15~0位置0。2.2.1算術(shù)邏輯運(yùn)算單元ALU(4)ALU的輸出ALU的輸出為40位運(yùn)算結(jié)果,通常被送至累加器A或B。2.溢出處理
ALU的飽和邏輯可以對(duì)運(yùn)算結(jié)果進(jìn)行溢出處理。當(dāng)發(fā)生溢出時(shí),將運(yùn)算結(jié)果調(diào)整為最大正數(shù)(正向溢出)或最小負(fù)數(shù)(負(fù)向溢出)。
當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí):①若OVM=0,則對(duì)ALU的運(yùn)算結(jié)果不作任何調(diào)整,直接送入累加器;2.2.1算術(shù)邏輯運(yùn)算單元ALU②若OVM=1,則對(duì)ALU的運(yùn)行結(jié)果進(jìn)行調(diào)整。■當(dāng)正向溢出時(shí),將32位最大正數(shù)007FFFFFFFH裝入累加器;
■當(dāng)負(fù)向溢出時(shí),將32位最小負(fù)數(shù)FF80000000H裝入累加器。③狀態(tài)寄存器ST0中與目標(biāo)累加器相關(guān)的溢出標(biāo)志OVA或OVB被置1。3.進(jìn)位位CALU有一個(gè)與運(yùn)算結(jié)果有關(guān)的進(jìn)位位C,位于ST0的11位。進(jìn)位位C受大多數(shù)ALU操作指令的影響,包括算術(shù)操作、循環(huán)操作和移位操作。2.2.1算術(shù)邏輯運(yùn)算單元ALU①用來指明是否有進(jìn)位發(fā)生;②用來支持?jǐn)U展精度的算術(shù)運(yùn)算;③可作為分支、調(diào)用、返回和條件操作的執(zhí)行條件。注意:①進(jìn)位位C不受裝載累加器操作、邏輯操作、非算術(shù)運(yùn)算和控制指令的影響;
②可通過寄存器操作指令RSBX和SSBX對(duì)其進(jìn)行置位和復(fù)位。4.雙16位算術(shù)運(yùn)算
若要將ST1中的C16置位,則ALU進(jìn)行雙16位算術(shù)運(yùn)算,即在一個(gè)機(jī)器周期內(nèi)完成兩個(gè)16位數(shù)的算術(shù)運(yùn)算,進(jìn)行兩次16位加法或兩次16位減法運(yùn)算。2.2.1算術(shù)邏輯運(yùn)算單元ALU5.其他控制位
除SXM、OVM、C、C16、OVA、OVB外,ALU還有兩個(gè)控制位。
■TC——測(cè)試/控制標(biāo)志,位于ST0的12位;
■ZA/ZB——累加器結(jié)果為0標(biāo)志位。2.2.2累加器A和BC54X芯片有兩個(gè)獨(dú)立的40位累加器A和B,可以作為ALU或MAC的目標(biāo)寄存器,存放運(yùn)算結(jié)果,也可以作為ALU或MAC的一個(gè)輸入。在執(zhí)行并行指令(LD||MAC)和一些特殊指令(MIN和MAX)時(shí),兩個(gè)累加器中的一個(gè)用于裝載數(shù)據(jù),而另一個(gè)用于完成運(yùn)算。1.累加器結(jié)構(gòu)2.2.2累加器A和B2.帶移位的累加器存儲(chǔ)操作先將累加器內(nèi)容移位,再將高16位存入存儲(chǔ)器?!鲇乙拼鎯?chǔ):AG(BG)右移AH(BH),AH(BH)存入存儲(chǔ)器;■左移存儲(chǔ):AL(BL)左移AH(BH),AH(BH)存入存儲(chǔ)器。注意:①移位操作是在存儲(chǔ)累加器內(nèi)容的過程中同時(shí)完成的;
②移位操作是在移位寄存器中完成的,累加器的內(nèi)容保持不變。2.2.3桶形移位寄存器TMS320C54X的40位桶形移位寄存器主要用于累加器或數(shù)據(jù)區(qū)操作數(shù)的定標(biāo)。它能將輸入數(shù)據(jù)進(jìn)行0~31位的左移和0~16位的右移。所移動(dòng)的位數(shù)可由ST1中的ASM或被指定的暫存器T決定。其工作原理見圖2.6。2.2.3桶形移位寄存器2.2.3桶形移位寄存器1.組成框圖①多路選擇器MUX用來選擇輸入數(shù)據(jù)。②符號(hào)控制SC用于對(duì)輸入數(shù)據(jù)進(jìn)行符號(hào)位擴(kuò)展。③移位寄存器
用來對(duì)輸入的數(shù)據(jù)進(jìn)行定標(biāo)和移位。④
寫選擇電路用來選擇最高有效字和最低有效字。2.2.3桶形移位寄存器2.桶形移位寄存器的輸入
通過多路選擇器MUX來選擇輸入信號(hào)。①
取自DB數(shù)據(jù)總線的16位輸入數(shù)據(jù);②
取自DB和CB擴(kuò)展數(shù)據(jù)總線的32位輸入數(shù)據(jù);③來自累加器A或B的40位輸入數(shù)據(jù)。3.桶形移位寄存器的輸出
①
輸出至ALU的一個(gè)輸入端;②經(jīng)寫MSW/LSW選擇電路輸出至EB總線。2.2.3桶形移位寄存器4.桶形移位寄存器的功能
主要用于格式化操作,為輸入的數(shù)據(jù)定標(biāo)。①在進(jìn)行ALU運(yùn)算之前,對(duì)輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)定標(biāo);
②對(duì)累加器進(jìn)行算術(shù)或邏輯移位;
③對(duì)累加器進(jìn)行歸一化處理;④在累加器的內(nèi)容存入數(shù)據(jù)存儲(chǔ)器之前,對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行定標(biāo)。5.桶形移位寄存器的操作(1)控制操作數(shù)的符號(hào)位擴(kuò)展根據(jù)SXM位控制操作數(shù)進(jìn)行符號(hào)位的擴(kuò)展。若操作數(shù)為有符號(hào)數(shù),則2.2.3桶形移位寄存器■當(dāng)SXM=1時(shí),完成符號(hào)位擴(kuò)展;■當(dāng)SXM=0時(shí),禁止符號(hào)位擴(kuò)展。若操作數(shù)為無符號(hào)數(shù),則不考慮SXM位,不執(zhí)行符號(hào)位的擴(kuò)展。如:LDU、ADDS和SUBS指令,操作數(shù)為無符號(hào)數(shù),不進(jìn)行符號(hào)位擴(kuò)展。(2)控制操作數(shù)的移位
根據(jù)指令中的移位數(shù),控制操作數(shù)進(jìn)行移位操作。移位數(shù)用二進(jìn)制補(bǔ)碼表示,正值時(shí)完成左移,負(fù)值時(shí)完成右移。移位數(shù)的形式:2.2.3桶形移位寄存器①5位立即數(shù),取值范圍:-16~15;
②
ST1中的ASM位,取值范圍:-16~15;
③暫存器T中的低6位數(shù)值,取值范圍:-16~31。這種移位操作能使CPU完成數(shù)據(jù)的定標(biāo)、位提取、擴(kuò)展算術(shù)和溢出保護(hù)等操作。【例2.4.2】對(duì)累加器A執(zhí)行不同的移位操作。ADDA,
-4,B;A右移4位后加到B中ADDA,
ASM,B;A按ASM移位后加到B中NORMA;按T的數(shù)值對(duì)A進(jìn)行歸一化2.2.3桶形移位寄存器桶形移位寄存器和指數(shù)譯碼器可以將累加器中的數(shù)值在一個(gè)周期內(nèi)進(jìn)行歸一化處理。例如,40位累加器A中的定點(diǎn)數(shù)為FFFFFFF001。
①先用EXP
A指令,求得它的指數(shù)為13H,存放在T寄存器中。②然后再執(zhí)行NORM
A指令,可在單個(gè)周期內(nèi)將原來的定點(diǎn)數(shù)分成尾數(shù)FF80080000和指數(shù)13H兩個(gè)部分。(3)控制操作數(shù)完成帶測(cè)試位的移位根據(jù)ROLTC指令,控制操作數(shù)完成帶測(cè)試位的循環(huán)左移。(4)完成MSW和LSW的寫選擇MSW/LSW單元根據(jù)CSSU信號(hào),選擇移位后的信號(hào)鎖存,并輸出至EB總線。2.2.4乘法-累加單元MACC54X的乘法-累加單元MAC是由乘法器、加法器、符號(hào)控制、小數(shù)控制、零檢測(cè)器、舍入器、飽和邏輯和暫存器幾部分組成。MAC單元具有強(qiáng)大的乘法-累加運(yùn)算功能,可在一個(gè)流水線周期內(nèi)完成1次乘法運(yùn)算和1次加法運(yùn)算。在數(shù)字濾波(FIR和IIR濾波)以及自相關(guān)等運(yùn)算中,使用乘法-累加運(yùn)算指令可以大大提高系統(tǒng)的運(yùn)算速度1.乘法器MAC單元包含一個(gè)1717位硬件乘法器,可完成有符號(hào)數(shù)和無符號(hào)數(shù)的乘法運(yùn)算。其工作原理見圖2.7。2.2.4乘法-累加單元MAC2.2.4乘法-累加單元MAC(1)乘法器的輸入XM輸入:①
取自數(shù)據(jù)總線DB的數(shù)據(jù)存儲(chǔ)器操作數(shù);
②
來自暫存器T的操作數(shù);
③
來自累加器A的32~16位操作數(shù)。YM輸入:①
來自數(shù)據(jù)總線DB的數(shù)據(jù)存儲(chǔ)器操作數(shù);
②
來自數(shù)據(jù)總線CB的數(shù)據(jù)存儲(chǔ)器操作數(shù);
③
來自程序總線PB的程序存儲(chǔ)器操作數(shù);
④
來自累加器A的32~16位操作數(shù)。2.2.4乘法-累加單元MAC(2)乘法器的輸出
乘法器的輸出經(jīng)小數(shù)控制電路接至加法器的XA輸入端。(3)乘法器的操作
MAC單元的乘法器能進(jìn)行有符號(hào)數(shù)、無符號(hào)數(shù)以及有符號(hào)數(shù)與無符號(hào)數(shù)的乘法運(yùn)算。根據(jù)操作數(shù)的不同情況需進(jìn)行以下處理:■若是兩個(gè)有符號(hào)數(shù)相乘,則在進(jìn)行乘法運(yùn)算之前,先對(duì)兩個(gè)16位乘數(shù)進(jìn)行符號(hào)位擴(kuò)展,形成17位有符號(hào)數(shù)后再進(jìn)行相乘。2.2.4乘法-累加單元MAC擴(kuò)展的方法:在每個(gè)乘數(shù)的最高位前增加一個(gè)符號(hào)位,其值由乘數(shù)的最高位決定,即正數(shù)為0,負(fù)數(shù)為1。
■若是有符號(hào)數(shù)與無符號(hào)數(shù)相乘,則有符號(hào)數(shù)在最高位前添加1個(gè)符號(hào)位,其值由最高位決定,而無符號(hào)數(shù)在最高位前面添加“0”,然后兩個(gè)操作數(shù)相乘。由于乘法器在進(jìn)行兩個(gè)16位二進(jìn)制補(bǔ)碼相乘時(shí)會(huì)產(chǎn)生兩個(gè)符號(hào)位,為提高運(yùn)算精度,在狀態(tài)寄存器ST1中設(shè)置了小數(shù)方式控制位FRCT。當(dāng)FRCT=1時(shí),乘法結(jié)果左移一位,消去多余的符號(hào)位,相應(yīng)的定標(biāo)值加1。
2.2.4乘法-累加單元MAC2.專用加法器在MAC單元中,專用加法器用來完成乘積項(xiàng)的累加運(yùn)算。(1)加法器的輸入
XA輸入:來自乘法器的輸出。YA輸入:①
來自累加器A的操作數(shù);
②來自累加器B的操作數(shù)。(2)加法器的輸出
輸出經(jīng)零檢測(cè)器、舍入器和溢出/飽和邏輯電路后,將產(chǎn)生的狀態(tài)標(biāo)志送入狀態(tài)寄存器,并將運(yùn)算結(jié)果送入累加器A或B。
2.2.5比較、選擇和存儲(chǔ)單元CSSUC54X的比較、選擇和存儲(chǔ)單元(CSSU)是一個(gè)特殊用途的硬件電路,專門用來完成Viterbi算法中的加法/比較/選擇(ACS)操作。2.2.5比較、選擇和存儲(chǔ)單元CSSUCSSU單元主要完成累加器的高階位與低階位之間最大值的比較,即選擇累加器中較大的字,并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中。工作過程:①
比較電路COMP將累加器A或B的高階位與低階位進(jìn)行比較;②
比較結(jié)果分別送入TRN和TC中,記錄比較結(jié)果以便程序調(diào)試;③比較結(jié)果輸出至寫選擇電路,選擇較大的數(shù)據(jù);④
將選擇的數(shù)據(jù)通過總線EB存入指定的存儲(chǔ)單元。2.2.5比較、選擇和存儲(chǔ)單元CSSU例如,CMPS指令可以對(duì)累加器的高階位和低階位進(jìn)行比較,并選擇較大的數(shù)存放在指令所指定的存儲(chǔ)單元中。指令格式:CMPSA,*AR1功能:對(duì)累加器A的高16位字(AH)和低16位字(AL)進(jìn)行比較,
■若AH>AL,則AH→*AR1,TRN左移1位,0→TRN(0),0→TC;
■若AH<AL,則AL→*AR1,TRN左移1位,1→TRN(0),1→TC。2.2.6指數(shù)編碼器EXP指數(shù)編碼器是一個(gè)用于支持指數(shù)運(yùn)算指令的專用硬件,可以在單周期內(nèi)執(zhí)行EXP指令,求累加器中數(shù)的指數(shù)值。功能:求累加器中數(shù)據(jù)的指數(shù)值,指數(shù)值=冗余符號(hào)位-8。2.2.7CPU狀態(tài)和控制寄存器C54X提供三個(gè)16位寄存器來作為CPU狀態(tài)和控制寄存器,它們分別為:
狀態(tài)寄存器0(ST0);狀態(tài)寄存器1(ST1);工作方式狀態(tài)寄存器(PMST)
ST0和ST1主要包含各種工作條件和工作方式的狀態(tài);PMST包含存儲(chǔ)器的設(shè)置狀態(tài)和其他控制信息。這些寄存器都是存儲(chǔ)器映像寄存器,可以很方便地對(duì)它們進(jìn)行如下數(shù)據(jù)操作:■將它們快速地存放到數(shù)據(jù)存儲(chǔ)器;■由數(shù)據(jù)存儲(chǔ)器對(duì)它們進(jìn)行加載;■用子程序或中斷服務(wù)程序保存和恢復(fù)處理器的狀態(tài)。2.2.7CPU狀態(tài)和控制寄存器1.狀態(tài)寄存器0(ST0)主要反映處理器的尋址要求和計(jì)算機(jī)的運(yùn)行狀態(tài)。ST0的結(jié)構(gòu):ARP:輔助寄存器指針。用來選擇使用單操作數(shù)間接尋址時(shí)的輔助寄存器AR0~AR7。TC:測(cè)試/控制標(biāo)志。用來保存ALU測(cè)試操作的結(jié)果。C:進(jìn)位標(biāo)志位。用來保存ALU加減運(yùn)算時(shí)所產(chǎn)生的進(jìn)/借位。2.2.7CPU狀態(tài)和控制寄存器OVA/B:累加器A/B的溢出標(biāo)志。用來反映A/B是否產(chǎn)生溢出DP:數(shù)據(jù)存儲(chǔ)器頁(yè)指針。用來與指令中提供的7位地址結(jié)合形成1個(gè)16位數(shù)據(jù)存儲(chǔ)器的地址2.狀態(tài)寄存器1(ST1)2.2.7CPU狀態(tài)和控制寄存器BRAF:塊重復(fù)操作標(biāo)志位。
用來指示當(dāng)前是否在執(zhí)行塊重復(fù)操作。
BRAF=0表示當(dāng)前不進(jìn)行重復(fù)塊操作;BRAF=1表示當(dāng)前正在進(jìn)行塊重復(fù)操作。CPL:直接尋址編輯方式標(biāo)志位;
用來指示直接尋址選用何種指針。
CPL=0選用數(shù)據(jù)頁(yè)指針DP的直接尋址;CPL=1選用堆棧指針SP的直接尋址。2.2.7CPU狀態(tài)和控制寄存器XF:外部XF引腳狀態(tài)控制位。
用來控制XF通用外部輸出引腳的狀態(tài)。
執(zhí)行SSBXXF=1XF通用輸出引腳為1;
執(zhí)行RSBXXF=0XF通用輸出引腳為0。HM:保持方式位;響應(yīng)HOLD信號(hào)時(shí),指示CPU是否繼續(xù)執(zhí)行內(nèi)部操作。HM=0CPU從內(nèi)部程序存儲(chǔ)器取指,繼續(xù)執(zhí)行內(nèi)部操作。
HM=1CPU停止內(nèi)部操作。2.2.7CPU狀態(tài)和控制寄存器INTM:中斷方式控制位;
用于屏蔽或開放所有可屏蔽中斷。
INTN=0開放全部可屏蔽中斷;INTN=1禁止所有可屏蔽中斷。
0:保留位,未被使用,總是讀為0。
OVM:溢出方式控制位;用來確定累加器溢出時(shí),對(duì)累加器的加載方式。OVM=0將運(yùn)算的溢出結(jié)果直接加載到累加器中;OVM=1當(dāng)正溢出時(shí),將007FFFFFFFH加載累加器;
當(dāng)負(fù)溢出時(shí),將FF80000000H加載累加器。
2.2.7CPU狀態(tài)和控制寄存器SXM:符號(hào)位擴(kuò)展方式控制位;用來確定數(shù)據(jù)在運(yùn)算之前是否需要符號(hào)位擴(kuò)展。SXM=0數(shù)據(jù)進(jìn)入ALU之前禁止符號(hào)位擴(kuò)展;
SXM=1數(shù)據(jù)進(jìn)入ALU之前進(jìn)行符號(hào)位擴(kuò)展。FRCT:小數(shù)方式控制位;
用來確定乘法器的運(yùn)算方式。FRCT=1乘法器的輸出左移一位,消除多余的符號(hào)位。
C16:雙16位/雙精度算術(shù)運(yùn)算方式控制位;
用來決定ALU的算術(shù)運(yùn)算方式。C16=0ALU工作在雙精度算術(shù)運(yùn)算方式;
C16=1ALU工作在雙16位算術(shù)運(yùn)算方式。2.2.7CPU狀態(tài)和控制寄存器CMPT:間接尋址輔助寄存器修正方式控制位;用來決定ARP是否進(jìn)行修正。CMPT=0在進(jìn)行間接尋址單操作數(shù)時(shí),不修正ARP;CMPT=1在進(jìn)行間接尋址單操作數(shù)時(shí),修正ARP。ASM:累加器移位方式控制位。為某些具有移位操作的指令設(shè)定一個(gè)從-16~15范圍內(nèi)的移位值。2.2.7CPU狀態(tài)和控制寄存器3.工作方式狀態(tài)寄存器PMST主要設(shè)定和控制處理器的工作方式和存儲(chǔ)器的配置,反映處理器的工作狀態(tài)。2.2.7CPU狀態(tài)和控制寄存器IPTR:用來指示中斷向量所駐留的128K字程序存儲(chǔ)器的位置;MP/MC:用來確定是否允許使用片內(nèi)程序存儲(chǔ)器ROMOVLY:用來決定片內(nèi)雙尋址數(shù)據(jù)RAM是否映射到程序空間。
AVIS:用來決定是否可以從器件地址引腳線看到內(nèi)部程序空間地址線;DROM:用來決定片內(nèi)ROM是否可以映射到數(shù)據(jù)存儲(chǔ)空間;CLKOFF:用來決定時(shí)鐘輸出引腳CLKOUT是否有信號(hào)輸出;SMUL:用來決定乘法結(jié)果是否需要進(jìn)行飽和處理;
SST:用來決定累加器中的數(shù)據(jù)在存儲(chǔ)到存儲(chǔ)器之前,是否需要飽和處理。2.2.7CPU狀態(tài)和控制寄存器2.3C54X的存儲(chǔ)空間結(jié)構(gòu)C54X共有192K字的存儲(chǔ)空間,分成3個(gè)相互獨(dú)立可選擇的存儲(chǔ)空間:①程序存儲(chǔ)空間:用來存放要執(zhí)行的指令和指令執(zhí)行中所需要的系數(shù)表(數(shù)學(xué)用表);②數(shù)據(jù)存儲(chǔ)空間:用來存放執(zhí)行指令所需要的數(shù)據(jù);③I/O存儲(chǔ)空間:用來提供與外部存儲(chǔ)器映射的接口,可以作為外部數(shù)據(jù)存儲(chǔ)空間使用。存儲(chǔ)器分類按使用功能:■程序空間■數(shù)據(jù)空間按訪問形式:■ROM■RAM在芯片中有兩類RAM:雙尋址RAM(DARAM)和單尋址RAM(SARAM),分別也可稱為雙口RAM和單口RAM。所有C54X芯片都含有片內(nèi)RAM和ROM。2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.3C54X的存儲(chǔ)空間結(jié)構(gòu)片內(nèi)存儲(chǔ)器的優(yōu)點(diǎn)■不需要插入等待狀態(tài);■與外部存儲(chǔ)器相比,成本低;■比外部存儲(chǔ)器功耗小。
2.3C54X的存儲(chǔ)空間結(jié)構(gòu)表2-2C54X片內(nèi)存儲(chǔ)器資源配置DSP存儲(chǔ)器C541C542C543C545C546C548C549C5402C5410C5416C5420ROM程序程序/數(shù)據(jù)DARAMSARAM28K20K8K5K02K2K010K02K2k010K048K32K16K6K048K32K16K6K02K2K08K24K16K16K08K24K4K4K4K16K016K16K08K56K16K16K064K64K00032K168K2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.3.1存儲(chǔ)空間結(jié)構(gòu)
C54X所有內(nèi)部和外部程序存儲(chǔ)器及內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器分別統(tǒng)一編址。內(nèi)部RAM總是映射到數(shù)據(jù)存儲(chǔ)空間,但也可映射到程序存儲(chǔ)空間。ROM可以靈活地映射到程序存儲(chǔ)空間,同時(shí)也可以部分地映射到數(shù)據(jù)存儲(chǔ)空間。存儲(chǔ)空間的任何一種存儲(chǔ)器都可以駐留在片內(nèi)或片外。2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.3.2程序存儲(chǔ)空間程序存儲(chǔ)空間用來存放要執(zhí)行的指令和執(zhí)行中所需的系數(shù)表。C5402共有20條地址線,可尋址1M字的外部程序存儲(chǔ)器。它的內(nèi)部ROM和DARAM可通過軟件映射到程序空間。當(dāng)存儲(chǔ)單元映射到程序空間時(shí),CPU可自動(dòng)地按程序存儲(chǔ)器對(duì)它們進(jìn)行尋址。如果程序地址生成器(PAGEN)產(chǎn)生的地址處于外部存儲(chǔ)器,CPU可自動(dòng)地對(duì)外部存儲(chǔ)器尋址。2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.3C54X的存儲(chǔ)空間結(jié)構(gòu)圖2.11微計(jì)算機(jī)模式MP/2.3C54X的存儲(chǔ)空間結(jié)構(gòu)圖2.11微處理器模式MP/2.3C54X的存儲(chǔ)空間結(jié)構(gòu)⑵OVLY控制位用來決定程序存儲(chǔ)空間是否使用內(nèi)部RAM■當(dāng)OVLY=0時(shí),程序存儲(chǔ)空間不使用內(nèi)部RAM。
0000H~3FFFH全部定義為外部程序存儲(chǔ)空間,此時(shí)內(nèi)部RAM只作為數(shù)據(jù)存儲(chǔ)器使用?!霎?dāng)OVLY=1時(shí),程序存儲(chǔ)空間使用內(nèi)部RAM。內(nèi)部RAM同時(shí)被映射到程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間。
0000H~007FH保留,程序無法占用;
0080H~3FFFH定義為內(nèi)部DARAM。2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.程序存儲(chǔ)空間的分頁(yè)擴(kuò)展在C54X系列芯片中,有些芯片采用分頁(yè)擴(kuò)展的方法,使程序存儲(chǔ)空間可擴(kuò)展到1M~8M。如:C5409和C5416可擴(kuò)展到8M。C5402有20條外部程序地址總線,其程序空間只能擴(kuò)展到1M。分頁(yè)擴(kuò)展技術(shù)的特點(diǎn):①有20或23條外部程序地址線,可尋址1M或8M存儲(chǔ)空間;②有1個(gè)額外的存儲(chǔ)器映像寄存器—程序計(jì)數(shù)器擴(kuò)展寄存器XPC;③有6條尋址擴(kuò)展程序空間的指令,用于尋址擴(kuò)展程序空間。2.3C54X的存儲(chǔ)空間結(jié)構(gòu)■當(dāng)OVLY=0時(shí),內(nèi)部RAM不允許映射到程序空間,程序空間分成128頁(yè),每頁(yè)64K。圖2.13128頁(yè)程序空間(OVLY=0)2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.3C54X的存儲(chǔ)空間結(jié)構(gòu)圖2.14程序存儲(chǔ)器(OVLY=1)2.3C54X的存儲(chǔ)空間結(jié)構(gòu)C5402共有20條外部程序地址總線,可尋址程序存儲(chǔ)空間為1M。整個(gè)程序存儲(chǔ)空間分成16頁(yè),每頁(yè)共計(jì)64K字。2.3C54X的存儲(chǔ)空間結(jié)構(gòu)2.3.3數(shù)據(jù)存儲(chǔ)空間用來存放執(zhí)行指令所使用的數(shù)據(jù),包括需要處理的數(shù)據(jù)或數(shù)據(jù)處理的中間結(jié)果。1.?dāng)?shù)據(jù)存儲(chǔ)空間的配置C54X的數(shù)據(jù)存儲(chǔ)空間由內(nèi)部和外部存儲(chǔ)器構(gòu)成,共有64K字,采用內(nèi)部和外部存儲(chǔ)器統(tǒng)一編址。DROM=0:0000H~3FFFH——內(nèi)部RAM;
4000H~FFFFH——外部存儲(chǔ)器;DROM=1:0000H~3FFFH——內(nèi)部RAM;
4000H~EFFFH——外部存儲(chǔ)器;
F000H~FEFFH——片內(nèi)ROM;
FF00H~FFFFH——保留。2.3C54X的存儲(chǔ)空間結(jié)構(gòu)表2-3C54X片內(nèi)數(shù)據(jù)存儲(chǔ)器容量器件ROMDARAMSARA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 我國(guó)開放式證券投資基金業(yè)績(jī)的多維度實(shí)證剖析與策略優(yōu)化
- 2026泰康人壽保險(xiǎn)股份有限公司博州中支招聘8人備考題庫(kù)(新疆)及參考答案詳解
- 遂川縣城控人力資源管理有限公司公開招聘延期報(bào)名崗位筆試考試安排的備考題庫(kù)及1套參考答案詳解
- 2026福建龍巖市新羅區(qū)曹溪中心園招聘非編教師備考題庫(kù)含答案詳解
- 2026湖北武漢理工大學(xué)思想政治理論課教師(輔導(dǎo)員專項(xiàng))招聘5人備考題庫(kù)及答案詳解1套
- 2026青海西寧市城中區(qū)面向社會(huì)招聘社區(qū)公益性崗位人員15人備考題庫(kù)及1套完整答案詳解
- 2026福建省消費(fèi)者權(quán)益保護(hù)中心招聘高層次人才方案2人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 寧夏回族自治區(qū)2026年事業(yè)單位公開招聘工作人員備考題庫(kù)【4421人】帶答案詳解
- 2026湖北武漢武昌區(qū)中南電力設(shè)計(jì)院有限公司數(shù)智科技公司招聘4人備考題庫(kù)及一套參考答案詳解
- 2026湖南長(zhǎng)沙市一中云龍實(shí)驗(yàn)學(xué)校教師招聘?jìng)淇碱}庫(kù)附答案詳解
- 醫(yī)院醫(yī)療糾紛案例匯報(bào)
- 紅外線桑拿毯行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 2025安徽職高單招試題及答案
- 《文獻(xiàn)檢索與科技論文寫作入門》課件(共八章)
- 2025至2030鑄鐵產(chǎn)業(yè)行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 機(jī)電設(shè)備安裝工程中電梯系統(tǒng)全生命周期質(zhì)量管控體系
- 碎石樁施工技術(shù)
- 2025年政府采購(gòu)和招標(biāo)法考試試題及答案
- 2025中考九年級(jí)語文《標(biāo)點(diǎn)符號(hào)》復(fù)習(xí)練習(xí)題
- 智能化建筑機(jī)器人施工方案和技術(shù)措施
- 征兵體檢外科標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論