在当今的数字化的背景下,DSP以其高性能和软件可编程等特点,已经成为电子工业领域增长最迅速的产品之一,人们对其性能、功耗和成本也提出了越来越高的要求,迫使DSP厂商开始在单一矽片上集成更多的处理器内核。本文分析了多核DSP必须面临的挑战,介绍了一些常见的多核DSP产品。
数字信号处理器(DSP)是对数字信号进行高速实时处理的专用处理器。在当今的数字化的背景下,DSP以其高性能和软件可编程等特点,已经成为电子工业领域增长最迅速的产品之一。据市场研究公司In-Stat的最新报告,全球DSP市场今後将一直保持高速增长,其中2004年的付运量估计为15亿颗,2009年该数字可望达到28亿颗。其中,浮点DSP的应用市场可望从2004年的10亿美元增长到2009年的22亿美元。因此,全球DSP市场的前景非常广阔,DSP已成为数字通信、智慧控制、消费类电子产品等领域的基础器件,而通信市场2009年的比例可望达到61%。
Forward Concepts最近公布的DSP/无线市场报告指出,Q2/2006 DSP晶片付运量较Q1上升了3.3%,达21亿美元。报告指出,虽然无线依然主宰著DSP市场72%的份额,其Q2增长幅度仅有2.8%,而来自汽车和消费领域的增长则分别高达38.7%和37.2%。数据显示,亚太地区依然是DSP的主要应用市场,而嵌入式DSP则占据了66%以上的市场份额。
图1 DSP市场概况
随著应用领域的扩大以及终端产品性能的日益丰富,人们对DSP系统的性能、功耗和成本提出了越来越高的要求,迫使DSP厂商开始在单一矽片上集成更多的处理器内核,於是多核DSP应运而生。
1、多核DSP关键技术
晶片制造工艺技术的进步和SoC设计与验证水准的提升分别是多核DSP诞生的硬体基础和软件基础。
目前,DSP巨头德州仪器公司(TI)的DSP晶片生产工艺已经达到75nm水准,能够在一块仅有拇指大小的单晶片上集成8个TMS320DSP内核。同时,多核DSP也离不开SoC设计水准的进步。SoC设计可以对整个系统的模型演算法、软硬体功能、晶片结构、各电路模块直至器件的设计进行综合考虑,可以在同样的工艺条件下,实现更高性能的系统指标。
以下介绍多核DSP必须面对的一些关键技术∶软硬体协同设计、软硬体协同验证、IP核生成与复用、高速互连总线、低功耗设计等。
(1)低功耗
多核DSP带来了更高的性能,但它相比传统的单核DSP也带来了更大的功耗。嵌入式应用,例如手机、数码相机等对功耗非常敏感。在以前的2G通信时代,人们习惯了200小时待机时间的手机,当然很难接受待机时间仅仅为一天的3G手机。因此多核DSP必须解决的第一大技术难题就是如何有效的降低平均功耗。
从硬体技术上来看,可以采用动态电源管理技术,设置全速、半速、休眠等工作模式,根据当前的任务强度和功耗监测信息,及时调整电压和频率,关闭暂时不使用的模块,以降低功耗。另外,根据特定的应用需求,设置专门的协处理器,同样可以减少DSP内核的运算强度。
从软件技术上来看,在编译指导下的多核DSP低功耗优化技术非常具有潜力。低功耗编译技术主要包括编译指导的动态电压调节、多线程功耗模型下的低功耗编译调度等。在操作系统的支持下,通过合理的调度,使处理器资源与演算法需求相适应,例如在DSP核+MCU的模式下,MCU就不应该处理DSP的有关程式。
(2)互连与存储系统
随着晶片面积的增大,长线互连延迟和信号完整性已经成为制约晶片主频的关键因素。当片上DSP核较少时,可用简单的总线结构或者Crossbar互连;当DSP核较多时可用二维mesh网络、3D Torus等进行互连,设计者必须在网络开销以及多核之间耦合的程度之间进行权衡,同时还要注意互连拓扑的可扩展性。为提高互连性能,应该采用高频、高带宽的超深亚微米片上互连结构,以便高效地实现节点间通信。
针对数据密集型的应用,多核DSP必须解决存储系统的效率问题。为此,必须要解决一系列关键技术,例如应该设计多大的片内存储器?数据的共用和通信在存储层次的哪一级来完成?Cache一致性在哪一级实现更合理?是通过片内共用存储器还是高速总线进行多核之间的通信?存储结构如何支持多线程的应用?
(3)编译技术与操作系统
多核DSP能否发挥最高的性能,在很大程度上取决於编译优化和嵌入式操作系统的有力支持。例如,多核DSP对多线程程式能够提供较高的性能,但是对于单线程应用的性能反而不高,甚至比单核DSP的性能还要低。
采用硬体动态提取线程是一种方法,但编译器更要担负起自动并行化的工作,即将串列程式自动地转换为等价的多线程并行代码,使用户不关心叠代空间划分、数据共用、线程调度和同步等细节,减轻用户负担。 更重要的是多线程优化编译技术,包括线程并发机制的实现、线程调度、线程级前瞻执行等技术。
多核之间的任务调度是充分利用多处理器性能的关键。为满足实时处理的要求,均衡各处理器负载,需要研究的任务调度机制有分散式实时任务调度演算法、动态任务迁移技术等。已有的几种嵌入式操作系统,例如μcLinux、PalmOS、WinCE等,都还无法有效地支持多核处理器。嵌入式多核操作系统的研究任重而道远。
(4)应用开发环境
嵌入式应用的特点决定了开发人员必须能够在很短的时间内推出能够为市场所接受的应用系统。为此,多核DSP供应商必须为用户提供简便易用的开发、调试环境。但是面向多核处理器的编程环境始终是不成熟的,并行程式开发技术一直难以普及。
为此,我们可以借鉴多核通用微处理器的编程模式,即消息传递程式设计模式MPI和基於编译指导命令的程式设计模式OpenMP。但是,最终的发展趋势还将是集成化的VSP(Virtual Single Processor,虚拟单处理器模型)开发环境,在这一环境下用户能够像开发单处理器程式一样去开发多核应用系统,在同一平台上完成编程、调试、编译优化和连机测试的过程。
例如,Cradle公司在推出CT3600系列多核DSP的同时,还推出了相应的多核开发工具,包括ANSI C编译器、针对DSP进行了时序优化的Cradle C语言、eCOS实时操作系统、INSPECTORTM代码开发与调试器和RDS3600硬体开发平台等,从而为用户提供了一揽子的解决方案。
2、多核DSP的应用
(1)3G移动通信
多核DSP最重要的应用领域之一就是3G数字移动通信。其中包括基站和移动终端两方面的应用。基站所使用的DSP更注重高性能,对成本和功耗不是非常敏感。而移动终端要面向具体的用户,设计时必须在功能、功耗、体积、价格等方面进行综合考虑,因此移动终端对DSP处理器的要求更加苛刻。
2G数字蜂窝电话的核心处理器都是基於双处理器结构的,即包含1个DSP和1个RISC微控制器(MCU)。DSP用来实现通信协议栈中物理层协议的功能;而MCU则用来支援用户操作介面,并实现上层通信协议的各项功能。
3G数字移动通信标准增加了通信带宽,并更加强调高级数据应用,例如可视电话、GPS定位、MPEG4播放等。这就对核心处理器的性能提出了更高的要求,即能够同时支持3G移动通信和数据应用。在现代化的3G系统中,对处理速度的要求大概要超过60-130亿次每秒运算。如果用现有的DSP,需要20-80片低功耗DSP晶片才能满足要求。因此,承担这一重任的多核DSP处理器晶片必须在功耗增长不大的前提下大幅度提高性能,并且要具备强大的多任务实时处理能力。多核DSP在嵌入式操作系统的实时调度下,能够将多个任务划分到各个内核,大大提高了运算速度和实时处理性能。这些特点将使3G手机能够同时支援实时通信和用户互动式多媒体应用,支援用户下载各种应用程式。图2给出了一种3G通信多核DSP处理器的架构。
(2)数字消费类电子
DSP是数字消费类电子产品中的关键器件,这类产品的更新换代非常快,对核心DSP的性能追求也无越来越苛刻。
由於DSP的广泛应用,数字音响设备得以飞速发展,带数码控制功能的多通道、高保真音响逐渐进入人们的生活。此外,DSP在音效处理领域也得到广泛采用,例如多媒体音效卡。在语音识别领域,DSP也大有用武之地。Motorola公司等厂商正在开发基於DS
P的语音识别系统。
数字视频产品也大量采用高性能DSP。例如数码摄像机,已经能够实时地对图像进行MPEG4压缩并存储到随机的微型硬盘甚至DVD光碟上。此外,多核DSP还应用在视频监控领域。这类应用往往要求具有将高速、实时产生的多路视频数字信号进行压缩、传输、存储、重播和分析的功能,其核心的工作就是完成大数据量、大计算量的数字视频/音频的压缩编码处理。
(3)智慧控制设备
汽车电子设备是这一领域的重要市场之一。现代驾乘人员对汽车的安全性、舒适性和娱乐性等要求越来越高。多核的DSP也将逐渐进军这一领域。例如在主动防御式安全系统中,ACC(自动定速巡航)、LDP(车线偏离防止)、智慧气囊、故障检测、免提语音识别、车辆资讯记录等都需要多个DSP各司其职,对来自各个传感器的数据进行实时处理,及时纠正车辆行驶状态,记录行驶信息。
3、主流多核DSP介绍
(1)同构多核DSP
这类多核DSP内部集成了若干个结构对等的DSP核,不存在其他处理器核。
A、AD公司Blackfin系列
AD公司Blackfin系列采用双Blackfin内核(每个内核性能高达756MHz/1512 MMAC,总和达到3024 MMAC),适用於要求苛刻的数字成像和消费类多媒体应用;其328KByte的大片上存储器可以用作每个内核单独的L1存储器系统,以及共用的L2存储器空间。
图3 Blackfin系列双核DSP功能图
该处理器采用类RISC的寄存器和指令模式,易於编程和编译优化,同时具有先进的跟踪、调试和性能监测方式。Blackfin内核采用动态功耗管理技术,可以改变电压和频率,从而为便携式应用提供更长的待机时间,面向应用的外设提供了与多种音频/视频转换器和通用ADC/DAC的无缝连接。
Blackfin系列的主要应用包括∶数码相机、数码摄像机、便携式媒体播放机、数字视频录像机、机顶盒、消费类多媒体、汽车可视系统、宽带无线系统。
B、TI公司TMS320VC5441
TI公司的TMS320VC5441浮点DSP内部集成了4个C54x核,每个核具有192KB的局部存储器、3个多通道缓冲串口、DMA、定时器等部件。每个子系统都具有独立的程式和数据空间,可以同时访问指令和数据。该DSP采用了很多并行访存指令,可以在一拍内完成2读1写操作,从而大大提高了并行性。片内共用512KB的程式存储器。
图4给出了该DSP的组成结构。
图4 TMS320VC5441功能图
C、飞思卡尔MSC8144
飞思卡尔半导体第三代多核DSP——MSC8144基於下一代SC3400 StarCore技术。这款DSP面向下一代有线和无线基础设施应用,提供语音、视频和数据服务,并带来领先的性能和低系统成本以及显著提高的通道密度。
图5飞思卡尔MSC8144功能图
MSC8144将4个频率为1GHz的StarCore DSP内核相集成,提供业界最高的千兆赫兹级性能,相当於1个4GHz单核DSP。它在单个产品中集成业界最高的10.5MB嵌入式存储器,实际上降低了对附加外部存储器的需求,同时保持具有竞争力的成本和每通道功耗。
MSC8144 DSP基於具有更深流水线的增强型SC3400 DSP内核,该内核能够提供很高的时钟速率,并增加了新的单指令多数据(SIMD)指令,提供精确的异常和分支预测。SC3400内核还支持适用於维特比(Viterbi)和视频演算法的经过改进的专用指令,每个内核周围都有高效的16KB指令缓存、32KB数据缓存,以及用於存储和任务保护的MMU(存储管理单元),使用户能够开发强大的软件。
飞思卡尔的CodeWarrior集成开发环境(IDE)包括高级优化C/C++编译程式、整合工具、周期和指令精确模拟器、设备驱动和操作系统。该工具箱还带有一整套硬体开发平台和参考板设计。同时,OEM还可以注册购买飞思卡尔及其第三方生态系统合作夥伴的优化多媒体编解码器和软件框架。
MSC8144 DSP的主要特性包括∶2个千兆乙太网介面,支援SGMII和RGMII,另外还有16位元UTOPIA介面,支援ATM;QUICC Engine技术实施了双RISC内核,可以降低DSP内核的通信任务负荷,从而增强整体系统性能;4X/1X Serial RapidIO介面,提供高吞吐量和强大数据包传输;2048 TDM DS-0通道,处理与PSTN网络的连接;10.5M内部存储器,提供业界最大的嵌入式存储器;高级DDR-I/II控制器,提供连接高速行业标准存储器的介面;66MHz的32位元PCI总线介面,提供更多的高速连接。
在有线基础设施应用方面,MSC8144提供了运营商级中继、企业VoIP媒体网关、视频会议服务器等众多应用的DSP解决方案。另外,MSC8144提供的无线应用包括∶无线语音代码转码,IP多媒体子系统(IMS)网关,视频多点会议,3G、Super 3G和WiMax基站的基带卡以及无线网络控制器(RNC)中的第2层处理。
(2)异构多核DSP
异构多核DSP是最常见的一类多核DSP,其中既包含DSP核,又包含用於控制的MCU(微控制器)核,从而充分发挥DSP的处理速度和MCU的控制功能。
单晶片并行MIMD(多指令多数据)DSP。其中集成了一个性能为100MFLOPS的32位RISC浮点CPU核、4个32位并行处理DSP、一个传输控制器(TC)、一个视频控制器(VC)。所有的处理器通过Crossbar进行耦合,共用50KB的片上RAM,每秒可以完成20亿次运算。该处理器主要面向军用领域。
这类DSP的典型代表。图6给出了最新推出的OMAP2420的组成结构。该处理器采用90nm工艺,集成了主频为330MHz的ARM1136核、TMS320C55x DSP核、2D/3D图形加速器、图像与视频加速器、共用存储控制器/DMA等,能够实现30帧每秒VGA解析度的全动态视频编解码。
图6 TI公司OMAP处理器的硬体结构
B、Cradle公司CT3616
DSP领域的後起之秀,其高性能CT3616处理器内部集成了16个DSP核与8个GPP(通用处理器)核,主频375MHz,能够进行16路MPEG4 SP@L3实时编码,最高DSP性能达到96G MAC运算。可编程I/O是该处理器的另外一大特色,共有144个可编程的I/O引脚,允许用户自定义介面。该处理器集成的DDR DRAM介面可以挂接333MHz的DDR存储器。全晶片的功耗仅仅为4.5W,可以应用於音频/视频编码、多路监控、系统控制等领域。
C、瑞萨半导体SuperH系列
瑞萨科技SuperH系列集成了32位元SH-2A CPU核心的DSP产品可用於工业、办公自动化和消费电子应用的设备控制。由於SH-2A CPU核心与SH-2保持指令的向上相容性,可提供更高的处理性能和ROM编码效率,可以满足市场对更高性能的需求。
图7 瑞萨科技SH-2A核心架构
其中,最近发布的带有片上闪存的SH7211F集成了可提供卓越实时控制能力的高性能SH-2A CPU核心,在160MHz运行条件下可以实现大约320 MIPS(每秒百万指令)的高处理性能。与SH-2 CPU核心相比,在同样的工作频率下其处理性能大约提高了1.5倍,与运行於80MHz最高工作频率的SH-2产品相比,性能大约提高了3倍。其指令集的向上相容性保证了可使用现有的程式,同时可以提高大约25%的ROM编码效率,并可减少存储程式的存储器容量。
SH-2A CPU核心在实时能力也有所改进。15个寄存器组专门用於CPU的中断,中断处理的反应周期已从SH-2的37个周期减少到SH-2A的6个周期。由於更高的工作频率和更短的反应周期,在160MHz工作条件下运行的SH-2A的程式开始反应时间的中断信号已减少到在80 MHz条件下运行的SH-2反应时间的大约1/12。这样,就可以在中断事件发生时,实现快速的程式切换,从而提供高质量的实时控制。
SH7211F还包括了适用於诸如AC伺服系统和变频器等强调实时控制能力的高档工业设备的各种外设功能。这些功能是具有3相PWM(脉冲宽度调制)输出能力的、8个12个位A/D转换器通道,以及2个8位D/A转换器通道变频设备使用的MTU2和MTU2S电机控制应用的理想选择。其通信功能包括有助於外围设备通信的I2C总线介面通道和具有16级FIFO的4通道串列通信介面。外部数据总线能够支持闪存ROM、SRAM、SDRAM、突发ROM、多工I/O,这些都可以通过总线状态控制器进行设置,使各种存储器能够进行直接连接而无须使用外部元件。
D、picoChip公司picoArray多重核心处理器
picoChip针对新一代无线系统的picoArray多重核心处理器阵列元件——PC202、PC203及PC205为高整合度、高效能、低成本之DSP。三款元件均内建约200个以上的处理器,提供超过100GIPs与25GMACs的运算效能,大幅领先旧有的单核心DSP。
图8 picoArray多重核心处理器阵列元件原理
其中,PC202与205亦内建一个性能强悍的ARM9处理器。所有新产品均采用标准C语言或组译语言撰写程式码,让客户能利用其开发完整的软体无线电系统,此外并针对WiMAX(16d与16e)以及WCDMA(包括HSDPA,并能升级至HSUPA)提供完整的参考设计方案。
PC202内建198个数位讯号处理器,以及一个负责控制与MAC功能的ARM 926EJ-S处理器,以锁定各种追求低成本的应用,例如WiMAX客户端系统与存取设备、以及WCDMA毫微微蜂巢式(家用基地台)设备。
PC203内含248个处理器,系专为基地台(BS)应用所设计,能协助业者开发出支援各种热门无线通讯协定的产品,例如WiMAX与HSDPA/HSUPA,包括支援如MIMO与波束成型等先进演算法,C203尚能搭配外部控制处理器或网路处理器,开发出大型基地台产品。
此三款晶片均内建加密引擎,针对高速傅立叶转换/反向高速傅立叶转换、Viterbi、以及涡轮高速解码器(包括符合16e规格的CTC),此功能完全整合至picoChip的互连架构与开发环境,让业者能轻易进行编程、整合、以及验证。
另外,每个处理器均为功能完备的DSP,内含16x16乘数器与40位元累加器、内部指令与资料记忆体,采用一套改良式三路超长指令字元(LIW)架构,此意味著处理器可执行乘数-累加(MAC)指令,每个周期最多可处理三个其他指令。PC203与PC205内含的248个处理器,运作时脉达160MHz,即使在针对如Turbo与Viterbi解码与加密作业时,亦能达到约160 GIPS的无线通讯加速效能。
3)DSP核+协处理器
这类DSP一般针对某一类应用集成专用的协处理器,从而对DSP实现演算法加速。TI的研究表明,对於像MPEG4编解码这样的任务,使用协处理器可以降低50%的DSP负荷,从而平衡系统功耗。
该DSP除了包含一个功能强大的C64x DSP核之外,还集成了一个维特比协处理器(VCP)和一个Turbo解码协处理器。其中维特比协处理器用於语音和低码率数据通道解码,支持500个8Kb/s码率的语音通道,并且可以对强制长度、码率和帧长度等解码参数进行编程。Turbo协处理器用於高码率数据通道的解码,支持35个384Kb/s码率的数据通道。
B、飞思卡尔MSC8126
飞思卡尔半导体公司的MSC8126也是一个集成了协处理器的多核DSP。该DSP集成了4颗StarCore DSP核、一个Turbo协处理器、一个维特比协处理器、UART介面、4个TDM串列介面、32个通用定时器、乙太网介面
图9飞思卡尔MSC8126内部功能
该DSP在最先进的90nm工艺下生产,在400MHz主频下,其4个扩展内核可以达到最高每秒6400MMAC(百万次乘加操作)的性能。除了每个DSP核内包含228KB的M1存储器之外,片内还集成了476KB的共用M2存储器。支援可变长指令
是该DSP的另外一个特点。
4、DSP展望
Forward Concepts的Will Strauss表示∶DSP技术的演绎趋势是多重核心处理器。未来10年,全球DSP产品将向著高性能、低功耗、加强融合和拓展多种应用发展,DSP晶片将越来越多地渗透到各种电子产品当中,成为各种电子产品尤其是通信类电子产品的技术核心,将会越来越受到业界的青睐。
据TI预测,到2010年,DSP晶片的集成度将会增加11倍,在单个晶片内将能集成5亿苹晶体管。目前DSP的生产工艺已开始从0.35mm转向0.25mm、0.18mm,预计到2005年,DSP晶片的工艺将达到0.075mm的更高水准,届时,将能够在一块仅有拇指大小的单个晶片上集成8个DSP内核。