学位论文 > 优秀研究生学位论文题录展示

YHFT-Matrix编译器SIMD指令自动向量化技术的研究与实现

作 者: 淡孝强
导 师: 陈跃跃
学 校: 国防科学技术大学
专 业: 软件工程
关键词: SIMD扩展 YHFT-Matrix GCC 自动向量化
分类号: TP314
类 型: 硕士论文
年 份: 2012年
下 载: 5次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着无线通信和视频图像处理应用的快速发展,需要采用更高性能的DSP处理满足这些应用的计算需求。YHFT-Matrix是具有自主知识产权并支持SIMD(single instructionmultiple data)的高性能DSP,具有创新的体系结构和指令集。SIMD操作能够提升多媒体、数字信号处理等应用的性能,具有较高的能耗比。YHFT-Matrix中设计了约150条SIMD指令,现有编译器的SIMD指令自动向量化方法并不能满足YHFT-Matrix体系结构和指令集特点,需要在YHFT-Matrix编译器中支持这些SIMD指令并实现自动向量化。论文针对YHFT-Matrix的SIMD自动向量化编译方法展开研究,选择GCC作为开发平台,研究面向YHFT-Matrix的SIMD指令自动向量化方法并进行了实现。论文首先对当前SIMD指令自动向量化研究现状进行分析,重点分析了GCC内部结构以及向量化器工作流程。总结已有SIMD自动向量化方法和现有向量化器对YHFT Matrix体系结构和指令集特点存在的不足,提出了YHFT-Matrix SIMD指令自动向量化编译所面临的挑战。论文的主要工作和贡献包括三个方面:YHFT-Matrix SIMD指令的自动向量化映射:建立了YHFT-Matrix向量后端,研究了SIMD指令自动向量化映射方法,采用标准名映射、标准名与扩展结合映射、扩展与内建函数结合映射等方式,实现了YHFT-Matrix指令集中几类SIMD指令的自动向量化映射。SIMD指令的自动向量化优化。主要的优化工作包括:针对YHFT-Matrix指令集中的饱和算术操作,本文提出了一种数据类型扩展方法,简化了饱和算术的中间语言表示,便于向量化器的处理;针对YHFT-Matrix指令集中的特殊乘法操作,本文设计了一种新的算术操作数据类型转换规则,去除了多余的语句,便于向量化器的处理;针对由库函数方式实现的特殊操作,本文提出了一种编译器操作扩展的方法,使得YHFT-Matrix编译器能够将这类操作直接映射成特殊SIMD指令;针对现有向量化器能力不足,本文提出了一种编译指导控制向量化器的方法,程序员通过编译指导可以控制向量化器的行为。以GCC-4.3.2为基础实现了上述工作并进行了实验,实验结果表明YHFT-MatrixSIMD指令映射正确,所做的优化工作能有效提高YHFT-Matrix SIMD指令的自动向量化程度,能够提高现有向量化器的自动向量化能力。实验结果表明本文设计实现的YHFT-Matrix SIMD指令自动向量化方法符合YHFT-Matrix体系结构和指令集特点,正确有效。

全文目录


摘要  10-11
Abstract  11-12
第一章 绪论  12-20
  1.1 研究背景  12-13
  1.2 自动向量化研究现状  13-16
    1.2.1 基于循环的自动向量化  13-14
    1.2.2 基于基本块的自动向量化  14-15
    1.2.3 可移植的编译器向量支持  15-16
  1.3 开发平台选择  16-17
  1.4 论文的主要工作  17-18
  1.5 论文结构和组织  18-20
第二章 GCC 与向量化器结构分析  20-34
  2.1 GCC 结构分析  20-26
    2.1.1 GCC 基本编译阶段  20-23
    2.1.2 GCC 的中间语言  23-25
    2.1.3 GCC 的优化遍  25-26
  2.2 向量化器的分析  26-33
    2.2.1 向量化器基本框架  26
    2.2.2 循环规范化阶段  26-27
    2.2.3 向量化分析阶段  27-31
    2.2.4 向量化变形阶段  31-33
  2.3 分析总结  33
  2.4 本章小结  33-34
第三章 YHFT-Matrix SIMD 指令自动向量化难点分析与方案设计  34-43
  3.1 YHFT-Matrix 体系结构  34-35
    3.1.1 YHFT-Matrix 内核结构  34-35
    3.1.2 YHFT-Matrix 指令集  35
  3.2 YHFT-Matrix SIMD 指令向量化难点分析  35-40
    3.2.1 SIMD 指令自动向量化的挑战  36-37
    3.2.2 YHFT-Matrix 对自动向量化的挑战  37-40
  3.3 YHFT-Matrix SIMD 指令自动向量化实现方案  40-42
  3.4 本章小结  42-43
第四章 YHFT-Matrix SIMD 指令自动向量化映射实现  43-68
  4.1 指令映射流程介绍  43-44
    4.1.1 向量化映射分类  43
    4.1.2 映射流程与验证环境简介  43-44
  4.2 向量后端移植  44-48
    4.2.1 向量寄存器描述  44-46
    4.2.2 向量数据的机器模式  46-48
  4.3 简单操作映射  48-53
    4.3.1 映射分析  48-50
    4.3.2 映射实现  50-52
    4.3.3 正确性验证  52-53
  4.4 数组赋值操作映射  53-58
    4.4.1 映射分析  53-55
    4.4.2 映射实现  55-56
    4.4.3 正确性验证  56-58
  4.5 条件执行操作映射  58-62
    4.5.1 映射分析  58-59
    4.5.2 映射实现  59-61
    4.5.3 正确性验证  61-62
  4.6 跨距访存映射  62-67
    4.6.1 映射分析  62-64
    4.6.2 映射实现  64-65
    4.6.3 正确性验证  65-67
  4.7 本章小结  67-68
第五章 YHFT-Matrix SIMD 指令自动向量化优化  68-91
  5.1 优化分析  68-69
  5.2 饱和数据类型扩展  69-75
    5.2.1 数据类型映射分析  69-72
    5.2.2 饱和算术指令映射实现  72-74
    5.2.3 实验结果分析  74-75
  5.3 算术转换规则修正  75-77
  5.4 特殊操作扩展  77-82
    5.4.1 特殊操作扩展分析  77-80
    5.4.2 特殊操作扩展实现  80-82
    5.4.3 结果验证  82
  5.5 编译指导实现  82-86
    5.5.1 编译指导类别  82-83
    5.5.2 基于 GIMPLE 的编译指导  83-86
  5.6 其他优化  86-90
    5.6.1 向量化器的模式识别  86-89
    5.6.2 代价模型  89-90
  5.7 本章小结  90-91
第六章 总结与展望  91-94
  6.1 全文总结  91-93
  6.2 展望  93-94
致谢  94-95
参考文献  95-98
作者在学期间取得的学术成果  98

相似论文

  1. 面向高性能DSP Matrix向量化编译器的设计与实现,TP314
  2. 基于GCC的缓冲区溢出检测研究,TP393.08
  3. 基于GCC的ARCA3的编译器移植,TP368.1
  4. 基于蜜罐技术的网络攻击预警系统的研究与应用,TP393.08
  5. 基于OR1200的软件开发平台设计,TP311.52
  6. IMS系统中OSA-GW的研究与设计,TN919.8
  7. 基于GCC抽象语法树文本的C源程序语义分析方法研究,TP311.11
  8. YHFT-DSP编译关键技术分析及实现,TP314
  9. GCC盒、D盒、JERE盒和JEGC盒在水稻中的功能分析,S511
  10. 基于GCC的复算容错编译技术研究与实现,TP311.52
  11. 面向YHFT-DSP的GCC编译器移植,TP368.11
  12. 基于GCC的C++静态分析器的开发,TP311.52
  13. VxWorks操作系统的重新编译和优化研究与实现,TP316.2
  14. C++静态安全规则检查工具实现,TP312.1
  15. 光学相干断层扫描术在原发性开角型青光眼诊断中的应用价值,R775
  16. 嵌入式软件白盒测试中插桩技术的研究与应用,TP311.52
  17. 基于GNU工具链的ARM-MINIX嵌入式系统交叉编译环境的移植,TP316
  18. 基于GCC的中间代码优化技术研究,TP314
  19. 支持IPv6的BGP的开发及其安全性改进的研究,TN915.04
  20. 数据流分析技术研究与实例分析,TP314
  21. 不确定性非线性时滞系统保性能控制研究,TP13

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 编译程序、解释程序
© 2012 www.xueweilunwen.com