Blackfin在线培训课程---C语言编程和优化.pdfVIP

Blackfin在线培训课程---C语言编程和优化.pdf

  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文档。上传文档
查看更多
A Blackfin Online Learning Development Blackfin在线培训课程 课程单元:面向Blackfin®处理器的C语言编程及优化 主讲人:Alan Anderson 第1章:概念和工具 第1a节:导言 第1b节:优化工具 第2章:优化DSP 内核 第2a节:优化技术 第2b节:紧凑循环 第2c节:编译指示 第2d节:易变性 第3章:优化控制代码 第3a节:条件分支 第3b节:除法运算 第3c节:高级优化 第4章:存储性能 第4a节:存储代价 第4b节:代码运行速率与占用空间之比较 第5章:举例 第5a节:数据结构 第5b节:整个应用 第1章:概念和工具 第1a节:导言 大家好,我是模拟器件公司(ADI )的性能优化工程师,我的名字叫Alan Anderson 。今天我们将讨论面向Blackfin处理器的C语言编程,以及如何实现程序优 化。我们将介绍各种优化工具,并以客户应用基准测试中的各种场景为例,进行说 明。提高应用程序运行速度的方法多种多样,包括自动优化、修改程序、以及重新 编写部分代码等。 本课程单元将分为几个小节。首先,我将介绍一些基本概念和工具,以及关于 Blackfin处理器的一般情况。然后,我们将讨论紧凑数字循环和信号处理内核向量 化等概念。之后,我将解释什么是所谓的控制代码、决策代码、条件分支等等。从 © 2006 Analog Devices, Inc. 第2小节到课程结束,我们讨论的内容都将涉及Blackfin处理器的存储性能,在当今 现代化的处理器中,存储性能可谓至关重要。最后,我将以实际应用的基准测试为 例,总结本课程单元的学习要点。 现在开始第1小节。我们将介绍一些基本概念,并讨论关于C语言编程的一般情况 以及可用的工具。那么,第一个问题是,为什么要使用C语言?因为其他支持人工 组合的编程语言的效率低得多,而使用C语言编程,程序员可以直接将编写好的C 代码导入Blackfin处理器,并快速执行运行测试。此外,C语言程序的维护也更简 便。 C语言的缺点是,ANSI C不是一种专门的信号处理语言,它更适用于系统设计,而 不是数学运算。因此,在对DSP处理器进行C语言编程时,通常需要程序员在某些 关键的代码区域进行人工组合。此外,信号处理应用自身也在不断演进,它们不断 开拓新的领域,相比之下,诸如ANSI C等标准语言的发展步伐要缓慢得多。 在对C程序进行性能优化时,不仅可以利用编译器进行自动优化,程序员自己也大 有可为,尤其是在编译器无能为力的算法优化部分。一般而言,算法优化总是比编 译器优化更有效。因此,程序员应当首先进行算法优化,评估当前采用的算法是否 适于在Blackfin处理器上运行。在评估C程序时,可以检查其一般运行情况以及所 谓的“别名判别”特性,即,编译器是否能够始终理解应用正在调用的数据。如果应 用采用了间接指针,那么编译器将不得不采取保守策略。 除了对C程序进行优化,程序员还必须考虑所用处理器的处理能力。在处理能力方 面,不同的目标处理器各有所长,各自具有针对某种数学运算特性而专门编写的指 令,如腓特比(Viteribi )运算、位多路复用、向量乘法和加法等。程序员必须考 虑,采用自己选择的算法,是否能够实现这些运算。 最后,还要考虑不可移植的更改。我们前面讨论的优化都是维持一个可以在任何平 台上运行的C程序。如果程序员要在程序中添加某些针对Blackfin处理器的代码, 那么,更改后的程序将不可导入其他处理器。程序员可以重新编写部分C代码、添 加编译指示甚或在代码行中添加汇编语句。我们始终建议程序员保留一个C模型备 份,以便进行验证。此外,有一点非常重要,虽然有时可以通过优化程序代码来提 高程序的运行速度,但在更多的时候,需要针对应用采用的特定硬件,对程序进行 专门化来提高其运行速度。最终,程序员将构建一个速度更快,但也更大、更复 杂,并且不适于导入其他处理器的专门程序。换句话说,应用优化需要付出代价。 C语言实现了所谓的“统一计算模型”,也就是说,C程序员可以假定其编写的程序 能够在任何平台上运行。但在性能方面,程序员必须认识到,不同的平台将以不同 的方式支持C计算模型。例如,如果某个处理器具备本机浮点指令,那么,C代码 将假定该处理器可以支持64位浮点运算。 © 2006 Analog Devices, Inc. 但是,Blackfin

文档评论(0)

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

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

1亿VIP精品文档

相关文档