电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>DSP>基于DSP的汇编程序优化方案

基于DSP的汇编程序优化方案

2017-10-26 | rar | 0.5 MB | 次下载 | 1积分

资料介绍

1 引言
  数字信号处理器DSP)相对于模拟信号处理器有很大的优越性,表现在精度高,灵活性大,可靠性好,易于大规模集成等方面。随着半导体制造工艺的发展和计算机体系结构的改进,数字信号处理器的功能越来越强大,对信号处理系统的研究重点又重新回到软件算法上,而不再像过去那样过多地考虑硬件的可实现性。随着DSP运算能力的不断提高,能够实时处理的信号带宽也大大增加,数字信号处理的研究重点也由最初的非实时性应用转向高速实时应用。
  目前大多数DSP虽然都支持C语言编程,但是在实际工程应用中,最常用的方法是用C语言编写流程控制。搭建工程框架,具体的算法模块及比较耗时的功能模块还是采用汇编语言来编写。这是因为C语言虽然具有易读性、可移植性等优点,但是它不便于对系统硬件资源的直接控制,无法发挥DSP自身的特点,无法充分利用DSP系统结构中有限的资源。特别是在硬实时性系统中,用汇编语言进行编程可利用DSP自身硬件结构的特点对汇编程序进行优化与精简,往往能够使一些复杂的算法和功能模块在实时性方面取得非常好的效果。
  2 汇编程序优化
  DSP的种类繁多。各类DSP都有其自身的硬件特点,而对DSP汇编程序进行优化的过程就是根据程序自身特点充分利用DSP硬件资源的过程。因此,具体到不同的器件。其优化方式也不尽相同。目前比较流行的大多数DSF,都支持程序并行和软件流水,本文从这二方面出发,概括归纳出对汇编程序进行优化的一般方法。希望能够在对不同DSP汇编程序优化的过程中提供一些思考方式上的切人点。为了易于说明,笔者提供了一些实例,这些例子均是用AD公司TSl01系列电路的汇编语言编写的。
  2.1 加强程序并行
  程序的并行是汇编优化的关键。但是,在开始进行任何优化之前,必须了解从何处着手,首先了解瓶颈在何处。软件的某些部分可能只执行一次(初始化)或者只执行少数几次,费尽心思优化此部分代码并非明智之举,因为获得的整体节省效果是微乎其微。对程序的优化应将主要力量集中在最为费时的部分。
  (1) 循环展开达到并行
  通过对大量DSP程序的研究。可以发现整个程序比较耗时的部分往往是在1个或几个大的循环中。这些循环部分又往往可分为取数、处理、储存处理结果3个顺序执行的步骤,这3个步骤有明显的时间先后关系。只有取了数才能处理。处理后才能存储结果,这种时间上的相互依赖性为程序的并行带来了非常大的困难。
  循环展开是最常用的一种优化技巧。1次循环处理过程中的各语句是具有很强的时间先后顺序的,但是在连续2次循环过程中的各种语句却是相互独立的,它们是以相同的语句处理不同的数据。因此可以采用将循环次数减半,每2次(也可以是3次、4次等,应根据具体情况来确定,同时循环次数要做相应改变)循环合并为1次循环过程的方法来使程序并行,提高效率。
  例1是一段对图像进行二值化的代码的主要部分。是一段2次的循环,并未经过优化;实例2是将其循环展开,2次循环过程合并为1次循环的代码段(这里假设其每行像素个数为偶数,如果不为偶数只需在内循环外额外处理一个像素即可);实例3是循环展开并进行优化精简后的代码段。这3段代码均用TSl01的汇编语言编写,其中j4指向待处理的图像;i5指向处理后的图像;xrO、xrl分别为图像行、列个数;xr2为二值化的阈值,像素灰度值大于或等于该值的使其等于该值,而像素灰度值小于该值的设为零。
  实例1:
  基于DSP的汇编程序优化方案
  实例2:
  基于DSP的汇编程序优化方案
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1489次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  91次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  9次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  3次下载  |  免费
  15. 8基于单片机的红外风扇遥控
  16. 0.23 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30319次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费