链接后优化在龙芯上的实现
发布时间:2020-04-08 03:50
【摘要】: 龙芯是由中国科学院计算技术研究所自主研制开发的一个通用芯片系列。龙芯1号是其第一个产品。在龙芯1上运行的是Linux系统,使用的编译器是GCC。GCC编译的SPEC2000程序的性能相对同主频的其他处理器比较差。造成这个问题的一个方面的原因是因为龙芯上GCC编译器的性能不理想。为提高龙芯上程序的性能,需要为龙芯开发一个编译优化器。 链接后优化技术是在程序链接完成后再对整个程序进行优化的一种技术,它克服了传统编译优化局限于在分析一个函数或者一个模块的基础上做优化的缺点,能够对库函数中的代码或定义于其他已经编译好的模块中的函数和调用它函数一起做优化。国外已经有一些链接后优化器,ALTO是其中的比较成功的一个。ALTO系统是由美国ARIZON大学为ALPHA处理器设计的链接后优化器。由于ALPHA与龙芯同样是采用RISC结构,同样具有较小的指令集和寻址方式,因此将ALTO作为在龙芯上实现链接后优化器的参照。 本文从介绍在龙芯上实现链接后优化的意义开始,随后以ALTO为例分析了链接后优化器的基本系统架构,并结合龙芯中ELF文件格式的知识逐步介绍了系统中每个模块在龙芯上实现的详细过程。分别分析了每个环节中碰到的问题,并提出了相应的解决方法。最后对完成的系统系进行了测试,并对测试结果做了分析。
【图文】:
图 2.1 ELF 文件结构图由上图可以看出在一个目标文件中,在文件的开始存放着一个 ELF 头,描述了该文件的组织情况。节(section)保存着目标文件的链接信息:包括指令,数据,符号表,重定位信息,特别的节的描述会在本章的第二部分介绍。本章的第三部分讨论了段(segment)和从程序的执行角度看文件。如果存在一个程序头表(program header table),那么它告诉系统如何来创建一个进程的内存映象。被用来建立进程映像(执行一个程序)的文件必须要有一个程序头表(program header table),可重定位文件不需要这个头表。一个节头表(section header table)描述了文件中节的信息。每个节在这个表中有一项,每项都是一个节头结构,给出了该节的名字,大小等信息。在链接过程中的文件必须有一个节头表,其他文件可要可不要这个节头表。在 Linux 中 ELF 头的具体结构如下所示:#define EI_NIDENT 16typedef struct {
18图 3.1 节的识别示意图根据上一章的介绍,如上图所示,ELF 文件开头存放的是 ELF 头,先将 ELF 头读到一个 ELF 头(ELF32_Ehdr)结构中。而这个结构中的 e_shoff 表明了文件中节头表在文件中的偏移,,e_shnum 表明节头表中节头的个数。按照这个偏移值将节头表读取到一
【学位授予单位】:中国科学院研究生院(计算技术研究所)
【学位级别】:硕士
【学位授予年份】:2004
【分类号】:TP332;TP314
本文编号:2618849
【图文】:
图 2.1 ELF 文件结构图由上图可以看出在一个目标文件中,在文件的开始存放着一个 ELF 头,描述了该文件的组织情况。节(section)保存着目标文件的链接信息:包括指令,数据,符号表,重定位信息,特别的节的描述会在本章的第二部分介绍。本章的第三部分讨论了段(segment)和从程序的执行角度看文件。如果存在一个程序头表(program header table),那么它告诉系统如何来创建一个进程的内存映象。被用来建立进程映像(执行一个程序)的文件必须要有一个程序头表(program header table),可重定位文件不需要这个头表。一个节头表(section header table)描述了文件中节的信息。每个节在这个表中有一项,每项都是一个节头结构,给出了该节的名字,大小等信息。在链接过程中的文件必须有一个节头表,其他文件可要可不要这个节头表。在 Linux 中 ELF 头的具体结构如下所示:#define EI_NIDENT 16typedef struct {
18图 3.1 节的识别示意图根据上一章的介绍,如上图所示,ELF 文件开头存放的是 ELF 头,先将 ELF 头读到一个 ELF 头(ELF32_Ehdr)结构中。而这个结构中的 e_shoff 表明了文件中节头表在文件中的偏移,,e_shnum 表明节头表中节头的个数。按照这个偏移值将节头表读取到一
【学位授予单位】:中国科学院研究生院(计算技术研究所)
【学位级别】:硕士
【学位授予年份】:2004
【分类号】:TP332;TP314
【相似文献】
相关硕士学位论文 前4条
1 陈瑜;龙芯2号链接后优化器的实现与分析[D];中国科学院研究生院(计算技术研究所);2006年
2 刘玲;链接后优化在龙芯上的实现[D];中国科学院研究生院(计算技术研究所);2004年
3 王辉;P2P VoIP中的中继节点选择算法及安全机制研究[D];北京邮电大学;2011年
4 樊华;基于单次查询的P2P应用层流量优化技术研究与仿真分析[D];北京邮电大学;2011年
本文编号:2618849
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2618849.html