第四章Blackfin-程序结构-20140915V详解.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Blackfin-程序结构;一、汇编语言程序 二、汇编程序优化 三、C语言程序 四、C代码优化 ;Blackfin汇编的过程;Blackfin汇编特点;汇编语言采用了处理器独特的体系结构,具有以下优点: 无缝集成DSP/CPU特征,对8位和16位操作进行了优化。 并发加载/存储的改进哈佛体系结构,每个周期支持2个16位MAC 或4个8位ALU+2个加载/存储+2个指针更新。 所有的寄存器、I/O、和存储器被映射成为统一4GB存储空间,提 供了一个简化编程模式。 微控制器特征,如任意位和位域操作,插入和提取,对8位、16位 和32位数据类型上的整数操作,独立的用户和管理员堆栈指针。 代码密度增强,包括混合的16和32位指令(无模式转换和代码分 离)。常用指令以16位编码。;汇编语言程序结构;汇编语言程序结构;汇编语言程序结构;汇编语言程序结构;汇编程序结构;汇编语言程序结构; 语法约定; 语法约定;汇编语法;汇编语法;汇编表达式;汇编操作符及其含义;特殊操作符;特殊操作符;特殊操作符;数制格式;条件汇编伪指令;内嵌宏;结构体引用;汇编伪指令;一、汇编语言程序 二、汇编程序优化 三、C语言程序 四、C代码优化 ;程序优化的方法和途径;观察一个优化的简单例子;利用硬件的并行处理能力再次优化;并行指令;并行指令;并行指令;并行指令;并行指令;优化练习1: 矢量A*B+C;计算公式;第一次:每次循环6个周期;第二次:每次循环3个周期;一、汇编语言程序 二、汇编程序优化 三、C语言程序 四、C代码优化 ;*;*;结构化程序设计思想;自顶向下的分析方法;模块化设计;结构化编码 ;三种基本结构: 顺序结构、选择结构、循环结构 用这三种基本结构作为表示一个良好程序的基本单元。;三种基本结构的示意图 ;当型(While型)循环结构 ;(1)只有一个入口; (2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。) (3)结构内的每一部分都有机会被执行到; (4)结构内不存在“死循环”(无终止的循环)。 ; 图中没有一条从入口到出口的路径通过A框。;扩展:; 这是一个多分支选择结构,根据表达式的值决定执行路线。虚??框内的结构是一个入口一个出口,并且有上述全部的四个特点。由此构成的算法结构也是结构化的算法。可以认为这是由三种基本结构所派生出来的。;*; 减小循环体大小 避免手动展开循环 减小循环体内部的相关性 多层循环的内层最重要 在循环体内部避免函数调用 使用16位数据和向量指令 ;//不好的循环,循环体内下一次的计算和前一次的结果相关 //好的循环 ;//好的示例,编译器进行流水线编排 ;//不好的示例,手动进行流水线编排,代码效率低 ;//不好的示例,循环中有条件跳转语句 ;//好的示例,跳转语句在循环外 ;//不好的示例,循环步长为3,不利于优化(最好为1) 可改为 ;//好的示例,连续访问存储器空间(内层读列,外层读行) //不好的示例,不连续访问存储器空间 ;对小数点积计算,手动实现实现 //不好的示例,手动实现 ;对小数点积计算,内联函数实现 //好的示例,内联函数实现 ;获取系统时钟周期 //使用汇编语言,程序可读性差 ;获取系统时钟周期 //使用ADI提供的头文件,程序可读性好 ; 使用寄存器代替局部变量 使用硬件循环代替软件循环 充分利用数据宽度 使用并行指令和向量指令 ; 继续优化 汇编程序优化方法 C代码优化方法

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档