论文部分内容阅读
作为目标文件的集合,C语言函数库为系统运行和软件开发提供了必要的支持。64位技术的普及为计算机的发展注入了强劲动力。UniCore-3处理器是我国自主研发的64位处理器。为支持UniCore-3处理器的软件研发和应用,需要面向64位UniCore体系结构分析、移植和优化相应的C语言函数库。 本文首先分析对比了Glibc、Newlib、uClibc、EGlibc和Bionic五个有代表性的C语言函数库,并选择Glibc函数库作为移植和优化对象。然后,本文分析总结了Glibc函数库的整体框架及其面向X86-64、LA64、SPARC64、S390-64、MIPS64和PowerPC64六个主要的64位体系结构的移植和优化情况,为后续工作提供了参考。最后,本文面向64位UniCore体系结构对Glibc函数库进行了移植和优化工作。本文在机制分析的基础上重点从代码修改、源码编译和整体测试三个阶段对移植工作进行了总结,并针对strlen、memcpy、memccpy、memset、strcpy、strcat、memcmp和strcmp八个函数进行了分析、优化和评测工作。 本文的测试结果表明,面向64位UniCore体系结构移植的Glibc函数库能够配合整套编译工具链完成自举编译并通过GCC测试套件和SPEC程序的测试,符合基本的应用要求。本文的评测结果显示,相关函数的优化工作均取得了一定效果,其中memccpy、strcpy、strcat和strcmp四个函数通过拓展基本操作单位实现的加速比均在5.9以上,strlen、memcpy、memset和memcmp四个函数通过手工汇编优化实现的加速比均高于1。