数字信号处理器重新采纳多核架构
扫描二维码
随时随地手机看文章
DSP应用通常只包含少量高度复杂的任务,系统性能的提升依赖于加快任务执行速度,而不是简单地运行更多的任务。与任务级划分不同,DSP系统通常要求在算法级划分任务。整个任务,比如压缩一个视频流,必须被分解成可以在单独内核上并行运行的多个步骤。任务调度器或操作系统无法完成这种划分,这种划分必须在软件设计过程完成。许多DSP应用开发人员正因为算法划分困难而回避多内核方法。也有一些任务(如加密)不支持并行运算。
这并不是说多核方法未尝试与DSP亲近过。PicoChip公司很早前推出的picoArray架构就整合了多个相同的内核来支持高性能DSP。然而在大多数情况下,采用DSP的多核设计中的内核不是同一类的。相反,它们采用一个DSP内核和一个RISC CPU内核。多年来这种异质DSP一直被用于蜂窝电话和通信行业中的多核处理器设计。这些处理器的目标应用可以被很好地划分为适合DSP的信号处理任务和适合RISC CPU的控制任务,从而使得划分相当简单。
一个例外是ADI的Blackfin BF561双核DSP。该器件使用的内核可以很好地执行两种任务,因此无需对任务组进行划分。相反,开发人员可能随意分配任务来平衡内核之间的负载。不过,大多数开发人员缺少划分软件的经验,而自动化工具支持也非常缺乏,因此同类多核DSP无法得到迅速普及。
“BF561是较早进入这一领域的产品。”ADI公司Blackfin应用经理David Katz表示,“它是领先于时代的产品。我们需要给开发员一定的时间来学习划分技术。”
Katz指出,ADI公司在BF561后就没有推出过同类多核DSP设计,虽然“多内核是我们发展策略中的重要组成部分”。
其它DSP供应商也将多核看作是DSP不可避免的发展趋势,这与它被计算应用广泛采纳的理由是相同的:以更低的功率提供更高的性能。再次出现同类多核DSP芯片设计的驱动因素,是一些系统要求的性能越来越高。在一些关键应用中,对性能的要求正在从更快地执行单一任务转变为执行更多的任务。这种变化将简化DSP的任务划分,使得它更像是其它嵌入式应用的任务划分,而DSP供应商也在抓住这个难得的机会积极开发产品。
随着对语音和VoIP需求的增长,媒体处理已经成为一种符合上述变化趋势的应用。例如,媒体网关设计必须提供各种语音、音频和视频编解码功能,并处理多个独立的通道。这种应用结构很容易被划分成独立的任务,因而非常适合多核DSP设计。
Octasic公司的Vocallo就是满足这一应用领域要求的最新产品。
Vocallo有15个相同的DSP内核,因此设计师具有相当大的灵活性来创建并行和管线架构,从而在不同工程的通道容量和性能间取得最佳平衡。
另外一个最近推出的用于通信的多核DSP来自TI公司,型号是TNETV3020,主要用于高密度核心网络。“我们目前正在做的工作是特殊应用多处理。”TI公司多核解决方案部经理Ray Simar表示,“在基础架构应用中,我们正在执行大量相同的任务,因此设计可以转向多个相同的处理器。”
TNETV3020采用了6个DSP内核、1个开关矩阵和多种串行I/O通道,允许设计师针对通道格式转换等任务对设计进行配置。
同样,音频处理也需要对多任务实现高性能处理,这些任务适合在多个内核间作简单的划分。飞思卡尔半导体公司音频DSP产品经理Sujata Neidig指出,高清、杜比和蓝光音频算法的发明对音频DSP的性能要求提高了5倍,而且复杂性、数据速率和通道数量也在不断增加。另外,Neidig表示,像自动音量控制等更多功能也在向音频处理集中。
图1:许多DSP应用开发人员由于算法划分困难而回避多核方法。
代码复用
飞思卡尔公司新款Symphony DSP56724和DSP56725 DSP采用了一种双核架构,允许开发人员分割处理任务,同时复用现有的代码。用于视频或混合音频与视频处理的多核DSP也已出现,例如Cradle Technologies公司的CT3616,Gennum公司的Voyageur以及Cirrus Logic公司的音频用多核DSP。
向多核DSP芯片设计发展的趋势,最终会将划分任务的工作从开发人员手中转移到芯片厂商。PicoChip公司最近推出的PC302就是一个很好的例证。该公司使用其通用的picoArray架构成功的在单个芯片上实现了完整的毫微微蜂窝接入点。PicoChip公司完成了所有的划分工作,并将内核系统软件下载进了片上存储器[!--empirenews.page--],因此开发人员只需增加自定义的功能。
这种特殊器件可能是多核DSP设计的近期目标,但长期来看多核方法还将包含通用的DSP设计。“展望未来,我们可以发现,针对DSP的多核技术不会只是小把戏,”TI公司的Simar表示,“它将变得越来越普及。”
随之而来的是,开发人员需要学会如何划分设计以便高效地使用同类多核DSP。“许多人希望编译器能完成分割任务。”Simar表示,“但这不是一蹴而就的事。为了用好这些器件,我们需要学会多角度的思考。”