




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章TMS320C54x的硬件結(jié)構(gòu)及原理TMS320C54x系列DSP是一種低功耗、高性能的16位定點(diǎn)芯片采用改進(jìn)型哈佛總線結(jié)構(gòu),具有性能強(qiáng)大的CPU內(nèi)核、內(nèi)部多總線結(jié)構(gòu)、硬件重復(fù)機(jī)制及兩套獨(dú)立的地址產(chǎn)生器為組成6級(jí)流水線和并行操作提供了硬件平臺(tái)
它提供多種尋址模式和功能豐富的指令集,滿足了高速、實(shí)時(shí)的數(shù)字信號(hào)處理的需要它豐富的片內(nèi)外設(shè)資源及方便的外部擴(kuò)展能力,為芯片的嵌入式應(yīng)用奠定了基礎(chǔ)第2章TMS320C54x的硬件結(jié)構(gòu)及原理內(nèi)部硬件資源:
CPU內(nèi)核多總線結(jié)構(gòu)引腳功能系統(tǒng)控制存儲(chǔ)器映像中斷系統(tǒng)等
第2章TMS320C54x的硬件結(jié)構(gòu)及原理目錄:2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)2.2C54x的內(nèi)部多總線結(jié)構(gòu)2.3C54x的中央處理單元(CPU)2.4C54x的存儲(chǔ)器結(jié)構(gòu)2.5復(fù)位操作及省電方式2.6中斷系統(tǒng)2.7流水線2.8引腳及其功能第2章TMS320C54x的硬件結(jié)構(gòu)及原理TMS320C54x系列DSP結(jié)構(gòu)框圖
2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)①尋址⑥②③⑤⑤④⑦第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)多總線的哈佛結(jié)構(gòu)8套16位的地址總線和數(shù)據(jù)總線:PAB,PB,DAB,DB,CAB,CB,EAB,EB
1套外設(shè)總線實(shí)現(xiàn)CPU與片內(nèi)存儲(chǔ)器的數(shù)據(jù)交換。
通過6通道的直接存儲(chǔ)器訪問(DMA)可以實(shí)現(xiàn)與片內(nèi)外設(shè)的數(shù)據(jù)傳送。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)
CPU內(nèi)核
1個(gè)算術(shù)邏輯運(yùn)算單元(ALU)2個(gè)40位的累加器(ACCA、ACCB)1個(gè)40位的桶形移位器
1個(gè)乘-累加單元(MAC)(17×17位+40位加法)1個(gè)比較、選擇、存儲(chǔ)單元(CSSU)用于維特比算法
1個(gè)硬件指數(shù)編碼器
2個(gè)地址生成器(程序地址和數(shù)據(jù)地址):包括輔助寄存器運(yùn)算單元ARAU0、ARAU1和AR0~AR7第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)片內(nèi)存儲(chǔ)空間
雙口DARAM:?jiǎn)沃芷趦?nèi)可進(jìn)行一次讀取和一次寫入操作單口SARAM:?jiǎn)沃芷趦?nèi)只能進(jìn)行一次讀/寫訪問片外可擴(kuò)展的最大存儲(chǔ)空間
64千字~8兆字的程序存儲(chǔ)器64千字的數(shù)據(jù)存儲(chǔ)器64千字的I/O空間第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)
片內(nèi)外設(shè)時(shí)鐘發(fā)生器可編程定時(shí)器多緩沖串行口(McBSP)并行主機(jī)接口(HPI)DMA控制器軟件可編程等待狀態(tài)發(fā)生器可編程分區(qū)轉(zhuǎn)換邏輯電路通用數(shù)字I/O口(GPIO)片內(nèi)仿真接口JTAG第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.1芯片內(nèi)部結(jié)構(gòu)及特點(diǎn)靈活尋址方式與適于信號(hào)處理的指令系統(tǒng)各種操作類型的指令硬件重復(fù)機(jī)制位倒序?qū)ぶ贩绞窖h(huán)尋址方式節(jié)電模式─IDLEl、IDLE2和IDLE31.8V內(nèi)核供電(VC5402)和3.3VI/O口供電(參照P328-P333設(shè)計(jì)電源電路)低功耗工作第2章TMS320C54x的硬件結(jié)構(gòu)及原理型號(hào)頻率MHzRAMKBROMKBEMIF16位DMA6-ChHPI8/16McBSP定時(shí)器根裝載UART內(nèi)核電源VI/O電源V引腳封裝BGALQFPVC5402A-160160323211131有1.63.3144VC5404-1201203212811132有11.53.3144VC5407-1201208025611132有11.53.3144VC5409A-1201206432-1131有-1.53.3144VC5409A-1601606432-1131有-1.63.3144VC5410A-1201201283211131有-1.53.3144VC5410A-1601601283211131有-1.63.3144VC5416A-1201202563211131有-1.53.3144VC5416A-1601602563211131有-1.63.3144表2-1TMS320C54x系列DSP典型芯片的結(jié)構(gòu)及技術(shù)性能
外部存儲(chǔ)器接口TMS320VC5402芯片結(jié)構(gòu)(1)存儲(chǔ)空間多總線結(jié)構(gòu)。片內(nèi)有3條16位數(shù)據(jù)總線(CB、DB、EB)、1條16位的程序總線(PB)、以及4條對(duì)應(yīng)的地址總線(PAB、CAB、DAB、EAB)。地址線20根,可尋址程序空間1M字,數(shù)據(jù)和I/O空間各64K字。片內(nèi)ROM容量為4K×16位片內(nèi)雙尋址RAM(DARAM)容量為16K×16位。(2)在片內(nèi)外圍電路軟件可編程等待狀態(tài)發(fā)生器和可編程分區(qū)切換邏輯電路。帶有內(nèi)部振蕩器或用外部時(shí)鐘源的片內(nèi)鎖相環(huán)(PLL)時(shí)鐘發(fā)生器。2個(gè)高速、全雙工多通道緩沖串行口(McBSP)(5402A是3個(gè))增強(qiáng)型8位并行主機(jī)接口(HPI8)2個(gè)16位定時(shí)器)(5402A是1個(gè))6通道DMA控制器具有符合IEEE1149.1標(biāo)準(zhǔn)的在片仿真接口JTAG。(3)電源、時(shí)鐘與封裝單周期定點(diǎn)指令的執(zhí)行周期為10ns(100MIPS)I/O電源電壓3.3V,內(nèi)核1.8V可用IDLE1、IDLE2、IDLE3指令控制芯片功耗以工作在省電方式。144引腳的薄形四邊形引腳扁平封裝(LQFP)或144腳的球柵陣列封裝(BGA)。TMS320VC5402芯片的結(jié)構(gòu)及技術(shù)性能型號(hào)頻率MHzMIPS指令周期(ns)尋址空間片內(nèi)存儲(chǔ)器程序(16位)數(shù)據(jù)(16位)RAM(16位)ROM(16位)TMS320VC5402-1001001001064K/8M64K16K4K在片外圍電路根裝載(引導(dǎo)裝載)內(nèi)核電壓(V)I/O電壓(V)緩沖串口主機(jī)接口(COM)定時(shí)器DMA通道數(shù)2McBSPHPI826ChanInt是1.8V3.3V(5402A是3個(gè))(5402A是1個(gè))第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.2C54x的內(nèi)部總線結(jié)構(gòu)
TMS320C54x的片內(nèi)采用了多總線結(jié)構(gòu),由8套16位的內(nèi)部總線組成。兩套程序存儲(chǔ)器操作總線程序地址總線PAB程序總線PB六套數(shù)據(jù)存儲(chǔ)器操作總線數(shù)據(jù)地址總線CAB、DAB、EAB數(shù)據(jù)數(shù)據(jù)總線CB、DB、EB第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.2.1程序存儲(chǔ)器操作總線
程序地址總線PAB為CPU提供取指令和寫指令
CPU可通過程序總線PB讀取程序存儲(chǔ)器的指令
CPU可通過數(shù)據(jù)總線EB進(jìn)行程序的寫操作。時(shí)所需要的地址。代碼和立即數(shù)。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.2.2數(shù)據(jù)存儲(chǔ)器操作總線總線CAB、DAB、EAB及CB、DB、EB與CPU、數(shù)據(jù)地址產(chǎn)生邏輯、程序地址產(chǎn)生邏輯、片內(nèi)外設(shè)及數(shù)據(jù)存儲(chǔ)器等功能單元相連,負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行尋址及讀/寫訪問。
CB、DB、EB負(fù)責(zé)傳送讀/寫數(shù)據(jù)CAB、DAB、EAB負(fù)責(zé)傳送數(shù)據(jù)存儲(chǔ)器地址表2-2內(nèi)部總線讀寫使用情況表
內(nèi)部總線讀寫使用情況表
使用總線讀/寫類型地址總線程序總線數(shù)據(jù)總線PABCABDABEABPBCBDBEB程序讀
程序?qū)?/p>
單數(shù)據(jù)讀
單數(shù)據(jù)寫
雙數(shù)據(jù)讀
Ymem
Xmem
Ymem
Xmem并行數(shù)據(jù)讀/寫讀寫讀寫32位長(zhǎng)數(shù)據(jù)讀
hw
lw
hw
lw雙數(shù)據(jù)讀/系數(shù)讀系數(shù)讀
Ymem
Xmem系數(shù)讀
Ymem
Xmem片內(nèi)外設(shè)讀
片內(nèi)外設(shè)寫
注:hw=高16位字;lw=低16位字第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3C54x的中央處理單元(CPU)CPU是DSP的核心部件。它負(fù)責(zé):程序流的控制和指令的處理完成數(shù)據(jù)的傳送執(zhí)行算術(shù)運(yùn)算,布爾邏輯及移位操作……TMS320C54xCPU結(jié)構(gòu)圖ALUMAC桶形移位寄存器CSSUEXP第2章TMS320C54x的硬件結(jié)構(gòu)及原理C54xCPU主要包括下列器件:1個(gè)40位的算術(shù)邏輯單元(ALU)2個(gè)40位的累加器(ACCA、ACCB)1個(gè)桶形移位器1個(gè)乘法器與加法器組成的乘法-累加單元(MAC)1個(gè)比較、選擇和存儲(chǔ)單元(CSSU),在圖2-2中由COM,TRN和TC等部分組成。1個(gè)指數(shù)編碼器(EXP)2個(gè)16位的狀態(tài)控制寄存器ST0、ST11個(gè)16位的處理器模式狀態(tài)寄存器PMST程序地址發(fā)生邏輯和數(shù)據(jù)地址發(fā)生邏輯第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.1累加器和算術(shù)邏輯運(yùn)算單元(ALU)BLBHBG15031
1639
32ALAHAG15
031
1639
32累加器A結(jié)構(gòu)圖
累加器B結(jié)構(gòu)圖保護(hù)位高階位低階位保護(hù)位高階位低階位累加器A和B的構(gòu)造圖:第2章TMS320C54x的硬件結(jié)構(gòu)及原理算術(shù)邏輯運(yùn)算單元ALUC54x的ALU是40位的,與累加器結(jié)合可以完成寬范圍的算術(shù)及邏輯運(yùn)算,結(jié)果為40位長(zhǎng)多數(shù)運(yùn)算可在單周期內(nèi)完成其運(yùn)算結(jié)果通常被送入累加器A或B中,除了從存儲(chǔ)器到存儲(chǔ)器的操作指令之外,如ADDM、ANDM、ORM和XORM),其運(yùn)算結(jié)果則存入指令指定的目的存儲(chǔ)器。
第2章TMS320C54x的硬件結(jié)構(gòu)及原理ALU的功能框圖
40404040401616MUXABALU符號(hào)ctr符號(hào)ctrMUXMUXCB15~CB0DB15~DB0MAC輸出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位器輸出(1)
ALU輸入數(shù)據(jù)的40位擴(kuò)展當(dāng)16位數(shù)據(jù)存儲(chǔ)器操作數(shù)通過數(shù)據(jù)總線DB或CB輸入ALU時(shí),40位的ALU輸入將采用兩種方式形成:
①
若輸入的16位操作數(shù)裝在ALU的0~15位時(shí),則
當(dāng)SXM=0時(shí),高24位(39~16位)用0填充;
當(dāng)SXM=1時(shí),高24位(39~16位)擴(kuò)展為符號(hào)位。
②若輸入的16位操作數(shù)裝在ALU的16~31位時(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)
ALU的輸出ALU的輸出為40位運(yùn)算結(jié)果,通常被送至累加器A或B。
第2章TMS320C54x的硬件結(jié)構(gòu)及原理
(3)與算術(shù)邏輯運(yùn)算單元ALU有關(guān)的標(biāo)志位、控制位
反映ALU當(dāng)前運(yùn)算結(jié)果狀態(tài)的有4個(gè)標(biāo)志位(ST0內(nèi)):控制ALU工作的有3個(gè)控制位(ST1內(nèi))
:
溢出方式位OVM——ST1(D9)雙16位/雙精度方式位C16——ST1(D7)符號(hào)擴(kuò)展位SXM——ST1(D8)進(jìn)位位C——ST0(D11)測(cè)試位TC——ST0(D12)溢出標(biāo)志位OVA——ST0(D10)溢出標(biāo)志位OVB
——ST0(D9)(i)進(jìn)位位C功能:
ALU有一個(gè)與運(yùn)算結(jié)果有關(guān)的進(jìn)位位C,位于ST0的11位。進(jìn)位位C受大多數(shù)ALU操作指令的影響,包括算術(shù)操作、循環(huán)操作和移位操作。
①
用來指明是否有進(jìn)位發(fā)生;②
用來支持?jǐn)U展精度的算術(shù)運(yùn)算;③
可作為分支、調(diào)用、返回和條件操作的執(zhí)行條件。注意:①進(jìn)位位C不受裝載累加器操作、邏輯操作、非算術(shù)運(yùn)算和控制指令的影響;
②可通過指令RSBX和SSBX對(duì)其置位和復(fù)位。(ii)TC測(cè)試/控制標(biāo)志,位于ST0的12位;在以累加器A(B)為目的寄存器時(shí)算術(shù)邏輯單元的32位數(shù)的運(yùn)算結(jié)果發(fā)生溢出,或者乘法/加法單元的操作發(fā)生溢出,相應(yīng)的溢出標(biāo)志位OVA(或OVB)置1,直到發(fā)生復(fù)位、或者是執(zhí)行以AOV(BOV)和ANOV(BNOV)為條件的BC[D]、或RC[D]、CC[D]等指令,OVA(OVB)保持置1狀態(tài)。RSBX指令也可以清除OVA標(biāo)志。
(iii)溢出標(biāo)志位(OVA或OVB)位于ST0的9,10位。(iV)溢出方式位OVM及溢出處理
溢出方式位OVM是ST1的D9位,用來指定ALU運(yùn)算結(jié)果溢出的處理方式,當(dāng)溢出產(chǎn)生時(shí):
①若OVM=0,則對(duì)ALU的運(yùn)算結(jié)果不作任何調(diào)整,直接送入累加器;
②若OVM=1,則對(duì)ALU的運(yùn)行結(jié)果進(jìn)行調(diào)整。
當(dāng)正向溢出時(shí),將32位最大正數(shù)00
7FFFFFFFH裝入累加器;
當(dāng)負(fù)向溢出時(shí),將32位最小負(fù)數(shù)FF80000000H裝入累加器。
③狀態(tài)寄存器ST0中與目標(biāo)累加器相關(guān)的溢出標(biāo)志OVA或OVB被置1。
若將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)算。有6條雙字算數(shù)運(yùn)算指令支持這一功能(3.3.2)。(Vi)符號(hào)擴(kuò)展位SXM位于ST1的D8位。(V)C16位于ST1的D7位。分析:
ADDXmem
Ymem,dst
執(zhí)行:dst=Xmem<<16+Ymem<<16
或?qū)懗?(Xmem)+(Ymem))<<16→dst
狀態(tài)位:
AffectedbySXMandOVMAffectsCandOVdst(orOVsrc,ifdst=src)例2-1設(shè)(AR2)=0060h,(AR3)=0070h,
(0060h)=A678h,(070h)=7234h,分析指令A(yù)DD*AR2,*AR3,A的執(zhí)行情況。A678h<<16
+7234h<<16→A例2-1(AR2)=0060h,(AR3)=0070h,(0060h)=A678h(070h)=7234h,指令A(yù)DD*AR2,*AR3,A執(zhí)行情況。-5988
經(jīng)DB經(jīng)CB例2-2
分析雙字運(yùn)算指令DADD*AR3-,A,B
在C16=0和C16=1時(shí)的執(zhí)行情況。指令執(zhí)行前005677F9330000000000AB1534數(shù)據(jù)存儲(chǔ)器00603456數(shù)據(jù)存儲(chǔ)器00610060AR3解:執(zhí)行:IfC16=0,
Then(Lmem)+(src)→dstElse(Lmem(31–16))+(src(31–16))→dst(39–16)(Lmem(15–0))+(src(15–0))→dst(15–0)狀態(tài)位:
AffectedbySXMandOVM(onlyifC16=0)AffectsCandOVdst(orOVsrc,ifdstisnotspecified)無關(guān)系例2-2,分析雙字運(yùn)算指令DADD*AR3-,A,B
在C16=0和C16=1時(shí)的執(zhí)行情況。指令執(zhí)行前005677F9330000000000AB1534數(shù)據(jù)存儲(chǔ)器00603456數(shù)據(jù)存儲(chǔ)器00610060AR3C16=0時(shí),指令執(zhí)行后005677F933006BAC2D89AB1534006034560061005EAR3C16=1時(shí),
指令執(zhí)行后005677F933006BAB2D89AB1534數(shù)據(jù)存儲(chǔ)器00603456數(shù)據(jù)存儲(chǔ)器0061005EAR3解:第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.2桶形移位器數(shù)據(jù)定標(biāo)位提取擴(kuò)展精度
累加器的規(guī)格化定點(diǎn)定標(biāo)是定點(diǎn)運(yùn)算中用來確定小數(shù)點(diǎn)位置的一種操作,以保證運(yùn)算精度。C54x的40位桶形移位器可將輸入數(shù)據(jù)進(jìn)行左移0~31位或右移0~15位的操作,從而完成功能:第2章TMS320C54x的硬件結(jié)構(gòu)及原理桶形移位器結(jié)構(gòu):
MUX:選擇輸入數(shù)據(jù)符號(hào)控制SC:
符號(hào)位擴(kuò)展移位器:
定標(biāo)和移位寫選擇:選擇高有效字/低有效字
第2章TMS320C54x的硬件結(jié)構(gòu)及原理桶形移位器移位原則:左移時(shí),低位填0右移時(shí),若SXM=0,則高位填0,無符號(hào)擴(kuò)展若SXM=1時(shí),則高位進(jìn)行符號(hào)擴(kuò)展輸出:
作為ALU的輸入
寫入數(shù)據(jù)存儲(chǔ)器第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.3乘加器(MAC)功能:?jiǎn)沃芷趦?nèi)完成一次乘法操作和一次累加操作構(gòu)成:一個(gè)17×17位的乘法器一個(gè)40位的加法器第2章TMS320C54x的硬件結(jié)構(gòu)及原理乘加器結(jié)構(gòu)框圖:第2章TMS320C54x的硬件結(jié)構(gòu)及原理
乘法器操作:有符號(hào)數(shù)相乘無符號(hào)數(shù)與有符號(hào)數(shù)相乘無符號(hào)數(shù)相乘在每個(gè)16位操作數(shù)的最高位MSB前添加1位符號(hào)位,擴(kuò)展成17位數(shù),然后進(jìn)行乘法運(yùn)算。在無符號(hào)數(shù)的MSB前添加0,在有符號(hào)數(shù)的MSB前擴(kuò)展1符號(hào)位,然后進(jìn)行乘法運(yùn)算。在每個(gè)16位操作數(shù)的最高位MSB前添加0,擴(kuò)展成17位數(shù),然后進(jìn)行乘法運(yùn)算。第2章TMS320C54x的硬件結(jié)構(gòu)及原理
乘法器操作:乘法器的輸出經(jīng)過一個(gè)小數(shù)/整數(shù)調(diào)整電路,該調(diào)整受到小數(shù)方式位(ST1的D6位)FRCT的控制。當(dāng)FRCT=0時(shí),對(duì)乘積不作任何處理的送入當(dāng)FRCT=1時(shí),由硬件將乘積左移1位,然加法器XA端
后送入加法器XA端第2章TMS320C54x的硬件結(jié)構(gòu)及原理
加法器操作:累加舍入飽和零檢測(cè)舍入操作:
DSP的舍入操作與十進(jìn)制中的四舍五入操作類似,即運(yùn)算結(jié)果的低16位若≥8000H,則向高16位進(jìn)位,并將低16位清0。硬件的具體操作是:先將215(7FFFH)加至目標(biāo)累加器,然后將其低16位清0
。例2-6
分析指令MAC[R]的執(zhí)行情況。指令執(zhí)行前00000010000400AT
1234數(shù)據(jù)存儲(chǔ)器0060
0FRCT
0060AR3MAC*AR3,A執(zhí)行后000048E0000400AT123400600FRCT0060AR3MACR*AR3,A執(zhí)行后00004900000400AB123400600FRCT0060AR3解:MAC[R]*AR3,A;((AR3))×T+A[舍入]→A第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.4比較、選擇和存儲(chǔ)單元(CSSU)比較、選擇和存儲(chǔ)單元(CSSU)是一個(gè)特殊的硬件單元,它與ALU配合,支持?jǐn)?shù)據(jù)通信及模式識(shí)別中的加法-比較-選擇(ACS)運(yùn)算。例如:利用CSSU及指令CMPS可快速完成Viterbi解碼算法中的ACS算法。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.4比較、選擇和存儲(chǔ)單元(CSSU)MUXCOMPTRNTCCCSUABMSW/LSW選擇EB15~EB0來自桶形移位器比較電路COMP狀態(tài)轉(zhuǎn)移寄存器TRN狀態(tài)比較寄存器TC多路選擇器MUX第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.4比較、選擇和存儲(chǔ)單元(CSSU)CSSU、ALU與指令CMPS配合完成比較和選擇操作:比較電路COMP將指定累加器A或B的高16位與低16位進(jìn)行比較;將結(jié)果移入TRN的位D0及ST0的TC位;根據(jù)比較結(jié)果,選擇累加器中較大的l6位數(shù)據(jù);存入數(shù)據(jù)存儲(chǔ)器。第2章TMS320C54x的硬件結(jié)構(gòu)及原理
CMPS指令流程圖第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.5指數(shù)編碼器(EXP)指數(shù)編碼器是用來求累加器中數(shù)據(jù)指數(shù)的專用硬件,主要用于定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)的歸一化和標(biāo)準(zhǔn)化處理等。
指數(shù)編碼器EXP累加器A累加器BT寄存器求A的指數(shù)值,以2的補(bǔ)碼形式(-8至31)存入T累加器指數(shù)值=冗余符號(hào)位-8第2章TMS320C54x的硬件結(jié)構(gòu)及原理例2-7分析指令EXPA的執(zhí)行情況。
EXPA;若A中值為0,則0→T,否則將A中的冗余符號(hào)位數(shù)減-8→T
-2第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.6CPU的狀態(tài)和控制寄存器C54xCPU有3個(gè)狀態(tài)和控制寄存器:
狀態(tài)寄存器ST0
狀態(tài)寄存器ST1
處理器模式狀態(tài)寄存器PMST
PMST中包含有存儲(chǔ)器組織和系統(tǒng)工作的控制信息
ST0和ST1中包含著各種狀態(tài)和控制標(biāo)志位
狀態(tài)位:反映了CPU當(dāng)前的某些處理結(jié)果
控制位:提供給用戶用來控制芯片及CPU工作
第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.3.6CPU的狀態(tài)和控制寄存器
ST0、ST1、PMST都是16位的存儲(chǔ)器映像寄存器(MMR),其地址分別為0006h、0007h
、001Dh。訪問方式:用指令SSBX或RSBX對(duì)某些位置位或清零用裝載指令LD給某些位加載數(shù)據(jù)用存儲(chǔ)指令STM等加載設(shè)定值主要反映處理器的尋址要求和計(jì)算機(jī)的中間運(yùn)行狀態(tài)。
ST0的結(jié)構(gòu):15—1312111098—0ST0:ARPTCCOVAOVBDPARPARP:輔助寄存器指針。用來選擇使用單操作數(shù)間接尋址時(shí)的輔助寄存器AR0~AR7。ARPTCTC:測(cè)試/控制標(biāo)志。
用來保存ALU測(cè)試操作的結(jié)果。TCCC:進(jìn)位標(biāo)志位。
用來保存ALU加減運(yùn)算時(shí)所產(chǎn)生的進(jìn)/借位。COVBOVAOVA/B:累加器A/B的溢出標(biāo)志。
用來反映A/B是否產(chǎn)生溢出。OVBOVADPDP1.狀態(tài)寄存器0(ST0)DP:數(shù)據(jù)存儲(chǔ)器頁指針。
用來與指令中提供的7位地址結(jié)合形成1個(gè)
16位數(shù)據(jù)存儲(chǔ)器的地址。2.狀態(tài)寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM0:保留位,未被使用,總是讀為0。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM主要反映處理器的尋址要求、計(jì)算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。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ù)頁指針DP的直接尋址;
CPL=1
選用堆棧指針SP的直接尋址。XF:外部XF引腳狀態(tài)控制位。
用來控制XF通用外部輸出引腳的狀態(tài)。執(zhí)行SSBX
XF=1
XF通用輸出引腳為1;執(zhí)行RSBX
XF=0
XF通用輸出引腳為0。HM:保持方式位;響應(yīng)HOLD信號(hào)時(shí),指示
CPU是否繼續(xù)執(zhí)行內(nèi)部操作。
HM=0
CPU從內(nèi)部程序存儲(chǔ)器取指,
繼續(xù)執(zhí)行內(nèi)部操作。
HM=1
CPU停止內(nèi)部操作。INTM:中斷方式控制位;
用于屏蔽或開放所有可屏蔽中斷。
INTN=0
開放全部可屏蔽中斷;
INTN=1
禁止所有可屏蔽中斷。OVM:溢出方式控制位;
用來確定累加器溢出時(shí),對(duì)累加器的加載方式。
OVM=0
將運(yùn)算的溢出結(jié)果直接加載到累加器中;
OVM=1
當(dāng)正溢出時(shí),將007FFFFFFFH加載累加器;當(dāng)負(fù)溢出時(shí),將FF80000000H加載累加器。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ò)展。C16:雙16位/雙精度算術(shù)運(yùn)算方式控制位;
用來決定ALU的算術(shù)運(yùn)算方式。
C16=0
ALU工作在雙精度算術(shù)運(yùn)算方式;
C16=1
ALU工作在雙16位算術(shù)運(yùn)算方式。FRCT:小數(shù)方式控制位;用來確定乘法器的運(yùn)算方式。
FRCT=1
乘法器的輸出左移一位,消除多余的符號(hào)位。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)的移位值。3.處理器模式狀態(tài)寄存器PMSTSSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR012345615~7主要設(shè)定和控制處理器的工作方式和存儲(chǔ)器的配置,反映處理器的工作狀態(tài)。中斷向量指針CPU工作方式選擇位RAM重復(fù)占位標(biāo)志地址可見控制位數(shù)據(jù)ROM映射選擇位時(shí)鐘輸出選擇位乘法飽和方式位存儲(chǔ)飽和位SST:用來決定累加器中的數(shù)據(jù)在存儲(chǔ)到存儲(chǔ)器之前,是否需要飽和處理。SMUL:用來決定乘法結(jié)果是否需要進(jìn)行飽和處理;
CLKOFF:用來決定時(shí)鐘輸出引腳CLKOUT是否有信號(hào)輸出;DROM:用來決定片內(nèi)ROM是否可以映射到數(shù)據(jù)存儲(chǔ)空間;AVIS:用來決定是否可以從器件地址引腳線看到內(nèi)部程序空間地址線;OVLY:用來決定片內(nèi)雙尋址數(shù)據(jù)RAM是否映射到程序空間。
MP/MC:用來確定是否允許使用片內(nèi)程序存儲(chǔ)器ROMIPTR:用來指示中斷向量所駐留的128字程序存儲(chǔ)器的位置;第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4C54x的存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器空間的分類:
程序存儲(chǔ)器基本空間64K字,最大可擴(kuò)展至8M字;數(shù)據(jù)存儲(chǔ)器空間64K字;
I/O空間64K字。有下列特點(diǎn):
片內(nèi)RAM由雙口DARAM和單口SARAM相結(jié)合
儲(chǔ)存空間的交叉應(yīng)用
片內(nèi)存儲(chǔ)器與CPU同速運(yùn)行
第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.1程序存儲(chǔ)器空間程序空間用于存放指令代碼和常系數(shù)表格。
程序空間的組織:
CPU工作方式選擇位MP/MC重復(fù)占位標(biāo)志位OVLY
程序計(jì)數(shù)器擴(kuò)展寄存器XPC
程序空間的擴(kuò)展:
16條外部地址線,可擴(kuò)展64K字
20條或23條外部地址線,可擴(kuò)展至1M~8M字
第2章TMS320C54x的硬件結(jié)構(gòu)及原理C5402A
的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖C5402
外部微處理器模式OVLY=0,MP/MC=1,OVLY=1微計(jì)算機(jī)模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件結(jié)構(gòu)及原理VC5402-100
的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖微處理器模式OVLY=0,MP/MC=1,OVLY=1微計(jì)算機(jī)模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件結(jié)構(gòu)及原理C5402A
的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖DROM無VC5402-100的存儲(chǔ)器結(jié)構(gòu)圖C5402的存儲(chǔ)器結(jié)構(gòu)圖根裝載在線調(diào)試第2章TMS320C54x的硬件結(jié)構(gòu)及原理
1程序存儲(chǔ)器(第0頁)芯片復(fù)位時(shí),MP/MC引腳狀態(tài)被置入位MP/MC
,或通過軟件直接設(shè)置位MP/MC
。根據(jù)位MP/MC的狀態(tài)決定了程序儲(chǔ)存器的兩種配置模式。當(dāng)MP/MC=0時(shí),將程序空間配置為微計(jì)算機(jī)模式,允許使用片內(nèi)ROM
。
當(dāng)MP/MC=1時(shí),將程序空間配置為微處理器模式,禁止使用片內(nèi)ROM
。
第2章TMS320C54x的硬件結(jié)構(gòu)及原理VC5402-100
的程序存儲(chǔ)器(第0頁)結(jié)構(gòu)圖微處理器模式OVLY=0,MP/MC=1,OVLY=1微計(jì)算機(jī)模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.片內(nèi)ROMC5402片內(nèi)集成有4K字的ROM(F800h~FFFFh)。
高2K字(F800h~FFFFh)由TI公司預(yù)留,用于掩膜程序(由芯片廠家固化到ROM中的程序),并放置了一些常用的數(shù)據(jù)表格和自舉程序
(加電自檢程序)。片內(nèi)ROM的FF00h~FF7Fh這128個(gè)字內(nèi)裝有器件測(cè)試代碼,在掩膜時(shí)應(yīng)避開這段區(qū)間。引導(dǎo)程序Bootloadercodeμ律擴(kuò)展表A律擴(kuò)展表sin函數(shù)表保留中斷矢量表F800HF900HFA00HFB00HFC00HFD00HFE00HFF00HFF80H第2章TMS320C54x的硬件結(jié)構(gòu)及原理3.分頁擴(kuò)展
C5402有20條外部地址線A19~A0,16條外部數(shù)據(jù)線D15~D0,因此,最大可擴(kuò)展程序空間是1M字。(應(yīng)用電路可參考P364、P371等)特點(diǎn):擴(kuò)展后的程序空間分成16頁,每頁64K字
一個(gè)16位專用寄存器:程序計(jì)數(shù)器擴(kuò)展寄存器(XPC)可對(duì)擴(kuò)展程序空間尋址的指令FB[D]、FBACC[D]、
FCALA[D]、FCALL[D]、FRET[D]和FRETE[D]
可以通過指令READA和WRITA對(duì)擴(kuò)展程序空間的數(shù)據(jù)直接進(jìn)行訪問。第2章TMS320C54x的硬件結(jié)構(gòu)及原理3.分頁擴(kuò)展當(dāng)MP/MC=0時(shí),允許使用片內(nèi)ROM,此時(shí),片內(nèi)ROM只能在第0頁被尋址,不能映像至其它頁。當(dāng)OVLY=0時(shí),片內(nèi)DARAM不被映像至程序空間(使用外部存儲(chǔ)器),頁與頁之間沒有重疊
,如圖所示:第2章TMS320C54x的硬件結(jié)構(gòu)及原理3.分頁擴(kuò)展當(dāng)OVLY=1時(shí),每一頁由兩部分組成,每頁的前16K字為片內(nèi)DARAM,其內(nèi)容相同(共享)。除了16K字的保留空間之外,每頁的后32K字內(nèi)容各不相同。如圖所示:
第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間數(shù)據(jù)空間用于存放程序處理過程中的數(shù)據(jù)和結(jié)果。C54x系列DSP的數(shù)據(jù)空間尋址范圍為64K字,片內(nèi)和片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址。(程序存儲(chǔ)空間也是片內(nèi)、片外統(tǒng)一編址)不同型號(hào)的芯片其片內(nèi)DARAM和SARAM的容量有所不同,位DROM對(duì)數(shù)據(jù)空間結(jié)構(gòu)的影響也有差異。
注意:VC5402中DROM位可用。DROM=0外部,DROM=1片內(nèi)部分ROM映射為數(shù)據(jù)存儲(chǔ)器。VC5402A中沒有DROM位。DP=0DP=511頁0頁511DP=1頁100FF每頁128個(gè)字單元,共512頁DARAM0-1C5402的存儲(chǔ)器結(jié)構(gòu)圖第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間數(shù)據(jù)空間0000h~005Fh為存儲(chǔ)器映像寄存器(MMR)區(qū)間。其中,在0000h~0020h中分布著27個(gè)CPU寄存器,如表所示
第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間在0021h~005Fh中分布著多個(gè)片內(nèi)外設(shè)MMR寄存器:
此表適用于C5402A,而C5402有差異32個(gè)第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.2數(shù)據(jù)存儲(chǔ)空間MMR方式訪問寄存器的優(yōu)點(diǎn)是:簡(jiǎn)化了尋址方式提高了訪問效率使得CPU對(duì)寄存器的讀取以及寄存器之間、寄存器與存儲(chǔ)器之間的數(shù)據(jù)交換更加靈活和方便。
C5402片內(nèi)有16K字的DARAM,地址0080h~3FFFh,分成2個(gè)8K字的數(shù)據(jù)塊DARAM0和DARAM1
訪問MMR的方法P77第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.4.3I/O空間特點(diǎn):
C54x的I/O空間采用I/O映像方式,即有獨(dú)立的片外尋址空間64K字
有專用訪問指令PORTR和PORTW有使能和控制信號(hào)用于系統(tǒng)的接口應(yīng)用設(shè)計(jì)
IS:I/O設(shè)備選擇信號(hào);IOSTRB:I/O設(shè)備選通信號(hào);R/W:讀/寫信號(hào);2.5復(fù)位操作及省電模式2.5.1復(fù)位操作
DSP需要進(jìn)行上電復(fù)位和人工按鍵復(fù)位,CPU、片內(nèi)外設(shè)和系統(tǒng)各部件進(jìn)入一種確定的初始狀態(tài),并從該初始態(tài)開始工作
引腳RS是外部復(fù)位信號(hào)輸入端“0”電平應(yīng)該保持100ms~200ms的時(shí)間
信號(hào)由低變高后,DSP系統(tǒng)即開始正常工作
CPU從程序存儲(chǔ)器的FF80h開始取指執(zhí)行
2.5復(fù)位操作及省電模式2.5.1復(fù)位操作在C54x處于復(fù)位時(shí),DSP將進(jìn)行以下操作:1.處理器模式狀態(tài)寄存器PMST的位IPTR=1FFh
2.使程序計(jì)數(shù)器PC=FF80h
3.將MP/MC引腳上的狀態(tài)送給PMST的位MP/MC4.使?fàn)顟B(tài)寄存器ST0=1800h,ST1=2900H;
5.使ST1的位INTM=1,關(guān)斷所有可屏蔽中斷;第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.5.1復(fù)位操作6.使中斷標(biāo)志寄存器IFR=0,清除所有可屏蔽中斷標(biāo)志7.使控制程序計(jì)數(shù)器XPC=0,指向程序存儲(chǔ)空間第0頁8.使數(shù)據(jù)總線處于高阻狀態(tài)9.使控制線處于無效狀態(tài)10.產(chǎn)生應(yīng)答信號(hào)IACK(CPU的中斷響應(yīng)信號(hào)輸出)11.產(chǎn)生同步復(fù)位信號(hào),用于初始化片內(nèi)外設(shè)。注意:復(fù)位時(shí)沒有對(duì)堆棧指針SP進(jìn)行初始化,因此在應(yīng)用軟件中對(duì)SP進(jìn)行設(shè)定。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.5.2省電方式
C54x系列DSP提供了多種省電工作方式,主要有下列4種:空閑方式1空閑方式2空閑方式3保持方式
可以通過執(zhí)行IDLE1、IDLE2、IDLE3這三條指令使DSP進(jìn)入相應(yīng)的空閑方式;或通過控制信號(hào)的配置實(shí)現(xiàn)保持方式.
C54x的4種省電方式√√√
RS復(fù)位√√√
NMI非屏蔽中斷發(fā)生√√√外部可屏蔽硬件中斷√內(nèi)部可屏蔽硬件中斷√
HOLD變?yōu)楦唠娖礁鞣N原因結(jié)束省電工作方式√外部控制信號(hào)線處于高阻狀態(tài)√外部數(shù)據(jù)線處于高阻狀態(tài)√外部地址線處于高阻狀態(tài)√鎖相環(huán)(PLL)停止工作√√外圍電路時(shí)鐘停止工作√√√
CPU時(shí)鐘停止工作√√√√
CPU處于暫停工作狀態(tài)HOLDIDLE3
IDLE2
IDLE1
操作/特性
第2章TMS320C54x的硬件結(jié)構(gòu)及原理第2章TMS320C54x的硬件結(jié)構(gòu)及原理其它降低功耗的功能:
C54x還可以通過關(guān)閉外部總線和關(guān)閉時(shí)鐘輸出CLKOUT來降低芯片的功耗。關(guān)閉外部總線是指關(guān)斷片內(nèi)的外部接口時(shí)鐘,使接口處于低功耗狀態(tài)(將分區(qū)開關(guān)控制寄存器BSCR的D0位置1)。
關(guān)閉時(shí)鐘輸出是指通過指令來禁CLKOUT信號(hào)的輸出(令PMST的位CLKOFF=1)。嵌入式微處理器都具有實(shí)時(shí)處理功能,對(duì)外部隨機(jī)事件能夠進(jìn)行及時(shí)的響應(yīng)和處理,這是靠中斷技術(shù)來實(shí)現(xiàn)的。
處理流程:外部中斷申請(qǐng)引腳或片內(nèi)外設(shè)發(fā)出中斷申請(qǐng)CPU終止主程序的正常執(zhí)行轉(zhuǎn)去執(zhí)行中斷服務(wù)程序(ISR)再返回主程序被打斷位置繼續(xù)執(zhí)行主程序。
2.6中斷系統(tǒng)第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.1C54x的中斷申請(qǐng)?jiān)?.中斷的分類
:軟件中斷硬件中斷中斷申請(qǐng)?jiān)吹牟煌帘蔚慕嵌?/p>
可屏蔽中斷
非屏蔽中斷
2.中斷優(yōu)先級(jí):中斷的優(yōu)先級(jí)是由芯片本身確定的,CPU將按照其優(yōu)先級(jí)的高低來確定響應(yīng)次序第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表(30個(gè))軟件中斷#21——18HSINT216軟件中斷#22——1CHSINT227軟件中斷#20——14HSINT205軟件中斷#19——10HSINT194軟件中斷#18——0CHSINT183軟件中斷#17
——08H2不可屏蔽中斷
204H1復(fù)位(硬件和軟件復(fù)位)
100HRS/SINTR0功能
中斷優(yōu)先級(jí)
地址偏移中斷名稱
中斷序號(hào)
NMI/SINT16SINT17C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表
中斷序號(hào)
中斷名稱
中斷地址
中斷優(yōu)先級(jí)
功能
8SINT2320H——軟件中斷#239SINT2424H——軟件中斷#2410SINT2528H——軟件中斷#25
11SINT262CH——軟件中斷#2612SINT2730H——軟件中斷#2713SINT2834H——軟件中斷#2814SINT2938H——軟件中斷#2915SINT303CH——軟件中斷#30C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表中斷序號(hào)
中斷名稱
中斷地址
中斷優(yōu)先級(jí)
功能
16INT0/SINT040H3外部用戶中斷#0
17INT1/SINT144H4外部用戶中斷#1
18INT2/SINT248H5外部用戶中斷#219TINT0/SINT34CH6內(nèi)部定時(shí)器0中斷
20RINT0/SINT450H7緩沖串口McBSP0接收中斷
21XINT0/SINT554H8緩沖串口McBSP0發(fā)送中斷
22RINT2/SINT658H9緩沖串口McBSP2接收中斷
C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表中斷序號(hào)
中斷名稱
中斷地址
中斷優(yōu)先級(jí)
功能
23
XINT2/SINT7
5CH10緩沖串口McBSP2發(fā)送中斷
24INT3/SINT8
60H11外部用戶中斷#325
HINT/SINT9
64H12HPI中斷
26RINT1/SINT10
68H13緩沖串口McBSP1接收中斷27XINT1/SINT116CH14緩沖串口McBSP1發(fā)送中斷
C5402A第2章TMS320C54x的硬件結(jié)構(gòu)及原理3中斷源的地址偏移量和優(yōu)先級(jí)表中斷序號(hào)
中斷名稱
中斷地址
中斷優(yōu)先級(jí)
功能
28
DMAC4/SINT12
70H
15DMA通道4中斷
29
DMAC5/SINT13
74H16DMA通道5中斷
78H~7FH——保留
C5402AC5402與C5402A在22,23號(hào)等中斷源上有差別。第2章TMS320C54x的硬件結(jié)構(gòu)及原理4.中斷向量地址的計(jì)算形成一個(gè)中斷向量地址的方法是:由IPTR給出高9位地址,地址偏移表的地址偏移量為低7位地址,兩者結(jié)合組成一個(gè)16位的地址,即為某個(gè)中斷的入口地址。
由于每個(gè)中斷僅占4個(gè)字單元,一般無法容納下中斷服務(wù)程序,因此,通常在此位置上寫一條跳轉(zhuǎn)指令,轉(zhuǎn)至相應(yīng)的中斷服務(wù)程序位置上去。共30個(gè)中斷源,128個(gè)字單元第2章TMS320C54x的硬件結(jié)構(gòu)及原理4.中斷向量地址的計(jì)算4CH第2章TMS320C54x的硬件結(jié)構(gòu)及原理5.軟件中斷指令C54x提供了3條軟件中斷指令I(lǐng)NTR、TRAP和RESET。
1)指令RESET:可在程序的任何位置使用。執(zhí)行該指令會(huì)引起芯片的軟件復(fù)位。
2)指令I(lǐng)NTRK;不管INTM及IMR的狀態(tài)如何,執(zhí)行該指令都會(huì)強(qiáng)行使CPU跳轉(zhuǎn)至
K所指出的中斷向量地址。位INTM被置1,禁止其他可屏蔽中斷。(改錯(cuò):IER應(yīng)該為IMR)
3)指令TRAPK;與INTR指令的操作類似,而TRAP
指令不影響位INTM。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.2中斷寄存器
C54x有2個(gè)寄存器對(duì)中斷進(jìn)行管理,分別為中斷標(biāo)志寄存器IFR和中斷屏蔽寄存器IMR。它們都是16位的存儲(chǔ)器映像寄存器,地址分別是0000h和0001h。
C5402A的IFR和IMR各位名稱和對(duì)應(yīng)中斷相同
TINT1orDMAC1RESorDMAC0C5402第2章TMS320C54x的硬件結(jié)構(gòu)及原理C5402A的IFR和IMR的位名稱及功能表
第2章TMS320C54x的硬件結(jié)構(gòu)及原理1.中斷標(biāo)志寄存器IFR當(dāng)一個(gè)中斷請(qǐng)求出現(xiàn)時(shí),將把中斷標(biāo)志寄存器IFR中的相應(yīng)位置1,表示該中斷發(fā)出了中斷申請(qǐng),并已被掛起,等待CPU的響應(yīng)。
清除IFR中的中斷標(biāo)志方法:
1)硬件或軟件復(fù)位;2)響應(yīng)指令I(lǐng)NTRK或TRAPK引發(fā)的中斷3)響應(yīng)硬件引發(fā)的中斷,執(zhí)行響應(yīng)的中斷服務(wù)程序4)向IFR中的位做寫入操作第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.中斷屏蔽寄存器IMR
IMR的各位可以看作是可屏蔽中斷的分開關(guān),CPU通過對(duì)它的設(shè)置來選擇允許產(chǎn)生中斷的中斷源。給相應(yīng)的標(biāo)志位寫入1,允許該中斷源產(chǎn)生中斷,寫入0禁止該中斷。
ST1中的INTM位是總開關(guān)。使用時(shí),令I(lǐng)NTM=0,使總開關(guān)閉合,令相應(yīng)IMR的某位=1,使分開關(guān)閉合,該可屏蔽中斷才能得到CPU的響應(yīng)。
INTM位及IMR對(duì)于復(fù)位中斷和非屏蔽中斷是不起作用的。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.3中斷響應(yīng)及中斷處理過程1.非屏蔽中斷或軟件中斷的處理過程2.可屏蔽中斷的處理過程第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.6.3中斷響應(yīng)及中斷處理過程3.中斷處理中的一些特殊情況1)在中斷服務(wù)程序ISR中進(jìn)行現(xiàn)場(chǎng)保護(hù)
2)DSP在響應(yīng)中斷時(shí),會(huì)有一定的延時(shí)
3)執(zhí)行單重復(fù)指令RPT和RPTZ時(shí)出現(xiàn)了斷請(qǐng)求
4)HOLD保持模式優(yōu)先于中斷
5)在指令RSBXINTM和其下一條指令之間不能響應(yīng)中斷。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7流水線C54x的流水線操作由6個(gè)階段組成:
預(yù)取指(簡(jiǎn)稱P)取指(簡(jiǎn)稱F)譯碼(簡(jiǎn)稱D)尋址(簡(jiǎn)稱A)讀數(shù)(簡(jiǎn)稱R)執(zhí)行(簡(jiǎn)稱X)
流水線結(jié)構(gòu)與操作功能:從選中的程序存儲(chǔ)單元中取指令代碼加載到PB上用指令地址PC的值加載PAB將PB上的代碼送至指令譯碼器IR譯碼讀數(shù)據(jù)1,加載DB讀數(shù)據(jù)2,加載CB若需要,將數(shù)據(jù)3寫地址加載EAB若需要,用讀數(shù)據(jù)1的地址加載至DAB;用讀數(shù)據(jù)2的地址加載至CAB修正輔助寄存器和堆棧指針執(zhí)行指令,用寫數(shù)據(jù)加載至EB第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7流水線:所謂理想的流水線是指每條指令都是單字單周期指令,都以每個(gè)時(shí)鐘一個(gè)節(jié)拍的方式流過流水線.
流水線連續(xù)運(yùn)行時(shí)的時(shí)序:執(zhí)行讀數(shù)尋址譯碼取指預(yù)取指第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7流水線:P78,3(2)32長(zhǎng)操作數(shù)存儲(chǔ)P68表3-4AR1中的內(nèi)容是數(shù)據(jù)存儲(chǔ)器的地址EB負(fù)責(zé)傳送讀/寫數(shù)據(jù)EAB負(fù)責(zé)傳送數(shù)據(jù)存儲(chǔ)器地址P59表3-1利用長(zhǎng)字尋址的32位單數(shù)據(jù)存儲(chǔ)器操作數(shù)單字雙周期指令,在兩條流水線中完成寫32位長(zhǎng)操作數(shù)第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7.2流水線操作典型問題1.有延遲和無延遲的流水線操作:在C54x的匯編指令集中存在著這樣一些指令,只要在它的末尾加“D”就可使該指令具有了延遲功能,縮短了執(zhí)行時(shí)間。表2-18具有延遲功能的指令。C54x的無延遲無條件轉(zhuǎn)移指令為雙字4周期指令.格式如下:
Bpmad;0≤pmad≤65535
指令的操作是將pmad賦給PC,實(shí)現(xiàn)程序的無條件轉(zhuǎn)移。且該指令不允許執(zhí)行緊跟在它后面的兩條單字單周期指令。P90表3-16近程無條件轉(zhuǎn)移2.7.2流水線操作典型問題(1)無延遲的流水線操作:2.7.2流水線操作典型問題(2)有延遲的流水線操作:第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7.2流水線操作典型問題2.中斷響應(yīng)的流水線操作2.中斷響應(yīng)的流水線操作第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.7.2流水線操作典型問題3.流水線沖突流水線沖突的分類時(shí)序性流水線沖突邏輯性流水線沖突部分流水線沖突由CPU自行解決。例如:在雙尋址存儲(chǔ)器和單尋址存儲(chǔ)器的流水線操作中存在的流水線沖突就可以由CPU自動(dòng)插入空周期來解決。另一部分流水線沖突未加保護(hù),由編程者去設(shè)法解決。第2章TMS320C54x的硬件結(jié)構(gòu)及原理2.8引腳及其功能按照功能可將引腳劃分為下列8部分:1)時(shí)鐘信號(hào);2)外部接口地址/數(shù)據(jù)/控制信號(hào);3)通用I/O引腳;4)多緩沖串行口McBSP0,McBSP1和McBSP2的信號(hào)5)主機(jī)接口HPI信號(hào);6)初始化、中斷及復(fù)位信號(hào);7)電源引腳;8)測(cè)試引腳。(C5402A的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC SRD 63460:2025 EN Architecture and use-cases for EVs to provide grid support functions
- 綠色能源項(xiàng)目開發(fā)與投資合同
- 托管班學(xué)生托管合同協(xié)議書
- 手房買賣合同買方有利
- 項(xiàng)目落地實(shí)施全周期工作方案
- 影視劇設(shè)備租賃合同書
- 外賣合同范本大全
- 順豐物流運(yùn)輸合同
- 合租協(xié)議書范本
- 委托租賃協(xié)議合同
- 《鄧稼先》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 老舊小區(qū)物業(yè)管理方案
- 《創(chuàng)新永無止境》示范課教學(xué)設(shè)計(jì)【部編人教版九年級(jí)道德與法治上冊(cè)】
- 《趣味數(shù)學(xué)幻方》課件
- 牛津3000正序和亂序詞匯表
- 廣州獵德大橋三維曲面塔清水混凝土施工技術(shù)
- 產(chǎn)品設(shè)計(jì)思維 課件 第5章 產(chǎn)品設(shè)計(jì)的形式思維
- Unit2Letscelebrate!Usinglanguage課件-高中英語
- Python數(shù)據(jù)挖掘?qū)崙?zhàn)全套教學(xué)課件
- 中美歐規(guī)范樁基承載力計(jì)算設(shè)計(jì)對(duì)比
- 鋼筋工程隱蔽檢查驗(yàn)收記錄表
評(píng)論
0/150
提交評(píng)論