媒体处理框架在复杂应用中导向.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
媒体处理框架在复杂应用中导向

媒体处理框架在复杂应用中导向   最近随着高性能嵌入式媒体处理器走向实用,原来以个人计算机(PC)为中心的设计在许多应用领域都将让位于嵌入式解决方案。这就意味着软件工程师需要将基于媒体的算法从存储器资源“无限的”原型系统(例如PC或工作站)移植到嵌入式系统中,嵌入式系统必须进行资源管理才能满足最低的性能要求。这些工程师力争在特定的应用中获得最高的性能,而且不增加他们习惯的编程模型的复杂度。考虑到这种情况,他们需要的就是一套编程“框架”,帮助他们克服多媒体处理的主要难题――例如,组织输入和输出缓冲数据流,智能地划分存储器,以及采用信号量来控制数据传送。      数据传送的物理过程      了解系统中数据传送的“物理过程”是所有项目开始的必需步骤。除了确定希望得到的吞吐量对于一个应用是否刚好能行,实践可以产生很大的性能储备,而且无需很大量的初期投资。   大多数媒体处理器都采用分级的存储器体系结构,力图在几级具有不同尺寸和性能水准的存储器之间达到平衡。一般地,最靠近内核处理器的存储器(称为一级或L1存储器)以全时钟速率工作,支持单周期内的指令执行。L1存储器通常被划分为指令段和数据段,目的是有效地利用存储器的总线带宽。这种存储器通常配置为静态随机存储器(SRAM)或高速缓存。需要最快决定的应用可以在单个内核时钟周期内访问芯片内的SRAM。对于需要较大代码尺寸的系统,通常要用到附加的片内L2存储器,其访问延时要高于L1,但还是比外部存储器读取要快得多.   对于多媒体应用,片内存储器往往不够用于存储完整的视频帧,尽管这样做对于高效处理来说是很理想的。因此,系统通常都必须依赖芯片外(“L3”)的动态随即存储器(DRAM)来支持较快地访问大的缓冲器。连接片外存储器的处理器接口构成了设计有效的媒体框架的一个主要因素,因为对外部存储器的访问模式必需充分地考虑以便保证最理想的数据吞吐量。有几种高水平的措施来保证数据能在任何系统的存储器中平稳地流动。下面将讨论其中的一些,而且它们在后面讨论的框架中起到了关键的作用。      在L1或L2中分段存储L3缓存数据   在片内存储器中缓存L3数据有几个重要的作用。首先,处理器内核访问片内缓冲器的延时要比访问片外缓冲器低得多。这样就直接地提高了系统性能。此外,在片内存储器中缓存L3数据允许更高效的外围DMA(“直接存储器存取”) 访问这些数据。例如,快速地将一帧视频从视频端口传送到L3存储器中会造成这样一种情况,其它的外围设备可能被锁定而无法访问它们需要的数据,因为视频传送是一个高优先权的进程。但是,通过将行增量从视频端口传送到L1或L2存储器中,可以发起一次存储器DMA流,这样就会把视频传送当成一个低优先权的进程悄悄地将这些数据传送到L3,从而使系统外围设备可以访问它们需要的数据。      分组传送以便减少存储器总线转向   当对外部存储器的访问在同一方向时(例如连续读或连续写),执行的效率是最高的。例如,在访问片外的同步存储器时,16次写操作接着16次读操作完成得往往比16次间插读写要快。这是因为写之后接着读的话会产生延时。如果随机访问外部存储器,“转向”发生的概率是很高的。这种附加延时很可能使可用带宽减半。因此,选择一种可以对特定方向的传送数量进行控制的处理器是很重要的。通常,在系统活动缓和时期采用最大的同向连续传送数量是最佳的。但是,对于负荷最重的系统数据流,选择一个中间值通常是最好,要保证不会有任何外围设备被锁定而无法访问外部存储器。   采用DMA和(或)高速缓存往往有助于在这个方面提高性能,因为在这类事务期间数据块是同向传送的。例如,一次DMA传送通常包括一块很大的数据缓冲区,将其从一个位置移动到另一个位置。类似地,一次高速缓存线的填充就是将一组连续存储器位置的数据移进或者移出设备。      保证SDRAM的行打开并完成数据的多次传递   每次访问外部SDRAM都可能占用好几个时钟周期,尤其是当所需的SDRAM行尚未激活时。行一旦被激活后,就有可能从一整行中读取数据,而不用每次访问时都重新打开该行。换句话说,在每个时钟周期访问存储器中的任何位置都是可能的,只要这些位置处于SDRAM的相同行中。   应用应该利用SDRAM组的优势,当它们因为适当地放置了数据缓存并在任何可能的时候管理访问而打开的时候。理想情况下,处理器应该允许一次打开SDRAM的多行,以便缩短随后对打开的存储器组中相同行的访问所需的建立时间(因此提高了吞吐率)。例如,在只打开一行的系统中,行激活延时会大大降低总性能。而另一方面,如果一次打开4行,行激活延时可以分摊给数百次访问。   关闭一行需要多个SDRAM时钟周期,因此频繁的行关闭会严重限制SDRAM的吞吐量。缓解这个问题

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档