帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
SoC時代DSP設計之挑戰
 

【作者: 誠君】   2003年12月05日 星期五

瀏覽人次:【10221】

傳統的系統級單晶片(SoC)是由處理器、記憶單元、通訊以及輸出入(I/O)控制單元構成的。當需要處理大量數據時,常需要外加特殊元件,例如:DSP、FPGA、CPLD,這種架構佔用空間並增加成本,也使產品的開發時間增長。現在一種內含有數位訊號處理(DSP)、精簡指令集(RISC)處理器和可程式邏輯(PLC)的SoC架構,能夠為影像、圖像、語音與數據處理、通訊以及輸出入控制等各種嵌入式應用提供功能強大的功能。


傳統的DSP SoC都是屬於單內核架構,即為SoC除CPU內核以外,還內嵌一個特殊的DSP內核,例如:數位相機、手機用的SoC就是屬於此類。由於3G時代的來臨,為DSP帶來了新機會。而VoIP或其它高密度的語音應用,例如:傳輸語音封包的媒體閘道器需要數百個語音通道(channels),需要高速的處理速度,因此多內核DSP已經逐漸取代傳統的單內核DSP成為主流趨勢。此外,多內核DSP透過微處理器或微控制器還支援多工(multiple tasks)處理。


多內核DSP

過去十年來,單內核DSP晶片的性能已經改善許多,但仍然無法滿足市場的需求。因此,多內核DSP才適時誕生。為了確保晶片內的內核能有效地相互溝通,它們都支援高階語言來設計程式,且多內核DSP藉深次微米CMOS製程和電源管理技術達到省電的目標。利用C/C++編譯器可以為多內核DSP架構編譯出高效率的程式碼。


目前有些多內核DSP的架構是利用可延展的匯流排平台(scalable bus-based platforms)為基礎,在相同的晶片內支援多內核;其它則使用交換結構(switch-fabric)技術來處理高傳輸量和簡化程式設計工作。因為記憶體扮演著重要的角色,利用記憶體分享技術使多內核能一起分享同一晶片內的通訊和記憶資源。DSP的記憶體大小和成本是成反比的,所以必須被考量,以求得最佳的價格性能比。


就網路通訊產品而言,多內核DSP可以被稱作「存取通訊處理器(access communications processors;ACPs)」。ACP對電信業者和VoIP閘道器的重要性就好比微處理器對PC的重要性。雖然VoIP閘道器和以VoIP啟動的遠端存取集線器(concentrators)與其它電信工業一樣目前正處於蕭條期,但是3G或4G應用將會讓它們重生。因此,多內核DSP的需求量將增加,有人預期它到2005年的年複合成長率將達140%。


Daytona本地匯流排

因為預期多內核DSP的高成長,許多大廠早已進行開發。這些廠商是無線技術、有線技術、封包網路的佼佼者,例如:Agere、TI、Motorola等。尤以Agere為多內核DSP的先驅。Agere利用高速的本地匯流排架構,稱作Daytona,結合StarCore的SC140S DSP超內核(supercores)的處理能力,設計出16位元的StarPro2000,如(圖一)所示。每個SC140S是由高性能的內核、本地匯流排、中斷控制器、匯流排介面所構成,所以StarCore(http://www.starcore-dsp.com/)稱呼此基本構築區塊叫作「超內核巨集電路單元」(supercore macrocell)。


此多內核架構是可以延展的,內核數量可依照應用需求增加或減少。StarCore LLC原本是Agere和Motorola合資的公司,2002年新股東Infineon加入,目前StarCore LLC已經將其DSP智財權對外授權。



《圖一 Daytona為利用高速的本地匯流排架構,結合StarCore的SC140S DSP超內核(supercores)的處理能力,設計出16位元的StarPro2000》
《圖一 Daytona為利用高速的本地匯流排架構,結合StarCore的SC140S DSP超內核(supercores)的處理能力,設計出16位元的StarPro2000》

Daytona架構由貝爾實驗室發明,當初是使用四個可編程處理單元(programmable processing elements;PEs)連接到高性能的32位元位址、128位元數據分離交換匯流排(split-transaction bus;STbus)。此晶片中的每個PE內嵌有微控制器,負責管理每個PE和共享記憶體之間的數據流。還有一個輸出入控制器負責處理進出此晶片的通訊數據流。


Starpro2000的性能

Starpro2000晶片內具有三個超內核,在250 MHz下,每秒可執行30億次乘加運算(multiply and accumulates per second;MMACs)。此外,在250MHz時脈和1V供電壓之下,沒有執行輸出入通訊任務時,電能消耗不到2W。StarPro 2000是針對多通道通訊應用而設計的,它能處理64個寬頻CDMA基地台的聲音和數據通道,以及64個語音通道和90個數據通道的話音編碼和回音消除(echo cancellation)。它還提供768位元組的分享式SRAM、3個串列埠輸出入單元、1個平行埠單元、2個32位元外接記憶體介面、8個記憶體對記憶體DMA通道。一旦SC140具有高效率的程式碼,StarPro2000就能在控制作業和訊號處理之間同時執行。


Starpro2000有提供軟體開發工具,包含編譯器、組譯器、連結器、模擬器。目前Agere正結合OSE的Illuminator提供除錯器的功能。未來Starpro可能再內建協同處理器(coprocessors)、智慧型週邊介面和改良型的記憶體架構。


MSC8102的性能

Motorola亦從SC140獲益,設計出具有四個內核的MSC8102。它主要是應用在需要大量運算處理的用途上,例如:封包通訊閘道器、多通道數據機群組(modem banks)、3G無線電基地台。MSC8102每秒可執行4800MMACs,整合四個300MHz的SC140超內核和11.5M位元的SRAM、高速串列埠介面、加強型濾波用協同處理器和一個多通道DMA引擎,支援超過60個通用型語音/傳真/數據通道,約80個語音壓縮通道,超過64ms的電信等級(carrier-class)回音消除和600個無壓縮(G.711)語音通道。使用0.13微米CMOS製程的MSC8102在300MHz時脈下只消耗1.6W。


在多內核DSP市場中,Agere和Motorola並非是單獨的供應商。其它主要的廠商有TI和ADI(Analog Devices)也在競爭行列之中。他們不斷地以更先進的內核技術來設計他們的多內核DSP。


TNETV3010的性能

以TI為例,它在四年前即用C54x內核設計ACPs(TNETV系列),之後又升級採用高性能低耗電量的C55x DSP內核。和C54x比較起來,C55x內核降低1/6的耗電量,而且整合一對乘加法器(MAC)架構,使它的平行運算性能加倍,它的通道密度也增加將近100倍。例如:每顆C54x晶片只能支援2或3個通道;而每顆TNETV3010晶片內建有6個C55x內核可以支援200到300個通道,如(圖二)所示,每個C55x內核分享晶片內的多種資源。


《圖二 C54x晶片只支援2或3個通道;而TNETV3010晶片內建有6個C55x內核可以支援200到300個通道》
《圖二 C54x晶片只支援2或3個通道;而TNETV3010晶片內建有6個C55x內核可以支援200到300個通道》

TNETV3010對VoIP應用提供高密度的解決方案。為增加通訊埠密度,設計多內核DSP時,必須注重功率/通道、面積/通道、成本/通道和系統整合。簡言之,TNETV3010能針對VoIP應用在最佳的密度環境下,提供完整的解決方案。此外,新的多內核DSP內建有分散式交換結構,允許多封包同時傳輸,這使數百個語音通道的數據能同時傳輸,其傳輸速率也因此加快。該架構透過多內核存取週邊裝置,來擴增分享資源的種類和大小。此交換結構是為簡化程式設計的複雜度,同時避免因多通道數據同時傳輸(multiple concurrent transfers),所造成的頻寬不足問題。


ADSP2192的性能

ADI使用共享式記憶體方法設計雙內核DSP,稱作ADSP2192。為多通道語音/傳真/數據網路通訊而量身設計。除了支援處理器之間的相互通訊和程式流以外,晶片內的共享式記憶體也減少所必需的外部記憶體大小,系統總成本因此可以降低。ADSP2192是ADSP219x內核的衍生品。利用ADSP218x內核,ADI也針對16到20個數據機通道設計出8個內核的DSP單晶片解決方案。


MSP5000的性能

採用多內核通訊處理器的廠商Brecis,透過專屬的3.2Gbps多服務匯流排(multiservice bus)允許多處理器引擎相互溝通,藉此確保高效率的對等(peer-to-peer)通訊。為了降低語音內容的延遲和抖動(jitter),此寬頻多服務匯流排是被分割的,並依照「分離交換通訊協定」(split-transaction protocol)作業。它依據數據類型提供動態排序的交換機制和智慧型DMA功能。透過數據傳輸單元(data transfer units)和匯流排產生邏輯層的連接。


Brecis將此技術延伸,為多服務匯流排設計出內含三個處理器內核的SoC系統,包括語音和數據以封包處理,服務品質(QoS)不會損失的功能。能夠在最後一英哩(last mile)的末端──統稱為「用戶屋內裝備(customer premise equipment)」,同時處理多通道、語音和數據流,此SoC命名為MSP5000,包含有:200MHz MIPS 32位元RISC內核,負責系統管理和流量控制,兩個160MIPS ZSP400 DSP內核,負責語音和封包處理。


每個DSP內核各由一個硬體加速器支援,其它晶片內建功能包含:一對10/100 Ethernet MACs、一個電話語音介面、一個WAN數據介面、一個符合「數據加密標準(data-encryption-standard;DES)」的加速器、封包確認(packet authentication)、一個記憶體控制器、一個設定外部裝置的介面、一個JTAG除錯介面和一個四路的數據交換器。


加入了硬體加速器,語音引擎最多可以支援24個語音通道,加上回音消除、音調偵測(tone detection)和語音壓縮。封包引擎提供ATM和frame-relay的封裝格式、封包分類、和節制流量(shaping)的功能。MSP5000使用CMOS 0.18微米製程,消耗功率是2 W。Brecis提供的FastStart軟體開發工具可以幫助OEM廠商開發出所需要的終端產品。


其它廠商的多內核DSP

許多國外寬頻通訊晶片大廠為了加快在VoIP閘道器和廣域網路市場的地位,陸續併購具有多內核DSP技術的晶片設計公司,例如:Broadcom併購Silicon Spice,該公司擁有多內核RISC/DSP處理器名為Calisto(configurable algorithm adaptive instruction-set topology),此處理器具有可組態演算法。Broadcom也和Spectrum Signal Processing結盟,Spectrum使用Calisto開發出適合通訊閘道器應用的高密度語音處理機板。這些閘道器是安裝在電信機房裡,在不同網路之間,例如:傳統的電話(電路交換)網路(POTS)和以封包傳遞的網際網路之間,傳輸語音、傳真、數據流。


和以前的DSP解決方案比較起來,新一代的語音處理機板的功能增強了十倍。以前的DSP機板在PCI Mezzanine卡上提供240到500個頻道,但是Calisto機板可以提供加倍的數量。Spectrum的封包化語音處理機板系列──aXs,已經以Calisto處理器取代舊有的C54x DSP。在這些新型的機板內,採用Broadcom所擁有的模組化演算法和嵌入式封包化電話軟體。這套嵌入式封包化電話軟體是HotHaus科技的產品,其已被Broadcom併購。在這套嵌入式軟體裡面包含有:語音壓縮、回音消除、音調偵測和產生、IP封包化、ATM細胞化(cellification)、延遲均衡(equalization)等功能。


新一代通訊處理器每秒可以執行27億個指令(BIPS),如(圖三)所示,在同一顆晶片裡面整合16個166MHz DSP內核和5個RISC處理器。和傳統DSP內核不同的是:在此4x4 DSP內核裡面,每一個內核整合獨特的等量(scalar)和向量(vector)處理功能。此外,它也提供足夠的空間可以執行用戶設計的軟體。


PMC-Sierra的策略也與Broadcom類似,併購Malleable科技以取得多內核Meca DSP技術,這是一顆適用於語音封包化(voice-over-packet)的處理器。對任何應用而言,在同一顆Meca晶片內,已經整合全部的DSP和封包處理功能,它能夠取代10顆傳統的通用型DSP。


《圖三 新一代通訊處理器每秒可執行27億個指令(BIPS),同一顆晶片內整合16個166MHz DSP內核和5個RISC處理器》
《圖三 新一代通訊處理器每秒可執行27億個指令(BIPS),同一顆晶片內整合16個166MHz DSP內核和5個RISC處理器》

由於看好多內核DSP市場的未來發展,許多具有DSP內核技術的國外中小型廠商也曾合作開發新一代DSP。例如:在2001年,Tality、HelloSoft、Fraunhofer Institute、Applied Electronics、台積電等曾經一起合作替BOPS共同開發出「VoIP SoC in a Box」,命名為VoiceRay。雖然BOPS後來因為資金問題停止營業,到2003年4月Altera收購此業已倒閉的高性能DSP公司,但是VoiceRay的複雜架構和優異性能仍然值得在此介紹。



《圖四 VoiceRay整合8個基本內核和一個64位元MIPS RISC引擎,以得到192個G.729a通道或512個G.711通道》
《圖四 VoiceRay整合8個基本內核和一個64位元MIPS RISC引擎,以得到192個G.729a通道或512個G.711通道》

VoiceRay是屬於電信等級的VoIP閘道器,具有事先設計好的應用功能。HelloSoft提供VoiceRay所需的應用軟體,Tality負責SoC設計。VoiceRay整合8個基本內核和一個64位元MIPS RISC引擎,以得到192個G.729a通道或512個G.711通道。在同一VoiceRay晶片內,兩者的回音消除功能都是32 ms。如(圖四)所示,RISC CPU負責每個內核的資料流管理和系統控制,每個基本內核是可升級的ManArray 1×2固點(fixed-point)處理單元(processing element;PE),每個PE是五路(five-way)「間接超長指令字組」(indirect very-long-instruction-word;iVLIW)的架構。此外,此1×2基本內核使用「單一指令多個數據(single-instruction, multiple-data;SIMD)」的格式來支援內建的高階平行功能。每個內核內部具有叢集交換器(cluster switch)提供不同處理器之間的通訊功能。晶片內的DMA引擎結合控制和數據匯流排,提供RISC處理器、內核、週邊之間的通訊功能。


BOPS當初的經營目標是以智財權(IP)的授權收入為主,VoiceRay SoC的智財權是可以依據客戶的需求和製程,選擇性授權並能和客戶的應用電路合成(synthesizable)。因此,只要將它移植到正確的製程技術,客戶就能得到一個尺寸、功率、價格的最佳組合。這種DSP SoC的IP授權交易是一個新嘗試,不過因為多內核DSP尚屬於萌芽技術,再加上這幾年全球電信產業的不景氣,要從IP權利金中獲利,是需要比較長的等待時間,這也是BOPS失敗的主要原因。


同樣是以授權IP為主要利潤來源,3DSP比BOPS幸運多了。3DSP的可組態DSP內核採用模組化(modular)設計,整合專屬的SP-5 super-SIMD內核和穿梭匯流排控制器。3DSP已經開發出具有8個內核的VoIP SoC,適合應用在網路公司所使用的VoIP閘道器中,能處理768個通道,具有128 ms回音消除功能,最大耗電量是2.1 W,工作頻率是280MHz。


NS(National Semiconductor)曾想利用SP-5內核和其它系統級IP(為該公司於1999年因併購Algorex而獲得的技術)開發出適合3G手機使用的可組態SoC。其原預計在2002年初推出此3G基頻處理器,但是直到現在仍未面市。Agilent也和NS一樣同時向3DSP購買SP-5內核的IP,想開發出3G手機用的可組態SoC,但至今還未上市。因此設計內嵌多內核DSP的可組態SoC之技術門檻是很高的。


同樣是以IP授權來設計DSP SoC,RealChip通訊於2000年元月向Infineon購買carmel DSP內核的IP來設計多內核語音封包化(VoP)系統級單晶片。於2002年元月RealChip正式推出此晶片命名為MoNET S1000,RealChip並提供完整的軟硬體開發工具,能將語音、影像、數據集中在封包網路上傳輸。但RealChip原先的公司網址(www.realchip.com)目前已經被一家網路軟體公司佔用。


可組態DSP

當設計者將大量的內核嵌入到單一晶片中,軟體任務(task)的分割、系統匯流排的頻寬、效率、外部記憶體的頻寬扮演的角色比DSP內核的性能還要重要。此外,早期的多內核DSP都是由數個構築區塊(building block)所組成,雖然對產品功能和程式設計而言,此架構可以提供有限度的彈性選擇,但是仍然無法讓產品設計者完全滿足。為了符合不同客戶的需求規格和降低產品開發的成本,必須採用相同的多內核DSP SoC來設計,目前的可組態(configurable)技術已經應用到多內核DSP SoC上,例如:前面介紹的3DSP的SP-5內核,其它IP授權公司如ARC、Improv、QuickSilver、PACT也紛紛推出可組態型DSP。這種技術趨勢勢必取代過去設計DSP的方法。


Improv以它專屬的可組態VLIW內核為基礎,設計出一套可程式系統架構,稱作Jazz。採用Jazz平台,產品開發者可以設計程式、升級和設定組態。這個內核的主要特徵是:它允許設計者透過PSA組合工具(composer tool suite)加入客製化的指令集和執行單元。Jazz PSA平台支援完整的JAVA開發環境,先進的編譯器支援系統分割、記憶體配置、程式碼產生和最佳化等功能。


ARC已經開發出允許用戶客製化的32-bit RISC處理器,它具有DSP延伸功能,能讓用戶針對特殊的應用需求修改和擴增DSP的架構。2001年5月,Hyperchip在系統級單晶片內採用16個ARC的內核,成功開發出多處理器架構(名為Matrix)的IP網路路由器,名為PBR-1280,其傳輸率是以10的15次方計算(petabit)的,速度非常快。Hyperchip原先計劃以FPGA實現它,後來改成ASIC。除了賣PBR-1280路由器以外,Hyperchip亦打算在市場上銷售Matrix晶片。


結合微處理器和DSP的功能,在單一晶片內執行大量的平行處理作業,PACT開發出可動態設定的DSP引擎,名為XPU128,它的性能和頻寬都很優異。在此晶片內具有由128個處理單元構成的陣列,極平行化、可再設定的內核每秒能夠執行超過500億個指令(Billion Operations Per Second;BOPS),耗電量據說只有其它廠牌的1/10。XPU128可以被整合在多內核SoC裡面,鎖定在3G和4G基地台設備和其它需要高運算高頻寬的應用市場上。目前PACT稱呼它的平行處理器架構為XPP(Extreme Processing Platform)。


DSP程式設計的複雜度增加

對多內核DSP設計程式,並非易事。這不像控制單內核DSP,因為兩者是不同的裝置。當寫程式時,不管是平行處理或管線問題,都必須將每一個內核視為單一的個體。絕不能將一個依循週期順序處理(cycle-by-cycle)的應用程式或執行緒(thread)擴展到所有的內核上。例如:在平行處理下,程式設計者可以決定應用程式碼和週邊裝置的配置。因為DSP的成本和尺寸大小是由記憶體與週邊決定的,所以使用平行處理方法,可以節省成本。另一方面,使用管線方法,可以提高多內核之間的數據和通訊交換效率。控制子系統最佳選擇策略有兩種方式:採用集中式或分散式。集中式是以一個內核管理全部的資源,分散式則是每個內核都能管理資源。程式設計者必須在性能和成本上做出抉擇,以發揮每個DSP內核的功能和投資效益。


結語

以目前的市場環境和技術能力,國內廠商要開發出高性能的多內核DSP SoC並不容易;即使是特定應用的單內核DSP SoC也需要花費許多時間才能成功。


從上文中,我們知道開發高性能的DSP SoC會遇到技術、資金、應用市場、經營策略等多方面的挑戰。按照國外廠商過去的經驗:他們不是收購或併購其它DSP公司的技術,就是購買他們的IP再來開發符合自己應用需求的SoC,後者類似ASIC的合作開發模式,但是卻複雜許多。目前國內現有的DSP設計廠商都集中於開發低檔的數位相機或簡易式語音應用SoC,開發高利潤高階應用的DSP SoC將是未來必須突破的方向。回顧國外的DSP SoC開發經驗多以前仆後繼,即因為有這種奮鬥不懈的精神和投資資金的不斷挹注,才能在過去兩三年內,使DSP SoC的發展向前邁進了一大步。相信等3G和4G手機流行之後,DSP SoC就會像現在的32位元通用型SoC一樣廣為人們應用。


相關文章
輕鬆有趣地提高安全性:SoC元件協助人們保持健康
AI Everywhere勢不可擋 信任運算架構將成關鍵
神經處理/運算為邊緣帶來實時決策
嵌入式應用漸趨多元 浮點運算MCU滿足市場不同需求
仿真和原型難度遽增 Xilinx催生世界最大FPGA
comments powered by Disqus
相關討論
  相關新聞
» 巴斯夫與Fraunhofer研究所共慶 合作研發半導體產業創新方案10年
» 工研院IEK眺望2025:半導體受AI終端驅動產值達6兆元
» ASM攜手清大設計半導體製程模擬實驗 亮相國科會「科普環島列車」
» SEMI提4大方針增台灣再生能源競爭力 加強半導體永續硬實力
» 國科會促產創共造算力 主權AI產業專區落地沙崙


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.144.8.79
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw