使用汇编优化器

使用汇编优化器

ID:27645952

大小:1000.84 KB

页数:36页

时间:2018-12-05

使用汇编优化器_第1页
使用汇编优化器_第2页
使用汇编优化器_第3页
使用汇编优化器_第4页
使用汇编优化器_第5页
资源描述:

《使用汇编优化器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九讲使用汇编优化器BIT/TI1第九讲使用汇编优化器学习内容写线性汇编代码使用汇编优化器多周期循环的软件流水BIT/TI2第九讲使用汇编优化器题目一、写线性汇编代码二、写线性汇编代码举例—点积三、调用汇编优化器四、多周期循环的软件流水五、加权矢量和(WVS)循环展开BIT/TI3第九讲使用汇编优化器一、写线性汇编代码BIT/TI4第九讲使用汇编优化器软件工具流程BIT/TI5第九讲使用汇编优化器线性汇编文件基本考虑事项线性汇编文件使用“.sa”扩展名仅对指定的代码段进行优化,指定代码段外的代码被拷贝为输出“.asm”文件线性汇编过程可以:传递参数返回结果使用

2、符号变量不考虑流水线问题BIT/TI6第九讲使用汇编优化器二、写线性汇编代码举例—点积BIT/TI7第九讲使用汇编优化器点积线性汇编线性汇编不需要指出和考虑:功能单元寄存器延迟间隙BIT/TI8第九讲使用汇编优化器确定优化代码段Dotp:.cproczerosumloop:ldh*p_m++,mldh*p_n++,nmpym,n,prodaddprod,sum,sum[count]subcount,1,count[count]bloop.endproc.cproc/.endproc:确定要优化的代码段必须成对使用可作为C调用的函数在汇编代码中使用.proc/.

3、endproc确定要优化的代码段,它们也必须成对使用BIT/TI9第九讲使用汇编优化器使用符号变量Dotp:.cproc.regp_m,m,p_n,n,prod,sum,countzerosumloop:ldh*p_m++,mldh*p_n++,nmpym,n,prodaddprod,sum,sum[count]subcount,1,count[count]bloop.endproc.reg伪指令:声明符号变量,变量由优化器选择与功能单元一致的寄存器.reg仅在.cproc/.endproc内有效当变量为40/64bit时,变量使用寄存器对格式:如ahi:al

4、oBIT/TI10第九讲使用汇编优化器参数传递Dotp:.cprocp_m,p_n,count.regp_m,m,p_n,n,prod,sum,countzerosumloop:ldh*p_m++,mldh*p_n++,nmpym,n,prodaddprod,sum,sum[count]subcount,1,count[count]bloop.returnsum.endproc.cproc[variable1[,variable2,]]:给出输入参数.return:给出返回结果.return仅在.cproc/.endproc内有效.proc[register

5、1[,register2,]];给出输入参数.regp_m,mvregister1,p_m;建立输入寄存器:;与变量关系mvsum,register1.endproc[register1[,register2,]];给出返回结果BIT/TI11第九讲使用汇编优化器保护寄存器Dotp:.cprocp_m,p_n,count.regp_m,m,p_n,n,prod,sum,count.reservea3zerosumloop:ldh*p_m++,mldh*p_n++,nmpym,n,prodaddprod,sum,sum[count]subcount,1,c

6、ount[count]bloop.returnsum.endproc.reserve指出需要保护的寄存器当.cproc/.endproc内的代码明显使用了要保护的寄存器,优化器也可能使用该寄存器,如:BIT/TI12第九讲使用汇编优化器流水代码的最小循环次数具有填充和排空5次运算迭代,循环计数设置为3如果循环计数设置为0,得到3次加最小循环次数:3循环测试BIT/TI13第九讲使用汇编优化器计算最小循环次数最小循环次数=循环和排空的周期数这个点积代码最小循环次数=?BIT/TI14第九讲使用汇编优化器冗余循环非流水代码执行较慢运算迭代次数>=最小循环次数流水代

7、码执行较快BIT/TI15第九讲使用汇编优化器消除冗余循环关闭软件流水(-mu)减小代码尺寸,但也减小吞吐量指出运算迭代次数(.trip)如果.trip≧最小循环次数,仅产生流水循环如果.trip<最小循环次数,产生两种循环不产生冗余循环(-ms)如果没给出.trip,仅产生不流水循环如果给出.trip,且.trip≧最小循环次数,仅产生流水循环BIT/TI16第九讲使用汇编优化器指出运算迭代次数Dotp:.cprocp_m,p_n,count.regp_m,m,p_n,n,prod,sum,countzerosumloop:.trip40ldh*p_m++,

8、mldh*p_n++,nmpym,n,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。