汇编语言与汇编程序课件

PPT
  • 阅读 43 次
  • 下载 0 次
  • 页数 41 页
  • 大小 243.001 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
汇编语言与汇编程序课件
可在后台配置第一页与第二页中间广告代码
汇编语言与汇编程序课件
可在后台配置第二页与第三页中间广告代码
汇编语言与汇编程序课件
可在后台配置第三页与第四页中间广告代码
汇编语言与汇编程序课件
汇编语言与汇编程序课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 41
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】汇编语言与汇编程序课件.ppt,共(41)页,243.001 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44804.html

以下为本文档部分文字说明:

汇编语言优化题目一、优化方法简介二、并行指令三、填充延迟间隙四、展开循环五、字长优化(使用LDW)六、各优化方法小结七、软件流水八、软件流水步骤九、各种优化总结一、优化方法简介•使用并行指令•用有用的指令(取代NOP)填充延迟间隙•循环展开•字长优化(使用LDW)•软件流水二、使用并行指令使

用并行指令并行指令•哪些指令可以并行?两条取指令并行:•放“||”在第二个ldh前•.d1改为.d2,A改为B并行注意的问题例如:•ADD使用原来的A4值•如果在循环中:•循环之前清A4•不要忘记最后的累加并行指令小结•首先使代码正确执行,然后试图用并行指令。•并行代

码执行速度快,但必须小心确保代码按所期望执行。•在循环代码中,使用软件流水可执行并行指令。并行优化结果三、填充延迟间隙填充延迟间隙填充延迟间隙Sub和b指令移到ldh指令后:•LD的nop由4降为2•B的nop被消除填充

延迟间隙优化结果四、展开循环循环代码举例例1•去掉了第四次循环开销例2•循环次数减少一半例3•消除了所有循环开销循环展开举例小结举例周期数代码尺寸循环217119112171131216五、字长优化(使用字访问半字数据)使用LDH的点积

使用LDW进行优化使用LDW/MPYH乘法指令小结•操作数可以是有符号的,也可以是无符号的•乘法指令需一个延迟间隙•4种基本乘法指令:六、各种优化方法小结七、软件流水软件流水•产生高性能循环代码•执行并行指令•填充延迟间隙•功能单元使用

最大化•由开发工具产生•由编译器选项-o2或o3引入•汇编优化器(输入文件使用.sa扩展名而不是.asm)产生为什么学习软件流水?•知道开发工具是如何产生优化代码的•读懂开发工具的输出代码•检查开发工具效率•手工优化汇编代码•了解软件流水的工

作情况代码举例非流水代码流水代码软件流水中的术语填充(建立循环)循环(单周期循环3次迭代)排空(完成最后操作)流水代码八、软件流水步骤软件流水步骤1.用C语言实现算法并验证2.写C6x线性汇编代码3.画相关图4.分配功能单元

和寄存器5.建编排表6.将编排表转换为C6x汇编代码第一步:用C语言实现算法并验证第二步:写C62xx线性汇编代码线性汇编不需要指出和考虑:•功能单元•寄存器•延迟间隙•并行指令简单估计指令功能单元每周期可使用数目需要数目LDH,LDH.D2

2MPY.M21B.S21ADD,SUB.L(.D/.S)2(2-6)2第三步:画相关图相关图中的名词术语画相关图步骤:1、画节点(包括:指令、结果、通路)2、在通路旁标出父指令执行周期3、安排功能单元•安排必须的功能

单元•节点分配到A、B两侧•对所有节点分配功能单元平分.D、.S、.M最小化交叉通路平衡功能单元仲裁画点积相关图1.画节点(1)画点积相关图1.画节点(2)循环传递通路画点积相关图1.画节点(3)画点

积相关图2.标出父指令执行周期画点积相关图3.安排功能单元(1)画点积相关图3.安排功能单元(2)画点积相关图3.安排功能单元(3)第四步:分配功能单元根据功能单元和交叉通路的使用,可在单周期循环内编排这些指令。第四步:分配寄存器第五

步:建编排表(1)循环填充长度•抽出最长数据通路•计算长度:5+2+1=8周期•编排表列出0-7周期•填充:第0-6周期•循环:第7周期编排周期057填写指令建议从最长数据通路开始尽可能早开始(第

0周期)一旦确定指令执行的周期,在这以后的周期内,连续发生各次迭代倒推跳转和循环计数指令的发生周期第五步:建编排表(2)第六步:写C62xx汇编代码九、各种优化总结小结•学习了五种优化方:使用并行指令填充延迟间隙展开循环字长优化软件流水•手工实现软件流水过程使用并行指令

填充延迟间隙

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?