第1章 CMP简介 1
1.1 一个新途径:片上多处理器 5
1.2 应用程序的并行性图景 6
1.3 一个简单的例子:超标量与CMP 9
1.4 本书:超越基本的CMP 19
参考文献 20
第2章 吞吐率优化技术 21
2.1 简单内核与服务器应用 24
2.1.1处理器内部对多线程的需求 25
2.1.2最大化单个芯片上的处理器内核数量 27
2.1.3提供足够的缓存和主存访问带宽 27
2.2与吞吐率有关的片上多处理器案例研究 27
2.2.1案例1:Piranha服务器CMP 28
2.2.2案例2:Niagara服务器CMP 37
2.2.3案例3:Niagara-2服务器CMP 49
2.2.4基于简单内核的CMP系统的局限性 52
2.3通用服务器CMP分析 53
2.3.1模拟大规模设计空间 53
2.3.2选择设计要点 56
2.3.3实验结果 58
2.3.4讨论 60
参考文献 63
第3章 自动的延迟优化技术 65
3.1伪并行:“帮手”线程 66
3.2采用线程级猜测实现自动并行 68
3.3 TLS系统的一个实例:Hydra 75
3.3.1 Hydra基础设计 76
3.3.2在Hydra中加入TLS 78
3.3.3使用冲突统计获得的反馈信息 87
3.3.4性能分析 92
3.3.5完全自动化的TLS支持:Jrpm系统 95
3.4自动并行化的总结思考 107
参考文献 108
第4章 基于手工并行编程的延迟优化技术 110
4.1使用TLS支持事务型内存 112
4.1.1一个例子:使用TLS对堆排序进行并行化 112
4.1.2使用TLS对SPEC2000进行并行化 123
4.2事务型一致性:更普遍的事务型内存 125
4.2.1 TCC硬件 127
4.2.2 TCC软件 131
4.2.3 TCC性能 137
4.3事务型内存与常规共享内存的混合方案 147
参考文献 148
第5章 一个多核的世界:CMP的未来 150
参考文献 153
作者介绍 154