版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章TMS320C54x數(shù)字信號(hào)
處理器硬件結(jié)構(gòu)2.1
TMS320C54x的內(nèi)部結(jié)構(gòu)及主要特性2.2總線結(jié)構(gòu)
2.3存儲(chǔ)系統(tǒng)2.4中央處理單元(CPU)2.5
TMS320VC5416的引腳及說明
2.1
TMS320C54x的內(nèi)部結(jié)構(gòu)及主要特性
2.1.1
TMS320C54x的內(nèi)部結(jié)構(gòu)
TMS320C54x系列DSP芯片產(chǎn)品雖然很多,但其體系
結(jié)構(gòu)基本上是相同的,特別是核心CPU部分,各個(gè)型號(hào)間
的差別主要是片內(nèi)存儲(chǔ)器和片內(nèi)外設(shè)的配置。圖2.1給出了TMS320C54x的典型內(nèi)部結(jié)構(gòu)框圖。
C54x的硬件結(jié)構(gòu)基本上可分為三大塊,如下所述。
(1)CPU部分包括算術(shù)邏輯單元、累加器、乘法器/加法器、桶形移位寄存器、指數(shù)編碼器、比較選擇存儲(chǔ)單元及各種專門用途的寄存器、地址生成器、內(nèi)部總線等。
(2)存儲(chǔ)器部分包括片內(nèi)程序ROM、片內(nèi)單訪問數(shù)據(jù)RAM(SARAM)、片內(nèi)雙訪問數(shù)據(jù)RAM(DARAM)及外接存儲(chǔ)器接口等。
(3)片內(nèi)外設(shè)部分包括定時(shí)器、各種類型的串口、主機(jī)接口、片內(nèi)的鎖相環(huán)(PLL)時(shí)鐘發(fā)生器以及各種控制電路等。
此外,芯片中還包含仿真功能及IEEE1149.1標(biāo)準(zhǔn)接口,用于芯片開發(fā)應(yīng)用時(shí)進(jìn)行仿真。圖2.1
TMS320C54x的典型內(nèi)部結(jié)構(gòu)框圖2.1.2
TMS320C54x的主要特性
1.CPU部分
(1)先進(jìn)的多總線結(jié)構(gòu),具有1條程序總線、3條數(shù)據(jù)總線和4條地址總線。
(2)40位算術(shù)邏輯單元(ALU),包括40位的桶形移位寄存器和2個(gè)獨(dú)立的40位的累加器。
(3)17位×l7位的并行乘法器與一個(gè)40位的專用加法器結(jié)合在一起,用于非流水線的單周期乘/累加操作。
(4)比較、選擇和存儲(chǔ)單元(CSSU),用于Viterbi操作(一種通信的編碼方式)中的求和/比較選擇。
(5)指數(shù)編碼器用于單周期內(nèi)計(jì)算40位累加器的指數(shù)值。
(6)2個(gè)地址生成器,包括8個(gè)輔助寄存器和2個(gè)輔助寄存器算術(shù)單元。
2.存儲(chǔ)器系統(tǒng)
(1)具有192K字的可尋址空間:64K字的程序空間,64K字的數(shù)據(jù)空間和64K字的I/O空間,有的芯片內(nèi)還具有多達(dá)256K~8M字的擴(kuò)展地址空間。
(2)片內(nèi)存儲(chǔ)器的結(jié)構(gòu)和容量可根據(jù)芯片的型號(hào)有所不同。
3.片內(nèi)外設(shè)和專用電路
(1)軟件可編程等待狀態(tài)產(chǎn)生器。
(2)可編程的存儲(chǔ)器體轉(zhuǎn)換邏輯。
(3)片內(nèi)的鎖相環(huán)(PLL)時(shí)鐘發(fā)生器,可采用內(nèi)部振蕩器或外部的時(shí)鐘源。
(4)外部總線關(guān)斷控制電路可用來斷開外部數(shù)據(jù)總線、地址總線和控制信號(hào)。
(5)數(shù)據(jù)總線具有數(shù)據(jù)保持特性。
(6)可編程的定時(shí)器。
(7)直接存儲(chǔ)器訪問(DMA)控制器。
(8)有可與主機(jī)直接連接的8位并行主機(jī)接口(HPI),有些產(chǎn)品還包括擴(kuò)展的8位并行主機(jī)接口(HPI8)和16位并行主機(jī)接口(HPI16)。
(9)片內(nèi)的串口根據(jù)型號(hào)不同可分為全雙工的標(biāo)準(zhǔn)串口、支持8位和16位數(shù)據(jù)傳送的時(shí)分多路(TDM)串口、緩沖串口(BSP)以及多通道緩沖串口(McBSP)。
4.片內(nèi)的引導(dǎo)功能
除TMS320C5420外,C54x系列所有的芯片都具有片內(nèi)引導(dǎo)功能,能從片外的存儲(chǔ)器或片內(nèi)的串口將程序引導(dǎo)并裝入指定的存儲(chǔ)器。
5.指令系統(tǒng)
(1)單指令重復(fù)和塊重復(fù)操作指令。
(2)用于程序和數(shù)據(jù)管理的存儲(chǔ)器塊傳送指令。
(3)32位長操作數(shù)指令。
(4)同時(shí)讀入2個(gè)或3個(gè)操作數(shù)的指令。
(5)并行存儲(chǔ)和裝入的算術(shù)指令。
(6)條件存儲(chǔ)指令。
(7)快速從中斷返回的指令。
(8)具有延遲轉(zhuǎn)移的調(diào)用指令。
(9)指令的執(zhí)行采用指令預(yù)提取、指令提取、指令譯碼、訪問操作數(shù)、讀取操作數(shù)和執(zhí)行6級(jí)流水線并行結(jié)構(gòu),大大提高了指令的執(zhí)行速度。
6.執(zhí)行速度
(1)單指令周期時(shí)間分為25/20/15/12.5/10ns;
(2)每秒指令數(shù)為40/50/66/80/100/200MIPS(MIPS,每秒百萬級(jí)指令數(shù))。
7.電源和功耗
(1)可采用5V、3.3V、3V和1.8V(或2.5V)的超低電壓
供電;在型號(hào)中分別用C、LC、UC和VC指明,如TMS320C54x、TMS320LC54x和TMS320UC54x。
(2)可采用功耗下降指令I(lǐng)DLE1、IDLE2和IDLE3控制芯片的功耗。
(3)可控制禁止CLKOUT信號(hào)。
8.片內(nèi)的仿真功能
具有符合IEEE1149.1標(biāo)準(zhǔn)的片內(nèi)仿真接口,可與主機(jī)連接,用于系統(tǒng)芯片的開發(fā)與應(yīng)用。2.2總線結(jié)構(gòu)
C54x片內(nèi)有8條16位總線:1條程序總線、3條數(shù)據(jù)總線和4條地址總線,這些總線的功能如下:
(1)1條程序總線(PB)傳送取自程序存儲(chǔ)器的指令代碼和立即操作數(shù)。
(2)3條數(shù)據(jù)總線(CB、DB和EB)將內(nèi)部各單元(如CPU、數(shù)據(jù)地址生成電路、程序地址生成電路、芯片外圍電路以及數(shù)據(jù)存儲(chǔ)器)連接在一起。其中,CB和DB傳送來自數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù),EB傳送寫到存儲(chǔ)器的數(shù)據(jù)。
(3)4條地址總線(PAB、CAB、DAB和EAB)傳送執(zhí)行指令所需的地址。
PB能夠?qū)⒋娣旁诔绦蚩臻g中的操作數(shù)(如系數(shù)表)傳送到乘法器和加法器,以便執(zhí)行乘法/累加操作,或通過數(shù)據(jù)傳送指令(MVPD和READA指令)傳送到數(shù)據(jù)空間的目的地。此種功能,連同雙操作數(shù)的特性,支持在一個(gè)周期內(nèi)執(zhí)行3操作數(shù)指令(如FIRS指令)。
2.3存儲(chǔ)系統(tǒng)
2.3.1存儲(chǔ)器空間
在C54xDSP中,根據(jù)存儲(chǔ)內(nèi)容的需要,可將片內(nèi)ROM和RAM存儲(chǔ)器安排(也稱映射)到程序存儲(chǔ)器空間或數(shù)據(jù)存儲(chǔ)器空間。一般將ROM映射到程序存儲(chǔ)器空間,也可以將其某段存儲(chǔ)器映射到數(shù)據(jù)存儲(chǔ)器空間。
C54x有一個(gè)處理器模式寄存器(ProcessorModeStatusRegister,PMST),如圖2.2所示,其中有3個(gè)狀態(tài)位(MP/MC位、OVLY位和DROM位)可以很方便地“使能”或“禁止”片內(nèi)存儲(chǔ)器在程序和數(shù)據(jù)空間之間的映射。圖2.2
PMST結(jié)構(gòu)框圖
PMST中3個(gè)狀態(tài)位MP/MC、OVLY和DROM的功能如下。(1)MP/MC:微處理器/微計(jì)算機(jī)工作方式位。
若MP/MC=0,則片內(nèi)ROM映射到程序存儲(chǔ)器空間;若MP/MC=1,則片內(nèi)ROM不能訪問,若訪問其對應(yīng)地址,則需訪問相應(yīng)地址的外部程序存儲(chǔ)器空間。
2)OVLY:RAM重復(fù)占用位。
OVLY=1,片內(nèi)RAM既可映射到程序存儲(chǔ)器空間,也可映射到數(shù)據(jù)存儲(chǔ)器空間,DSP根據(jù)映射地址分辨其中存儲(chǔ)單元的內(nèi)容是程序代碼還是數(shù)據(jù)。若映射到程序存儲(chǔ)器空間,
則看做程序代碼,若映射到數(shù)據(jù)存儲(chǔ)器空間,則看做數(shù)據(jù)。開發(fā)人員在安排具體內(nèi)容時(shí),兩者地址不要重疊。
OVLY=0,片內(nèi)RAM只能映射到數(shù)據(jù)存儲(chǔ)器空間而不能映射到程序存儲(chǔ)器空間。
(3)DROM:數(shù)據(jù)ROM位。
DROM=1,片內(nèi)ROM只映射到數(shù)據(jù)存儲(chǔ)器空間;
DROM=0,片內(nèi)ROM只映射到程序存儲(chǔ)器空間。
圖2.3是5416在程序存儲(chǔ)器空間(Program,Page0)和數(shù)據(jù)存儲(chǔ)器空間的基本存儲(chǔ)器配置,地址范圍均為0x0000~0xFFFF。圖2.3
5416的基本存儲(chǔ)器配置圖2.4是5416在擴(kuò)展程序空間(Program,Page1~127)的存儲(chǔ)器配置圖,地址范圍為0x10000~0x7FFFFF。圖2.4
5416擴(kuò)展程序存儲(chǔ)器配置2.3.2片內(nèi)ROM存儲(chǔ)器
C54x不同芯片的片內(nèi)ROM容量不同,5416的片內(nèi)ROM存儲(chǔ)器空間地址和內(nèi)容如表2.1所示。2.3.3數(shù)據(jù)存儲(chǔ)器
C54x的數(shù)據(jù)存儲(chǔ)器容量最多可達(dá)64K字。當(dāng)處理器發(fā)出的地址處在片內(nèi)存儲(chǔ)器的范圍內(nèi)時(shí),就對片內(nèi)RAM或ROM(當(dāng)ROM設(shè)為數(shù)據(jù)存儲(chǔ)器時(shí))尋址;當(dāng)數(shù)據(jù)存儲(chǔ)器地址產(chǎn)生器發(fā)出的地址不在片內(nèi)存儲(chǔ)器的范圍內(nèi)時(shí),處理器就會(huì)自動(dòng)對外部數(shù)據(jù)存儲(chǔ)器尋址。尋址片內(nèi)寄存器不需要插入等待周期,運(yùn)行速度快。在64K字的數(shù)據(jù)存儲(chǔ)器空間中,地址在0x0000~0x007F內(nèi)的存儲(chǔ)器為CPU或片內(nèi)外設(shè)專用寄存器,稱為數(shù)據(jù)存儲(chǔ)器映射寄存器(Memory-MappedRegister,MMR),它們的高9位
地址均為0,有很多專用指令可以快速訪問它們。其中0x00~0x1F為CPU寄存器地址,0x20~0x5F是片內(nèi)外設(shè)寄存器地址,0x60~0x7F是用戶可以自定義使用的單元。表2.2列出了5416的CPU寄存器地址和名稱。然后像普通變量一樣使用它,表2.3中的5416片內(nèi)外設(shè)寄存器使用方法與此相同。所有C54xDSP只有兩個(gè)通用I/O引腳,即XF和BIO,其中XF(ExternalFlagOutputPin,擴(kuò)展輸出標(biāo)志引腳)是一個(gè)通用輸出引腳,在寄存器ST1的bit13位;BIO(BranchControlInputPin,分支轉(zhuǎn)移控制輸入引腳)是一個(gè)通用的輸入引腳,在分支跳轉(zhuǎn)指令用于快速檢測外設(shè)的狀態(tài)時(shí),可替代一個(gè)外部中斷。
BIO沒有相應(yīng)的寄存器,只能用某些匯編指令直接讀狀態(tài)并確定是否分支跳轉(zhuǎn)。若需要更多的I/O引腳,可以對主機(jī)接口(HPI)和串行接口(McBSP)進(jìn)行配置,用作通用I/O引腳;另外還可以擴(kuò)展外部I/O,但外部I/O必須使用緩沖或鎖存電路配合外部I/O讀寫控制構(gòu)成外部I/O的控制電路。2.3.4存儲(chǔ)器空間
C54x除了程序和數(shù)據(jù)存儲(chǔ)器空間外,還有一個(gè)I/O存儲(chǔ)器空間。I/O是一個(gè)64K字的地址空間(0000H~FFFFH),實(shí)質(zhì)上是為外部的存儲(chǔ)器統(tǒng)一分配訪問地址的,其存儲(chǔ)單元全部在其他芯片內(nèi),如A/D、D/A等芯片內(nèi)的存儲(chǔ)器等。在匯編程序中,DSP可以用讀端口指令PORTR和寫端口指令PORTW對I/O存儲(chǔ)器空間的外部寄存器進(jìn)行訪問。如讀外部端口0x0001地址單元的內(nèi)容時(shí),可用匯編語句:
PORTR0x0001,Smem;
讀外部端口0x0001內(nèi)容到數(shù)據(jù)單元Smem若采用C語言編程,定義外部端口時(shí)加關(guān)鍵詞“ioport”,名稱為“port+十六進(jìn)制地址形式”,讀寫操作與C語言相同。如上例用C語言編程如下:
ioportunsignedintport0001;//定義外部端口
Smem=port0001;
//讀外部端口
2.4中央處理單元(CPU)
對所有的C54x器件來說,中央處理單元(CPU)是通用的。C54x并行結(jié)構(gòu)的設(shè)計(jì)特點(diǎn),使其能在一條指令周期內(nèi),高速地完成多項(xiàng)算術(shù)運(yùn)算。CPU的基本組成如下:
(1)40位算術(shù)邏輯運(yùn)算單元(ALU);
(2)2個(gè)40位累加器;
(3)一個(gè)-16~30位的桶形移位寄存器;
(4)乘法器/加法器單元;
(5)比較、選擇和存儲(chǔ)單元(CSSU);
(6)指數(shù)編碼器;
(7)CPU狀態(tài)和控制寄存器;
(8)兩個(gè)地址發(fā)生器。
本節(jié)主要介紹C54xCPU各組成部分的原理和特點(diǎn),并討論CPU的狀態(tài)和控制寄存器。2.4.1
CPU狀態(tài)和控制寄存器
C54x有3個(gè)狀態(tài)和控制寄存器,分別如下:
(1)狀態(tài)寄存器0(ST0);
(2)狀態(tài)寄存器1(ST1);
(3)處理器工作方式寄存器(PMST)。
ST0和ST1包含DSP的工作條件和工作方式狀態(tài);PMST包含存儲(chǔ)器的設(shè)置狀態(tài)及其他控制信息等。由于這些寄存器都是存儲(chǔ)器映像寄存器,所以都可以快速地存放到數(shù)據(jù)存儲(chǔ)器中,或者由數(shù)據(jù)存儲(chǔ)器對它們進(jìn)行加載,或者用子程序或者中斷服務(wù)程序保存和恢復(fù)處理器的狀態(tài)。
1.狀態(tài)寄存器ST0和ST1
ST0各狀態(tài)位的功能如表2.4所示。
ST1的各狀態(tài)位的功能如表2.5所示。在匯編文件中,ST0和ST1的單個(gè)比特位可以使用SSBX和RSBX指令置位和復(fù)位。ARP、DP和ASM等多個(gè)比特位可以使用LD指令加載。如:
SSBXINTM;//INTM=1(關(guān)中斷)
在C語言編程中,則按如下格式直接插入?yún)R編語句:
asm(″SSBXINTM″);//INTM=1(關(guān)中斷)
2.處理器工作方式寄存器(PMST)
PMST各狀態(tài)位的定義及功能如表2.6所示。在匯編文件中,PMST寄存器不能用SSBX、RSBX及LD裝載,需要用映射寄存器存儲(chǔ)指令STM進(jìn)
行修改,如將立即數(shù)0x00C0存入PMST,可用“STM0x00C0PMST”指令,若只對PMST的部分比特位進(jìn)行修改,可采用如下類似的方法。
LDMPMST,A
//讀PMST寄存器
AND
#0x00FF,A
//數(shù)據(jù)處理
STLM
A,PMST
//寫到PMST寄存器2.4.2算術(shù)邏輯單元(ALU)
40位ALU結(jié)構(gòu)如圖2.5所示。大多數(shù)算術(shù)邏輯運(yùn)算指令都是單周期指令。除存儲(chǔ)操作指令(ADDM、ANDM、ORM和XORM)外,ALU的運(yùn)算結(jié)果通常都被傳送到目的累加器(累加器A或B)中。圖2.5
40位ALU結(jié)構(gòu)
1.ALU的輸入
如圖2.5所示,加到ALU的X輸入端的數(shù)據(jù)為以下兩個(gè)數(shù)據(jù)中的任何一個(gè):即移位器的輸出(2位或16位數(shù)據(jù)存儲(chǔ)器操作數(shù)以及累加器中的數(shù)值,經(jīng)移位器移位后輸出)和來自數(shù)據(jù)總線DB的數(shù)據(jù)存儲(chǔ)器操作數(shù)。
加到ALU的Y輸入端的數(shù)據(jù),是以下四個(gè)數(shù)據(jù)中的任何一個(gè),即:累加器A中的數(shù)據(jù)、累加器B中的數(shù)據(jù)、來自數(shù)據(jù)總線CB的數(shù)據(jù)存儲(chǔ)器操作數(shù)和T寄存器中的數(shù)據(jù)。
2.ALU的輸出
ALU的輸出為40位,被送往累加器A或B中。
3.溢出處理
ALU的飽和邏輯可以處理運(yùn)算結(jié)果的溢出,這個(gè)特性對降低運(yùn)算誤差是很有用的。當(dāng)狀態(tài)寄存器ST1的OVM=1時(shí),ALU的飽和邏輯為使能。
當(dāng)一個(gè)結(jié)果發(fā)生溢出時(shí),可按如下方法進(jìn)行處理:
(1)如果OVM=0,則累加器直接加載ALU的結(jié)果。
(2)如果OVM=1,則根據(jù)溢出方向,用32位最大正數(shù)007FFFFFFFH(正向溢出)或最大負(fù)數(shù)FF80000000H(負(fù)向溢出)加載累加器。
(3)溢出發(fā)生后,相應(yīng)的溢出標(biāo)志位(OVA或OVB)置1,直到復(fù)位或執(zhí)行溢出條件指令或溢出標(biāo)志位(OVA/OVB)被
清除。
4.進(jìn)位位(C)
ALU的進(jìn)位位受大多數(shù)ALU指令(包括循環(huán)和移位操作)的影響,可以用來支持?jǐn)U展精度的算術(shù)運(yùn)算。進(jìn)位位不受加載累加器、執(zhí)行邏輯操作或執(zhí)行其他非算術(shù)、控制指令的影響,可以根據(jù)進(jìn)位位的狀態(tài),利用兩個(gè)條件操作數(shù)C和NC進(jìn)行分支轉(zhuǎn)移、調(diào)用和返回操作。RSBX和SSBX指令可用來置位或復(fù)位進(jìn)位位。硬件復(fù)位時(shí),進(jìn)位位置1。2.4.3累加器A和B
累加器A和B都可以配置成乘法器/加法器或ALU的目的寄存器。此外,在執(zhí)行MIN和MAX指令或者并行指令LD‖MAC時(shí)都要用到它們,這時(shí),一個(gè)累加器加載數(shù)據(jù),另一個(gè)完成運(yùn)算。累加器A和B都可分為3部分,如圖2.6所示。其中,保護(hù)位用作計(jì)算時(shí)的數(shù)據(jù)位余量,以防止諸如自相關(guān)之類的迭代運(yùn)算時(shí)溢出。圖2.6累加器組成
AG、BG、AH、BH、AL和BL都是存儲(chǔ)器映射寄存器。在保存或恢復(fù)數(shù)據(jù)時(shí),可以用PSHM或POPM指令將它們壓入堆?;蛘邚亩褩棾觥S脩艨梢酝ㄟ^其他指令,如尋址存儲(chǔ)器映射寄存器(數(shù)據(jù)存儲(chǔ)器的第0頁)訪問這些寄存器。累加器A和B的差別僅在于累加器A的31~16位可以用作乘法器的一個(gè)輸入。
1.累加器的存儲(chǔ)
用戶可以利用STH、STL、STLM和SACCD等指令或者并行存儲(chǔ)指令,將累加器的內(nèi)容存放到數(shù)據(jù)存儲(chǔ)器中。在存儲(chǔ)前,有時(shí)需要對累加器的內(nèi)容進(jìn)行移位操作。右移時(shí),AG和BG中的各數(shù)據(jù)位分別移至AH和BH;左移時(shí),AL和BL中的各數(shù)據(jù)分別移至AH和BH,低位添0。假設(shè)累加器A=FF43211234H,執(zhí)行帶移位的STH和STL指令后,數(shù)據(jù)存儲(chǔ)單元TEMP中的結(jié)果如下:
STHA,8,TEMP;TEMP=2112H
STHA,-8,TEMP;TEMP=FF43H
STLA,8,TEMP;TEMP=3400H
STLA,-8,TEMP;TEMP=2112H
2.累加器移位和循環(huán)移位
累加器移位和循環(huán)移位的指令共有如下6條:
SFTA(算術(shù)移位);
SFTL(邏輯移位);
SFTC(條件移位);
ROL(累加器循環(huán)左移);
ROR(累加器循環(huán)右移);
ROLTC(累加器帶TC位循環(huán)左移)。
3.專用指令
C54x有一些專用的并行操作指令(FIRS、LMS和SQDST),通過它們,累加器可以實(shí)現(xiàn)一些特殊的運(yùn)算。FIRS指令可實(shí)現(xiàn)對稱有限沖擊響應(yīng)(FIR)濾波器算法;LMS指
令可實(shí)現(xiàn)自適應(yīng)濾波器算法;SQDST指令可計(jì)算歐幾里得距離以及完成其他的并行操作。2.4.4桶形移位器
桶形移位器用來對輸入的數(shù)據(jù)進(jìn)行定標(biāo),可以進(jìn)行以下操作
(1)在ALU運(yùn)算前,對來自數(shù)據(jù)存儲(chǔ)器的操作數(shù)或者累加器的值進(jìn)行定標(biāo);
(2)對累加器的值進(jìn)行算術(shù)或邏輯移位;
(3)對累加器進(jìn)行歸一化處理;
(4)對累加器存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器之前的值進(jìn)行定標(biāo)。
圖2.7是桶形移位器的功能圖,40位桶形移位器的連接如圖2.7所示。圖2.7桶形移位器的功能圖
(1)40位桶形移位器的輸入端來自DB取得的16位輸入數(shù)據(jù)、
DB和CB取得的32位輸入數(shù)據(jù)和40位累加器A或B。
(2)40位桶形移位器的輸出端接至ALU的一個(gè)輸入端和
經(jīng)過MSW/LSW(最高有效字/最低有效字)寫選擇單元至EB總線。
SXM位控制操作數(shù)進(jìn)行帶符號(hào)位/不帶符號(hào)位擴(kuò)展。當(dāng)SXM=1時(shí),執(zhí)行符號(hào)位擴(kuò)展。有些指令(如LDU、ADDS和SUBS)認(rèn)為存儲(chǔ)器中的操作數(shù)是無符號(hào)數(shù),它們不執(zhí)行符號(hào)位擴(kuò)展,即可以不必考慮SXM狀態(tài)位的數(shù)值。
指令中的移位數(shù)就是移位的位數(shù)。移位數(shù)都是用2的補(bǔ)碼表示,正值表示左移,負(fù)值表示右移。移位數(shù)可以用以下方式進(jìn)行定義:
(1)指令操作數(shù)中給定的一個(gè)4或5位的立即數(shù)值表示一個(gè)范圍為-16~15的移位數(shù)值。
(2)狀態(tài)寄存器ST1的累加器移位方式(ASM)位共5位,表示一個(gè)范圍為-16~15的移位數(shù)。
(3)T寄存器中最低6位的數(shù)值表示一個(gè)范圍為-16~31的移位數(shù)。
ADDA,-4,B;累加器A右移4位后加到累加器B中ADDA,ASM,B;累加器A按ASM規(guī)定的移位數(shù)移位后加到累加器B中
NORMA;按T寄存器中的數(shù)值對累加器進(jìn)行歸一化最后一條指令對累加器中的數(shù)進(jìn)行歸一化是很有用的。假設(shè)40位累加器A中的定點(diǎn)數(shù)為FFFFFFF001H,可先用EXPA指令,求得它的指數(shù)為13H,存放在T寄存器中;再執(zhí)行NORM指令,就可以在單個(gè)周期內(nèi)將原來的定點(diǎn)數(shù)分成尾數(shù)FF80080000H和指數(shù)13H兩部分了。2.4.5乘法器/加法器單元
C54x的CPU是一個(gè)17位×17位的硬件乘法器,它與一個(gè)40位專用加法器相連。乘法器/加法器單元可以在一個(gè)流水線狀態(tài)周期內(nèi)完成一次乘法累加(MAC)運(yùn)算,圖2.8是它的功能框圖。圖2.8乘法器/加法器單元功能框圖乘法器能夠執(zhí)行無符號(hào)數(shù)乘法和有符號(hào)數(shù)乘法,可按如下方式實(shí)現(xiàn)乘法運(yùn)算:
(1)有符號(hào)數(shù)乘法,將每個(gè)16位操作數(shù)擴(kuò)展成17位有符
號(hào)數(shù);
(2)無符號(hào)數(shù)乘法,在每個(gè)16位操作數(shù)前面加一個(gè)0;
(3)無符號(hào)數(shù)與有符號(hào)數(shù)乘法,在一個(gè)16位操作數(shù)前面加一個(gè)0,另一個(gè)16位操作數(shù)符號(hào)擴(kuò)展成17位有符號(hào)數(shù),以完成乘法運(yùn)算。
1.乘法器的輸入信號(hào)
乘法器的輸入端包括輸入端XM和輸入端YM,其中
輸入端XM數(shù)據(jù)來自T寄存器、累加器A的32~16位和DB總線傳送過來的數(shù)據(jù)存儲(chǔ)器操作數(shù);另一個(gè)輸入端YM的數(shù)據(jù)來自累加器A的32~16位、由DB總線和CB總線傳送過來的數(shù)據(jù)存儲(chǔ)器操作數(shù)和由PB總線傳送過來的程序存儲(chǔ)器操作數(shù)。
2.乘法器的輸出
乘法器的輸出加到加法器的輸入端XA,累加器A或B則是加法器的另一個(gè)輸入。運(yùn)算的最后結(jié)果送往目的累加器A
或B中。2.4.6比較、選擇和存儲(chǔ)單元
在數(shù)據(jù)通信、模式識(shí)別等領(lǐng)域,往往要用到Viterbi(維特比)算法。C54x中的比較、選擇和存儲(chǔ)單元(CSSU)就是專門為Viterbi算法設(shè)計(jì)進(jìn)行加法/比較/選擇(ACS)運(yùn)算的硬件
單元。圖2.9是CSSU的功能框圖,它和ALU一起執(zhí)行快速ACS運(yùn)算。圖2.9
CSSU的功能框圖
CSSU支持均衡器和通道譯碼器所用的各種Viterbi算法。圖2.10給出了一種Viterbi算法的示意圖。圖2.10中所示的Viterbi算法包括加法、比較和選擇3部分操作,其中加法運(yùn)算是由ALU完成的。只要將狀態(tài)寄存器ST1中的C16位置1,ALU就被配置成雙16位工作方式,這樣就可以在一個(gè)機(jī)器周期內(nèi)執(zhí)行兩次加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)化通風(fēng)空調(diào)安裝項(xiàng)目協(xié)議2024版A版
- 三方債務(wù)責(zé)任轉(zhuǎn)移協(xié)議2024版
- 2025年度農(nóng)業(yè)園區(qū)場地租賃安全管理合同范本4篇
- 專業(yè)勞務(wù)分包協(xié)議(2024年版)樣本版A版
- 二零二四實(shí)習(xí)生就業(yè)權(quán)益與培訓(xùn)協(xié)議范本規(guī)范5篇
- 2025年度測繪數(shù)據(jù)安全保密協(xié)議4篇
- 專業(yè)標(biāo)識(shí)標(biāo)牌定制及施工服務(wù)協(xié)議版B版
- 專業(yè)攝影委托協(xié)議細(xì)則(2024年)版B版
- 2024物業(yè)管理權(quán)轉(zhuǎn)讓服務(wù)合同
- 2024版食品安全購銷合作合同范本一
- 微機(jī)原理與接口技術(shù)考試試題及答案(綜合-必看)
- 勞務(wù)投標(biāo)技術(shù)標(biāo)
- 研發(fā)管理咨詢項(xiàng)目建議書
- 濕瘡的中醫(yī)護(hù)理常規(guī)課件
- 轉(zhuǎn)錢委托書授權(quán)書范本
- 一種配網(wǎng)高空作業(yè)智能安全帶及預(yù)警系統(tǒng)的制作方法
- 某墓園物業(yè)管理日常管護(hù)投標(biāo)方案
- 蘇教版六年級(jí)數(shù)學(xué)上冊集體備課記載表
- 內(nèi)蒙古匯能煤電集團(tuán)有限公司長灘露天煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 22S702 室外排水設(shè)施設(shè)計(jì)與施工-鋼筋混凝土化糞池
- 2013日產(chǎn)天籟全電路圖維修手冊45車身控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論