学位论文 > 优秀研究生学位论文题录展示
Glibc库在龙芯2F上的优化
作 者: 李恺
导 师: 顾乃杰
学 校: 中国科学技术大学
专 业: 计算机系统结构
关键词: 龙芯2F Glibc Cache失效 循环展开 指令调度
分类号: TP316.81
类 型: 硕士论文
年 份: 2010年
下 载: 65次
引 用: 0次
阅 读: 论文下载
内容摘要
Glibc库是Linux系统最底层的运行库,被系统中的绝大多数程序调用。因此其运行效率在整个系统中占重要地位。为了使Glibc库充分利用龙芯2F处理器的特性,提升龙芯平台上的整体性能与用户体验,本文针对龙芯2F平台对Glibc库进行优化。本文首先对Glibc库的函数构成进行了分析。Glibc库中的函数可大致分为两类,一类函数与系统调用和底层操作相关,如用户组,信号和基本IO等函数。另一类函数提供常用操作的实现,如字符串处理,数学计算等函数。两类函数中,前者主要是对系统调用接口的包装,对参数进行预处理。它们的处理流程相对固定,计算量较小。因此本文的优化工作主要着眼于常用操作函数,对其中的字符串与内存处理函数,数学计算函数,查找与排序函数以及加密函数进行了优化实现。针对各个函数的具体实现,本文提出了不同的优化方法,主要包括以下几种:访存优化,在考虑存储层次结构的基础上安排内存访问顺序,以对读入Cache的数据充分利用,减少Cache冲突失效与容量失效。此外,访存优化还包括对不同访存指令的合理使用以提高读取效率。该方法主要在排序函数及字符串处理函数的优化过程中使用。循环展开,该方法可以增加基本块的大小,减少分支判断的个数。具体实现时,需要考虑循环内的运算量及体系结构的寄存器个数限制。循环展开在各个部分的优化工作中都有应用。指令调度,对原来的语句进行局部调整,以便于利用龙芯2F的特有指令或充分利用处理器部件。主要体现在数学计算函数的优化过程中。此外,还经常需要对函数的原始实现流程进行改动,以便于展开后续的优化工作。实验表明,使用上述优化方法后,本文中大部分函数的优化比率达到了50%以上。
|
全文目录
摘要 4-5 ABSTRACT 5-10 第一章 绪论 10-16 1.1 Glibc 库 10-11 1.1.1 Glibc 库介绍 10-11 1.2 龙芯2F 体系结构 11-14 1.2.1 指令执行 11-13 1.2.1.1 指令集 11-12 1.2.1.2 功能部件 12 1.2.1.3 乱序执行 12-13 1.2.2 存储访问与管理 13-14 1.2.2.1 Cache 结构与访问 13-14 1.2.2.2 内存管理 14 1.3 本文的研究内容和技术 14-15 1.4 本文结构 15-16 第二章 字符串与内存处理 16-31 2.1 函数介绍 16-21 2.2 函数优化 21-30 2.2.1 求字符串长度 21-22 2.2.2 内存拷贝与复制 22-25 2.2.3 字符串拷贝与连接 25-27 2.2.4 字符串与内存比较 27-29 2.2.5 字符串与内存查找 29-30 2.3 小结 30-31 第三章 数学计算函数 31-41 3.1 基本数据类型 31-32 3.2 函数介绍与优化 32-40 3.2.1 基本操作 32 3.2.2 数字与字符串转换 32-40 3.2.3 指数和对数函数 40 3.2.4 三角函数 40 3.3 小结 40-41 第四章 查找与排序 41-56 4.1 查找函数 41-43 4.1.1 数组查找 41 4.1.2 二叉树查找 41-42 4.1.3 哈希表查找 42-43 4.2 排序函数 43-44 4.2.1 函数原型介绍 43-44 4.2.2 函数流程分析 44 4.3 排序函数优化 44-55 4.3.1 函数流程优化 47 4.3.2 归并排序优化 47-51 4.3.3 快速排序优化 51-55 4.4 小结 55-56 第五章 加密函数 56-60 5.1 函数介绍 56 5.2 函数优化 56-59 5.3 小结 59-60 第六章 总结和展望 60-62 6.1 本文总结 60-61 6.2 存在问题与研究展望 61-62 参考文献 62-65 致谢 65-66 在读期间发表的学术论文与取得的研究成果 66
|
相似论文
- 基于可重构平台的软硬件代码划分技术研究,TP332
- 面向空间目标轨道预测的定制处理器及其编译器的关键技术研究,V556
- 可配置TTA处理器编译器的指令调度技术研究与实现,TP314
- 芯片多线程处理器线程调度的性能测试与优化研究,TP332
- 并行计算的常用模型特征及其程序设计方法研究,TP338.6
- FT64-2核级汇编器的研究与实现,TP313
- ATLAS在龙芯2F上的访存优化,TP332
- 龙芯2F处理器评估板的设计与实现,TP332
- 保证Java精确异常的指令调度技术,TP312.2
- IA-64指令调度研究,TP303
- 基于防火墙设备的嵌入式Linux系统的研究,TP316.81
- 嵌入式linux系统中的内存泄漏的研究,TP316.81
- 基于龙芯2号结构特征对GCC的分析与优化,TP332
- 塔机有限元分析求解器的开发技术,TH213.3
- 龙芯Ⅰ编译器中的指令调度相关优化,TP332
- 全局无环指令调度研究,TP311.1
- 基于X流处理器的循环实现及优化,TP338.6
- 指令级并行编译的关键技术研究,TP314
- 基于EPIC体系结构的软件流水技术研究,TP311.52
- 面向存储级并行的多核处理器关键技术研究,TP332
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 操作系统 > 网络操作系统 > UNIX操作系统
© 2012 www.xueweilunwen.com
|