是对数字信号进行高速实时处理的专用处理器。在当今的数字化的背景下,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公司等厂商正在开发基於DSP的语音识别系统。
数字视频产品也大量采用高性能DSP。例如数码摄像机,已经能够实时地对图像进行MPEG4压缩并存储到随机的微型硬盘甚至DVD光碟上。此外,多核DSP还应用在视频监控领域。这类应用往往要求具有将高速、实时产生的多路视频数字信号进行压缩、传输、存储、重播和分析的功能,其核心的工作就是完成大数据量、大计算量的数字视频/音频的压缩编码处理。
(3)智慧控制设备
汽车电子设备是这一领域的重要市场之一。现代驾乘人员对汽车的安全性、舒适性和娱乐性等要求越来越高。多核的DSP也将逐渐进军这一领域。例如在主动防御式安全系统中,ACC(自动定速巡航)、LDP(车线偏离防止)、智慧气囊、故障检测、免提语音识别、车辆资讯记录等都需要多个DSP各司其职,对来自各个传感器的数据进行实时处理,及时纠正车辆行驶状态,记录行驶信息。
|