网站大量收购独家精品文档,联系QQ:2885784924

C软件优化线性汇编.ppt

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

第6章 C6000 软件优化 第2节 线性汇编和汇编优化器 写线性汇编代码 使用汇编优化器 多周期循环的软件流水 汇编优化器选项和伪指令 主要内容 一、写线性汇编代码 二、写线性汇编代码举例—点积 三、调用汇编优化器 四、多周期循环的软件流水 五、加权矢量和(WVS)循环展开 一、写线性汇编代码 1、软件工具流程 2、线性汇编文件基本考虑事项 线性汇编文件使用“.sa”扩展名 仅对指定的代码段进行优化,指定代码段外的代码被拷贝为输出“.asm”文件 线性汇编过程可以: 传递参数 返回结果 使用符号变量 不考虑流水线问题 二、写线性汇编代码举例 —点积 1、点积线性汇编 线性汇编不需要指出和考虑: 功能单元 寄存器 延迟间隙 2、确定优化代码段 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 3、使用符号变量 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 4、参数传递 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 5、保护寄存器 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 6、流水代码的最小循环次数 具有填充和排空 5次运算迭代,循环计数设置为3 最小循环次数:3 7、计算最小循环次数 8、冗余循环 9、消除冗余循环 关闭软件流水(-mu) 减小代码尺寸,但也减小吞吐量 指出运算迭代次数(.trip) 如果.trip≧最小循环次数,仅产生流水循环 如果.trip最小循环次数,产生两种循环 不产生冗余循环(-ms) 如果没给出.trip,仅产生

文档评论(0)

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

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

1亿VIP精品文档

相关文档