循环上的深度编译优化研究

来源 :中国科学院计算技术研究所 | 被引量 : 0次 | 上传用户:ahhshpl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着技术和工艺的发展,处理器和存储系统的性能不匹配问题日益严重,已成为阻碍计算系统性能发挥的瓶颈。为了弥补二者问的性能差距,现代芯片中普遍引入了Cache,以期缓解这一问题。但是Cache性能的发挥依赖于对程序的计算和数据合理安排。如何有效的组织和利用内存中的数据、缓解访存性能瓶颈成为改善系统性能的重要研究方向。   循环占据了程序的主要执行时间,是访存优化的重点。本文综合考虑循环优化与局部性优化,进一步发掘传统循环优化的深度优化空间,并根据龙芯编译器的现有框架进行改良和扩展。主要的贡献如下:   1)探讨了一种新的基于数据重用的循环合并策略。使用数据重用这一局部性特征来指导循环合并,以数据的时间重用性保证合并的收益性;同时采用运行时检查策略将阻碍循环合并的可能别名检查推迟到运行时来完成,获取了更多的合并机会。   2)对循环不变式外提进行了推广,提出了有分支结构的循环不变计算外提的概念和方法,减少循环内的冗余计算和访存。   3)提出了访存亲密性的简化定义及分析算法,给出了访存亲密性的基本性质,并在此基础上提出了基于访存亲密性的数据重组框架。在亲密性指导下,针对多个数组,多个多维指针合并这两种重组模式对数据布局进行变换,有效地改善数据空间重用性。将上述方法应用于现有编译系统中,对于具有较为明显的数据重用和较高访存亲密度的Spec CPU2000/2006的部分测试例子,其性能加速最多达到55.7%。
其他文献
纹理合成是目前计算机图形学、计算机视觉和图像处理等多个研究领域中的热点问题。它源自真实感造型中的纹理映射问题,随着其内涵和形式的不断演变,逐渐成为一个应用广泛的多学
数据流是为解决数字信号处理领域应用程序设计、开发难度大等问题而提出的,和传统的控制流相比,数据流能够更加自然地描述信号处理系统,更加清晰地表达系统的并发性。应用数据流
随着互联网技术的发展以及社会分工的不断细化,越来越多的组织为了共同的目标联合起来协同工作。这种动态协同环境给授权管理提出新的挑战。基于角色的访问控制适用于大型组织
本文以智能协同决策技术为研究对象,在基于主体的决策单元设计、决策单元协同问题求解、智能决策推理,以及协同决策支持系统框架设计等问题的研究上做了一些尝试。本文主要的研
随着计算机和通信系统的广泛普及和应用,信息社会对各种安全机制和服务的需求也日益迫切.与之相伴,信息安全尤其是密码学领域也正经历快速的发展,各种安全标准和基础设施正在广
在个人计算机普及的今天,个人计算机成为人们处理个人信息的主要工具。随着个人计算机中硬盘容量越来越大,如何有效地检索个人计算机中的信息成为我们面临的挑战。本文针对桌面
AM广播从19世纪初开始第一次实验性广播一直沿用至今,它包括了30Mhz以下长波(LF)、中波(MF)和短波(HF)三个频段,覆盖范围广,接收机十分廉价,应用十分广泛。但是随着无线通讯技术
随着宽带网络和多媒体技术的发展,在Internet上提供实时视频服务成为可能。然而,当前的Internet网络以尽力而为(Best-effort)的方式提供数据传输,带宽波动、延迟抖动和丢包等现
随着集成电路制造工艺的不断细化及芯片频率的不断提高,越来越多的跟时延相关的故障涌现出来。单纯的固定型故障(stuck-at)测试已经不足以保证芯片的可靠性和质量,用专用的时延
现代编译器使用大量的优化来改善程序的性能,而某个特定的优化效果则主要依赖于对程序的静态分析,而这通常都是基于硬件架构的机器模型进行的,但是,当前处理器的硬件架构越来越复