6_2_C6000软件优化__线性汇编选编.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6_2_C6000软件优化__线性汇编选编

BIT/TI 第九讲 使用汇编优化器 线性汇编和汇编优化器 田黎育 学习内容 写线性汇编代码 使用汇编优化器 多周期循环的软件流水 汇编优化器选项和伪指令 题目 一、写线性汇编代码 二、写线性汇编代码举例—点积 三、调用汇编优化器 四、多周期循环的软件流水 五、加权矢量和(WVS)循环展开 一、写线性汇编代码 软件工具流程 线性汇编文件基本考虑事项 线性汇编文件使用“.sa”扩展名 仅对指定的代码段进行优化,指定代码段外的代码被拷贝为输出“.asm”文件 线性汇编过程可以: 传递参数 返回结果 使用符号变量 不考虑流水线问题 二、写线性汇编代码举例—点积 点积线性汇编 线性汇编不需要指出和考虑: 功能单元 寄存器 延迟间隙 确定优化代码段 Dotp: .cproc zero sum loop: ldh *p_m++, m ldh *p_n++, n mpy m, n, prod add prod, sum, sum [count] sub count, 1, count [count] b loop .endproc 使用符号变量 Dotp: .cproc .reg p_m, m, p_n, n, prod,sum,count zero sum loop: ldh *p_m++, m ldh *p_n++, n mpy m, n, prod add prod, sum, sum [count] sub count, 1, count [count] b loop .endproc 参数传递 Dotp: .cproc p_m, p_n, count .reg p_m, m, p_n, n, prod,sum,count zero sum loop: ldh *p_m++, m ldh *p_n++, n mpy m, n, prod add prod, sum, sum [count] sub count, 1, count [count] b loop .return sum .endproc 保护寄存器 Dotp: .cproc p_m, p_n, count .reg p_m, m, p_n, n, prod,sum,count .reserve a3 zero sum loop: ldh *p_m++, m ldh *p_n++, n mpy m, n, prod add prod, sum, sum [count] sub count, 1, count [count] b loop .return sum .endproc 冗余循环 消除冗余循环 关闭软件流水(-mu) 减小代码尺寸,但也减小吞吐量 指出运算迭代次数(.trip) 如果.trip≧最小循环次数,仅产生流水循环 如果.trip最小循环次数,产生两种循环 不产生冗余循环(-ms) 如果没给出.trip,仅产生不流水循环 如果给出.trip,且.trip≧最小循环次数,仅产生流水循环 指出运算迭代次数 点积的完整线性汇编 三、调用汇编优化器 四、多周期循环的软件流水 软件流水过程

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档