- 3
- 0
- 约1.98千字
- 约 46页
- 2017-12-26 发布于河北
- 举报
7_1 C6000软件优化 概念和汇编优化
C6000 软件优化 Two main goals of software optimisation Faster execution time. Small code size Trade off between the two goals Basic knowledge To implement efficient software, the programmer must be familiar with: Processor architecture. Programming language (C, assembly or linear assembly). The code generation tools (compiler, assembler and linker). Code Optimisation Procedure 软件优化要点 1个时钟周期内让尽可能多的功能单元在执行指令。趋近8*主频(MHz) MIPS 前提:满足各种资源限制(resource bound) 途径:(1)资源合理分配、充分使用(2)算法?映射?结构 DSP适合对大量数据做相同的运算 软件优化要点(续) 相同的工作放在一起完成,形成循环,便于软件流水。 充分利用指令局部性和数据局部性的特点?Cache 优化的3个层次 1. 手工汇编优化 2. 线性汇编优化 3. C语言级的优化 23 和编译器交流:Feedback of loop资源分配情况设置-k编译器选项, 保留asm文件compiler?assembly目的: 软件流水 C6000手工汇编语言优化 并行指令 填充延迟间隙 展开循环 存取带宽优化(使用LDW/LDDW) 软件流水 使用并行指令 并行指令 填充延迟间隙 填充延迟间隙 字长优化 使用字访问半字数据 使用双字字访问字数据 使用LDH的点积 使用LDW进行优化 使用LDW/MPYH 软件流水 产生高性能循环代码 执行并行指令 填充延迟间隙 功能单元使用最大化 由开发工具产生 由编译器选项-o2或o3引入 汇编优化器/C优化器产生 代码举例 非流水代码 流水代码 软件流水中的术语 填充 (建立循环) 循环 (单周期循环 3次迭代) 排空 (完成最后操作) 流水代码 软件流水步骤 . 用C语言实现算法并验证 . 写C6x线性汇编代码 . 画相关图 . 分配功能单元和寄存器 . 建编排表 . 将编排表转换为C6x汇编代码 第一步:用C语言实现算法并验证 第二步:写C62xx线性汇编代码 线性汇编不需要指出和考虑: 功能单元 寄存器 延迟间隙 并行指令 简单估计 第三步:画相关图 画相关图步骤: 、画节点(包括:指令、结果、通路) 、在通路旁标出父指令执行周期 、安排功能单元 安排必须的功能单元 节点分配到A、B两侧 对所有节点分配功能单元 画点积相关图1. 画节点(1) 画点积相关图1. 画节点(2) 画点积相关图1. 画节点(3) 画点积相关图2. 标出父指令执行周期 画点积相关图3. 安排功能单元(1) 画点积相关图3. 安排功能单元(2) 画点积相关图3. 安排功能单元(3) 第四步:分配功能单元 第四步:分配寄存器 第五步:建编排表(1) 循环填充长度 抽出最长数据通路 计算长度: 5+2+1=8周期 编排表列出0-7周期 填充:第0-6周期 循环:第7周期 填写指令建议 从最长数据通路开始 尽可能早开始(第0周期) 一旦确定指令执行的周期,在这以后的周期内,连续发生各次迭代 倒推跳转和循环计数指令的发生周期 第五步:建编排表(2) 第六步:写汇编代码 代码尺寸的优化 需求:program cache的存在 消除冗余循环 .trip 压平循环填充与循环排空 -mh 平分.D、.S、.M 最小化交叉通路 平衡功能单元 仲裁 循环传递通路 根据功能单元和交叉通路的使用,可在单周期循环内编排这些指令。 编排 周期 0 5 7 * 远见品质 * 哪些指令可以并行? 哪些指令可以并行? (1)两条取指令并行: 放“||”在第二个ldh前 .d1改为.d2,A改为B NOP:相当于未优化 为了消除NOP,如何调整指令顺序? Sub和b指令移到ldh指令后: LD的nop由4降为2 B的nop被消除 填充延迟间隙优化结果 循环代码展开举例 循环展开: 减少B的开销, 但增加代码尺寸 循环次数减少一半 这个循环执行5次需要多少周期? (不考虑延迟间隙) 周期 *
您可能关注的文档
最近下载
- 2023年医疗机构高警示药品风险管理规范.pdf VIP
- 6.《骑鹅旅行记》说课课件.pptx VIP
- 中药生产企业33种禁用农药定期全检风险评估(2023年版).docx VIP
- IATF16949产品和过程设计开发控制程序.pdf VIP
- 互联网产品运营课程内容结构与运营策略.pdf VIP
- CNAS实验室质量手册.doc
- 辽宁省重点高中2025-2026学年高二上学期期末物理试卷.docx VIP
- 跨境电商蓬勃发展,政策红利不断释放.pptx VIP
- 八篇2026生活会重点围绕带头固本培元、增强党性方面等五个带头检视问题对照检查范文.docx VIP
- 空天系列报告一:北京太空算力:中国天算的“DeepSeek”时刻.pptx VIP
原创力文档

文档评论(0)