基于龙芯2号结构特征对GCC的分析与优化
摘要 | 第1-7页 |
图目录 | 第7-8页 |
表目录 | 第8-9页 |
第一章 引言 | 第9-17页 |
·龙芯2 号简介 | 第9-10页 |
·GCC简介 | 第10-12页 |
·GCC优化技术分析 | 第12-15页 |
·GCC优化的总体介绍 | 第12-14页 |
·结构相关的优化 | 第14-15页 |
·国内外相关工作 | 第15页 |
·本文的工作 | 第15页 |
·本文的组织 | 第15-17页 |
第二章 支持龙芯的特殊指令 | 第17-25页 |
·支持龙芯定点乘除和取余指令 | 第17-19页 |
·GCC机器描述文件的语法 | 第18-19页 |
·实现和分析 | 第19页 |
·支持龙芯乘加指令 | 第19-22页 |
·基于机器描述的窥孔优化 | 第20-21页 |
·窥孔优化的实现 | 第21-22页 |
·加入归并算法 | 第22页 |
·小结 | 第22-25页 |
第三章 指令调度的改进和分析 | 第25-39页 |
·指令调度的基本概念 | 第25-26页 |
·基本块内的表调度策略 | 第26-31页 |
·修正指令的延迟 | 第27页 |
·龙芯的流水线模型 | 第27-29页 |
·优先级的启发式算法 | 第29-31页 |
·软件流水 | 第31-36页 |
·基本原理 | 第32-33页 |
·GCC的软件流水算法 | 第33页 |
·存在的问题 | 第33-35页 |
·原因和改进 | 第35页 |
·软件流水和循环展开的结合 | 第35-36页 |
·小结 | 第36-39页 |
第四章 软件预取的改进和分析 | 第39-47页 |
·预取的基本原理 | 第39-41页 |
·软件预取的原理 | 第41-43页 |
·软件预取的例子 | 第41-42页 |
·软件预取的关键问题 | 第42-43页 |
·软件预取的代价 | 第43页 |
·GCC的软件预取算法 | 第43-44页 |
·分析和调整 | 第44-46页 |
·小结 | 第46-47页 |
第五章 性能评测和分析 | 第47-61页 |
·测试集介绍 | 第47-48页 |
·对龙芯特殊指令的性能测试和分析 | 第48-53页 |
·三操作数乘除指令 | 第48-49页 |
·条件移动指令 | 第49-51页 |
·乘加指令 | 第51-53页 |
·指令调度的性能测试和分析 | 第53-54页 |
·软件预取的性能测试和分析 | 第54-56页 |
·综合性能测试和分析 | 第56-59页 |
·小结 | 第59-61页 |
第六章 结束语 | 第61-63页 |
·本文工作总结 | 第61页 |
·进一步的工作 | 第61-63页 |
参考文献 | 第63-65页 |
致谢 | 第65-66页 |
作者简历 | 第66页 |