第1章 绪论 1
1.1 VLSI技术的发展对处理器体系结构的影响 1
1.2应用对体系结构提出的新要求 2
1.3高性能体系结构面临新的挑战 3
专用处理器 5
通用微处理器 5
DSP与可编程的媒体处理器 6
1.4新兴的流处理器 6
Imagine和Merrimac 7
CELL处理器 8
基于片上存储的VIRAM体系结构 9
片内多处理机体系结构的代表:RAW和TRIPS 10
流计算模型SCORE 12
新型流体系结构小结 12
第2章 流处理 17
2.1流处理思想 17
2.2硬件结构模型 19
解耦合计算和访存 19
多级存储层次 20
2.3流处理实例及与向量处理的比较 25
24小结 29
第3章 流处理器微体系结构 31
3.1流体系结构设计思想 31
控制子系统 32
存储子系统 33
计算子系统 34
对外接口 34
3.2流处理器的指令集设计技术 35
流级指令 35
kernel级指令 39
3.3流处理器的流水线设计技术 44
核心指令执行流水线的组织结构 45
流数据访问流水线的组织结构 46
流水线的数据通路及其相关处理 46
3.4流处理器计算子系统的设计 49
簇内寄存器文件系统 52
簇内交叉互连开关 56
运算单元ALU和DSQ 56
计算簇内便笺存储器设计 59
计算簇间的通信单元设计 60
流1O单元设计 62
3.5流处理器控制子系统的设计 63
核心指令控制逻辑 63
流指令控制逻辑 70
标量处理器核的控制逻辑 75
3.6流处理器存储子系统的设计 76
流寄存器文件 76
Cache 81
DRAM存储器 81
3.7流处理器核对外接口的设计 86
与标量处理器核的接口 86
多片流处理器核互连接口 87
片上总线接口 92
3.8提高性能的优化设计讨论 92
条件流 92
片上索引流 99
软件流水 101
3.9流处理器实例 103
用于数字媒体处理的流处理器Storm 103
用于科学计算的流处理器FT64 104
3.10小结 105
第4章 流处理器协同机制 107
4.1概述 107
4.2软件协同控制机制 108
软件协同的工作原理 109
协处理中间件 111
4.3硬件协同控制机制 119
异构核协同单元 120
协处理中间件 121
异构核协同任务的实现 121
4.4异构核间的数据传输 123
分离片外存储空间 123
共享片外存储空间 127
4.5小结 129
第5章 流编程模型与编译器 131
5.1流编程模型 131
流级程序 132
核心程序 134
StreamC/KernelC语言 135
层次化的流编译器结构 141
5.2核心级编译器设计 143
核心级编译器流程 143
VLIW调度 145
通信调度 148
寄存器分配 151
5.3流级编译器设计 158
流级编译概述 158
流级编译的流程 159
流调度 161
5.4其他流编程语言与编译环境 164
5.5小结 167
第6章 流应用与编程 169
6.1流应用概述 169
6.2流应用的映射 170
程序特征分析 170
划分数据流图 172
计算核心的编写 173
流组织及其常用方法 175
6.3媒体应用实例:高清H.264编码 178
H.264简介 178
流化平台介绍 180
H.264的流化实现 183
H.264的流化结果分析 199
6.4科学计算实例:梅森素数求解法 201
梅森素数及其求解方法LUCAS 201
LUCAS-Lehmer法的流式实现 202
LUCAS流式算法在FT64上的性能分析和评测 214
6.5小结 215
第7章 多核流处理器设计 217
7.1流体系结构多维可扩展性 217
簇内扩展 219
簇间扩展 220
多核扩展 221
7.2多核流体系结构 224
多核流体系结构的顶层硬件结构 224
流传输协议 228
流互连网络模块 236
7.3 TiSA多核流程序的设计与编译 239
面向多核的流程序设计 240
多核流程序的静态编译 243
7.4流体系结构的多维扩展代价与性能 249
VLSI开销 249
性能效率 257
7.5小结 260
第8章 未来流处理器研究 261
8.1非规则流研究 261
8.2编程模式研究 263
8.3基于流模型的多核调度 264
8.4通用领域的发展 265
8.5其他的研究点 266
8.6小结 266
参考文献 267
缩略语表 273