账号:
密码:
最新动态
 
产业快讯
CTIMES / 文章 /
SoC时代DSP设计之挑战
 

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

浏览人次:【9755】

传统的系统级单晶片(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在300 MHz时脉下只消耗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
相关讨论
  相关新闻
» 晶创台湾办公室揭牌 打造台湾次世代科技国力
» 工研院突破3D先进封装量测成果 获德律、研创资本、新纤注资共创欧美科技
» A+计划补助电动车产业 驱动系统、晶片和SiC衍生投资3亿元
» 工研院主办VLSI TSA研讨会登场 聚焦异质整合与小晶片、高速运算、AI算力
» 国科会扩大国际半导体人才交流 首座晶创海外基地拍板布拉格


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

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK85C5946HYSTACUKX
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw