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

下載本文檔

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

文檔簡介

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

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

內(nèi)容提要

TMS320C54x芯片是一種特殊結(jié)構(gòu)的微處理器,為了快速地實(shí)現(xiàn)數(shù)字信號處理運(yùn)算,采用了流水線指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行處理結(jié)構(gòu),可在一個周期內(nèi)對數(shù)據(jù)進(jìn)行高速的算術(shù)運(yùn)算和邏輯運(yùn)算。

本章主要介紹TMS320C54x芯片的硬件結(jié)構(gòu),重點(diǎn)對芯片的引腳功能、CPU結(jié)構(gòu)、內(nèi)部存儲器、片內(nèi)外設(shè)電路、系統(tǒng)控制以及內(nèi)外部總線進(jìn)行了討論。2023年11月16日DSP原理及應(yīng)用2知識要點(diǎn)●引腳功能●內(nèi)外部總線結(jié)構(gòu)●

CPU結(jié)構(gòu)●內(nèi)部存儲器結(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)部總線結(jié)構(gòu)2.4’C54x的中央處理器

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

TMS320C54x(簡稱’C54x)是TI公司為實(shí)現(xiàn)低功耗、高速實(shí)時信號處理而專門設(shè)計的16位定點(diǎn)數(shù)字信號處理器,采用改進(jìn)的哈佛結(jié)構(gòu),具有高度的操作靈活性和運(yùn)行速度,適應(yīng)于遠(yuǎn)程通信等實(shí)時嵌入式應(yīng)用的需要,現(xiàn)已廣泛地應(yīng)用于無線電通信系統(tǒng)中。

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

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

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

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

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

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

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

采用先進(jìn)的靜態(tài)設(shè)計技術(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)部總線控制

特殊功能寄存器

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

程序存儲器ROM

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

定時系統(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)算單元桶形移位器比較器外部存儲器接口外部設(shè)備接口程序存儲器數(shù)據(jù)存儲器串行口并行口定時器計數(shù)器中斷系統(tǒng)控制接口PABPBCABCBDABDBEABEB2023年11月16日DSP原理及應(yīng)用83.各部分的功能

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

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

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

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

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

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

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

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

⑤程序存儲器ROM

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

⑥I/O口

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

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

XF:用來給外部設(shè)備發(fā)送信號。

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

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

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

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

串行口

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

單通道同步串行口SP

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

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

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

⑧主機(jī)接口HPI

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

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

⑨定時器定時器是一個軟件可編程的計數(shù)器,用來產(chǎn)生定時中斷。

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

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

⑩中斷系統(tǒng)

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

硬件中斷:

軟件中斷:

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

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

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

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

可屏蔽中斷:

非屏蔽中斷:

SINT15~SINT0。

包括所有的軟件中斷和兩個外部

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

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

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

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

2.2.1’C54x的主要特性

1.CPU

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

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

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

2.2.1’C54x的主要特性

1.CPU

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

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

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

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

2.2.1’C54x的主要特性

2.存儲器

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

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

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

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

2.2.1’C54x的主要特性

3.指令系統(tǒng)

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

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

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

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

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

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

2.2.1’C54x的主要特性

4.在片外圍電路

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

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

●帶有內(nèi)部振蕩器或外部時鐘源的片內(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è)有與主機(jī)通信的并行接口(HPI)

●具有外部總線判斷控制,以斷開外部的數(shù)據(jù)總線、地址總線和控制信號

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

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

2.2.1’C54x的主要特性

5.電源

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

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

可在軟件控制下,禁止CLKOUT輸出信號。

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,指令周期時間為25ns。

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

2.2.2’C54x的引腳功能

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

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

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

2.2.2’C54x的引腳功能

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

2.2.2’C54x的引腳功能

TMS320C5402引腳:電源引腳時鐘引腳

控制引腳地址和數(shù)據(jù)引腳串行口引腳主機(jī)接口引腳通用I/O引腳測試引腳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)核提供的專用電源;●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.時鐘引腳

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

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

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

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

若使用外部時鐘,該引腳接外部時鐘輸入。

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

若使用外部時鐘,該引腳懸空。

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

RS

:復(fù)位信號;

MSTRB:外部存儲器選通信號;

PS:外部程序存儲器片選信號;

DS:外部數(shù)據(jù)存儲器片選信號;

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

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

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

HOLDA:響應(yīng)控制存儲器請求信號;

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

IAQ:中斷請求信號;

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

MP/MC:DSP工作方式選擇信號;

INT0、INT1、INT2、INT3:外部中斷請求信號。

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

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

地址引腳用來尋址外部程序空間、外部數(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ù)存儲器、程序存儲器和I/O器件之間進(jìn)行16位數(shù)據(jù)并行傳輸。D15~D0:組成16位外部數(shù)據(jù)總線。

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

●當(dāng)沒有輸出時

●當(dāng)RS有效時

●當(dāng)HOLD有效時

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

BCLKR0:緩沖串行口0同步接收時鐘信號;

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

BCLKX1:緩沖串行口1同步發(fā)送時鐘信號;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同步接收信號;

BFSR1:緩沖串行口1同步接收信號;

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

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

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

HDS1:

HDS2:

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

HCS:片選信號,作為HPI的使能端;

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

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

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

HCNTL0:

HCNTL1:

主機(jī)控制信號。

HR/W:主機(jī)對HPI口的讀/寫信號;

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

HINT/TOUT1:HPI向主機(jī)請求的中斷信號;

HPIENA:HPI模塊選擇信號。

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

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

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

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

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

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

TCK:測試時鐘輸入引腳;

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

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

TMS:測試方式選擇引腳;

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

EMU0:仿真器中斷0引腳;

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

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

總線結(jié)構(gòu)

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

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

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

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

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

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

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

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

EB用來傳送寫入存儲器的數(shù)據(jù)。3.地址總線PAB、CAB、DAB和EAB

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

程序?qū)?/p>

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

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

32位長數(shù)據(jù)讀

(hw)

(lw)

(hw)

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

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

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

外設(shè)讀

外設(shè)寫

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

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

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

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

②2個40位的累加器A和B;

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

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

⑤16位暫存寄存器T;

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

比較、選擇、存儲單元CSSU;

⑧指數(shù)譯碼器;

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

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

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

’C54x使用40位的算術(shù)邏輯運(yùn)算單元和2個40位累加器,可完成寬范圍的算術(shù)邏輯運(yùn)算。

’C54x的大多數(shù)算術(shù)邏輯運(yùn)算指令都是單周期指令,其運(yùn)算結(jié)果通常自動送入目的累加器A或B。但在執(zhí)行存儲器到存儲器的算術(shù)邏輯運(yùn)算指令時(如ADDM、ANDM、ORM和XORM),其運(yùn)算結(jié)果則存入指令指定的目的存儲器。

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

MUXABALU符號ctr符號ctrMUXMUXCB15~CB0DB15~DB0MAC輸出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位器輸出暫存器T2023年11月16日DSP原理及應(yīng)用471.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ù)。2023年11月16日DSP原理及應(yīng)用48(3)

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

當(dāng)16位數(shù)據(jù)存儲器操作數(shù)通過數(shù)據(jù)總線DB或CB輸入時,ALU將采用兩種方式對操作數(shù)進(jìn)行預(yù)處理。

若數(shù)據(jù)存儲器的16位操作數(shù)在低16位時,則

當(dāng)SXM=0時,高24位(39~16位)用0填充;

當(dāng)SXM=1時,高24位(39~16位)擴(kuò)展為符號位。

若數(shù)據(jù)存儲器的16位操作數(shù)在高16位時,則

當(dāng)SXM=0時,39~32位和15~0位用0填充;

當(dāng)SXM=1時,39~32位擴(kuò)展為符號位,15~0位置0。(4)

ALU的輸出

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

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

ALU的飽和邏輯可以對運(yùn)算結(jié)果進(jìn)行溢出處理。當(dāng)發(fā)生溢出時,將運(yùn)算結(jié)果調(diào)整為最大正數(shù)(正向溢出)或最小負(fù)數(shù)(負(fù)向溢出)。

當(dāng)運(yùn)算結(jié)果發(fā)生溢出時:

①若OVM=0,則對ALU的運(yùn)算結(jié)果不作任何調(diào)整,直接送入累加器;

②若OVM=1,則對ALU的運(yùn)行結(jié)果進(jìn)行調(diào)整。

當(dāng)正向溢出時,將32位最大正數(shù)00

7FFFFFFFH裝入累加器;

當(dāng)負(fù)向溢出時,將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有一個與運(yùn)算結(jié)果有關(guān)的進(jìn)位位C,位于ST0的11位。進(jìn)位位C受大多數(shù)ALU操作指令的影響,包括算術(shù)操作、循環(huán)操作和移位操作。

進(jìn)位位C的功能:

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

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

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

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

②可通過寄存器操作指令RSBX和SSBX對

其進(jìn)行置位和復(fù)位。2023年11月16日DSP原理及應(yīng)用514.雙16位算術(shù)運(yùn)算

若要將ST1中的C16置位,則ALU進(jìn)行雙16位算術(shù)運(yùn)算,即在一個機(jī)器周期內(nèi)完成兩個16位數(shù)的算術(shù)運(yùn)算,進(jìn)行兩次16位加法或兩次16位減法運(yùn)算。

5.其他控制位

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

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

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

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

’C54x芯片有兩個獨(dú)立的40位累加器A和B,可以作為ALU或MAC的目標(biāo)寄存器,存放運(yùn)算結(jié)果,也可以作為ALU或MAC的一個輸入。

在執(zhí)行并行指令(LD||MAC)和一些特殊指令(MIN和MAX)時,兩個累加器中的一個用于裝載數(shù)據(jù),而另一個用于完成運(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ù)計算時的數(shù)據(jù)位余量,以防止迭代運(yùn)算中的溢出。

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

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

2.帶移位的累加器存儲操作

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

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

注意:①

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

同時完成的;

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

加器的內(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位的右移。所移動的位數(shù)可由ST1中的ASM或被指定的暫存器T決定。2023年11月16日DSP原理及應(yīng)用57

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

多路選擇器MUXMUXMUXMUX

符號控制SC符號控制SC符號控制SC

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

④寫選擇電路

寫選擇MSW/LSW寫選擇MSW/LSW寫選擇MSW/LSW

多路選擇器MUX

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

符號控制SC

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

移位寄存器

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

④寫選擇電路

用來選擇最高有效字和最低有效字。

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

通過多路選擇器MUX來選擇輸入信號。①

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

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

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

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

來自累加器A或B的40位

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

輸出至ALU的一個輸入端;

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

輸出至EB總線。

MUX符號控制SC移位寄存器(-16~31)寫選擇MSW/LSWDB15~DB0CB15~CB0EB15~EB0測試位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)算之前,對輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)定標(biāo);②

對累加器進(jìn)行算術(shù)或邏輯移位;③

對累加器進(jìn)行歸一化處理;④

在累加器的內(nèi)容存入數(shù)據(jù)存儲器之前,對存儲數(shù)據(jù)進(jìn)行定標(biāo)。

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

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

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

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

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

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

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

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

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

移位數(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】對累加器A執(zhí)行不同的移位操作。

ADDA,-4,B

;A右移4位后加到B中

ADDA,ASM,B

;A按ASM移位后加到B中

NORMA

;按T的數(shù)值對A進(jìn)行歸一化

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

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

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

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

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

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

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

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

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

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

MAC單元具有強(qiáng)大的乘法-累加運(yù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單元包含一個17

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

(1)乘法器的輸入

XM輸入:

YM輸入:

取自數(shù)據(jù)總線DB的數(shù)據(jù)存儲器操作數(shù);

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

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

來自數(shù)據(jù)總線DB的數(shù)據(jù)存儲器操作數(shù);

來自數(shù)據(jù)總線CB的數(shù)據(jù)存儲器操作數(shù);

來自程序總線PB的程序存儲器操作數(shù);

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

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

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

根據(jù)操作數(shù)的不同情況需進(jìn)行以下處理:

若是兩個有符號數(shù)相乘,則在進(jìn)行乘法運(yùn)算之前,先對兩個16位乘數(shù)進(jìn)行符號位擴(kuò)展,形成17位有符號數(shù)后再進(jìn)行相乘。

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

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

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

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

由于乘法器在進(jìn)行兩個16位二進(jìn)制補(bǔ)碼相乘時會產(chǎn)生兩個符號位,為提高運(yùn)算精度,在狀態(tài)寄存器ST1中設(shè)置了小數(shù)方式控制位FRCT。

當(dāng)FRCT=1時,乘法結(jié)果左移一位,消去多余的符號位,相應(yīng)的定標(biāo)值加1。

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

專用加法器加法器零檢測器舍入器溢出/飽和邏輯電路

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

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

XA輸入:來自乘法器的輸出。

YA輸入:①

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

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

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

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

比較、選擇和存儲單元CSSU

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

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

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

比較、選擇和存儲單元CSSU

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

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

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

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

將選擇的數(shù)據(jù)通過總線EB存入指定的存儲單元。

工作過程:

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

比較、選擇和存儲單元CSSU

例如,CMPS指令可以對累加器的高階位和低階位進(jìn)行比較,并選擇較大的數(shù)存放在指令所指定的存儲單元中。

指令格式:

CMPSA,*AR1

功能:對累加器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ù)編碼器是一個用于支持指數(shù)運(yùn)算指令的專用硬件,可以在單周期內(nèi)執(zhí)行EXP指令,求累加器中數(shù)的指數(shù)值。

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

累加器B

T寄存器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16位數(shù)據(jù)存儲器的地址。DP2023年11月16日DSP原理及應(yīng)用782.4.7CPU狀態(tài)和控制寄存器2.狀態(tài)寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAF:塊重復(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信號時,指示

CPU是否繼續(xù)執(zhí)行內(nèi)部操作。

HM=0

CPU從內(nèi)部程序存儲器取指,

繼續(xù)執(zhí)行內(nèi)部操作。

HM=1

CPU停止內(nèi)部操作。

INTM:中斷方式控制位;

用于屏蔽或開放所有可屏蔽中斷。

INTN=0

開放全部可屏蔽中斷;

INTN=1

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

用來確定累加器溢出時,對累加器的加載方式。

OVM=0

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

OVM=1

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

當(dāng)負(fù)溢出時,將FF80000000H加載累加器。SXM:符號位擴(kuò)展方式控制位;用來確定數(shù)據(jù)在運(yùn)算之前是否需要符號位擴(kuò)展。

SXM=0

數(shù)據(jù)進(jìn)入ALU之前禁止符號位擴(kuò)展;

SXM=1

數(shù)據(jù)進(jìn)入ALU之前進(jìn)行符號位擴(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

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

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

CMPT=0

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

CMPT=1

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

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

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

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

IPTR:用來指示中斷向量所駐留的128字程序存儲器的位置;

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

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

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

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

CLKOFF:用來決定時鐘輸出引腳CLKOUT是否有信號輸出;

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

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

2.5

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

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

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

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

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

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

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

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

2.5

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

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

片內(nèi)RAMSARAMDARAM——

單尋址RAM——

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

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

SARAM:由存儲器分塊組成。

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

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

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

2.5

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

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

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

●與外部存儲器相比,成本低;

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

2.5

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

’C54x片內(nèi)存儲器資源配置DSP存儲器’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

存儲空間結(jié)構(gòu)

’C54x所有內(nèi)部和外部程序存儲器及內(nèi)部和外部數(shù)據(jù)存儲器分別統(tǒng)一編址。

內(nèi)部RAM總是映射到數(shù)據(jù)存儲空間,但也可映射到程序存儲空間。

ROM可以靈活地映射到程序存儲空間,同時也可以部分地映射到數(shù)據(jù)存儲空間。

存儲空間的任何一種存儲器都可以駐留在片內(nèi)或片外。

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

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

DROM=1保留

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

保留(0頁)OVLY=0

外部存儲器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

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

保留(0頁)OVLY=0

外部存儲器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

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

外部ROMDROM=1

內(nèi)部ROMFF00HDROM=0

外部存儲器FFFFHDROM=1

保留

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

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

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

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

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

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

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

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

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

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

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

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

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

當(dāng)OVLY=0時,程序存儲空間不使用內(nèi)部RAM。

0000H~3FFFH全部定義為外部程序存儲空間,此時內(nèi)部RAM只作為數(shù)據(jù)存儲器使用。

當(dāng)OVLY=1時,程序存儲空間使用內(nèi)部RAM。內(nèi)部RAM同時被映射到程序存儲空間和數(shù)據(jù)存儲空間。

0000H~007FH保留,程序無法占用;

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

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

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

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

0000H~EFFFH

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

保留OVLY=0

外部存儲器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

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

保留0000H007FHOVLY=1

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

外部存儲器0000H007FHOVLY=0

外部存儲器0080H3FFFHOVLY=0

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

內(nèi)部DARAMOVLY=0

外部存儲器OVLY=1

保留OVLY=0

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

MP/MC=1地址程序存儲空間0000H007FHOVLY=1

保留OVLY=0

外部存儲器0080H3FFFHOVLY=1

內(nèi)部DARAMOVLY=0

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

OVLY=1

保留OVLY=0

外部存儲器OVLY=1

保留0000H007FH0000H~007FH

保留

OVLY=1

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

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

保留OVLY=0

外部存儲器OVLY=0

外部存儲器0000H007FHOVLY=0

外部存儲器0080H3FFFHFF7FH0000H~FF7FH

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

溫馨提示

  • 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

提交評論