數(shù)字信號處理器(DSP)做某些模擬工作比模擬電路要出色,因此得以生存。在某些情況下,由于成本或復雜性的原因,任務(wù)甚至不能考慮用模擬電路,DSP仍然是一種可行的選擇,在很多情況下可以輕松地完成那些任務(wù)。
這是因為DSP進行算術(shù)運算既好又快,如加法和乘法。聰明的數(shù)學家和工程師利用了這一實際,通過創(chuàng)造算法來解決主要采用兩種數(shù)?運算的復雜的信號處理任務(wù)。
如今的DSP芯片不僅僅只是一個優(yōu)秀的處理引擎。芯片上還集成了存儲子系統(tǒng)、高速接口、I/O等等。增加這些部件的目的是為了提高整體性能,降低功耗以及針對特殊的處理任務(wù)。
為了更好地理解各種DSP芯片的可用選項以及器件各部分是如何配合作為一個整體,分析當今市場上幾種有代表性的DSP是有幫助的。我們將仔細研究單核、單核加微控制器以及多核DSP芯片的例子。
單核DSP芯片
認為DSP芯片有一個單DSP核是很自然的,例如,TI的TMS320C6?52(圖1)。此芯片是高性能固點DSP的TMS320C6?x+家族的一員,針對工藝密集的多通道電信基礎(chǔ)設(shè)施和醫(yī)用成像系統(tǒng)。DSP核只不過是芯片設(shè)計的一部分,芯片的其余部分還包括存儲器、I/O以及其他功能模塊。
C6?52 DSP集成了組織為兩級存儲子系統(tǒng)的片上存儲器。一級(L1)程序和數(shù)據(jù)存儲器每個都是32k字節(jié)。此存儲器可配置為映射RAM、高速緩存,或者兩者的某種組合。
當配置為高速緩存時,L1程序(L1P)是一個直接映射高速緩存,而L1數(shù)據(jù)(L1D)是一個雙向指令集結(jié)合高速緩存。二級(L2)存儲在程序與數(shù)據(jù)空間之間共享。L2存儲也能配置為映射RAM、高速緩存或者兩者的某種組合。設(shè)計師可使用片上存儲器為其項目增加特色。
C6?52還包括兩個串行吉比特媒體獨立接口(SGMII)以太媒體接入控制(MAC)口和一個吉比特開關(guān)。此開關(guān)通過自動監(jiān)控數(shù)據(jù)流以確保只有一個合適的TI將決策門加到所能的開關(guān)上,例如,用來辨別語音和數(shù)據(jù)通信,以提高多芯片設(shè)計的效率。如果DSP全部用于語音處理,就會阻止數(shù)據(jù)流進入,這樣可更有效地使用其處理帶寬。此外,器件具有兩個電信串行接口端(TSIP),可無縫連接至常見電信串行數(shù)據(jù)流。
C6?52上的其他I/O有一個66MHz PCI接口或通用主機端接口(UHPI);一個到外部存儲器的雙數(shù)據(jù)率(DDR2)接口;TI開發(fā)的專利串行通信接口VLYNQ;一個16位外部存儲器接口(EMIFA);一個多通道通用音頻串行口(McASP);以及其他熟悉的接口。從此DSP的I/O判斷,可以肯定它是用于電信應用。其他應用用的是不同的I/O。
C6?52和TI其他幾款DSP的核心是C6?x mega模塊,其組成包括幾個元件:C6?x+處理器、L1程序和數(shù)據(jù)存儲控制器、L2存儲控制器、內(nèi)部DMA(IDMA)、中斷控制器、掉電控制器以及外部存儲控制器(圖2)。Mega模塊還支持對L1P、L1D和L2存儲器的存儲保護。此外還提供mega模塊資源的帶寬管理。
模塊上的C6?x+處理器是一非??焖俚腄SP,工作速率可達1.2GHz。它采用8個功能模塊、兩個寄存器文件以及兩個數(shù)據(jù)路徑。在這八個功能單元中,有兩個是乘法器或者M單元。每個M單元在每個時鐘周期執(zhí)行四次16位×16位乘法-累加(MAC)。
因此,在C6?x+核上,每個周期可執(zhí)行8次16位×16位MAC。在1.2GHz時鐘速率下,每秒鐘可發(fā)生9600次16位MMAC。此外,C6?x+核的每個乘法器每個時鐘周期可計算一次32位×32位MAC或者四次8位×8位MAC。順便提一下,C6?52不是以900M的最快的速度工作。
C6?x+處理器的新特征有一個令人鐘愛的名字SPLOOP。這一小型指令緩沖器有助于創(chuàng)建軟件流水線操作環(huán)路,在這些環(huán)路中并行執(zhí)行環(huán)路的多次迭代。SPLOOP緩沖器減小了有關(guān)軟件流水線操作的代碼大小。[!--empirenews.page--]
DSP+微控制器芯片
另一類DSP在芯片上附加微控制器核。有時,為一個分離的核,如ARM處理器。有的情況下,處理器核同時包含DSP和MCU功能。這種情況就是眾所周知的模擬器件公司(ADI)的Blackfin DSP架構(gòu)。
Blackfin是基于具有混合16/32型指令集架構(gòu)的10級RISC MCU/DSP流水線,包括雙16位MAC DSP指令和一個32位類似于RISC的指令集。這種組合提供信號處理功能,具有與通用處理器有關(guān)的使用方便的特點。Blackfin處理器架構(gòu)完全兼容SIMD(單指令多數(shù)據(jù))并包括視頻與圖像處理加速指令。
這種處理屬性組合使Blackfin處理器與其同類產(chǎn)品不同。他們被設(shè)計為在信號處理和控制處理應用方面工作都非常好,在很多情況下,設(shè)計中無需獨立的異類處理器。Blackfin處理器在單核產(chǎn)品中速率高達756MHz。
除本地支持8位數(shù)據(jù)外,8位數(shù)據(jù)字長是很多像素處理算法常用的,Blackfin架構(gòu)包括專門定義的指令,用于在視頻處理應用中增強性能。例如,"SUM ABSOLUTE DIFFERENCE"指令支持用于視頻壓縮算法(如MPEG2、MPEG4和JPEG)的運動估算算法。
這種架構(gòu)處理多長度指令編碼。非常常用的控制型指令被編碼為緊湊的16位字,更多算術(shù)密集的信號處理指令編碼為32位值。處理器將16位控制指令與32位信號處理指令混合并連接成6?位組,以使存儲器容量最大化。緩沖和取指令時,內(nèi)核完全自動挑選總線長度,因為內(nèi)核沒有調(diào)整約束。
所有Blackfin處理器,如ADSP-BF523,都包含獨立的DMA控制器,支持自動數(shù)據(jù)傳輸,而對處理器內(nèi)核的操作壓力很小(圖3)。DMA傳輸可發(fā)生在內(nèi)部存儲器與許多具備可直接存儲器存取(DMA)功能外設(shè)的任何部分之間。傳輸也能發(fā)生在外設(shè)和接至外部存儲器接口的外部器件之間,包括SDRAM控制器和異步存儲控制器。
存儲器架構(gòu)包括L1和L2存儲器塊。L1存儲器直接連接到處理器內(nèi)核,以全系統(tǒng)時鐘速度運行,為時間關(guān)鍵的算法部分提供最佳系統(tǒng)性能。此外,L1存儲器也可配置為SRAM、高速緩沖存儲器或者兩者的組合。
通過同時支持SRAM和高速緩沖存儲器編程模型,系統(tǒng)設(shè)計師可分配關(guān)鍵的要求高帶寬和到SRAM低存取的實時信號處理數(shù)據(jù)集合,同時在高速緩存中存儲“軟”實時控制和操作系統(tǒng)(OS)任務(wù)。L2存儲器是一更大的大容量存儲器存貯區(qū),性能稍有降低,但仍快于片外存儲器。
每個Blackfin處理器都采用了多種功率節(jié)省技術(shù),這些技術(shù)都是基于選通時鐘內(nèi)核設(shè)計,可以在逐條指令的基礎(chǔ)上選擇性地降低功能單元功率。針對需要很少或不需要CPU活動的周期,這些處理器也支持多種降低功率模式。
在這種自約束動態(tài)功率管理方案中,可獨立控制工作頻率和電壓,滿足當前執(zhí)行算法的性能要求。大多數(shù)Blackfin處理器提供片上內(nèi)核穩(wěn)壓電路,提供低至0.8V電壓工作,特別適合要求電池壽命延長的便攜式應用。
Blackfin處理器可配合多種微控制器型外設(shè),包括10/100Ethernet MAC、UARTs、SPI、CAN控制器、支持脈寬調(diào)制(PWM)的定時器、看門狗定時器、實時時鐘以及無縫的同步和異步存儲控制器。
多核DSP
飛思卡爾的MSC8144 DSP就是一個好的多核DSP的例子,MSC8144 DSP是基于該公司的的StarCore技術(shù),即特定的第三代SC3400 DSP內(nèi)核。
這種芯片集成了4個DSP子系統(tǒng)。每個子系統(tǒng)內(nèi)都有SC3400 DSP內(nèi)核、16k字節(jié)L1指令高速緩存、32k字節(jié)L1數(shù)據(jù)高速緩存、存儲器管理單元(MMU)、擴展的可編程中斷控制器(EPIC)以及兩個通用32位定時器。子系統(tǒng)支持調(diào)試和整形,具有低功率“等待”和“停止”處理模式。每個DSP內(nèi)核運行速率高達1GHz,因此此芯片的性能與4GHz單核DSP的性能相當。
MSC8144還包含該公司的QUICC引擎技術(shù)子系統(tǒng),包括兩個RISC處理器、48k字節(jié)多主機RAM以及48k字節(jié)指令RAM。這種子系統(tǒng)支持三個通信控制器,具有一種異步傳輸模式(ATM)和兩個吉比以太網(wǎng)接口。它也可以從DSP核下載預先安排的任務(wù)。
ATM控制器在UTOPIA/PO模式下以25/50MHz支持UTOPIA II級8/16位,適應層支持AAL0、AAL2和AAL5。兩個以太網(wǎng)控制器僅使用一個1000Mbit/s數(shù)據(jù)率4引腳串行器/并行器(SERDES)接口,通過MII/RMII/SMII/RGMII/SGMII和SGMII協(xié)議即可支持10/100/1000Mbit/s工作。
與前面提到過的DSP芯片一樣,這種芯片的DSP和QUICC子系統(tǒng)的外圍有存儲器、接口和I/O。至于存儲器,芯片包含128k字節(jié)L2共享指令緩存、用于關(guān)鍵數(shù)據(jù)和臨時數(shù)據(jù)緩沖的512k字節(jié)M2存儲器、96k字節(jié)引導ROM和一個龐大的10M字節(jié)128位寬M3存儲器。
芯片上也有DDR和DMA控制器。DDR控制器具有高達200MHz的時鐘(400MHz數(shù)據(jù)率)和16/32位數(shù)據(jù)總線。以
一或兩個組,支持高達1G字節(jié)的DDR1和DDR2。DMA控制器具有16個雙向通道,高達1024緩沖描述符和可編程優(yōu)先權(quán)、緩沖器和多路傳輸結(jié)構(gòu)。
芯片級判優(yōu)與開關(guān)系統(tǒng)(CLASS)提供處理部件(和其他啟動程序)與目標(如M2存儲器、DDR SRAM控制器和器件配置控制和狀態(tài)寄存器)之間的全部的制作非模塊化判優(yōu)。
MSC8144支持下一代及傳統(tǒng)接口,如雙吉比以太網(wǎng)、Serial RapidIO互連、UTOPIA、PCI以及分時多路復用(TDM)。
Serial RapidIO 1×/4×端點符合RapidIO貿(mào)易協(xié)會的規(guī)范1.2。它支持讀、寫、信息、門鈴、入站模式的維護接入以及出站模式的信息和門鈴。PCI接口遵守PCI規(guī)范修訂版2.2,以33或66MHz讀寫所有PCI地址空間。
多達8個片上獨立的TDM模塊提供的特征有可編程字大小(2、4、8或者16位)、基于硬件的A法則/μ法則轉(zhuǎn)換、所有通道的數(shù)據(jù)率都高達128Mbit/s、與E1、或T1幀調(diào)節(jié)器無縫接口、與H-MVIP/H.110設(shè)備、TSI和編解碼器如AC'97的接口能力。
由于有多核架構(gòu)和下一代及傳統(tǒng)接口,MSC8144DSP非常適合大容量基礎(chǔ)設(shè)施應用。包括三用(語音、視頻和數(shù)據(jù))業(yè)務(wù)、通過載波分類/企業(yè)語音互聯(lián)網(wǎng)協(xié)議(VoIP)媒體網(wǎng)關(guān)設(shè)備、視頻會議設(shè)備以及WCDMA和WiMAX基站。