摘要 | 第5-6页 |
Abstract | 第6-7页 |
目录 | 第8-11页 |
插图索引 | 第11-12页 |
附表索引 | 第12-13页 |
第1章 绪论 | 第13-19页 |
1.1 本文的研究背景与立题意义 | 第13-15页 |
1.1.1 微处理器的发展 | 第13-14页 |
1.1.2 立题意义 | 第14-15页 |
1.2 国内外研究现状 | 第15-17页 |
1.2.1 缓存的组织管理 | 第15-16页 |
1.2.2 进程和线程间干扰 | 第16-17页 |
1.3 本文的主要工作 | 第17-18页 |
1.4 本文组织结构 | 第18-19页 |
第2章 片上高速缓存及相关研究工作 | 第19-31页 |
2.1 片上高速缓存的组织结构与工作原理 | 第19-22页 |
2.1.1 高速缓存产生的背景 | 第19-20页 |
2.1.2 高速缓存的基本原理 | 第20页 |
2.1.3 多核处理器高速缓存组织结构 | 第20-21页 |
2.1.4 高速缓存替换策略 | 第21-22页 |
2.2 常用的缓存优化方法 | 第22-25页 |
2.2.1 降低缓存失效率 | 第22-23页 |
2.2.2 减少缓存命中时间 | 第23-24页 |
2.2.3 增加访问带宽 | 第24页 |
2.2.4 减轻失效代价 | 第24-25页 |
2.3 用户程序对于缓存的影响 | 第25-26页 |
2.3.1 基于指令特征的方法 | 第25-26页 |
2.3.2 基于缓存历史行为 | 第26页 |
2.4 系统组件对于缓存的影响 | 第26-28页 |
2.4.1 操作系统对缓存的影响 | 第27页 |
2.4.2 快表对缓存的影响 | 第27-28页 |
2.4.3 预取对缓存的影响 | 第28页 |
2.5 多道程序下对于共享缓存干扰的优化 | 第28-30页 |
2.5.1 缓存划分技术 | 第28-29页 |
2.5.2 其他多道程序环境下的优化方法 | 第29-30页 |
2.6 小结 | 第30-31页 |
第3章 关键线程指导的细粒度 CMP 共享缓存管理 | 第31-42页 |
3.1 引言 | 第31-32页 |
3.2 问题描述 | 第32-33页 |
3.2.1 fork-join 并行编程模式下的线程不平衡 | 第32页 |
3.2.2 最后一级缓存管理策略 | 第32-33页 |
3.2.3 设计目标 | 第33页 |
3.3 识别关键线程 | 第33-35页 |
3.4 缓存空间分配 | 第35-37页 |
3.5 实验与分析 | 第37-41页 |
3.5.1 Gem5 模拟器简介 | 第37页 |
3.5.2 Benchmark 简介 | 第37-38页 |
3.5.3 模拟器关键代码修改 | 第38页 |
3.5.4 实验与结果分析 | 第38-41页 |
3.6 小结 | 第41-42页 |
第4章 关键线程感知的共享缓存管理策略 | 第42-53页 |
4.1 引言 | 第42-43页 |
4.2 问题描述 | 第43-44页 |
4.2.1 协作线程 | 第44页 |
4.2.2 程序优先级 | 第44页 |
4.3 关键线程感知的共享缓存管理策略 | 第44-46页 |
4.3.1 共享缓存管理 | 第44-46页 |
4.4 算法与硬件实现 | 第46-48页 |
4.4.1 算法实现 | 第46-48页 |
4.4.2 硬件实现 | 第48页 |
4.5 模拟实验及分析 | 第48-52页 |
4.5.1 负载组成 | 第49-50页 |
4.5.2 实验结果 | 第50-52页 |
4.6 小结 | 第52-53页 |
结论 | 第53-55页 |
参考文献 | 第55-61页 |
致谢 | 第61-62页 |
附录A 攻读学位期间所发表的学术论文 | 第62-63页 |
附录B 攻读学位期间参加的科研项目 | 第63页 |