面向UniCore-3处理器的GCC数据预取技术应用与优化

来源 :北京大学 | 被引量 : 0次 | 上传用户:hebehehe
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
高速缓存(cache)在现代微处理器中被广泛使用,以弥补处理器和存储器之间的性能差距。软件数据预取是改善cache性能的重要技术之一。作为基于编译指导的优化策略,软件数据预取将未来会被访问的数据块预先从主存取到cache中,期望将来处理器会访问到这块数据以降低cache失效率及失效代价。合理地运用软件数据预取可有效改进处理器性能,目前许多主流指令系统体系结构中已设计了支持软件数据预取的专用指令,并且主流编译器也大都在一定程度上实现了数据预取优化策略。  GCC是GNU开发的功能丰富且使用广泛的编译器。目前面向北京大学微处理器研究开发中心研制的UniCore-3处理器所移植的C编译器为GCC-4.4.2,其对软件数据预取技术的支持尚不完善,具有优化提升空间。本文工作目标是针对UniCore-3处理器的GCC,开展软件数据预取的探索和实践。主要工作包括:  1.实现GCC进行软件数据预取优化所需的体系结构相关支持。实验结果表明,采用GCC原有基于数组访存的数据预取算法优化后,UniCore-3运行SPEC2000基准程序的性能可改进0.29%;  2.分析和优化GCC原有数据预取算法,针对UniCore-3的结构特征,改进后端参数的传值机制,并通过调整后端参数,使UniCore-3运行SPEC2000基准程序的性能平均改进1.31%;  3.在GCC上实现了基于指针访存的数据预取算法,并将其以优化遍的形式添加到编译器优化组织结构中,使数据预取技术能够应用到指针访存类场景上。在UniCore-3上运行SPEC CINT2000中指针访存导致cache失效最明显的mcf程序的性能可改进16.54%,运行Olden benchmark suite的性能平均改进7.12%。  实验数据表明,针对UniCore-3处理器体系结构的软件数据预取技术能够改善整个系统的性能,改进后的GCC数据预取算法能够取得更好的优化效果,基于指针访存的数据预取算法能在特定程序上取得明显的性能提升。
其他文献
该文主要讨论如何提高数据挖掘技术中关联规则挖掘算法的执行效率即算法执行有效性的问题.重点对关联规则挖掘算法中目前常见的AIS算法、SETM算法、Apriori算法和AprioriTid
现代高性能处理器普遍采用超标量结构,通常使用独立的处理部件对浮点数据进行处理。在浮点处理部件设计和验证过程中,需兼顾时钟频率、面积等设计目标,同时权衡设计复杂度与开发
该文详细阐述和透彻分析了我们提出的扩展加权模糊逻辑及其推理机制,并对我们开发的基于扩展加权模糊逻辑的推理机系统设计与实现中的关键性技术进行了具体介绍.该文首先根据
传统病历以手写的文字记载病人的病史,在时间、空间及内容上均受到很大的限制,明显与现代医学技术的发展不相适应。电子病历能图文并茂记录病史,跨越时间及空间的限制。电子病历
随着Internet的迅速发展,“信息过载”己成为一个日益严重的问题,如何快速、准确的从浩瀚的网络信息资源中寻找所需要的信息已成为困扰网络用户的一大难题。传统的信息搜索工具
该文的主要内容是设计和实现ABC方法的部署和维护支持工具,目前主要针对基于软件体系结构的J2EE应用的部署和维护,把软件体系结构引入到J2EE应用的部署和维护阶段,以软件体系
二进制翻译技术指将运行在源指令系统上的二进制程序翻译为可运行在目标指令系统上的二进制程序的技术。该技术在发展初期主要被用于实现不同指令系统二进制程序的兼容,进而被
该文首先针对点光源光照环境下基于二维图像信息的人脸光照处理问题,提出了一种基于"商图像"的加光算法及相应的两种去光算法.加光算法通过扩大训练图片集,把虚拟生成的人脸
该文以现代流行的Internet技术为背景,首先介绍了网络使用模式的发展历程和趋势,接着对现代流行的基于Web的B/S/S使用模式做了深入的研究和探讨,指出了其现在所面临的问题,尤
随着计算机技术和Internet的飞速发展,计算机系统已经由独立的单机模式转向开放、互联的网络环境,网络安全和信息安全问题日益突出,网络上各种攻击事件不断发生,相应地各种安全措