首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
王国栋  侯朝焕  马杰 《计算机工程与设计》2005,26(8):1980-1981,1985
在现代微处理器设计中,推断和预测成为开发指令级并行性ILP(Instruction-Level Parallelism)的两种重要技术途径。通过移植GCC可以开发出运行在不同系统平台的高效快速的编译系统。分析了GCC对编译优化的支持,总结了推断和预测在GCC移植过程中的实现方案。  相似文献   

2.
GCC在高性能微处理器DSP和CPU上的移植   总被引:1,自引:1,他引:0  
在分析GCC结构的基础上,总结了GCC在高性能微处理器DSP和CPU上移植的解决方案,并比较了DSP、CPU和RISC结构的处理器在移植上的差别,重点介绍了GCC对DSP和CPU信号处理功能的支持以及指令分组和指令执行分组在GCC中的实现。  相似文献   

3.
4.
对现有编译教学存在的问题进行分析,提出新的编译课程教学方案,引入真实的业界编译器实例GCC,以引导式、实例化的模式开展教学,最后,给出新教学模式的参考评价方法。  相似文献   

5.
VLIW机器在单个机器周期中同时发射并执行多个的并行操作,从而获得较高的指令级并行度,这些操作之间的依赖分析和调度工作则被完全交给相应的编译器执行,因此VLIW的并行性能能否充分发挥取决于VLIW体系结构相关编译器的质量。GNU开发的GCC是被最广泛使用的编译系统之一,它具有多语言、多平台支持的能力和开放的结构,能够运用各种成熟的常规编译优化技术生成高效的代码。文章分析了VLIW及GCC的结构特点,提出了一种基于GCC的VLIW编译系统设计方案,利用GCC进行RTL中间代码一级的体系结构无关优化和少量体系结构相关优化,在汇编代码一级针对VLIW结构进行体系结构相关的优化,从而充分利用GCC的成熟编译技术快速开发高效的VLIW多语言编译系统。  相似文献   

6.
There have been several research works that analyze and optimize programs using temporal logic. However, no evaluation of optimization time or execution time of these implementations has been done for any real programming language. In this paper, we present a system that generates a Java optimizer from specifications in temporal logic. The specification is simpler, and the generated optimizers run more efficiently than previously reported work. We implemented a new model checker for a bidirectional CTL (computational tree logic) called CTLbd, which is equivalent to CTL-FV [Lacey, D., Jones, N.D., Van Wyk, E. and Frederiksen, C.C.: Compiler optimization correctness by temporal logic. Higher-Order and Symbolic Computation, Vol. 17, No. 3, pp. 173–206, 2004] after removing free variables. The model checker can check future and past temporal CTL operators symmetrically without any conversion. We also present a new specification language based on the bidirectional CTL that can express typical optimization rules very naturally. By adding rewriting conditions to allow for temporary variables and considering real-world language features such as exceptions, the system can perform optimization of Java programs. So far, a compiler optimizer using temporal logic was assumed to be impractical, because it consumes too much time. However, with our method, the generated Java compiler optimizer can compile seven of the SPECjvm98 benchmarks with a compile time from 4 seconds to 4 minutes.  相似文献   

7.
主流通用处理器都已经实现了多核并行以及处理器核内的SIMD并行。虽然GCC编译器实现了面向SIMD并行的自动向量化,但是编译器针对OpenMP并行程序的自动向量化效果仍很不理想。针对多线程并行的OpenMP程序,基于GCC的OpenMP编译实现,扩展了数据对齐属性指导语句,使编译器在自动向量化时能够进行更准确的数据对齐与否的判断,优化了GCC编译器的自动向量化。  相似文献   

8.
为了克服手工编写汇编代码易于出错、难于维护等缺点,在 GCC 编译器的基础上生成了 DSP TMS320C67xx芯片的汇编指令集。首先,研究了GCC中与机器描述相关的RTL模板,重点研究了RTL模板的组成结构及其各个部分的作用;然后,通过编写RTL模板完成了TMS320C67xx汇编指令的生成。在编写RTL模板的过程中,运用多种RTL模板编写技术实现了TMS320C67xx的指令集,同时针对实现难度较大的指令给出了解决方案。最后,对C语言源程序进行了编译,验证了TMS320C67xx所有6种类型的汇编指令都已被生成,所提方法具有一定的通用性和扩展性。  相似文献   

9.
随着向量长度的不断增长, SIMD扩展部件得以处理更为庞大的数据级并行,但程序的并行阈值也随之提高.对于现有的自动向量化编译器,如果在分析阶段不能从串行代码中发掘出足够的数据级并行以完全填充向量寄存器,则不会进入相应的向量代码变换阶段,从而无法向量化.较长的向量长度使得某些并行性不足的程序失去了向量化的机会,造成了性能下降.为了更加充分的利用SIMD部件,介绍了一种面向基本块的非满载向量化方法ISLP.基于开源GCC编译器,从并行性检测、代码生成和代价模型3个方面详细阐述了ISLP的设计与实现.在标准测试集上的实验结果表明,该方法可以有效地对超字级并行性不足的程序进行向量化处理,提高程序执行效率.选取的测试用例在向量化后的平均加速比达到1.14,性能较常规SLP方法提升11.8%.  相似文献   

10.
有很多编译优化都与编译时的视野有关,较宽的视野能给编译器提供更详细的信息,从而能得到更好的优化效果。采用跨文件编译模式使编译器的视野扩大至整个程序将是未来的方向。本文总结了实现这种模式的一般流程以及所遇到的问题和解决方法,分析了三种已提出的跨文件过程间编译模式,最后给出了一个基于GCC3.4的跨文件编译框架的实现方法。  相似文献   

11.
对间接存储器的访问延迟往往会影响应用程序的执行性能, 一种有效的解决方案是使用预取技术. 国产申威平台中支持常规访问模式的软件预取和硬件预取机制, 但是其GCC编译器中缺少为间接存储器访问模式自动插入预取的方法. 为了解决这个问题, 基于申威GCC开发了一个完整间接预取优化遍, 它利用深度优先搜索算法查找引用循环归纳变量的间接内存引用并为之生成合适的软件预取. 在一组内存受限的基准测试中, 自动预取遍对SW1621处理器的平均加速比达到1.16倍.  相似文献   

12.
在分析GCC结构的基础上, 阐述了GCC在C4350AL处理器上的移植与优化方案. 针对C4350AL对GCC的x86后端进行了扩展, 实现了GCC对C4350AL的识别. 根据C4350AL的结构特性, 在GCC中为建立了流水线模型描述, 并基于SPEC2006测试程序对模型效果进行了验证. 实验表明采用该模型使得GCC在C4350AL上获得了性能的提升.  相似文献   

13.
基于剖视的优化技术根据程序先前运行时收集的剖视信息来指导编译优化。文章给出了一种在GCC中基于值剖视的代码特例化实现方法。NPB和SPEC CPU2000基准程序测试结果表明,该代码特例化方法能够有效提高程序性能,同时引入的开销较小。  相似文献   

14.
Interprocedural analysis and optimization are very important for compilers to exploit parelism of modern high-performance computer systems.But it is very complicated,easy to make mistakes and difficult to maintain and port.To solve the problem,we construct an automatic generator of interprocedural analyzers and optimizers-IGEN,In IGEN,first a new model to describe the interprocedural data-flow problem is designed.It is fit for all traditional data-flow problems and can be used in context-sensitive algorithms.Then,the structure and the working environment of IGEN are described in detail.Finally,the implementation of IGEN and our experimental result are given.  相似文献   

15.
基于GCC的交叉编译器研究与开发   总被引:1,自引:1,他引:0  
随着日前越来越多嵌入式系统的飞速发展,必须快速有效地为之开发合适的交叉编译器。因为GCC(GNU Compiler Collection)是非常优秀的交叉编译器而且具有很好的可移植性,所以移植GCC是一个非常正确的方法。以交叉编译系统ZLTCG的开发为背景,详细分析了交叉编译系统GCC的体系结构,对其高度可移植性所依赖的中间表示和机器描述技术进行了深入研究,并在此基础上阐述了如何基于GCC构造用于嵌入式系统开发的交叉编译器。介绍了GCC的内核和工作机制,特别是RTL(Register Transfer Language)代码和汇编代码的生成以及解释GCC的移植方法和移植实例,对测试方法进行了探讨。  相似文献   

16.
本文首先对CFCSS(控制流检错算法)进行了介绍,对GCC编译器的运行流程进行了简要分析,再次给出了在GCC编译器中扩充CFCSS算法的具体方法,最后通过故障注入实验对扩充后的GCC进行了有效性验证。实验表明,扩充了CFCSS算法的GCC编译器所编译的程序在运行过程中具有控制流检错能力。这为我们下一步的故障定位和故障恢复提供了有力的支持,为解决星载计算机的运行故障奠定了基础。  相似文献   

17.
李春江  杜云飞  易会战  杨灿群 《计算机科学》2012,39(106):357-359,379
GNU编译器集合(GCC)具有支持多种高级语言和多种目标处理器平台、文档及源代码开放等的特点,在工业界和学术界被广泛使用。GCC支持非常多的内嵌函数,内嵌函数是GCC编译器中非常重要的一部分实现。首先分析GCC中多种内嵌函数的目的和作用;之后结合实际工作,以使用向量扩展指令的内嵌函数实现为例,剖析了平台相关的内嵌函数的实现过程。本工作对深入理解C}CC编译器中的内嵌函数实现机制,对基于C}CC的研究和开发有较强的参考意义。  相似文献   

18.
基于编译指导的自动向量化已经成为编译器开发SIMD体系结构性能潜力的必然选择。OpenMP 4.0规范新增了SIMD编译指导语句,在开发中的GCC 4.9版本已经开始着手支持OpenMP4.0规范。详细分析了SIMD编译指导在GCC 4.9中的实现情况,重点分析了SIMD编译指导在编译器自动向量化阶段的影响,这为改进GCC的现有实现和提高向量化能力提供了有价值的参考。  相似文献   

19.
Building verified compilers is difficult, especially when complex analyses such as type checking or data-flow analysis must be performed. Both the type checking and program optimization communities have developed methods for proving the correctness of these processes and developed tools for using, respectively, verified type systems and verified optimizations. However, it is difficult to use both of these analyses in a single declarative framework since these processes work on different program representations: type checking on abstract syntax trees and data-flow analysis-based optimization on control flow or program dependency graphs.We present an attribute grammar specification language that has been extended with constructs for specifying attribute-labelled control flow graphs and both CTL and LTL-FV formulas that specify data-flow analyses. These formulas are model-checked on these graphs to perform the specified analyses. Thus, verified type rules and verified data-flow analyses (verified either by hand or with automated proof tools) can both be transcribed into a single declarative framework based on attribute grammars to build a high-confidence language implementations. Also, the attribute grammar specification language is extensible so that it is relatively straight-forward to add new constructs for different temporal logics so that alternative logics and model checkers can be used to specify data-flow analyses in this framework.  相似文献   

20.
本文介绍了80位浮点运算的编译实现技术,在IA-64平台上针对一套科学计算测试程序进行了性能瓶颈分析。利用IA-64体系结构特点,改进和实现了用户定义函数的自动内联、高级循环变换、数据预取、80位浮点数学库函数内联扩展四种编译优化。测试结果表明,这些优化手段显著提高了80位浮点运算的串行性能和并行性能。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号