文档详情

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

发布:2017-04-13约字共67页下载文档
文本预览下载声明
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代码优化方法
显示全部
相似文档