DSP原理與應(yīng)課件_第1頁(yè)
DSP原理與應(yīng)課件_第2頁(yè)
DSP原理與應(yīng)課件_第3頁(yè)
DSP原理與應(yīng)課件_第4頁(yè)
DSP原理與應(yīng)課件_第5頁(yè)
已閱讀5頁(yè),還剩1486頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2023年11月16日DSP原理及應(yīng)用1

TMS320C54x的硬件結(jié)構(gòu)

內(nèi)容提要

TMS320C54x芯片是一種特殊結(jié)構(gòu)的微處理器,為了快速地實(shí)現(xiàn)數(shù)字信號(hào)處理運(yùn)算,采用了流水線(xià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ǔ)器、片內(nèi)外設(shè)電路、系統(tǒng)控制以及內(nèi)外部總線(xiàn)進(jìn)行了討論。2023年11月16日DSP原理及應(yīng)用2知識(shí)要點(diǎn)●引腳功能●內(nèi)外部總線(xiàn)結(jié)構(gòu)●

CPU結(jié)構(gòu)●內(nèi)部存儲(chǔ)器結(jié)構(gòu)●片內(nèi)外設(shè)電路●系統(tǒng)控制2023年11月16日DSP原理及應(yīng)用32.1’C54x的基本結(jié)構(gòu)2.2’C54x的主要特性和外部引腳2.3’C54x的內(nèi)部總線(xiàn)結(jié)構(gòu)2.4’C54x的中央處理器

2.5’C54x的存儲(chǔ)空間結(jié)構(gòu)2.6’C54x的片內(nèi)外設(shè)電路2.7’C54x的系統(tǒng)控制2.8’C54x的外部總線(xiàn)2023年11月16日DSP原理及應(yīng)用42.1’C54x的基本結(jié)構(gòu)

TMS320C54x(簡(jiǎn)稱(chēng)’C54x)是TI公司為實(shí)現(xiàn)低功耗、高速實(shí)時(shí)信號(hào)處理而專(zhuān)門(mén)設(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)用于無(wú)線(xiàn)電通信系統(tǒng)中。

2023年11月16日DSP原理及應(yīng)用52.1’C54x的基本結(jié)構(gòu)

1.’C54x的主要優(yōu)點(diǎn)

圍繞1組程序總線(xiàn)、3組數(shù)據(jù)總線(xiàn)和4組地址總線(xiàn)而建立的改進(jìn)哈佛結(jié)構(gòu),提高了系統(tǒng)的多功能性和操作的靈活性。

②具有高度并行性和專(zhuān)用硬件邏輯的CPU設(shè)計(jì),提高了芯片的性能。

具有完善的尋址方式和高度專(zhuān)業(yè)化指令系統(tǒng),更適應(yīng)于快速算法的實(shí)現(xiàn)和高級(jí)語(yǔ)言編程的優(yōu)化。

模塊化結(jié)構(gòu)設(shè)計(jì),使派生器件得到了更快的發(fā)展。

采用先進(jìn)的IC制造工藝,降低了芯片的功耗,提高了芯片的性能。

采用先進(jìn)的靜態(tài)設(shè)計(jì)技術(shù),進(jìn)一步降低了功耗,使芯片具有更強(qiáng)的應(yīng)用能力。

2023年11月16日DSP原理及應(yīng)用62.’C54x的內(nèi)部結(jié)構(gòu)

TMS320C54x的組成

中央處理器CPU

I/O功能擴(kuò)展接口

內(nèi)部總線(xiàn)控制

特殊功能寄存器

數(shù)據(jù)存儲(chǔ)器RAM

程序存儲(chǔ)器ROM

串行口主機(jī)通信接口HPI

定時(shí)系統(tǒng)

中斷系統(tǒng)2023年11月16日DSP原理及應(yīng)用72.’C54x的內(nèi)部結(jié)構(gòu)

TMS320C54x的硬件結(jié)構(gòu)圖

PAGENDAGEN

特殊功能寄存器系統(tǒng)控制程序地址生成器數(shù)據(jù)地址生成器

CPU乘法累加器算術(shù)/邏輯運(yùn)算單元桶形移位器比較器外部存儲(chǔ)器接口外部設(shè)備接口程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器串行口并行口定時(shí)器計(jì)數(shù)器中斷系統(tǒng)控制接口PABPBCABCBDABDBEABEB2023年11月16日DSP原理及應(yīng)用83.各部分的功能

①中央處理器CPU采用了流水線(xiàn)指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行處理結(jié)構(gòu),可在一個(gè)周期內(nèi)對(duì)數(shù)據(jù)進(jìn)行高速的算術(shù)運(yùn)算和邏輯運(yùn)算。

②內(nèi)部總線(xiàn)結(jié)構(gòu)

由一組程序總線(xiàn)、三組數(shù)據(jù)總線(xiàn)和四組地址總線(xiàn)組成,可在一個(gè)指令周期內(nèi)產(chǎn)生兩個(gè)數(shù)據(jù)存儲(chǔ)地址,實(shí)現(xiàn)流水線(xiàn)并行數(shù)據(jù)處理。2023年11月16日DSP原理及應(yīng)用93.各部分的功能

特殊功能寄存器共有26個(gè)特殊功能寄存器,位于具有特殊功能的RAM區(qū)。主要用來(lái)對(duì)片內(nèi)各功能模塊進(jìn)行管理、控制、監(jiān)視。

④數(shù)據(jù)存儲(chǔ)器RAM片內(nèi)數(shù)據(jù)存儲(chǔ)器雙尋址數(shù)據(jù)寄存器DARAM

單尋址數(shù)據(jù)寄存器SARAM

DARAM:在一個(gè)指令周期內(nèi),可對(duì)其進(jìn)行兩次存取操作,即一次讀出和一次寫(xiě)入;

SARAM:在一個(gè)指令周期內(nèi),只能進(jìn)行一次存取操作。2023年11月16日DSP原理及應(yīng)用103.各部分的功能

⑤程序存儲(chǔ)器ROM

可由ROM和RAM配置而成,即程序空間可以定義在ROM上,也可以定義在RAM中。當(dāng)需要高速運(yùn)行的程序時(shí),可將ROM中的程序調(diào)入到片內(nèi)RAM中,以提高程序的運(yùn)行速度,降低對(duì)ROM的速度要求,增強(qiáng)系統(tǒng)的整體抗干擾性能。2023年11月16日DSP原理及應(yīng)用113.各部分的功能

⑥I/O口

’C54x共有兩個(gè)通用I/O引腳(BIO和XF)。

BIO:主要用來(lái)監(jiān)測(cè)外部設(shè)備的工作狀態(tài);

XF:用來(lái)給外部設(shè)備發(fā)送信號(hào)。

’C54x芯片還配有主機(jī)接口(HPI)、同步串行口和64K字I/O空間。

HPI和串行口可以通過(guò)設(shè)置,用作通用I/O。

64K字的I/O空間可通過(guò)外加緩沖器或鎖存電路,配合外部I/O讀寫(xiě)控制時(shí)序構(gòu)成片外外設(shè)的控制電路。

2023年11月16日DSP原理及應(yīng)用123.各部分的功能

串行口

不同型號(hào)的’C54x芯片,所配置的串行口功能不同??煞譃?種:

單通道同步串行口SP

帶緩沖器單通道同步串行口BSP

并行帶緩沖器多通道同步串行口McBSP

時(shí)分多通道帶緩沖器串行口TMD2023年11月16日DSP原理及應(yīng)用133.各部分的功能

⑧主機(jī)接口HPI

HPI是一個(gè)與主機(jī)通信的并行接口,主要用于DSP與其它總線(xiàn)或CPU進(jìn)行通信。信息可通過(guò)’C54x的片內(nèi)存儲(chǔ)器與主機(jī)進(jìn)行數(shù)據(jù)交換。

不同型號(hào)的器件配置不同HPI口,可分為:8位標(biāo)準(zhǔn)HPI接口8位增強(qiáng)型HPI接口16位增強(qiáng)型HPI接口2023年11月16日DSP原理及應(yīng)用143.各部分的功能

⑨定時(shí)器定時(shí)器是一個(gè)軟件可編程的計(jì)數(shù)器,用來(lái)產(chǎn)生定時(shí)中斷。

可通過(guò)設(shè)置特定的狀態(tài)來(lái)控制定時(shí)器的停止、恢復(fù)、復(fù)位和禁止。

2023年11月16日DSP原理及應(yīng)用15

⑩中斷系統(tǒng)

’C54x的中斷系統(tǒng)具有硬件中斷和軟件中斷。

硬件中斷:

軟件中斷:

由外圍設(shè)備信號(hào)引起的中斷。

分為:片外外設(shè)引起的硬件中斷;

片內(nèi)外設(shè)引起的硬件中斷。

由程序指令所引起的中斷。

可屏蔽中斷:

非屏蔽中斷:

SINT15~SINT0。

包括所有的軟件中斷和兩個(gè)外部

中斷管理優(yōu)先級(jí):

11~16個(gè)固定級(jí)。硬件中斷RS、NMI。2023年11月16日DSP原理及應(yīng)用162.2

’C54x的主要特性和外部引腳

●采用先進(jìn)的多總線(xiàn)結(jié)構(gòu),通過(guò)1組程序總線(xiàn)、3組數(shù)據(jù)總線(xiàn)和4組地址總線(xiàn)來(lái)實(shí)現(xiàn)。

2.2.1’C54x的主要特性

1.CPU

●40位算術(shù)邏輯運(yùn)算單元ALU,包括1個(gè)40位桶形移位寄存器和2個(gè)獨(dú)立的40位累加器。

●17×17位并行乘法器,與40位專(zhuān)用加法器相連,可用于進(jìn)行非流水線(xiàn)的單周期乘法-累加運(yùn)算。

2023年11月16日DSP原理及應(yīng)用17

2.2.1’C54x的主要特性

1.CPU

●比較、選擇、存儲(chǔ)單元(CSSU),可用于Viterbi譯碼器的加法-比較-選擇運(yùn)算。

●指數(shù)編碼器,是一個(gè)支持單周期指令EXP的專(zhuān)用硬件??梢栽谝粋€(gè)周期內(nèi)計(jì)算40位累加器數(shù)值的指數(shù)。

●配有兩個(gè)地址生成器,包括8個(gè)輔助寄存器和2個(gè)輔助寄存器算術(shù)運(yùn)算單元(ARAU)。

2023年11月16日DSP原理及應(yīng)用18

2.2.1’C54x的主要特性

2.存儲(chǔ)器

可訪(fǎng)問(wèn)的最大存儲(chǔ)空間為192K×16位,即64K字的程序存儲(chǔ)器、64K字的數(shù)據(jù)存儲(chǔ)器以及64K字的I/O空間。

片內(nèi)ROM,可配置為程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間。

片內(nèi)RAM有兩種類(lèi)型,即雙尋址RAM(DARAM)和單尋址RAM(SARAM)。

2023年11月16日DSP原理及應(yīng)用19

2.2.1’C54x的主要特性

3.指令系統(tǒng)

支持單指令重復(fù)和塊指令重復(fù)操作●支持存儲(chǔ)器塊傳送指令

●支持32位長(zhǎng)操作數(shù)指令

●具有支持2操作數(shù)或3個(gè)操作數(shù)的讀指令

●具有能并行存儲(chǔ)和并行加載的算術(shù)指令

●支持條件存儲(chǔ)指令及中斷快速返回指令

2023年11月16日DSP原理及應(yīng)用20

2.2.1’C54x的主要特性

4.在片外圍電路

●具有軟件可編程等待狀態(tài)發(fā)生器

●設(shè)有可編程分區(qū)轉(zhuǎn)換邏輯電路

●帶有內(nèi)部振蕩器或外部時(shí)鐘源的片內(nèi)鎖相環(huán)(PLL)發(fā)生器

●支持全雙工操作的串行口,可進(jìn)行8位或16位串行通信2023年11月16日DSP原理及應(yīng)用21

2.2.1’C54x的主要特性

4.在片外圍電路

●帶4位預(yù)定標(biāo)器的16位可編程定時(shí)器

●設(shè)有與主機(jī)通信的并行接口(HPI)

●具有外部總線(xiàn)判斷控制,以斷開(kāi)外部的數(shù)據(jù)總線(xiàn)、地址總線(xiàn)和控制信號(hào)

數(shù)據(jù)總線(xiàn)具有總線(xiàn)保持器特性

2023年11月16日DSP原理及應(yīng)用22

2.2.1’C54x的主要特性

5.電源

●具有多種節(jié)電模式。

可用IDLE1、IDLE2和IDLE3指令來(lái)控制芯片功耗,使CPU工作在省電方式。

可在軟件控制下,禁止CLKOUT輸出信號(hào)。

6.片內(nèi)仿真接口

具有符合IEEE1149.1標(biāo)準(zhǔn)的片內(nèi)仿真接口。

2023年11月16日DSP原理及應(yīng)用23

2.2.1’C54x的主要特性

7.速度

5.0V電壓的器件,其速度可達(dá)到40MIPS,指令周期時(shí)間為25ns。

3.3V電壓的器件,其速度可達(dá)到80MIPS,指令周期時(shí)間為12.5ns?!?.5V電壓的器件,其速度可達(dá)到100MIPS,指令周期時(shí)間為10ns?!?.8V電壓的器件,其速度可達(dá)到200MIPS,每個(gè)核的指令周期時(shí)間為10ns。2023年11月16日DSP原理及應(yīng)用24

2.2.2’C54x的引腳功能

TMS320C54x芯片采用CMOS制造工藝,整個(gè)系列的型號(hào)基本上都采用塑料或陶瓷四方扁平封裝形式(TQFP)。

不同的器件型號(hào)其引腳的個(gè)數(shù)有所不同。下面以TMS320VC5402芯片為例,介紹’C54x引腳的名稱(chēng)及功能。

2023年11月16日DSP原理及應(yīng)用25

2.2.2’C54x的引腳功能

’C5402共有144個(gè)引腳,引腳分布如圖。144143142141140139138137136135134133132131130129128127126125124123122121120119118117116115114113112111110109123456789101112131415161718192021222324252627282930313233343536108107106105104103102101100999897969594939291908988878685848382818079787776757473TMS320VC54023738394041424344454647484950515253545556575859606162636465666768697071722023年11月16日DSP原理及應(yīng)用26

2.2.2’C54x的引腳功能

TMS320C5402引腳:電源引腳時(shí)鐘引腳

控制引腳地址和數(shù)據(jù)引腳串行口引腳主機(jī)接口引腳通用I/O引腳測(cè)試引腳2023年11月16日DSP原理及應(yīng)用27

2.2.2’C54x的引腳功能1.電源引腳

’C5402采用雙電源供電,其引腳有:

●CVDD(16、52、68、91、125、142),

電壓為+1.8V,為CPU內(nèi)核提供的專(zhuān)用電源;●DVDD(4、33、56、75、112、130),電壓為+3.3V,為各I/O引腳提供的電源;

●VSS(3、14、34、40、50、57、70、76、93、106、111、128),接地。

2023年11月16日DSP原理及應(yīng)用282.時(shí)鐘引腳

’C5402的時(shí)鐘發(fā)生器由內(nèi)部振蕩器和鎖相環(huán)PLL構(gòu)成,其引腳功能如下。

CLKOUT:主時(shí)鐘輸出引腳,周期為CPU的機(jī)器周期。

CLKMD1、CLKMD2和CLKMD3:設(shè)定時(shí)鐘工作模式引腳,用來(lái)硬件配置時(shí)鐘模式。

X2/CLKIN:時(shí)鐘振蕩器引腳。若使用內(nèi)部時(shí)鐘,用來(lái)外接晶體電路;

若使用外部時(shí)鐘,該引腳接外部時(shí)鐘輸入。

X1:時(shí)鐘振蕩器引腳。若使用內(nèi)部時(shí)鐘,用來(lái)外接晶體電路;

若使用外部時(shí)鐘,該引腳懸空。

TOUT:定時(shí)器輸出引腳。2023年11月16日DSP原理及應(yīng)用293.控制引腳控制引腳用來(lái)產(chǎn)生和接收外部器件的各種控制信號(hào),引腳功能見(jiàn)表2.2.2。

RS

:復(fù)位信號(hào);

MSTRB:外部存儲(chǔ)器選通信號(hào);

PS:外部程序存儲(chǔ)器片選信號(hào);

DS:外部數(shù)據(jù)存儲(chǔ)器片選信號(hào);

IS:I/O設(shè)備選擇信號(hào);

IOSTRB:I/O設(shè)備選通信號(hào);

R/W:讀/寫(xiě)信號(hào);READY:數(shù)據(jù)準(zhǔn)備好信號(hào)。HOLD:請(qǐng)求控制存儲(chǔ)器接口信號(hào);2023年11月16日DSP原理及應(yīng)用303.控制引腳

HOLDA:響應(yīng)控制存儲(chǔ)器請(qǐng)求信號(hào);

MSC:微狀態(tài)完成信號(hào);

IAQ:中斷請(qǐng)求信號(hào);

IACK:中斷響應(yīng)信號(hào);

MP/MC:DSP工作方式選擇信號(hào);

INT0、INT1、INT2、INT3:外部中斷請(qǐng)求信號(hào)。

NMI:非屏蔽中斷。2023年11月16日DSP原理及應(yīng)用314.地址和數(shù)據(jù)引腳

’C5402芯片共有20個(gè)地址引腳和16條數(shù)據(jù)引腳。

地址引腳用來(lái)尋址外部程序空間、外部數(shù)據(jù)空間和片外I/O空間。A19~A0:可尋址1M的外部程序空間

64K外部數(shù)據(jù)空間

64K片外I/O空間2023年11月16日DSP原理及應(yīng)用324.地址和數(shù)據(jù)引腳數(shù)據(jù)引腳:用于在處理器、外部數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器和I/O器件之間進(jìn)行16位數(shù)據(jù)并行傳輸。D15~D0:組成16位外部數(shù)據(jù)總線(xiàn)。

在下列情況下,D15~D0將呈現(xiàn)高阻狀態(tài)。

●當(dāng)沒(méi)有輸出時(shí)

●當(dāng)RS有效時(shí)

●當(dāng)HOLD有效時(shí)

●當(dāng)EMU1/OFF為低電平時(shí)2023年11月16日DSP原理及應(yīng)用335.串行口引腳’C5402器件有兩個(gè)McBSP串行口,共有12個(gè)外部引腳。

BCLKR0:緩沖串行口0同步接收時(shí)鐘信號(hào);

BCLKR1:緩沖串行口1同步接收時(shí)鐘信號(hào);BCLKX0:緩沖串行口0同步發(fā)送時(shí)鐘信號(hào);

BCLKX1:緩沖串行口1同步發(fā)送時(shí)鐘信號(hào);BDR0:緩沖串行口0的串行數(shù)據(jù)接收輸入;

BDR1:緩沖串行口1的串行數(shù)據(jù)接收輸入;

2023年11月16日DSP原理及應(yīng)用345.串行口引腳

BDX0:緩沖串行口0的串行數(shù)據(jù)發(fā)送輸出;

BDX1:緩沖串行口1的串行數(shù)據(jù)發(fā)送輸出;

BFSR0:緩沖串行口0同步接收信號(hào);

BFSR1:緩沖串行口1同步接收信號(hào);

BFSX0:緩沖串行口0同步發(fā)送信號(hào);

BFSX1:緩沖串行口1同步發(fā)送信號(hào)。2023年11月16日DSP原理及應(yīng)用356.主機(jī)接口HPI引腳

’C5402的HPI接口是一個(gè)8位并行口,用來(lái)與主設(shè)備或主處理器接口,實(shí)現(xiàn)DSP與主設(shè)備或主處理器間的通信。

HDS1:

HDS2:

HD7~HD0:8位雙向并行數(shù)據(jù)線(xiàn);

HCS:片選信號(hào),作為HPI的使能端;

HAS:地址選通信號(hào);數(shù)據(jù)選通信號(hào),由主機(jī)控制HPI數(shù)據(jù)傳輸;2023年11月16日DSP原理及應(yīng)用366.主機(jī)接口HPI引腳

HBIL:字節(jié)識(shí)別信號(hào),用來(lái)判斷主機(jī)送來(lái)的數(shù)據(jù)是

第1字節(jié)還是第2字節(jié)。

HCNTL0:

HCNTL1:

主機(jī)控制信號(hào)。

HR/W:主機(jī)對(duì)HPI口的讀/寫(xiě)信號(hào);

HRDY:HPI數(shù)據(jù)準(zhǔn)備好信號(hào);

HINT/TOUT1:HPI向主機(jī)請(qǐng)求的中斷信號(hào);

HPIENA:HPI模塊選擇信號(hào)。

用于主機(jī)選擇所要尋址的寄存器;2023年11月16日DSP原理及應(yīng)用377.通用I/O引腳

’C5402芯片都有2個(gè)通用的I/O引腳,分別為:

XF:外部標(biāo)志輸出信號(hào),用來(lái)給外部設(shè)備發(fā)送信號(hào)。通過(guò)編程設(shè)置,控制外設(shè)工作。

BIO:控制分支轉(zhuǎn)移輸入信號(hào),用來(lái)監(jiān)測(cè)外設(shè)的工作狀態(tài)。

2023年11月16日DSP原理及應(yīng)用388.測(cè)試引腳(稍了解)

’C5402芯片具有符合IEEE1149.1標(biāo)準(zhǔn)的在片仿真接口。

TCK:測(cè)試時(shí)鐘輸入引腳;

TDI:測(cè)試數(shù)據(jù)輸入引腳;

TDO:測(cè)試數(shù)據(jù)輸出引腳;

TMS:測(cè)試方式選擇引腳;

TRST:測(cè)試復(fù)位引腳;

EMU0:仿真器中斷0引腳;

EMU1/OFF:仿真器中斷1引腳/關(guān)斷所有輸出引腳。2023年11月16日DSP原理及應(yīng)用392.3’C54x的內(nèi)部總線(xiàn)結(jié)構(gòu)

TMS320C54x的結(jié)構(gòu)是以8組16位總線(xiàn)為核心,形成了支持高速指令執(zhí)行的硬件基礎(chǔ)。

總線(xiàn)結(jié)構(gòu)

1組程序總線(xiàn)PB3組數(shù)據(jù)總線(xiàn)CB、DB、EB4組地址總線(xiàn)PAB、CAB、DAB、EAB

2023年11月16日DSP原理及應(yīng)用401.程序總線(xiàn)PB

主要用來(lái)傳送取自程序存儲(chǔ)器的指令代碼和立即操作數(shù)。

PB總線(xiàn)既可以將程序空間的操作數(shù)據(jù)(如系數(shù)表)送至數(shù)據(jù)空間的目標(biāo)地址中,以實(shí)現(xiàn)數(shù)據(jù)移動(dòng),也可以將程序空間的操作數(shù)據(jù)傳送乘法器和加法器中,以便執(zhí)行乘法-累加操作。2023年11月16日DSP原理及應(yīng)用412.?dāng)?shù)據(jù)總線(xiàn)CB、DB和EB

3條數(shù)據(jù)總線(xiàn)分別與不同功能的內(nèi)部單元相連接。

如:CPU、程序地址產(chǎn)生邏輯PAGEN、數(shù)據(jù)地址產(chǎn)生邏輯

DAGEN、片內(nèi)外設(shè)和數(shù)據(jù)存儲(chǔ)器等。

CB和DB用來(lái)傳送從數(shù)據(jù)存儲(chǔ)器讀出的數(shù)據(jù);

EB用來(lái)傳送寫(xiě)入存儲(chǔ)器的數(shù)據(jù)。3.地址總線(xiàn)PAB、CAB、DAB和EAB

用來(lái)提供執(zhí)行指令所需的地址。2023年11月16日DSP原理及應(yīng)用42’C54x讀/寫(xiě)操作占用總線(xiàn)情況讀/寫(xiě)方式地址總線(xiàn)程序總線(xiàn)數(shù)據(jù)總線(xiàn)PABCABDABEABPBCBDBEB程序讀

程序?qū)?/p>

單數(shù)據(jù)讀

雙數(shù)據(jù)讀

32位長(zhǎng)數(shù)據(jù)讀

(hw)

(lw)

(hw)

(lw)單數(shù)據(jù)寫(xiě)

數(shù)據(jù)讀/數(shù)據(jù)寫(xiě)

雙數(shù)據(jù)讀/系數(shù)讀

外設(shè)讀

外設(shè)寫(xiě)

2023年11月16日DSP原理及應(yīng)用432.4’C54x的中央處理器CPU

CPU是DSP器件的核心部件,它的性能直接關(guān)系到DSP器件的性能。

’C54x的CPU采用了流水線(xiàn)指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行結(jié)構(gòu)設(shè)計(jì),使其能在一個(gè)指令周期內(nèi),高速地完成多項(xiàng)算術(shù)運(yùn)算。

2023年11月16日DSP原理及應(yīng)用44CPU包括下列基本部件:①40位算術(shù)邏輯運(yùn)算單元ALU;

②2個(gè)40位的累加器A和B;

支持-16~31位移位范圍的桶形移位寄存器;

④能完成乘法-加法運(yùn)算的乘法累加器MAC;

⑤16位暫存寄存器T;

⑥16位轉(zhuǎn)移寄存器TRN;

比較、選擇、存儲(chǔ)單元CSSU;

⑧指數(shù)譯碼器;

⑨CPU狀態(tài)和控制寄存器。

2023年11月16日DSP原理及應(yīng)用452.4.1

算術(shù)邏輯運(yùn)算單元ALU

’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í)(如ADDM、ANDM、ORM和XORM),其運(yùn)算結(jié)果則存入指令指定的目的存儲(chǔ)器。

2023年11月16日DSP原理及應(yīng)用46ALU的功能框圖

MUXABALU符號(hào)ctr符號(hào)ctrMUXMUXCB15~CB0DB15~DB0MAC輸出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位器輸出暫存器T2023年11月16日DSP原理及應(yīng)用471.ALU的輸入和輸出

根據(jù)輸入源的不同,ALU采用不同的輸入方式。(1)

ALU的X輸入源

①來(lái)自桶形移位寄存器輸出的操作數(shù);②

來(lái)自數(shù)據(jù)總線(xiàn)DB中的操作數(shù)。(2)

ALU的Y輸入源

①來(lái)自累加器A中的數(shù)據(jù);②來(lái)自累加器B中的數(shù)據(jù);

③來(lái)自數(shù)據(jù)總線(xiàn)CB中的操作數(shù);④來(lái)自T寄存器中的操作數(shù)。2023年11月16日DSP原理及應(yīng)用48(3)

ALU輸入數(shù)據(jù)的預(yù)處理

當(dāng)16位數(shù)據(jù)存儲(chǔ)器操作數(shù)通過(guò)數(shù)據(jù)總線(xiàn)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。(4)

ALU的輸出

ALU的輸出為40位運(yùn)算結(jié)果,通常被送至累加器A或B。

2023年11月16日DSP原理及應(yīng)用492.溢出處理

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)整,直接送入累加器;

②若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。2023年11月16日DSP原理及應(yīng)用503.進(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)位位C的功能:

用來(lái)指明是否有進(jìn)位發(fā)生;

用來(lái)支持?jǐn)U展精度的算術(shù)運(yùn)算;

可作為分支、調(diào)用、返回和條件操作的執(zhí)行

條件。注意:①進(jìn)位位C不受裝載累加器操作、邏輯操作、非算術(shù)運(yùn)算和控制指令的影響;

②可通過(guò)寄存器操作指令RSBX和SSBX對(duì)

其進(jìn)行置位和復(fù)位。2023年11月16日DSP原理及應(yīng)用514.雙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)算。

5.其他控制位

除SXM、OVM、C、C16、OVA、OVB外,ALU還有兩個(gè)控制位。

TC——測(cè)試/控制標(biāo)志,位于ST0的12位;

ZA/ZB——累加器結(jié)果為0標(biāo)志位。

2023年11月16日DSP原理及應(yīng)用522.4.2累加器A和B

’C54x芯片有兩個(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)算。2023年11月16日DSP原理及應(yīng)用532.4.2累加器A和B

1.累加器結(jié)構(gòu)39???

3231???

1615???

0累加器AAGAHAL保護(hù)位39???

32高階位31???

16低階位15???

0累加器BBGBHBL保護(hù)位高階位低階位BGAG保護(hù)位:AG、BG39~32,作為算術(shù)計(jì)算時(shí)的數(shù)據(jù)位余量,以防止迭代運(yùn)算中的溢出。

BGAGBHAH高階位:AH、BH31~16;BHAHBLAL低階位:AL、BL15~0。

BLAL2023年11月16日DSP原理及應(yīng)用542.4.2累加器A和B

2.帶移位的累加器存儲(chǔ)操作

使用STH、STL、STLM、SACCD等指令或并行存儲(chǔ)指令,可以把累加器中的內(nèi)容保存到數(shù)據(jù)存儲(chǔ)器中。①使用STH、SACCD和并行存儲(chǔ)指令存儲(chǔ)累加器內(nèi)容先將累加器內(nèi)容移位,再將高16位存入存儲(chǔ)器。右移存儲(chǔ):AG(BG)右移AH(BH),AH(BH)存入存儲(chǔ)器;左移存儲(chǔ):AL(BL)左移AH(BH),AH(BH)存入存儲(chǔ)器。②使用STL指令存儲(chǔ)累加器內(nèi)容先將累加器內(nèi)容移位,再將低16位存入存儲(chǔ)器。右移存儲(chǔ),AH(BH)右移AL(BL),AL(BL)存入存儲(chǔ)器;

左移存儲(chǔ),用0左移AL(BL),AL(BL)存入存儲(chǔ)器。

注意:①

移位操作是在存儲(chǔ)累加器內(nèi)容的過(guò)程中

同時(shí)完成的;

移位操作是在移位寄存器中完成的,累

加器的內(nèi)容保持不變。2023年11月16日DSP原理及應(yīng)用55【例2.4.1】累加器A=FF01234567H,執(zhí)行帶移位的STH和STL指令后,求暫存器T和A的內(nèi)容。

STHA,8,T;A的內(nèi)容左移8位,AH存入TFF01234567AAGAHAL

移位寄存器

TFF0123456701234567002345

T=2345H,A=FF

0123

4567HSTHA,-8,T;A的內(nèi)容右移8位,AH存入T

FF01234567452301FFFFFF01T=FF01H,A=FF

0123

4567HSTLA,8,T;A的內(nèi)容左移8位,AL存入T

FF012345670123

45

67

00

6700T=6700H,A=FF

0123

4567HSTLA,-8,T;A的內(nèi)容右移8位,AL存入T

FF01234567452301FFFF2345T=2345H,A=FF

0123

4567H2023年11月16日DSP原理及應(yīng)用562.4.3桶形移位寄存器

TMS320C54x的40位桶形移位寄存器主要用于累加器或數(shù)據(jù)區(qū)操作數(shù)的定標(biāo)。它能將輸入數(shù)據(jù)進(jìn)行0~31位的左移和0~16位的右移。所移動(dòng)的位數(shù)可由ST1中的ASM或被指定的暫存器T決定。2023年11月16日DSP原理及應(yīng)用57

1.組成框圖MUX符號(hào)控制SC移位寄存器(-16~31)寫(xiě)選擇MSW/LSWDB15~DB0CB15~CB0EB15~EB0測(cè)試位TcALUCSSUSXMABTASM(4~0)指令寄存器立即數(shù)-16~150~15

多路選擇器MUXMUXMUXMUX

符號(hào)控制SC符號(hào)控制SC符號(hào)控制SC

移位寄存器移位寄存器(-16~31)移位寄存器(-16~31)移位寄存器(-16~31)移位寄存器(-16~31)

④寫(xiě)選擇電路

寫(xiě)選擇MSW/LSW寫(xiě)選擇MSW/LSW寫(xiě)選擇MSW/LSW

多路選擇器MUX

用來(lái)選擇輸入數(shù)據(jù)。

符號(hào)控制SC

用于對(duì)輸入數(shù)據(jù)進(jìn)行符號(hào)位擴(kuò)展。

移位寄存器

用來(lái)對(duì)輸入的數(shù)據(jù)進(jìn)行定標(biāo)和移位。

④寫(xiě)選擇電路

用來(lái)選擇最高有效字和最低有效字。

2023年11月16日DSP原理及應(yīng)用582.桶形移位寄存器的輸入

通過(guò)多路選擇器MUX來(lái)選擇輸入信號(hào)。①

取自DB數(shù)據(jù)總線(xiàn)的16位

輸入數(shù)據(jù);②

取自DB和CB擴(kuò)展數(shù)據(jù)總

線(xiàn)的32位輸入數(shù)據(jù);③

來(lái)自累加器A或B的40位

輸入數(shù)據(jù)。3.桶形移位寄存器的輸出

輸出至ALU的一個(gè)輸入端;

②經(jīng)寫(xiě)MSW/LSW選擇電路

輸出至EB總線(xiàn)。

MUX符號(hào)控制SC移位寄存器(-16~31)寫(xiě)選擇MSW/LSWDB15~DB0CB15~CB0EB15~EB0測(cè)試位TcALUCSSUSXMABTASM(4~0)指令寄存器立即數(shù)-16~150~15DB15~DB0DB15~DB0DB15~DB0DB15~DB0CB15~CB0DB15~DB0CB15~CB0DB15~DB0CB15~CB0AAABBBALUALUALUEB15~EB0EB15~EB0EB15~EB02023年11月16日DSP原理及應(yīng)用594.桶形移位寄存器的功能

主要用于格式化操作,為輸入的數(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)。

2023年11月16日DSP原理及應(yīng)用605.桶形移位寄存器的操作(1)

控制操作數(shù)的符號(hào)位擴(kuò)展根據(jù)SXM位控制操作數(shù)進(jìn)行符號(hào)位的擴(kuò)展。

若操作數(shù)為有符號(hào)數(shù),則

當(dāng)SXM=1時(shí),完成符號(hào)位擴(kuò)展;

當(dāng)SXM=0時(shí),禁止符號(hào)位擴(kuò)展。

若操作數(shù)為無(wú)符號(hào)數(shù),則不考慮SXM位,不執(zhí)行符號(hào)位的擴(kuò)展。

如:LDU、ADDS和SUBS指令,操作數(shù)為無(wú)符號(hào)數(shù),不進(jìn)行符號(hào)位擴(kuò)展。2023年11月16日DSP原理及應(yīng)用61(2)

控制操作數(shù)的移位

根據(jù)指令中的移位數(shù),控制操作數(shù)進(jìn)行移位操作。移位數(shù)用二進(jìn)制補(bǔ)碼表示,正值時(shí)完成左移,負(fù)值時(shí)完成右移。

移位數(shù)的形式:

5位立即數(shù),取值范圍:-16~15;②

ST1中的ASM位,取值范圍:-16~15;

③暫存器T中的低6位數(shù)值,取值范圍:-16~31。

這種移位操作能使CPU完成數(shù)據(jù)的定標(biāo)、位提取、擴(kuò)展算術(shù)和溢出保護(hù)等操作。

2023年11月16日DSP原理及應(yīng)用62【例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)行歸一化

桶形移位寄存器和指數(shù)譯碼器可以將累加器中的數(shù)值在一個(gè)周期內(nèi)進(jìn)行歸一化處理。

例如,40位累加器A中的定點(diǎn)數(shù)為FFFFFFF001。

①先用EXPA指令,求得它的指數(shù)為13H,存放在T寄存器中。②然后再執(zhí)行NORMA指令,可在單個(gè)周期內(nèi)將原來(lái)的定點(diǎn)數(shù)分成尾數(shù)FF80080000和指數(shù)13H兩個(gè)部分。

2023年11月16日DSP原理及應(yīng)用63(3)控制操作數(shù)完成帶測(cè)試位的移位

根據(jù)ROLTC指令,控制操作數(shù)完成帶測(cè)試位的循環(huán)左移。(4)完成MSW和LSW的寫(xiě)選擇

MSW/LSW單元根據(jù)CSSU信號(hào),選擇移位后的信號(hào)鎖存,并輸出至EB總線(xiàn)。

2023年11月16日DSP原理及應(yīng)用642.4.4乘法-累加單元MAC

’C54x的乘法-累加單元MAC是由乘法器、加法器、符號(hào)控制、小數(shù)控制、零檢測(cè)器、舍入器、飽和邏輯和暫存器幾部分組成。

零檢測(cè)舍入器飽和邏輯取整40位加法器MUXXMYM乘法器(17

17)符號(hào)控制符號(hào)控制XMUXYMUXTDB15~DB0CB15~CB0PB15~PB0YAXAOVMOVA/OVBZA/ZB至A/BFRCTAB0來(lái)自A來(lái)自BPACDADT乘法-累加單元功能框圖

MAC單元具有強(qiáng)大的乘法-累加運(yùn)算功能,可在一個(gè)流水線(xiàn)周期內(nèi)完成1次乘法運(yùn)算和1次加法運(yùn)算。在數(shù)字濾波(FIR和IIR濾波)以及自相關(guān)等運(yùn)算中,使用乘法-累加運(yùn)算指令可以大大提高系統(tǒng)的運(yùn)算速度。

2023年11月16日DSP原理及應(yīng)用651.乘法器

MAC單元包含一個(gè)17

17位硬件乘法器,可完成有符號(hào)數(shù)和無(wú)符號(hào)數(shù)的乘法運(yùn)算。

(1)乘法器的輸入

XM輸入:

YM輸入:

取自數(shù)據(jù)總線(xiàn)DB的數(shù)據(jù)存儲(chǔ)器操作數(shù);

來(lái)自暫存器T的操作數(shù);

來(lái)自累加器A的32~16位操作數(shù)。

來(lái)自數(shù)據(jù)總線(xiàn)DB的數(shù)據(jù)存儲(chǔ)器操作數(shù);

來(lái)自數(shù)據(jù)總線(xiàn)CB的數(shù)據(jù)存儲(chǔ)器操作數(shù);

來(lái)自程序總線(xiàn)PB的程序存儲(chǔ)器操作數(shù);

來(lái)自累加器A的32~16位操作數(shù)。2023年11月16日DSP原理及應(yīng)用661.乘法器(2)乘法器的輸出

乘法器的輸出經(jīng)小數(shù)控制電路接至加法器的XA輸入端。(3)乘法器的操作

MAC單元的乘法器能進(jìn)行有符號(hào)數(shù)、無(wú)符號(hào)數(shù)以及有符號(hào)數(shù)與無(wú)符號(hào)數(shù)的乘法運(yùn)算。2023年11月16日DSP原理及應(yīng)用67(3)乘法器的操作

根據(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)行相乘。

擴(kuò)展的方法:在每個(gè)乘數(shù)的最高位前增加一個(gè)符號(hào)位,其值由乘數(shù)的最高位決定,即正數(shù)為0,負(fù)數(shù)為1。

若是兩個(gè)無(wú)符號(hào)數(shù)相乘,則在兩個(gè)16位乘數(shù)的最高位前面添加“0”,擴(kuò)展為17位乘數(shù)后再進(jìn)行乘運(yùn)算。

若是有符號(hào)數(shù)與無(wú)符號(hào)數(shù)相乘,則有符號(hào)數(shù)在最高位前添加1個(gè)符號(hào)位,其值由最高位決定,而無(wú)符號(hào)數(shù)在最高位前面添加“0”,然后兩個(gè)操作數(shù)相乘。

2023年11月16日DSP原理及應(yīng)用68(3)乘法器的操作

由于乘法器在進(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。

2023年11月16日DSP原理及應(yīng)用692.專(zhuān)用加法器在MAC單元中,專(zhuān)用加法器用來(lái)完成乘積項(xiàng)的累加運(yùn)算。

專(zhuān)用加法器加法器零檢測(cè)器舍入器溢出/飽和邏輯電路

舍入器:用來(lái)對(duì)運(yùn)算結(jié)果進(jìn)行舍入處理,即將目標(biāo)累加器中的內(nèi)容加上215,然后將累加器的低16位清零。

2023年11月16日DSP原理及應(yīng)用702.專(zhuān)用加法器(1)加法器的輸入

XA輸入:來(lái)自乘法器的輸出。

YA輸入:①

來(lái)自累加器A的操作數(shù);

來(lái)自累加器B的操作數(shù)。(2)加法器的輸出

輸出經(jīng)零檢測(cè)器、舍入器和溢出/飽和邏輯電路后,將產(chǎn)生的狀態(tài)標(biāo)志送入狀態(tài)寄存器,并將運(yùn)算結(jié)果送入累加器A或B。

2023年11月16日DSP原理及應(yīng)用712.4.5

比較、選擇和存儲(chǔ)單元CSSU

’C54x的比較、選擇和存儲(chǔ)單元(CSSU)是一個(gè)特殊用途的硬件電路,專(zhuān)門(mén)用來(lái)完成Viterbi算法中的加法/比較/選擇(ACS)操作。比較電路COMP狀態(tài)轉(zhuǎn)移寄存器TRN

狀態(tài)寄存器ST0中的TC

MUXCOMPTRNTCCCSUABMSW/LSW選擇EB15~EB0來(lái)自桶形移位器多路選擇器MUXMUXMUXCOMPCOMPTRNTRNTCTC16error2023年11月16日DSP原理及應(yīng)用722.4.5

比較、選擇和存儲(chǔ)單元CSSU

CSSU單元主要完成累加器的高階位與低階位之間最大值的比較,即選擇累加器中較大的字,并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中。

比較電路COMP將累加器A或B的高階位與低階位進(jìn)行比較;

比較結(jié)果分別送入TRN和TC中,記錄比較結(jié)果以便程序調(diào)試;

③比較結(jié)果輸出至寫(xiě)選擇電路,選擇較大的數(shù)據(jù);

將選擇的數(shù)據(jù)通過(guò)總線(xiàn)EB存入指定的存儲(chǔ)單元。

工作過(guò)程:

2023年11月16日DSP原理及應(yīng)用732.4.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。

2023年11月16日DSP原理及應(yīng)用742.4.6

指數(shù)編碼器EXP

指數(shù)編碼器是一個(gè)用于支持指數(shù)運(yùn)算指令的專(zhuān)用硬件,可以在單周期內(nèi)執(zhí)行EXP指令,求累加器中數(shù)的指數(shù)值。

指數(shù)編碼器EXP累加器A

累加器B

T寄存器

功能:求累加器中數(shù)據(jù)的指數(shù)值。

指數(shù)值=冗余符號(hào)位-8

2023年11月16日DSP原理及應(yīng)用752.4.7CPU狀態(tài)和控制寄存器

’C54x提供三個(gè)16位寄存器來(lái)作為CPU狀態(tài)和控制寄存器,它們分別為:

狀態(tài)寄存器0(ST0)

狀態(tài)寄存器1(ST1)

工作方式狀態(tài)寄存器(PMST)

ST0和ST1主要包含各種工作條件和工作方式的狀態(tài);

PMST包含存儲(chǔ)器的設(shè)置狀態(tài)和其他控制信息。

2023年11月16日DSP原理及應(yīng)用762.4.7CPU狀態(tài)和控制寄存器

由于這些寄存器都是存儲(chǔ)器映像寄存器,因此可以很方便地對(duì)它們進(jìn)行如下數(shù)據(jù)操作:

●將它們快速地存放到數(shù)據(jù)存儲(chǔ)器;

●由數(shù)據(jù)存儲(chǔ)器對(duì)它們進(jìn)行加載;

用子程序或中斷服務(wù)程序保存和恢復(fù)處理器的狀態(tài)。以書(shū)本為主,詳細(xì)講述

2023年11月16日DSP原理及應(yīng)用772.4.7CPU狀態(tài)和控制寄存器1.狀態(tài)寄存器0(ST0)

主要反映處理器的尋址要求和計(jì)算機(jī)的運(yùn)行狀態(tài)。

ST0的結(jié)構(gòu):15—1312111098——0ST0:ARPTCCOVAOVBDPARPARP:輔助寄存器指針。用來(lái)選擇使用單操作數(shù)間接尋址時(shí)的輔助寄存器AR0~AR7。ARPTCTC:測(cè)試/控制標(biāo)志。

用來(lái)保存ALU測(cè)試操作的結(jié)果。TCCC:進(jìn)位標(biāo)志位。

用來(lái)保存ALU加減運(yùn)算時(shí)所產(chǎn)生的進(jìn)/借位。COVBOVAOVA/B:累加器A/B的溢出標(biāo)志。

用來(lái)反映A/B是否產(chǎn)生溢出。OVBOVADPDP:數(shù)據(jù)存儲(chǔ)器頁(yè)指針。

用來(lái)與指令中提供的7位地址結(jié)合形成1個(gè)

16位數(shù)據(jù)存儲(chǔ)器的地址。DP2023年11月16日DSP原理及應(yīng)用782.4.7CPU狀態(tài)和控制寄存器2.狀態(tài)寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAF:塊重復(fù)操作標(biāo)志位。

用來(lái)指示當(dāng)前是否在執(zhí)行塊重復(fù)操作。

BRAF=0

表示當(dāng)前不進(jìn)行重復(fù)塊操作;

BRAF=1

表示當(dāng)前正在進(jìn)行塊重復(fù)操作。CPL:直接尋址編輯方式標(biāo)志位;

用來(lái)指示直接尋址選用何種指針。

CPL=0

選用數(shù)據(jù)頁(yè)指針DP的直接尋址;

CPL=1

選用堆棧指針SP的直接尋址。XF:外部XF引腳狀態(tài)控制位。

用來(lá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:中斷方式控制位;

用于屏蔽或開(kāi)放所有可屏蔽中斷。

INTN=0

開(kāi)放全部可屏蔽中斷;

INTN=1

禁止所有可屏蔽中斷。0:保留位,未被使用,總是讀為0。OVM:溢出方式控制位;

用來(lái)確定累加器溢出時(shí),對(duì)累加器的加載方式。

OVM=0

將運(yùn)算的溢出結(jié)果直接加載到累加器中;

OVM=1

當(dāng)正溢出時(shí),將007FFFFFFFH加載累加器;

當(dāng)負(fù)溢出時(shí),將FF80000000H加載累加器。SXM:符號(hào)位擴(kuò)展方式控制位;用來(lái)確定數(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)算方式控制位;

用來(lái)決定ALU的算術(shù)運(yùn)算方式。

C16=0

ALU工作在雙精度算術(shù)運(yùn)算方式;

C16=1

ALU工作在雙16位算術(shù)運(yùn)算方式。FRCT:小數(shù)方式控制位;

用來(lái)確定乘法器的運(yùn)算方式。

FRCT=1

乘法器的輸出左移一位,消除多余的符號(hào)位。CMPT:間接尋址輔助寄存器修正方式控制位;

用來(lái)決定ARP是否進(jìn)行修正。

CMPT=0

在進(jìn)行間接尋址單操作數(shù)時(shí),不修正ARP;

CMPT=1

在進(jìn)行間接尋址單操作數(shù)時(shí),修正ARP。ASM:累加器移位方式控制位。

為某些具有移位操作的指令設(shè)定一個(gè)從-16~15范圍內(nèi)的移位值。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM

主要反映處理器的尋址要求、計(jì)算初始狀態(tài)的設(shè)置、I/O及中斷的控制等。2023年11月16日DSP原理及應(yīng)用792.4.7CPU狀態(tài)和控制寄存器3.工作方式狀態(tài)寄存器PMSTSSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR012345615~7

主要設(shè)定和控制處理器的工作方式和存儲(chǔ)器的配置,反映處理器的工作狀態(tài)。中斷向量指針CPU工作方式選擇位RAM重復(fù)占位標(biāo)志地址可見(jiàn)控制位數(shù)據(jù)ROM映射選擇位時(shí)鐘輸出選擇位乘法飽和方式位存儲(chǔ)飽和位2023年11月16日DSP原理及應(yīng)用80

IPTR:用來(lái)指示中斷向量所駐留的128字程序存儲(chǔ)器的位置;

MP/MC:用來(lái)確定是否允許使用片內(nèi)程序存儲(chǔ)器ROM

OVLY:用來(lái)決定片內(nèi)雙尋址數(shù)據(jù)RAM是否映射到程序空間。

AVIS:用來(lái)決定是否可以從器件地址引腳線(xiàn)看到內(nèi)部程序空間地址線(xiàn);

DROM:用來(lái)決定片內(nèi)ROM是否可以映射到數(shù)據(jù)存儲(chǔ)空間;

CLKOFF:用來(lái)決定時(shí)鐘輸出引腳CLKOUT是否有信號(hào)輸出;

SMUL:用來(lái)決定乘法結(jié)果是否需要進(jìn)行飽和處理;

SST:用來(lái)決定累加器中的數(shù)據(jù)在存儲(chǔ)到存儲(chǔ)器之前,是否需要飽和處理。2023年11月16日DSP原理及應(yīng)用81

2.5

’C54x的存儲(chǔ)空間結(jié)構(gòu)

’C54x共有192K字的存儲(chǔ)空間,分成3個(gè)相互獨(dú)立可選擇的存儲(chǔ)空間:

64K字(16位)的程序存儲(chǔ)空間;

64K字(16位)的數(shù)據(jù)存儲(chǔ)空間;

64K字(16位)的I/O空間。

程序存儲(chǔ)空間:用來(lái)存放要執(zhí)行的指令和指令執(zhí)行中所需要的系數(shù)表(數(shù)學(xué)用表);

數(shù)據(jù)存儲(chǔ)空間:用來(lái)存放執(zhí)行指令所需要的數(shù)據(jù);

I/O存儲(chǔ)空間:用來(lái)提供與外部存儲(chǔ)器映射的接口,可以作為外部數(shù)據(jù)存儲(chǔ)空間使用。2023年11月16日DSP原理及應(yīng)用82

2.5

’C54x的存儲(chǔ)空間結(jié)構(gòu)

所有’C54x芯片都含有片內(nèi)RAM和ROM。

片內(nèi)RAMSARAMDARAM——

單尋址RAM——

雙尋址RAMDARAM:由存儲(chǔ)器內(nèi)的一些分塊組成。

每個(gè)DARAM塊在單周期內(nèi)能被訪(fǎng)問(wèn)2次。

SARAM:由存儲(chǔ)器分塊組成。

每個(gè)SARAM塊在單周期內(nèi)只能被訪(fǎng)問(wèn)1次。

DARAM和SARAM既可以被映射到數(shù)據(jù)存儲(chǔ)空間用來(lái)存儲(chǔ)數(shù)據(jù),也可以映射到程序空間用來(lái)存儲(chǔ)程序代碼。

片內(nèi)ROM:主要存放固化程序和系數(shù)表。一般構(gòu)成程序存儲(chǔ)空間,也可以部分地映射在數(shù)據(jù)存儲(chǔ)空間。2023年11月16日DSP原理及應(yīng)用83

2.5

’C54x的存儲(chǔ)空間結(jié)構(gòu)

片內(nèi)存儲(chǔ)器的優(yōu)點(diǎn):

不需要插入等待狀態(tài);

●與外部存儲(chǔ)器相比,成本低;

●比外部存儲(chǔ)器功耗小。2023年11月16日DSP原理及應(yīng)用84

2.5

’C54x的存儲(chǔ)空間結(jié)構(gòu)

’C54x片內(nèi)存儲(chǔ)器資源配置DSP存儲(chǔ)器’C541’C542’C543’C545’C546’C548’C549’C5402’C5410’C5416’C5420ROM程序程序/數(shù)據(jù)DARAMSARAM28K20K8K5K02K2K010K02K2k010K048K32K16K6K048K32K16K6K02K2K08K24K16K16K08K24K4K4K4K16K0

16K16K08K56K

16K16K064K64K

00032K168K

2023年11月16日DSP原理及應(yīng)用852.5.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)或片外。

2023年11月16日DSP原理及應(yīng)用86TMS320VC5402存儲(chǔ)器配置結(jié)構(gòu)

MP/MC=0微計(jì)算機(jī)模式外部存儲(chǔ)器MP/MC=1微處理器模式DROM控制的數(shù)據(jù)存儲(chǔ)空間

DROM=1保留

DROM=0外部存儲(chǔ)器FF00HFFFFHDROM=1內(nèi)部ROMDROM=0外部存儲(chǔ)器F000HFEFFH外部存儲(chǔ)器4000HEFFFH內(nèi)部DARAM(16K×16位字)0080H3FFFH暫存器SPRAM0060H007FH存儲(chǔ)器映像寄存器0000H005FH地址數(shù)據(jù)存儲(chǔ)空間0000H007FHOVLY=1

保留(0頁(yè))OVLY=0

外部存儲(chǔ)器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

外部存儲(chǔ)器4000HEFFFH外部存儲(chǔ)器F000HFEFFH內(nèi)部ROMFF00HFF7FH保留FF80HFFFFH中斷矢量表(內(nèi)部存儲(chǔ)器)地址程序存儲(chǔ)空間0000H007FHOVLY=1

保留(0頁(yè))OVLY=0

外部存儲(chǔ)器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

外部存儲(chǔ)器4000H外部存儲(chǔ)器???úROMFF7FH±£á?FF80HFFFFH中斷矢量表(外部存儲(chǔ)器)地址程序存儲(chǔ)空間地址數(shù)據(jù)存儲(chǔ)空間0000H005FH0060H007FH存儲(chǔ)器映像寄存器暫存寄存器0080H3FFFH內(nèi)部DARAM(16K×16位)4000HEFFFH外部存儲(chǔ)器F000HFEFFHDROM=0

外部ROMDROM=1

內(nèi)部ROMFF00HDROM=0

外部存儲(chǔ)器FFFFHDROM=1

保留

2023年11月16日DSP原理及應(yīng)用872.5.2程序存儲(chǔ)空間

程序存儲(chǔ)空間用來(lái)存放要執(zhí)行的指令和執(zhí)行中所需的系數(shù)表。

’C5402共有20條地址線(xiàn),可尋址1M字的(外部)程序存儲(chǔ)器。它的內(nèi)部ROM和DARAM可通過(guò)軟件映射到程序空間。當(dāng)存儲(chǔ)單元映射到程序空間時(shí),CPU可自動(dòng)地按程序存儲(chǔ)器對(duì)它們進(jìn)行尋址。

如果程序地址生成器(PAGEN)產(chǎn)生的地址處于外部存儲(chǔ)器,CPU可自動(dòng)地對(duì)外部存儲(chǔ)器尋址。

2023年11月16日DSP原理及應(yīng)用882.5.2程序存儲(chǔ)空間1.程序存儲(chǔ)空間的配置

程序存儲(chǔ)空間可通過(guò)PMST寄存器的MP/MC和OVLY控制位來(lái)設(shè)置內(nèi)部存儲(chǔ)器的映射地址。

MP/MC控制位用來(lái)決定程序存儲(chǔ)空間是否使用內(nèi)部存儲(chǔ)器。

當(dāng)MP/MC=0時(shí),稱(chēng)為微計(jì)算機(jī)模式。

4000H~EFFFH程序存儲(chǔ)空間定義為外部存儲(chǔ)器;

F000H~FEFFH程序存儲(chǔ)空間定義為內(nèi)部ROM;

FF00H~FFFFH程序存儲(chǔ)空間定義為內(nèi)部存儲(chǔ)器。

當(dāng)MP/MC=1時(shí),稱(chēng)為微處理器模式。

4000H~FFFFH程序存儲(chǔ)空間定義為外部存儲(chǔ)器。2023年11月16日DSP原理及應(yīng)用891.程序存儲(chǔ)空間的配置

當(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保留,程序無(wú)法占用;

0080H~3FFFH定義為內(nèi)部DARAM。

●OVLY控制位用來(lái)決定程序存儲(chǔ)空間是否使用內(nèi)部RAM。2023年11月16日DSP原理及應(yīng)用90微計(jì)算機(jī)模式:

MP/MC=0OVLY=10000H~007FH

保留0080H~3FFFH內(nèi)部DARAM

0000H~EFFFH

外部存儲(chǔ)器4000H~EFFFH外部存儲(chǔ)器F000H~FEFFH內(nèi)部ROMFF00H~FF7FH保留FF80H~FFFFH中斷矢量表FF00H~FF7FH保留F000H~FEFFH內(nèi)部ROMOVLY=00000H007FHOVLY=1

保留OVLY=0

外部存儲(chǔ)器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

外部存儲(chǔ)器4000HEFFFH外部存儲(chǔ)器F000HFEFFH內(nèi)部ROMFF00HFF7FH保留FF80HFFFFH中斷矢量表(內(nèi)部存儲(chǔ)器)地址程序存儲(chǔ)空間OVLY=1

保留0000H007FHOVLY=1

內(nèi)部DARAM0080H3FFFH外部存儲(chǔ)器4000HEFFFH內(nèi)部ROMF000HFEFFH保留FF00HFF7FH中斷矢量表(內(nèi)部存儲(chǔ)器)FF80HFFFFHOVLY=0

外部存儲(chǔ)器0000H007FHOVLY=0

外部存儲(chǔ)器0080H3FFFHOVLY=0

外部存儲(chǔ)器4000HEFFFH保留FF00HFF7FH中斷矢量表(內(nèi)部存儲(chǔ)器)FF80HFFFFHFF80H~FFFFH中斷矢量表內(nèi)部ROMF000HFEFFH中斷矢量表(內(nèi)部存儲(chǔ)器)保留內(nèi)部ROM外部存儲(chǔ)器OVLY=1

內(nèi)部DARAMOVLY=0

外部存儲(chǔ)器OVLY=1

保留OVLY=0

外部存儲(chǔ)器內(nèi)部存儲(chǔ)器內(nèi)部存儲(chǔ)器2023年11月16日DSP原理及應(yīng)用91微處理器模式:

MP/MC=1地址程序存儲(chǔ)空間0000H007FHOVLY=1

保留OVLY=0

外部存儲(chǔ)器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

外部存儲(chǔ)器4000H外部存儲(chǔ)器FF7FHFF80HFFFFH中斷矢量表(外部存儲(chǔ)器)OVLY=1:

OVLY=1

保留OVLY=0

外部存儲(chǔ)器OVLY=1

保留0000H007FH0000H~007FH

保留

OVLY=1

內(nèi)部DARAM0080H3FFFH0080H~3FFFH內(nèi)部DARAM

外部存儲(chǔ)器4000HFF7FH4000H~FF7FH外部存儲(chǔ)器中斷矢量表(外部存儲(chǔ)器)FF80HFFFFHFF80H~FFFFH中斷矢量表OVLY=0:外部存儲(chǔ)器4000HOVLY=1

保留OVLY=0

外部存儲(chǔ)器OVLY=0

外部存儲(chǔ)器0000H007FHOVLY=0

外部存儲(chǔ)器0080H3FFFHFF7FH0000H~FF7FH

外部存儲(chǔ)器中斷矢量表(外部存儲(chǔ)器)FF80HFFFFHFF80H~FFF

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論