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≧最小循环次数,仅产生流水循环 指出运算迭代次数 点积的完整线性汇编 三、调用汇编优化器 四、多周期循环的软件流水 软件流水过程
您可能关注的文档
最近下载
- 中学生交通安全教育培训课件PPT.pptx VIP
- 牵引供电系统 牵引变电所供电方式 牵引变电所供电方式.ppt VIP
- 1.03 玉米高产管理技术 - (先锋克劳森).pptx VIP
- 杜邦公司讲座杜邦安全管理介绍.pptx VIP
- 2025年广西财经学院辅导员招聘考试笔试模拟试题及答案解析.docx VIP
- (正式版)DB65∕T 3611-2023 《农业用水定额》.pdf VIP
- 2025年江苏省南京市中考英语试卷(含解析).pdf VIP
- (2025年版)国家基层高血压防治管理指南PPT课件.pptx VIP
- 2024年山东交通职业学院高职单招(英语/数学/语文)笔试题库含答案解析.docx VIP
- 2017年-2022年暨南大学考研701美学原理真题.pdf
原创力文档

文档评论(0)