面向UniCore-3处理器的GCC代码生成技术研究与实践

来源 :北京大学 | 被引量 : 0次 | 上传用户:kby0227
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
对计算机系统性能的追求是无止境的。计算机系统的性能与编译器等系统软件密切相关。编译器生成的指令类型、数量和排列都会影响计算机系统的性能。随着处理器结构日趋复杂,编译技术在计算机性能提升中扮演的角色愈加重要。  UniCore-3处理器是北京大学微处理器研究开发中心研发的一款64位超标量处理器,具有8级流水线结构,支持乱序3发射,乱序执行,按序提交,支持精确中断以及可配置的多核结构。UniCore-3处理器设计的先进性和结构的复杂性对编译器提出了更高的要求。  GCC是GNU开发的功能强大、使用广泛的编译器。我们面向UniCore-3平台完成了GCC4.4的移植和验证。GCC4.4的中端简化了GIMPLE结构,有利于中端优化。本文主要工作是根据UniCore-3处理器的结构特征,完善GCC的体系结构相关优化的支持,以提高UniCore-3编译器的性能。本文首先对GCC代码生成技术做了详细的分析,重点关注后端代码生成。优化工作主要是从指令选择,指令调度和软件数据预取三个方面展开。对于指令选择,分别采用了大常数拆分、零扩展指令优化以及连续回写访存指令优化等策略。对于指令调度,根据UniCore-3处理器流水线特征,添加GCC后端对处理器流水线描述,使得GCC指令调度能够生成更符合UniCore-3处理器的指令序列。最后,针对UniCore-3处理器探索了软件数据预取优化,在GCC后端实现了软件数据预取的支持,通过添加UniCore-3预取指令的指令模板,并调整后端的启发式参数,改进GCC软件数据预取算法在UniCore-3上的效果,同时给出了UniCore-3处理器上改进软件数据预取优化的参考方向。  实验数据表明,以上针对UniCore-3处理器体系结构的优化能够很好地改善整个系统的性能。使用SPEC CPU2000评测程序,整点计算程序平均性能提升8.09%,浮点计算程序平均提升4.90%。
其他文献
虚拟机池化管理是指以统一管理视角提供虚拟机生命周期管理和资源按需提供的虚拟化技术。近几年来,虚拟机池化管理已成为构建主流云计算平台的关键技术之一。根据IDC报告,预计
随着信息技术的发展,机器学习已经成为人工智能领域的一大研究热点。机器学习包括统计机器学习和集成机器学习,自弱学习定理证明以来,通过弱分类器集成得到强分类器这种集成机器
继个人计算机、互联网时代之后,云计算被看作第三次IT浪潮。云计算是一种IT资源的交付和使用模式,用户通过网络按需使用所需硬件、系统、软件以及服务等资源。云计算具有超大
随着网络技术的飞速发展,信息感知和网络应用产生了巨大体量的数据,大数据时代已经来临。目前,网络大数据中绝大部分是无标签的数据,如何挖掘隐藏在大数据中的有价值信息,获
学位
人体姿态估计是对图像中人体特征点位置的检测,目前已经成为计算机视觉领域的重要研究方向之一,且应用十分广泛。人体姿态估计的研究奠定了人体运动分析、人机交互、模式识别和
随着集成电路制造工艺的迅速发展与应用需求的不断提高,多核处理器是目前微处理器发展的主流方向。在基于共享存储的多核处理器系统中,当多个处理器核对同一存储位置访问时,
手势识别在人机交互、聋哑人教学、虚拟现实、智能家居等领域中有着重要的应用前景。目前根据获取手势数据的方法不同,可以将其分为两个不同的方向,一是基于数据手套的,另一个是
Web应用系统已成为当前的主流网络应用,为用户提供电子商务、电子邮件、在线新闻、网络社区等类型多样的服务。Web应用具有异构性、分布性、动态性等特征,当前Web应用呈现出规
无线射频识别(RFID)技术利用无线射频信号实现非接触式自动识别,具有快速、可靠、准确及抗干扰能力强等优点,广泛应用于商品识别、公共交通、物流追踪、军事反恐、数字图书馆管