基于龙芯的GCC自动向量化移植与优化

来源 :中国科学院计算技术研究所 | 被引量 : 0次 | 上传用户:jitlin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
处理器设计离不开软硬件的协同合作。龙芯处理器经过不断的发展,目前的处理器已经具有先进的结构设计。但是随着多媒体应用的逐步扩展,SIMD计算模式已经从游戏机器和DSP机器扩展到通用处理器结构中。SIMD机制允许体系结构开发程序中自然的并行性,通过同时对向量寄存器中的多个数据元素执行相同的指令来达到数据并行操作的目的。目前主流的方法是通过编译器自动向量化技术来挖掘体系结构中的SIMD特性,这对龙芯处理器而言是一种机会和挑战,同时龙芯3号处理器的向量扩展部件将很好地支持SIMD应用。由此可见,龙芯处理器需要支持向量化技术的编译器。   龙芯处理器使用的编译器是开源编译器GCC(GNU Compiler Collection)。GCC可以运行于龙芯处理器上,但是它的性能仍有提升空间。随着GCC版本的提升,GCC引入了更多的优化机会,特别是用于优化程序中的循环结构以便发挥硬件平台的SIMD特性,这便是自动向量化优化技术。本文结合龙芯2F和龙芯2G的结构特性,分析了编译器拥有的自动向量化优化技术,同时完成了龙芯2F处理器的多媒体指令和双单精度指令的自动向量化扩展工作,对向量化过程中遇到的整数提升规则进行处理,并对龙芯2G处理器的128位访存指令进行自动向量化扩展工作,即通过使用新的访存指令模板导致需要修改树表示到RTL表示的扩展过程。自动向量化使处理器不仅能对应用程序进行循环展开的优化,而且还能利用龙芯的特有指令,充分挖掘体系结构的优势,对某些领域应用程序的加速起到了一定的作用。测试结果表明,通过对多媒体指令的自动向量化优化,使得程序性能提升最多可达14%以上,对部分浮点程序的自动向量化优化,则可以带来多达50%以上的性能提升。
其他文献
计算机和网络的出现方便了人们对信息的获取,随着互联网的飞速发展和计算机的迅猛更新,如何从互联网上更快地获取到更准确的有用信息成了人们的关注热点。现有的搜索引擎返回
随着Internet的飞速发展,Web文本信息迅速膨胀,如何有效地组织和管理这些信息,并快速、准确、全面地从中找到用户所需要的信息已经成为信息处理领域的一个急需解决的问题。Web文
运动目标的检测与跟踪是计算机视觉的核心问题,它融合了图像处理、模式识别以及人工智能等多领域的技术,在视频编码、智能监控、视频分析以及军事等领域有广泛的应用,是目前
基因组是细胞内的所有遗传信息的总和,它控制着生物体的一系列生命活动,所以获取基因组对生物体生命活动的研究具有重要意义。1990启动的人类基因组计划,对于基因的诊断和治疗、
随着软件的规模和复杂度不断地增大,对软件质量也提出了更高的要求;软件测试作为保证软件质量的重要手段,也因此日渐受到重视。图形用户界面(GUI)是软件的重要组成部分,其测试工
分布式存储系统作为数据存储的基础,广泛应用于大数据领域。纠删码存储方式,既具有较高的空间利用效率,又能保证数据存储的可靠性,越来越多地应用于存储系统当中。但纠删码的引入
基于软件无线电的软件GPS接收机具有传统硬件接收机所不具备的灵活性和适应性,已经成为了GPS接收机研究的热点问题。软件GPS接收机与传统硬件接收机的最大区别就在于将运算密
随着企业之间竞争的日益加剧,工作流技术作为支持现代企业经营管理信息化、过程自动化的一项关键性技术,己成为当前的重要研究方向之一。目前工作流技术在审批中的应用十分广
随着Web服务数量的增多,服务发现过程中不可避免的会出现多个功能相同的候选服务共存的情况。如何从这些服务中选择出最可信、最能满足用户期望的服务,成了关键性的问题,也是
近年来,虚拟现实技术的发展极大地促进了人类探索宏观世界和微观世界的能力,为一些不便于直接观察事物运动变化规律的探索活动拓展了认识空间。视景仿真设计作为虚拟现实技术重