碧波液压网 欢迎你,游客。 登录 注册

嵌入式多媒体应用的多核编程框架

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  基于单核结构的嵌入式处理器越来越难以满足日益增长的嵌入式多媒体应用的处理需求,多核嵌入式结构已成为解决这一问题的有效途径,同时也为如何充分开发利用多核结构的应用软件带来挑战。目前的编译技术和开发工具需要更精密,才能使多核结构的应用获得成功。大多数并行软件都是通过手工转换方式将顺序程序转换为并行程序来实现的,由于缺乏具有多核意识的开发工具,使得软件难以进行性能评估。因此,如果没有预先有效可靠的工程规划,将不得不面对应用软件效率低下以及延迟产品上市时间等问题。

  软件框架为多核应用软件的开发提供了一个更好的起点,可以帮助缩短开发时间。本文将详细说明嵌入式多媒体应用软件的设计框架,同时,本文的数据流模型也可扩展到许多其它应用中。该框架综合了多媒体应用软件固有的数据并行结构,并说明了如何通过使用底层架构来有效管理数据流。

  在设计并行软件的过程中有两大挑战:一是开发有效的并行算法,二是有效地利用存储器、DMA(直接存储器访问)通道和互连网络等共享资源。在该过程中,顺序运行的应用程序的性能可根据可用处理器核的数目进行扩展。

  实现应用程序的并行处理常常有多种方法。有些应用程序表现出固有的并行特性,而其它的则具有极其复杂且不规则的数据存取模式。但总的来讲,科学计算类的应用程序和多媒体应用程序的并行化通常易于实现,因为它们的数据存取模式比那些控制类应用程序相对容易预测。本文重点讨论针对多媒体算法的并行技术,这类算法需要很高的处理能力,并且更适合嵌入式系统应用。

  多媒体应用程序中存在数据的并行级别。一组数据帧与数据帧中的一个宏块之间的并行粒度有很大差别。通常来讲,粒度越小,共享单元(如处理器核和DMA通道等)之间所需的同步级别越高。粒度越小,并行程度就越高,网络通信量越小;粒度越大,同步要求就越低,但网络通信量会增大。因此,基于应用的不同类型和系统需求,软件框架也定义了不同的并行级别。

  需要说明的是,可扩展并行软件的开发还依赖于对互连网络、分级存储器体系以及外设/DMA资源的有效利用。系统严格的低功耗和低成本要求对所有这些要素都会构成限制。在多核环境下编程时,有效利用这些资源需要进行创新。本文提出了一些在ADI公司的Blackfin ADSP-BF561双核处理器上有效管理资源的构想。

  多媒体数据流分析

  为了实现数据并行,需要在数据流中找到这样一个或一组数据块:可以独立处理并将其“喂”给一个处理元件。独立的数据块可以降低同步开销并简化并行算法。要找到这种数据,必须弄清应用的数据流模型,或者说“数据存取模式”。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论