PPT讲稿 - 为一个32位RISC微处理器的MPEG音频层的软件优化.pptVIP

PPT讲稿 - 为一个32位RISC微处理器的MPEG音频层的软件优化.ppt

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

SOFTWARE OPTIMIZATION OF MPEG AUDIO LAYER FOR A 32BIT RISC PROCESSOR 我们已经实现了MPEG1/2音频Ⅲ层解码算法使用ARM7和ARM9的系统。我们用C和汇编语言优化了算法。汇编优化程序采用了块数据传送指令大大减少了对存储器访问数。存储器的结构性能诸如:内部总线数、缓存大小和缓存方案等都可以被测量对于ARM7和ARM9系统来说。用在外部动态RAM的存取上的时钟周期的开销在ARM7上差不多是40%,而在ARM9系统上大约是19%到1.6%。 对于MPEG1/2Ⅲ层(MP3)算法是一个被广泛使用的音频压缩标准。它被用于消费者便携音频播放器。尽管有些基于VLSI的执行器,但是基于软件的使用RISC处理器的执行器由于它的格式和应用的灵活性任然非常流行。事实上,多标准便携式播放器不仅支持MP3也支持Dolby-AC3,AAC 和WMA(windows media audio)等格式。 在这篇文章里,我们优化了MP3解码算法。开始使用浮点算法用c编程对于ARM7和ARM9结构。基于动态RAM的系统来代替一个大的内部快速存储器。被认为用PDA或者多目的数字播放器来搭建执行机构。 ARM7和ARM9CPU分别独立的简单数据存储。硬件乘法器有一个32*8位。表明不适合执行乘法数字处理指令。 然而,为了支持高时钟频率操作,CPU有一些优点,在执行DSP算法时!首先很多指令可以被有条件的执行。可以大大减少MP3解码的开销。其次,这里有一个桶形移位器可以同时执行移位和旋转在ALU中。三,一些指令使用多寄存器来装载。可以降低整个存储器的访问量。 尽管RISC的CPU有一个非常不同的结构相对于DSP。很多软件优化方法为他们设计。非滚动环,中止环,循环地址,等被采用。性能可以被更好的增加通过采用ARM-CPU专门结构。例如:桶状移位寄存器。多寄存器传送。 为了在ARM系统上实现DSP的浮点译本。我们需要我们需要把原来的浮点结构基于的算法转换成一个整体。一个自动的大规模算法转换了一个浮点算法结构为一个集成的可选大小的方法被采用。 3.1IMDCT和次带综合优化。 虽然有很多有效快速的MDCT或IMDCT算法。大多数都是来自于带有二的次幂的数据队列。因为MDCT在MP3协议的计算标准在长数据块上用了N=36的长度,在短块上用了N=12的长度。Britanak和Rao的算法在执行器。表一基于ISO参考模型和选择的算法下的乘法和加法指令数。 注意到乘法指令的数目是一个至关重要的因素对于算法的选择来说,因为ARM CPU并没有足够的乘法器。 为了优化次带滤波,我们我们采用了次带算法在【6】【7】中,算法的性质和IMCT的相似。同样也包含了很多的乘法装载和存储指令。 基于c的执行器,我们优化了IMDCT和次带综合代码,通过采用块装载和存储指令,而这些指令在汇编是很少用到的。注意到ARM CPU支持块数据传送,通过LDM和STM指令来实现寄存器和存储器之间的块传送。其中用15-32位的寄存器数据快传送,从寄存器到存储器需要14个连续的和2个非连续的和一个内部周期。对于STR来说,要求的是15个连续的和1个非连续的和一个内部周期 对于IMDCT来说,要求的指令数目和时钟周期数目对于采用了LDM和STM指令之后的结构在图2中显示。指令和时钟周期的数目分别被优化指令减少了28%和21%。而且,对于次带他的指令数目和时钟周期数目都被减少到34%和35%。 图2表明IMDCT的指令类型和次带合成执行器。那里优化和没有优化的结果都被对比。 因为ARM7只有8KB的缓存这样的话性能机会大大的降低。我们选择了MP3的中间位置的位流排除静音作用。仿真结果显示存储器访问量对于指令和数据的次数被显示在表3中。结果表明缓存缺失正比于指令是1.76%和13.5%。 在汇编语言的优化在块装载和存储指令优化数据方面,减少了缓存缺失比最后对外部DRAM的访问。表4是要求的外部存储读和写的操作每秒解码MP3.在优化的前后。 对于ARM9来说它有一个改进的机构在图1中,这个结构允许取指令和数据访问同时进行。而ARM7缓存模式不支持写分配。ARM9支持,图3中显示了数据缓存缺失比在ARM9中根据缓存的大小。相对于表3中的结果来说数据缺失大大减少。主要是有了缓存分配方法。 注意到指令和数据缺失率8KB的缓存是1.7%和13.5%。而对于有写分配的缓存而言分别是0.55%和6.08% 在图4中,表明基于ARM7的执行器时钟循环数目,还有16位和32位的SDRM总线。结果显示16位SDRAM带有8KB的缓存器要求40%多的时钟循环。在图4的(b)中,显示了ARM9的系统。一个ARM9有一个16KB的指令和一个

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档