ADSP-21xx
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP
帶8-bit保護(hù)位的40-bit
ACC單周期執(zhí)行指令多數(shù)指令
可以條件執(zhí)行
尋址模式
立即數(shù)尋址、寄存器直接尋址、存儲(chǔ)器直接尋址、以及寄存器間接尋址。對(duì)于ADSP-219x,還有寄存器事后修改、立即修改、直接和間接偏移尋址模式。其程序序列具有內(nèi)部循環(huán)計(jì)數(shù)和循環(huán)堆棧,從而實(shí)現(xiàn)零開(kāi)銷(xiāo)循環(huán)。每個(gè)地址發(fā)生器支持四個(gè)循環(huán)緩沖器,每個(gè)循環(huán)緩沖器又有三個(gè)寄存器,用來(lái)定義循環(huán)的終點(diǎn)、長(zhǎng)度和訪(fǎng)問(wèn)的地址。一個(gè)地址發(fā)生器支持位倒序?qū)ぶ贰DSP-219x支持十六個(gè)循環(huán)緩沖器,通過(guò)使用一個(gè)地址發(fā)生器影子寄存器和一組基寄存器,以增加循環(huán)緩沖的靈活性。
特殊指令
ADSP-219x可以有條件地執(zhí)行大多數(shù)指令。其do until命令可以建立任意長(zhǎng)度的指令序列,作四層嵌套循環(huán)。ADSP-219x則支持八層嵌套。ADSP-21xx是非流水機(jī)型,因而不會(huì)對(duì)轉(zhuǎn)移或子程序調(diào)用帶來(lái)影響。
開(kāi)發(fā)支持
ADI公司的軟件和硬件開(kāi)發(fā)工具包括該公司的VisualDSP集成開(kāi)發(fā)環(huán)境、在線(xiàn)仿真器和開(kāi)發(fā)套件。VisualDSP提供對(duì)優(yōu)化的C編譯器、匯編器、連接器及調(diào)試器的接口。該公司的仿真器適用于通用的串口總線(xiàn)、PCI、以及以太網(wǎng)主機(jī)平臺(tái)。其EZ-Kit Lite包括一個(gè)評(píng)估板和有限的、但功能齊全的VisualDSP。
TigerSharc DSP
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP
VLIW(超長(zhǎng)指令字)結(jié)構(gòu)可以在一個(gè)機(jī)器周期內(nèi)執(zhí)行四條指令
該系列DSP具有SIMD(單條指令多個(gè)數(shù)據(jù))的能力
第一個(gè)TigerSharc DSP集成了6 Mbit的RAM
尋址模式
立即數(shù)尋址、位倒序?qū)ぶ贰K循環(huán)、寄存器直接尋址和寄存器間接尋址。其SIMD存儲(chǔ)器傳輸機(jī)制使單個(gè)取數(shù)和存儲(chǔ)指令在兩個(gè)存儲(chǔ)器塊和兩個(gè)計(jì)算單元之間作數(shù)據(jù)傳輸。
特殊指令
指令集直接支持高精度和低精度類(lèi)型數(shù)據(jù)之間的轉(zhuǎn)換,如在單周期內(nèi)將定點(diǎn)數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù),將16-bit數(shù)轉(zhuǎn)換為32-bit數(shù)。TigerSharc沒(méi)有硬件模式,其指令集支持算術(shù)功能,如帶符號(hào)的和不帶符號(hào)的整數(shù)和小數(shù)運(yùn)算。這將簡(jiǎn)化高級(jí)語(yǔ)言的編程。在各種情況下都提供優(yōu)化的飽和模式。
開(kāi)發(fā)支持
ADI公司的軟件和硬件開(kāi)發(fā)工具包括該公司的VisualDSP集成開(kāi)發(fā)環(huán)境、在線(xiàn)仿真器和開(kāi)發(fā)套件。VisualDSP提供對(duì)優(yōu)化的C編譯器、匯編器、連接器及調(diào)試器的接口。該公司的仿真器適用于通用的串口總線(xiàn)、PCI、以及以太網(wǎng)主機(jī)平臺(tái)。其EZ-Kit Lite包括一個(gè)評(píng)估板和有限的、但功能齊全的VisualDSP。
SHARC DSP
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP
支持定點(diǎn)和浮點(diǎn)運(yùn)算
新的SIMD錘頭運(yùn)算(Hammer-head operates)
集成有大的SRAM
尋址模式
立即數(shù)尋址、索引尋址、位倒序?qū)ぶ贰K循環(huán)、寄存器直接尋址和寄存器間接尋址。(對(duì)于片外存儲(chǔ)器的訪(fǎng)問(wèn),必須采用間接尋址。)
特殊指令
SHARC提供位操作、平方根的倒數(shù)、條件子程序調(diào)用、零開(kāi)銷(xiāo)單條指令和塊指令循環(huán)、定點(diǎn)數(shù)和浮點(diǎn)數(shù)的比較、以及大多數(shù)指令的條件執(zhí)行。SHARC支持IEEE-754單精度浮點(diǎn)數(shù)(23-bit尾數(shù)、8-bit指數(shù)以及符號(hào)位),40-bit擴(kuò)展精度IEEE格式(32-bit尾數(shù))。
開(kāi)發(fā)支持
ADI公司的軟件和硬件開(kāi)發(fā)工具包括該公司的VisualDSP集成開(kāi)發(fā)環(huán)境、在線(xiàn)仿真器和開(kāi)發(fā)套件。VisualDSP提供對(duì)優(yōu)化的C編譯器、匯編器、連接器及調(diào)試器的接口。該公司的仿真器適用于通用的串口總線(xiàn)、PCI、以及以太網(wǎng)主機(jī)平臺(tái)。其EZ-Kit Lite包括一個(gè)評(píng)估板和有限的、但功能齊全的VisualDSP。其SHARC匯編語(yǔ)言以一種代數(shù)式語(yǔ)法為基礎(chǔ)。
Lucent
DSP-16xx
DSP 16000
DSP 16xx
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP
具有16316-bit的乘法器
36-bit的ALU/移位器
所有片種都有片內(nèi)ROM
工作在2.7-4.75V
特殊指令
單條指令/塊指令的硬件循環(huán),條件子程序調(diào)用,比較,混合尋址,指數(shù)檢測(cè),bit位提取、移位和替換。沒(méi)有旋轉(zhuǎn)指令。
開(kāi)發(fā)支持
其硬件開(kāi)發(fā)系統(tǒng)包括在線(xiàn)仿真器。評(píng)估板和演示板。軟件開(kāi)發(fā)工具包括匯編器/連接器,調(diào)試器,軟仿真器和應(yīng)用程序庫(kù)。EDA廠(chǎng)商還提供將DSP軟仿真器模塊插入的系統(tǒng)級(jí)的仿真工具。
DSP 16000
結(jié)構(gòu)特點(diǎn)
雙MAC單元
支持16332-和32332-bit的乘法ALU
支持16-、32-、40-bit運(yùn)算
X和Y存儲(chǔ)器具有32-bit數(shù)據(jù)寬度
尋址模式
寄存器和存儲(chǔ)器直接尋址,寄存器間接尋址,立即數(shù)尋址以及寄存器+置換尋址。由于器件不提供位倒序?qū)ぶ罚荒苡密浖䜩?lái)實(shí)現(xiàn)。支持兩個(gè)并發(fā)的循環(huán)緩沖器。尋址模式面向指針?biāo)阈g(shù)運(yùn)算。
特殊指令
支持16-bit和32-bit的混合指令。因?yàn)檗D(zhuǎn)移需要三個(gè)機(jī)器周期,許多指令的條件執(zhí)行可以避免轉(zhuǎn)移。Redo指令可以重新運(yùn)行用do指令裝入cache的代碼。其追索編碼器將加速Viterbi比較指令的執(zhí)行,并產(chǎn)生模式控制的效果。此外,用戶(hù)可以使用比較指令來(lái)決定Viterbi處理的最小公共通道。其他的特殊指令還有旋轉(zhuǎn)、取負(fù)、取絕對(duì)值和定點(diǎn)算術(shù)運(yùn)算。
開(kāi)發(fā)支持
軟件工具包括ANSI C 編譯器、匯編器、連接器、調(diào)試器和軟仿真器。硬件工具包括在線(xiàn)仿真器和開(kāi)發(fā)板。基于Gnu C的C編譯器進(jìn)行局部和全局的優(yōu)化,以便進(jìn)行C源代碼的調(diào)試,也可作C和匯編混合代碼的調(diào)試。匯編器支持ANSI C預(yù)處理,允許文件包含、宏置換、條件匯編,以及各種常數(shù)格式。該匯編器還允許表達(dá)式包含多個(gè)用戶(hù)定義的標(biāo)號(hào),并支持預(yù)處理偽指令,使匯編器與調(diào)試器共享宏運(yùn)算。調(diào)試器支持單個(gè)或多個(gè)同類(lèi)的或不同類(lèi)的處理器的集成調(diào)試。支持?jǐn)?shù)據(jù)和指令斷點(diǎn)、接近實(shí)時(shí)的軟件仿真、混合的C代碼和匯編代碼調(diào)試、廣泛的代碼分析、用TargetView通信系統(tǒng)通過(guò)JTAG來(lái)作獨(dú)立的或連網(wǎng)的硬件仿真、硬件跟蹤,以及片內(nèi)的周期計(jì)數(shù)。廣泛的片內(nèi)調(diào)試硬件可以實(shí)時(shí)監(jiān)視許多處理器。在調(diào)試器中單步運(yùn)行代碼時(shí),可以圖形化地顯示通過(guò)DSP的數(shù)據(jù)流。這樣,用戶(hù)可以觀察到處理器中沒(méi)有充分使用的部分,修改代碼來(lái)提高效率。Synopsys COSSAP, Cadence SPW, 以及 Mathworks Matlab 等第三方的工具也支持 DSP16000的仿真。軟件工具的價(jià)格為1500美圓,硬件工具的價(jià)格為5000至7000美圓。
Motorola
DSP-56800
DSP 563xx
DSP 56800
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP
帶有控制功能的DSP
可以中斷的硬件do循環(huán)
工作于2.7V和70MHz
尋址模式
寄存器直接尋址、短的或長(zhǎng)的存儲(chǔ)器直接尋址、七個(gè)存儲(chǔ)器間接尋址、以及立即數(shù)尋址。還支持短的轉(zhuǎn)移偏置和循環(huán)緩沖器的模數(shù)計(jì)算。
特殊指令
可以作單指令或塊指令的硬件do或repeat循環(huán)。與ALU運(yùn)算并行的單個(gè)或雙的并行搬移指令,在取指令的同時(shí)允許作兩個(gè)存儲(chǔ)器訪(fǎng)問(wèn)。允許對(duì)任何寄存器或存儲(chǔ)器作位操作。在作單周期乘法和MAC的同時(shí),作取整、加、減、平方。使用一個(gè)條件轉(zhuǎn)移指令和比較指令,實(shí)現(xiàn)搜索和分類(lèi)算法。如果特定的條件為真,則DSP執(zhí)行從一個(gè)寄存器到另一個(gè)的傳輸(例如,存儲(chǔ)一個(gè)數(shù)列里最大值的索引值)。
開(kāi)發(fā)支持
使用OnCE口,通過(guò)JTAG接口作片上仿真。CodeWarrior提供集成的開(kāi)發(fā)環(huán)境,其中包括C編譯器、匯編器、連接器、軟仿真器、以及圖形化的源代碼和匯編級(jí)的調(diào)試器。其評(píng)估模塊為DSP56824EVM,開(kāi)發(fā)系統(tǒng)為DSP-56824ADS。
DSP 563xx
結(jié)構(gòu)特點(diǎn)
24-bit定點(diǎn)DSP
七級(jí)流水,包含兩個(gè)取指、一個(gè)解碼、兩個(gè)地址產(chǎn)生、以及兩個(gè)執(zhí)行
具有條件ALU指令
以寄存器為基礎(chǔ)的結(jié)構(gòu)
與核執(zhí)行單元并發(fā)的六通道DMA操作
多數(shù)器件工作于3.3V,并兼容5V的I/O;有些器件工作于1.8V,兼容3.3V的I/O
與核并行工作的濾波器協(xié)處理器
特殊指令
桶型移位器支持多bit移位指令,可以在兩個(gè)方向上移動(dòng)任意多位。該移位器還支持bit流解析與產(chǎn)生。支持并行ALU指令的條件執(zhí)行。如果測(cè)試條件為假,則處理器執(zhí)行NOP指令。563xx執(zhí)行16-bit的算術(shù)運(yùn)算,這對(duì)于諸如LD-CELP等壓縮算法非常有用。通常,用24-bit的結(jié)構(gòu)來(lái)作16-bit的運(yùn)算時(shí),性能會(huì)有所降低,因?yàn)楸仨氂密浖䦟?duì)24-bit的數(shù)作舍入運(yùn)算。
開(kāi)發(fā)支持
開(kāi)發(fā)系統(tǒng)可以用于評(píng)估芯片和目標(biāo)系統(tǒng)。該系統(tǒng)包括應(yīng)用開(kāi)發(fā)模塊、主機(jī)接口卡、命令轉(zhuǎn)換器、匯編器、軟仿真器、以及C編譯器。以JTAG為基礎(chǔ)的OnCE口可用于實(shí)時(shí)檢查所有的內(nèi)部總線(xiàn),記錄最后的十二條指令。MOTOROLA提供用于DSP563xx系列的套裝的56種硬件的和軟件的工具。第三方的工具包括Tasking的編譯器和調(diào)試器,Domain Technologies的調(diào)試器。
Lucent/Motorola
StarCore SC100
StarCore SC100
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP核
DSP結(jié)構(gòu)可以升級(jí)
可變長(zhǎng)度指令提高代碼的效率和并行性
更好的C程序編譯器
尋址模式
寄存器直接尋址、地址寄存器間接尋址、與程序計(jì)數(shù)器相關(guān)的尋址模式、以及用立即數(shù)來(lái)決定感興趣的數(shù)據(jù)或地址的特殊尋址模式。
特殊指令
SC140的多個(gè)乘法器支持帶符號(hào)的和無(wú)符號(hào)操作數(shù),包括小數(shù)與整數(shù)格式的運(yùn)算及其各種組合。其MAC單元支持加、減、取負(fù)、取絕對(duì)值、以及清零。MAC單元還支持除法、比較、最大值/最小值運(yùn)算,在寄存器、算術(shù)移位和取整之間轉(zhuǎn)移。通過(guò)將寄存器中的值看成是打包成對(duì)的16-bit的操作數(shù),支持單指令多數(shù)據(jù)(SIMD)的最大值/最小值、加、減(MAX2,ADD2,SUB2)。使用這些指令,可以在單個(gè)周期內(nèi)執(zhí)行八個(gè)加法,或最大值/最小值運(yùn)算。SC140包括一個(gè)專(zhuān)門(mén)的最大值/最小值運(yùn)算單元,和維特比(Viterbi)的左移指令一起工作,以便有效地實(shí)現(xiàn)維特比編碼算法。
開(kāi)發(fā)支持
其開(kāi)發(fā)工具包括匯編器、優(yōu)化器、連接器、軟仿真器、ANSI C編譯器及與C11兼容的C/C11編譯器。該編譯器支持ITU/ETSI標(biāo)準(zhǔn)。
Texas Instrument
TMS320C2000
TMS320C5000
TMS320C6000
TMS320C2000
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP
哈佛結(jié)構(gòu)支持兩個(gè)分開(kāi)的總線(xiàn)結(jié)構(gòu)
雙訪(fǎng)問(wèn)RAM允許在同一個(gè)周期內(nèi)讀或?qū)慠AM兩次
工作于3.3V
綜合介紹
TI的TMS320C2000 DSP是基于320C2xLP核。C2xLP核具有4級(jí)流水,工作在40MHz。具有JTAG仿真模塊。
C2xLP有一個(gè)中心算術(shù)邏輯單元(CALU),及32-bit的累加器(Acc)。Acc也是CALU的一個(gè)輸入。Acc的其他輸入包括16316-bit的乘法器通過(guò)定標(biāo)移位器,以及輸入數(shù)據(jù)定標(biāo)移位器。軟件可以通過(guò)進(jìn)位位旋轉(zhuǎn)Acc的內(nèi)容,來(lái)實(shí)施位操作和測(cè)試。
為了實(shí)現(xiàn)小數(shù)的算術(shù)運(yùn)算和驗(yàn)證小數(shù)的乘積,C2xLP的乘積寄存器的輸出通過(guò)乘積移位器,以抑制運(yùn)算中產(chǎn)生的多出來(lái)的bit。該乘積定標(biāo)移位器允許作128個(gè)乘積累加而不會(huì)產(chǎn)生溢出。基本的乘積累加(MAC)周期,包括將一個(gè)數(shù)據(jù)存儲(chǔ)器的值乘以一個(gè)程序存儲(chǔ)器的值,并將結(jié)果加給累加器。當(dāng)C2000循環(huán)執(zhí)行MAC,則程序計(jì)數(shù)器自動(dòng)增量,并將程序總線(xiàn)釋放給第二個(gè)操作數(shù),從而達(dá)到單周期執(zhí)行MAC。
C2xLP可以訪(fǎng)問(wèn)64000個(gè)16-bit的I/O口。C2000的外設(shè),諸如串口、軟件等待狀態(tài)發(fā)生器等都映射為數(shù)據(jù)或I/O空間。用戶(hù)程序必須使用其他的I/O地址來(lái)訪(fǎng)問(wèn)映射在I/O空間的片外外設(shè)。C2000系列中的多數(shù)芯片可以產(chǎn)生0-7個(gè)等待狀態(tài)。
C2000系列由C20x和C24x系列組成。C20x的目標(biāo)是低性能的電信設(shè)備,而C24x的目標(biāo)是數(shù)字化的馬達(dá)控制。
C24x系列的芯片具有事件管理器,以便支持馬達(dá)控制。該事件管理器具有三個(gè)加/減定時(shí)器和九個(gè)比較器,可以和波形產(chǎn)生邏輯配合產(chǎn)生12PWM的輸出。支持同步的和異步的PWM產(chǎn)生。它還支持一個(gè)空間向量PWM狀態(tài)機(jī),用開(kāi)關(guān)功率晶體管來(lái)實(shí)現(xiàn),以延長(zhǎng)晶體管的壽命和降低功耗。一個(gè)關(guān)機(jī)段產(chǎn)生單元也有助于保護(hù)功率晶體管。此外,事件管理器還集成了四個(gè)采集輸入,其中的兩個(gè)用于光編碼器正交脈沖的直接輸入。
C24x系列的芯片還集成有10-bit的A/D變換器,在500ns的時(shí)間內(nèi)對(duì)模擬信號(hào)作變換。另外還有8個(gè)或16個(gè)復(fù)用輸入通道。有些新的C24x系列的芯片還有自動(dòng)排序的能力,按順序作16個(gè)變換,一個(gè)獨(dú)立的采樣/保持(S/H)預(yù)定標(biāo)器,通過(guò)支持不同的輸入阻抗,給用戶(hù)以極大的靈活性。有些C24x系列的芯片有8K-32K字的閃爍存儲(chǔ)器(flash)。
尋址模式
立即數(shù)尋址、分頁(yè)的存儲(chǔ)器直接尋址(指令里的7-bit和數(shù)據(jù)頁(yè)指針的9-bit形成數(shù)據(jù)存儲(chǔ)器的地址)、寄存器間接尋址(使用8個(gè)輔助寄存器中的一個(gè))、輔助寄存器自動(dòng)增量或減量尋址。沒(méi)有循環(huán)緩沖。
特殊指令
MAC和數(shù)據(jù)移動(dòng)指令(MACD)增加了將片內(nèi)RAM的數(shù)據(jù)塊移向MAC單元。當(dāng)CPU使用輸入的數(shù)據(jù)值時(shí),CPU將該數(shù)據(jù)值移至下一個(gè)存儲(chǔ)器單元。MACD也是使用循環(huán)緩沖器的一個(gè)替代方法,對(duì)于卷積和橫向?yàn)V波器是很有用的。C2000可以作單指令循環(huán)、乘法并累加前一個(gè)積、乘法并減去前一個(gè)積、累加前一個(gè)積并移動(dòng)數(shù)據(jù)、多條件轉(zhuǎn)移和調(diào)用、存長(zhǎng)立即數(shù)到數(shù)據(jù)存儲(chǔ)器、向左或向右旋轉(zhuǎn)累加器、數(shù)據(jù)塊移動(dòng)。
開(kāi)發(fā)支持
TI的Code Composer4.10是一個(gè)集成的開(kāi)發(fā)環(huán)境,支持編輯、建立、調(diào)試、分析和項(xiàng)目管理。這個(gè)價(jià)值為1995美圓的開(kāi)發(fā)環(huán)境包括ANSI C編譯器、匯編器、連接器、軟仿真器、實(shí)時(shí)分析器,數(shù)據(jù)是可視化的。TI的仿真器支持JTAG非插入式的邊界掃描仿真。該公司也分別提供C編譯器、匯編器、連接器、軟仿真器、實(shí)時(shí)分析器和應(yīng)用程序庫(kù)。第三方可以提供評(píng)估模塊、仿真器、以及應(yīng)用算法。
TMS320C5000
結(jié)構(gòu)特點(diǎn)
16-bit定點(diǎn)DSP
C55x有雙MAC單元;C54x有單MAC單元
C55的指令長(zhǎng)度可變,且沒(méi)有排隊(duì)的限制
C55x有12組總線(xiàn);C54x有8組總線(xiàn)
工作于0.9V和300MHz
綜合介紹
C5000是16-bit定點(diǎn)DSP系列,包括舊有的C5x、當(dāng)前主流的C54x和最新的C55x。
C55x和C54x源代碼兼容,而C5x和C2x源代碼兼容。C54x關(guān)注于低功耗,而C55x則將低功耗提到一個(gè)新水平:300MHz的C55x和120MHz的C54x相比,性能提高5倍,而功耗則降到六分之一。盡管C5x還在全線(xiàn)生產(chǎn),但公司已經(jīng)將新設(shè)計(jì)轉(zhuǎn)向C54x 和C55x。C54x 和C55x采用改進(jìn)的哈佛結(jié)構(gòu)。
C55x 具有12組獨(dú)立的總線(xiàn),而C54x則有8組。它們都有一組程序總線(xiàn)和相應(yīng)的程序地址總線(xiàn)。C54x總線(xiàn)的寬度為16-bit,而C55x總線(xiàn)的寬度為32-bit。C55x有三組數(shù)據(jù)讀總線(xiàn)和兩組數(shù)據(jù)寫(xiě)總線(xiàn),而C54x有兩組數(shù)據(jù)讀總線(xiàn)和一組數(shù)據(jù)寫(xiě)總線(xiàn)。每組數(shù)據(jù)總線(xiàn)都有其相應(yīng)的地址總線(xiàn)。C55x的數(shù)據(jù)地址總線(xiàn)的寬度為24-bit,而C54x的數(shù)據(jù)地址總線(xiàn)的寬度為16-bit。
C54x使用兩個(gè)輔助寄存器算術(shù)單元,在每個(gè)周期內(nèi)產(chǎn)生一個(gè)或兩個(gè)數(shù)據(jù)存儲(chǔ)器地址。這四組內(nèi)部總線(xiàn)和兩個(gè)地址發(fā)生器使其可以進(jìn)行多操作數(shù)運(yùn)算。
C55x的地址-數(shù)據(jù)流單元(ADFU)包含了專(zhuān)門(mén)的硬件來(lái)管理五組數(shù)據(jù)總線(xiàn)。該ADFU也可以作為通用的16-bit ALU,用于簡(jiǎn)單的算術(shù)運(yùn)算。該ALU從指令緩沖單元(IU)接收立即數(shù),和存儲(chǔ)器、ADFU寄存器、數(shù)據(jù)計(jì)算單元(DCU)寄存器、程序流單元(PFU)寄存器作雙向通信。無(wú)論是ALU,還是三個(gè)地址寄存器ALU(ARAU)中的一個(gè),都可以修改作間接尋址的九個(gè)地址寄存器。這三個(gè)ARAU為C55x的三組數(shù)據(jù)讀總線(xiàn)提供獨(dú)立的地址。這種并行性保證了在每個(gè)CPU周期內(nèi)DCU去讀兩個(gè)16-bit的操作數(shù)和一個(gè)16-bit的系數(shù)。
C55x的DCU包含了兩個(gè)MAC單元,在單周期內(nèi)作兩個(gè)17217-bit的MAC運(yùn)算。它還包含了一個(gè)40-bit的ALU和四個(gè)40-bit的累加器寄存器、一個(gè)桶型移位器、以及專(zhuān)門(mén)的Viterbi算法硬件。每個(gè)MAC單元包含一個(gè)乘法器和帶32-或40-bit飽和邏輯的加法器。三個(gè)數(shù)據(jù)讀總線(xiàn)將兩個(gè)數(shù)據(jù)流和一個(gè)公共系數(shù)流送給兩個(gè)MAC單元。用戶(hù)可以用ALU作32-bit的運(yùn)算,或分開(kāi)作兩個(gè)16-bit的運(yùn)算。除開(kāi)接受從DCU的40-bit Acc寄存器來(lái)的輸入外,ALU還從IU接受立即數(shù),并和存儲(chǔ)器、ADFU寄存器、PFU寄存器作雙向通信。
C54x是單17217-bit MAC機(jī)器,有一個(gè)40-bit的加法器、兩個(gè)40-bit的Acc和一個(gè)分開(kāi)的40-bit的ALU。與C55x相類(lèi)似,C54x的ALU也可以作成兩個(gè)16-bit的配置,完成兩個(gè)單周期運(yùn)算。乘法器輸出處的40-bit的加法器允許作非流水的MAC運(yùn)算,以及并行的兩個(gè)加法和乘法。單周期歸一化和指數(shù)編碼支持浮點(diǎn)數(shù)運(yùn)算。
兩個(gè)系列的結(jié)構(gòu)都支持一個(gè)桶型移位器,將40-bit的Acc的值左移或右移最多達(dá)31bit。該桶型移位器將移位后的值送給DCU的ALU,以便作進(jìn)一步的運(yùn)算。指令集中關(guān)于二操作數(shù)、三操作數(shù)和32-bit操作數(shù)的指令,支持結(jié)構(gòu)的并行性。八個(gè)可以獨(dú)立尋址的輔助寄存器和軟件堆棧提高了C編譯器的效率。
C55x可以執(zhí)行可變長(zhǎng)度的指令,這和C54x有顯著的不同。C54x的指令長(zhǎng)度為固定的16-bit,而C55x的指令長(zhǎng)度則從8到48 bit。C55x的IU緩存64 byte的代碼,且有一個(gè)解碼邏輯來(lái)確認(rèn)可變長(zhǎng)度指令中各指令的區(qū)別。局部循環(huán)指令使用指令緩沖隊(duì)列來(lái)循環(huán)執(zhí)行代碼塊。指令緩沖隊(duì)列還可以在執(zhí)行條件程序流控制指令的條件測(cè)試時(shí),推測(cè)性地提取指令。指令解碼器按排列順序?qū)χ噶罱獯a,而不是執(zhí)行動(dòng)態(tài)時(shí)序,從而可以在預(yù)定的時(shí)間得到結(jié)果。
C55x的PFU跟蹤程序的執(zhí)行點(diǎn),并為多達(dá)16Mbyte的程序存儲(chǔ)器產(chǎn)生24-bit的地址。該單元的硬件,可用于循環(huán)、靈活性轉(zhuǎn)移、條件執(zhí)行、以及流水保護(hù)。單獨(dú)的程序計(jì)數(shù)器可以保證從子程序或中斷服務(wù)子程序快速返回。該P(yáng)FU還包括管理指令流水和四個(gè)CPU狀態(tài)寄存器的邏輯。它以硬件方式可以提供四層塊循環(huán)嵌套。其硬件還支持條件循環(huán)。PFU處理流水控制冒險(xiǎn),并對(duì)讀后寫(xiě)及寫(xiě)后讀提供保護(hù)。當(dāng)在指令流中這種冒險(xiǎn)發(fā)生時(shí),流水保護(hù)邏輯就插入一些周期,保證程序的正確執(zhí)行。集成的軟件等待狀態(tài)發(fā)生器使用戶(hù)可以使用較慢的外部存儲(chǔ)器。
該系列的所有DSP都支持片內(nèi)雙訪(fǎng)問(wèn)RAM(DARAM),用戶(hù)可以將其配置為程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器。C55x還有擴(kuò)展的同步突發(fā)性RAM、同步DRAM和異步SRAM及DRAM。片內(nèi)的鎖相環(huán)(PLL)允許用戶(hù)抑制時(shí)鐘,但C55x核還可以激活與自動(dòng)管理片內(nèi)外設(shè)和存儲(chǔ)器的功耗。當(dāng)程序不再訪(fǎng)問(wèn)片內(nèi)存儲(chǔ)器時(shí),它們就會(huì)被切換到低功率模式。處理器對(duì)片內(nèi)外設(shè)也提供類(lèi)似的控制。
C55x還設(shè)置了用戶(hù)可控的低功率IDLE域,包括CPU、DMA、外設(shè)、外部存儲(chǔ)器接口、指令隊(duì)列、以及時(shí)鐘發(fā)生電路。
尋址模式
C54x支持單數(shù)據(jù)存儲(chǔ)器操作數(shù)尋址和32-bit操作數(shù)尋址,還使用并行指令支持雙數(shù)據(jù)存儲(chǔ)器操作數(shù)尋址。它也提供立即數(shù)尋址、存儲(chǔ)器映射尋址、循環(huán)尋址和位倒序?qū)ぶ贰?/p>
在C54x的基礎(chǔ)上,C55x還支持絕對(duì)值尋址、寄存器間接尋址、直接尋址,即位移模式。C55x的ADFU包括專(zhuān)門(mén)的寄存器,支持使用間接尋址指令的循環(huán)尋址。可以同時(shí)使用五個(gè)獨(dú)立的循環(huán)緩沖器和三個(gè)獨(dú)立的緩沖器長(zhǎng)度。這些循環(huán)緩沖器沒(méi)有地址排隊(duì)的限制。C54x支持兩個(gè)任意長(zhǎng)度的循環(huán)緩沖器。
特殊指令
C54x有專(zhuān)門(mén)功能指令,如FIR濾波器、單指令或塊指令循環(huán)、八個(gè)并行指令(如并行存儲(chǔ)或乘加)、乘法累加和減(十個(gè)乘法指令)、八個(gè)雙操作數(shù)存儲(chǔ)器搬移。C55x還有專(zhuān)門(mén)的指令,充分利用增加的功能單元和并行能力的優(yōu)點(diǎn)。用戶(hù)定義的并行機(jī)制,允許將執(zhí)行兩個(gè)操作的指令加以組合。
開(kāi)發(fā)支持
eXpressDSP軟件技術(shù)包括DSP集成開(kāi)發(fā)工具:可升級(jí)的實(shí)時(shí)軟件基礎(chǔ)、可重復(fù)使用的應(yīng)用軟件接口標(biāo)準(zhǔn)、以及不斷增加的第三方的軟件模塊。Code Composer Studio是一個(gè)集成的DSP開(kāi)發(fā)工具套件,包括C5000的C編譯器、DSP/BIOS、實(shí)時(shí)數(shù)據(jù)交換技術(shù)等。