毕业论文
论文首页 计算机毕业设计 工学论文 语言论文 社会学 经济管理学 法律论文 农学论文 医学论文 理学论文 文学论文 哲学论文 教育论文 艺术学 历史学 论文指导 论文翻译 诚聘代理  投稿出售
   高级搜索    本站热线:13009565069 QQ:617579642
2007-07-10 08:18:31  浏览次数:1144    当前位置:首页 >> 论文指导 >> 开题报告 >>
 

本科生毕业设计(论文)中期检查报告-GCC编译器在ARM处理器上的性能测试和改进获得全文

上 海 交 通 大 学

本科生毕业设计(论文)中期检查报告

姓 名

张龙

 

5030309207

指导教师

过敏意

专 业

计算机科学与技术

学院/

计算机科学与工程系

毕业设计(论文)题目

GCC编译器在ARM处理器上的性能测试和改进

课题来源/项目编号

国家863项目/2006AA01Z199

课题有无变化

    变化原因

中期报告(已完成的研究内容,所取得阶段性成果,下一步工作计划和研究内容等)

 

一、        已完成GCC的移植机制研究

GCC编译系统主要由三部分组成:与特定编程语言相关的前端、与特定编程语言无关的后端以及与机器相关的机器描述,如图1所示。GCC的前端由与源语言关系密切的语法分析、语义分析部分组成,它对源程序进行分析后将其转换为语法树。GCC的后端为编译系统的主体部分,它将语法树转换成中间语言,在中间语言表示的基础上进行各种优化并完成代码的生成。机器描述部分则描述GCC所运行的主机和目标机的作系统、体系结构、指令系统等有关系统与硬件的情况并提供给编译程序的后端使用。这样,采用不同的机器描述,将得到适合于在不同机器与系统上运行GCC版本。这三部分既相对分离又相互配合,实现了GCC面向多语种、支持多平台的思想。

       dist-200404087

面对众多不同的系统与体系结构,支持多平台的编译程序,必须解决二个基本的问题①需要设计一种对目标机恰当的描述,这种机器描述既要能描述系统与硬件的共性,也要能描述它们各自的特性,同时还要适合于编译程序的处理。在GCC中,机器描述由tm. htm. and文件完成。②需要设计出一种较好的中间语言,这种中间语言应当在适当的层次上,向上能支持多语言的映射,向下能适合多平台转换并且适合于进行各种优化。GCC的中间表示代码称作RTL  (register transfer language)。③在机器描述与编译主体之间需要仔细地设计一种统一接口。GCC中由gen*.c程序完成(),如图2所示。

针对ARM处理器,GCC提供了对应的编译器。一般情况下,ARM7平台是使用arm-elf-gcc 搭配 uClinux作系统,ARM9平台则使用arm-linux-gcc搭配Linux作系统.在此基础上通过修改GCC的及其描述部分以实现对特定目标的移植。

1 GCC编译系统结构

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 GCC后端生成图

 

 

二、        已完成GCCARM架构上的编译性能分析  

    目前嵌入式处理器并没有统一的性能测试标准,在试验中选择了当前各个嵌入式处理器提供厂商广泛采用的Dhrystone V2.1 Benchmark Whetstone Benchmark评测标准,Dhrystone V2.1 BenchmarkReinhold Weicker编写的用于测试系统的整数处理能力的测试程序,它有公开的源代码和测试结果。在不同的处理器平台上运行Dhrystone测试程序,得到Dhrystone per Second 的参数值,并以VAX-11/780 为参照值,换算出Dhrystone 2.1 VAX MIPS(DMIPS)的值; Whetstone BenchmarkDhrystone V2.1 Benchmark相近,提供MFLOPS作为评估标准,不同的是Whetstone Benchmark侧重于浮点性能的测试,而Dhrystone V2.1 Benchmark则侧重于整数运算和逻辑运算的性能测试,因此综合两者的测试可以得到更为准确的测试结果。

由于ARM开发板资源有限,不可能在开发板上运行编译程序,为了测试GCCARM架构上的编译性能,需要建立交叉开发环境,在宿主机上编译Dhrystone V2.1 BenchmarkWhetstone Benchmark 程序,在目标机(ARM开发板)上运行编译后的测试程序,得到测试结果。

而对于特定程序的测试,由于目前缺乏针对特定程序的测试工具,因此只能够通过比较生成文件的大小和汇编代码来进行性能评估。

 

三、        已进行优化GCC性能方法研究

1.      GCC的一大特点是高度可配置性,具有大量的编译参数选择。针对不同硬件平台,选择不同的编译参数会对编译性能产生影响,因此深入理解各种编译参数的意义,找到对应环境的最佳参数是很有意义的。

选择不同的编译参数,使用Dhrystone V2.1 Benchmark Whetstone Benchmark

行测试,可以得到对应的性能指标,通过对扁些性能指标,得到性能最佳的组合,找出对应硬件环境的最佳编译参数。

2.      针对硬件平台的特点如,寄存器个数,cache大小等,对应用程序的代码进行优化,通过对优化前后程序的性能以及汇编代码,定量的分析出优化的效果,最后总结出针对ARM GCC的高效的编程条例。

 

    结合以上两种方法,从应用层面上对ARM GCC的进行优化。

 

四、        已进行针对ARM架构上的GCC提高性能的相关实践

²        建立交叉编译环境

宿主机:Windows XP + VMWare + RedHat 9.0

目标机: MagicArm2200-s Lpc2200 ARM7 uClinux-dist-20040408 (见图3

开发环境:ARM Developer Suite v1.2 (见图4

GCC版本:arm-elf-tools-20040427

 

²        性能测试与分析

测试工具:Dhrystone V2.1 Benchmark

         Whetstone Benchmark

 

 

3 uClinux界面

        

4 ADS开发环境

 

 

 

 

 

五、        下一步研究计划和基本内容

²           进一步评估各种条件下ARM GCC的编译性能。

²           根据实验得到的相关数据,总结出针对ARM GCC的高效的编程条例。

²           撰写符合规范和要求的本科毕业论文。

 

 

学生签名                 

       

 

指导教师意见

 

 

 

指导教师签名             

        

学院(系)意见

              

审查结果:  □ 通过        □ 不通过

 

院长(系主任)签名:             

       

 




推荐论文                 更多

· 论文定稿时需要推敲整体...
· 医学论文的文献综述注意事项
· 医学论文的引言部分非常重要
· 如何写好护理学论文并通...
· 论文的参考文献是有规范...
· 浅析如何进行论文选题
· 组织起毕业论文的灵魂是...
· 写好毕业论文的前提
· 学校要求论文有开题报告...
· 毕业设计(论文)工作指...

出售论文
亿佰资讯网 - 《中华人民共和国增值电信业务经营许可证》 ICP证编号:陕ICP备05010493号 - 资料购买帮助
2006-2007 100LW.com and its suppliers.保留所有权利  增值电信业务经营许可证B2-20060392
电话:0472-2110208  13009565069  电邮:paowen@foxmail.com
QQ: 453148943   617579642  MSN:wide_sun@hotmail.com
地址:内蒙古包头市稀土开发区软件园大厦A座413室