面向处理器扩展的位操作优化技术研究与实践

来源 :北京大学 | 被引量 : 0次 | 上传用户:yaci
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
飞速发展的计算机系统应用不断对处理器计算能力提出更高需求。面向特定应用的处理器扩展技术主要包括指令系统扩展及专用硬件加速部件扩展这两种方式,可有效提高特定应用的性能,并保持通用处理器灵活的编程模式。从高级语言源程序开始的处理器扩展自动设计技术可以在取得高性能和低功耗的同时,有效提高设计效率,缩短上市时间,拉近设计方法学的发展与生产工艺发展之间的差距,因此日渐得到学术界和工业界的重视,是近年来的研究热点之一。位操作密集型应用在加密、通信等领域广泛存在。当前处理器扩展自动设计方法应用于位操作密集型程序时仍存在一定不足。对此进行深入分析,结合编译技术开展优化,改善自动设计流程,具有重要的理论意义和实际应用需求。   本文面向位操作密集型应用,针对处理器扩展自动设计流程中的编译相关技术开展研究,以提高从高级语言源程序开始的处理器扩展设计的效果。论文首先建立了面向处理器扩展设计的编译支撑平台,同时支持扩展指令和硬件加速部件设计这两种设计流程;接下来对典型的位操作密集型应用进行了详细分析,针对两种主要处理器扩展设计流程中共同的位操作优化需求,提出了基于位值流图的位操作分析及优化方法。在此基础上,本文面向扩展指令自动选择及高层次综合技术,分别建立了相应的数据流图位操作扩展和变换方法。针对位操作密集型应用,在处理器扩展自动设计流程中采用这些方法,可以在更小的硬件开销下获得更高的性能提升。本文的主要内容及贡献包括:   1)建立了面向处理器扩展自动设计的编译支撑平台。从高级编程语言源程序开始的处理器扩展设计对编译技术提出了新的需求。本文指出面向扩展指令自动选择和高层次综合的编译优化既具有共性又具有差异,为二者建立了统一的编译支撑平台。对于给定的用高级编程语言描述的应用程序,本文提出的编译支撑平台可以自动进行前端编译及传统优化,并可根据拟进行的处理器扩展设计流程来选择和配置相应的编译分析优化算法;在对应用进行分析和优化的基础上,可进行扩展指令自动选择,并自动生成周期级精确的支持扩展指令的模拟模块,也可进行高层次综合,生成硬件加速部件的寄存器传输级设计描述。这为处理器扩展自动设计及相关编译技术研究提供了支撑平台,也是本文后续工作的基础。   2)提出了位值流图这种中间表示及相应的位操作优化方法。高级编程语言往往不支持直接的位读写操作描述,只能通过一系列按位与、按位或及移位操作来描述位读写操作。这使得高级编程语言描述与处理器扩展设计的硬件描述需求之间出现了较大差异。处理器扩展设计在一定程度上突破了已有指令系统体系结构的限制,使得在编译器中进行更加系统的位操作分析与优化具有了更实际的意义。本文面向位操作密集型应用,针对两种自动设计流程中对直接的位操作描述及有效的位运算优化的共同需求,提出了一种新的中间表示--位值流图,来刻画操作之间的位值依赖关系;本文描述了从数据流图开始建立位值流图的方法,提出了基于位值流图的位级别常数传播、位级别拷贝复制传播、位级别常数折叠和根据运算规则进行的位级别运算优化等优化方法。实验结果表明,采用基于位值流图的分析和优化,可以简化原本使用与、或、移位等操作表示的位操作,有效减少单位逻辑操作数量及移位操作数量,为后续扩展指令选择和高层次综合中的数据流图位操作扩展及变换提供支撑。   3)提出了面向扩展指令自动选择的数据流图位操作扩展及变换方法。本文分析了面向位操作密集型应用进行扩展指令自动选择时存在的问题,设计并实现了一种数据流图位操作扩展和变换方法,以提高扩展指令自动选择算法的效果。该方法设计了一类新的数据流图结点--BM(Bit Manipulation)结点,来直接描述位读取和赋值操作。对于给定的应用程序,该方法首先建立位值流图,并进行基于位值流图的分析和优化,之后将优化后的位值流图转换为带有BM结点的数据流图,并基于此数据流图进行扩展指令选择,并自动生成扩展指令模拟模块。实验结果表明,针对位操作密集型应用,引入BM结点后的编译策略可以更好地支持扩展指令自动选择工作。本文方法应用于位操作密集型程序时,可以在更小的总面积约束下取得比已有方法更高的加速比。   4)提出了面向高层次综合的数据流图位操作扩展及变换方法。本文分析了面向位操作密集型应用进行高层次综合时存在的问题,设计并实现了一种数据流图位操作扩展和变换方法。该方法根据高层次综合工具接口,引入part_select、part_set及reverse三类结点对数据流图进行扩展;在建立位值流图及优化后,提出一种变换算法,可以有效地将优化后的位值流图转换为使用直接描述位读写操作的指令扩展后的数据流图,从而使后续高层次综合流程可以更有效地产生相应硬件设计。实验结果表明,对于所采用的位操作密集型应用,本文方法可以有效减少高层次综合所生成的硬件设计所用的面积及时间。
其他文献
曲面共形参数化技术是近年来计算机图形学领域的一个研究热点。本文着重介绍了离散Ricci曲率流这个强大的数学工具,并将此工具应用于曲面共形参数化过程。在参数化过程中,使
地理模型是实现地理问题求解的主要工具和手段。国内外的地理学家从不同研究领域出发,已经建立了大量的、成熟的地理模型,然而由于这些地理模型在使用领域。运行平台,数据格
软件缺陷作为衡量软件质量的重要指标,一直受到学术界和工业界的关注。软件缺陷管理是软件开发过程中较为重要的环节之一,软件缺陷的数量及分布直接关系到软件项目的时间成本
20世纪70年代出现的吊挂式服装生产系统是根据多年服装生产经验,为了提高生产效率和管理水平出现的新型服装流水线生产系统。虽然基于吊挂的服装生产系统相对于传统的服装生
随着信息化技术的蓬勃发展,信息化的应用越来越广泛,在政府部门、企事业单位运行的数据库应用系统数量日益庞杂,各系统之间的数据交流也越发频繁,对数据交换的需求越来越迫切。数
流场可视化是科学数据可视化的重要方法,在实际科学研究中有巨大的应用需求。但是其效果很大程度上依赖于数据存储的网格类型。矢量场数据通常使用的网格类型主要有规则网格、
随着数字技术的蓬勃发展和国际互联网的广泛应用,数字作品的非法散布、拷贝或盗用伴随着数字作品的应用普及开始严重损坏数字作品创作者以及拥有合法使用权的人群的权益。数
在众多的生物特征识别技术中,虹膜识别技术具有可靠性高、唯一性、不可伪造性及不可侵犯性等优点已受到生物特征识别领域学者广泛关注,已成为生物特征识别领域的研究热点。  
数据分布是研究数据如何分布到多个资源节点的NP-Complete问题,是云计算、普适计算、网格计算、分布式计算、P2P网络等多节点分布式系统中的关键技术之一,对系统性能、可靠可信
随着技术的进步,手机早已成为人们生活中必不可少的电子设备之一,同时因其综合性能日益增强,也受到了研究人员的广泛关注,大量应用出现在增强现实和普适计算领域。在增强现实