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