高性能微处理器:技术与结构PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:张民选,王永文编著
- 出 版 社:长沙:国防科技大学出版社
- 出版年份:2004
- ISBN:7810990616
- 页数:497 页
1.1简介 3
1.1.1微处理器的分类 3
1.1.2微处理器的分代 5
1.2微处理器出现以前 7
1.2.1算盘 7
1.2.2分析机 9
1.2.3 ENIAC 10
1.2.4冯·诺依曼结构 11
1.2.5 UNIVAC-I 12
1. 3 CISC时期 12
1.3.1微处理器的诞生 13
1.3.2 CISC微处理器的繁荣 16
1.3.3 CISC设计思想 19
1.3.4指令使用的研究统计 21
1. 4 RISC时期 22
1.4.1 RISC的提出 22
1.4.2高性能RISC微处理器 23
1.4.3 RISC的设计思想 27
1.4.4 CISC的继续发展 29
1.5后RISC 31
1.5.1后RISC时期的特点 31
1.5.2后RISC时期的新型结构 33
1.5.3后RISC时期的CISC与RISC 35
1.6微处理器带来的冲击 36
1.6.1微型计算机的繁荣 36
1.6.2工作站的发展 37
1.6.3用商品化微处理器构造超级计算机 38
1.6.4微机和工作站互连集群 39
1.7微处理器发展的动力 40
1.7.1需求动力 40
1.7.2技术动力 41
1.7.3产业动力 41
1.8微处理器体系结构设计的重要思想 42
1.8.1微处理器设计的影响因素 42
1.8.2系列化思想 43
1.8.3分层思想 44
1.8.4子集与超集的思想 47
1.8.5几个对立的观点 49
1.9小结 52
2.1简介 53
2.1.1时间度量 54
2.1.2性能评估和测试的方法 55
2.1.3性能测试策略 56
2.2简单的性能模型 56
2.2.1计算机的性能比较 56
2.2.2加速比 57
2.2.3 CPU性能公式 59
2.2.4考虑访存延迟的CPU性能公式 61
2.3基准程序 63
2.3.1 MIPS和MFLOPS指标 64
2.3.2基准程序的由来 66
2.3.3基准程序的分类 68
2.3.4基准程序的用途 71
2.4 SPEC基准程序组 74
2.4.1 SPEC概述 74
2.4.2 SPEC CPU基准程序组 76
2.4.3实际应用基准测试 90
2.5模拟器 92
2.5.1常用模拟器 93
2.5.2 SimpleScalar简介 94
2.5.3 SimpleScalar的组成 95
2.6小结 97
3.1简介 98
3.1.1时间并行和空间并行 98
3.1.2控制并行和数据并行 99
3.1.3并行性的实现要素 100
3.1.4并行的级别 100
3.2比特级并行 101
3.2.1字长 101
3.2.2 64位高性能微处理器 102
3.3标量级并行 103
3.3.1向量处理方式 103
3.3.2标量级并行处理器 104
3.4指令级并行 105
3.4.1基本原理 105
3.4.2指令并行度和处理器并行度 106
3.4.3 ILP体系结构 107
3.5线程级并行 109
3.5.1多线程原理 109
3.5.2线程级并行体系结构 110
3.6程序中可用的并行性 110
3.6.1相关性的限制 110
3.6.2不同程序的ILP的差异 114
3.6.3 ILP极限研究 115
3.7并行性的析取 118
3.7.1建立指令窗口 119
3.7.2确定和消除相关 120
3.7.3调度指令 121
3.8微处理器的硬件支持 122
3.8.1传统机制 122
3.8.2寄存器文件 123
3.8.3指令发射部件 124
3.8.4动态前瞻 125
3.9小结 126
4.1指令的构成 128
4.1.1操作数 129
4.1.2操作码 130
4.1.3寻址技术 131
4.2指令集分类 132
4.2.1分类依据 132
4.2.2通用寄存器型指令集结构 133
4.2.3通用寄存器型指令集结构的分类 134
4.3指令行为研究 136
4.3.1指令使用频率 136
4.3.2数据类型的访问统计 137
4.3.3控制指令 138
4.3.4寻址方式的研究 139
4.3.5立即数的范围 140
4.3.6偏移量的统计 142
4.4指令兼容技术 143
4.4.1典型二进制兼容技术 144
4.4.2兼容的指令集体系结构 145
4.4.3软件解释 145
4.4.4微代码仿真器 145
4.4.5二进制翻译 146
4.4.6本地编译器 146
4.5多媒体指令扩展 147
4.5.1指令扩展概述 147
4.5.2子字算术指令 148
4.5.3数据重整指令 149
4.5.4格式化指令 150
4.5.5条件指令 152
4.5.6复杂指令 152
4.5.7存储器指令 153
4.6字节顺序与对齐 153
4.6.1字节顺序问题 154
4.6.2对齐问题 158
4.7 IA-64指令系统 159
4.7.1指令类型 159
4.7.2指令功能 160
4.7.3指令模板 163
4.8小结 164
5.1概述 167
5.1.1调度的作用 168
5.1.2调度分类 171
5.2程序的表述和执行 171
5.2.1程序的表示 171
5.2.2程序表述顺序 172
5.2.3控制驱动表述 173
5.2.4数据驱动表述 174
5.2.5控制驱动任务中的数据驱动表述 175
5.2.6程序的执行顺序 175
5.3调度所需的程序信息 176
5.3.1程序基本块划分 177
5.3.2基本块的数据流图 179
5.3.3优先图 180
5.3.4关键路径的概念 182
5.3.5资源保留表 183
5.4基本块内的软件调度算法 184
5.4.1最优调度的开销 184
5.4.2有向无环图DAG指令调度 185
5.4.3线性压缩算法指令调度 186
5.4.4搜索树算法 187
5.4.5列表调度 187
5.4.6调度顺序的影响 192
5.4.7其他的调度方法 194
5.5跨越基本块的软件调度方法 196
5.5.1循环展开 196
5.5.2踪迹调度 197
5.5.3过滤调度 199
5.5.4超块调度 200
5.5.5甚块调度 200
5.5.6软件流水 200
5.5.7推进 203
5.6调度器和编译器的关系 204
5.6.1寄存器分配和调度的交互 204
5.6.2编译时调度和编译后调度 206
5.7判断并消除相关性 208
5.7.1静态消除存储器地址歧义 209
5.7.2软件寄存器重命名 210
5.7.3归约变量扩展 210
5.8记分牌 211
5.8.1记分牌的结构 212
5.8.2指令执行的步骤 213
5.8.3数据结构 214
5.8.4记分牌控制 215
5.8.5记分牌评价 216
5.9 Tomasulo算法 218
5.9.1 Tomasulo算法的思想 218
5.9.2 Tomasulo算法的流水线 220
5.9.3保留站的内容 222
5.9.4 Tomasulo算法的评价 224
5.10硬件前瞻执行 226
5.10.1重定序缓冲区 226
5.10.2前瞻执行的步骤 228
5.10.3硬件前瞻评价 230
5.11其他硬件调度方法 231
5.11.1寄存器更新部件 231
5.11.2分派栈 232
5.11.3 DRIS 232
5.11.4分离执行 233
5.12小结 234
6.1概述 236
6.1.1分支对单指令流水线的影响 237
6.1.2分支对ILP的影响 237
6.1.3程序中分支的行为特点 238
6.1.4如何处理分支 240
6.2分支消除 241
6.2.1循环展开 242
6.2.2循环剥落 242
6.2.3函数内联 242
6.2.4条件执行 243
6.3分支延迟 243
6.3.1分支延迟槽 244
6.3.2快速比较 246
6.3.3分支压缩 248
6.3.4分支扩散 249
6.3.5分支折叠 250
6.4静态分支预测 251
6.4.1预测分支成功 252
6.4.2预测分支失败 252
6.4.3根据操作码预测 252
6.5动态分支预测 253
6.5.1分支标志预测 253
6.5.2一级分支预测 234
6.5.3两级分支预测 259
6.5.4两级自适应分支预测的改进 264
6.5.5前瞻(Look-Ahead++ 265
6.6分支目标缓冲区 265
6.7其他分支处理技术 271
6.7.1循环缓冲区 271
6.7.2共享流水线多处理器 272
6.7.3预取分支目标 272
6.7.4数据预取目标 272
6.7.5准备分支 273
6.7.6多指令流 273
6. 8 Itanium处理器的分支处理器机制 274
6.8.1推测执行 274
6.8.2动态预测 277
6.8.3静态分支预测 280
6.8.4预测机制 282
6.9小结 284
7.1概述 285
7.1.1 Cache 285
7.1.2延迟隐藏技术 287
7.2数据预取 288
7.2.1基本思想 289
7.2.2显式预取 291
7.3软件数据预取 292
7.3.1软件预取的实现 292
7.3.2软件预取的缺点 296
7.3.3非阻塞load指令 297
7.4硬件数据预取 298
7.4.1顺序预取 298
7.4.2流缓冲区 302
7.4.3时间局部性预取 303
7.4.4跨距预取 303
7.4.5软件预取和硬件预取的比较 309
7.5指令预取 310
7.5.1预取下一行 311
7.5.2表预取 312
7.5.3错误路径预取 313
7.5.4基于分支预测的预取技术 314
7.6踪迹cache技术 316
7.6.1基本思想 316
7.6.2下一条踪迹预测技术 318
7.6.3踪迹cache的实例 318
7.6.4踪迹与其他技术的比较 319
7.7前瞻访问 320
7.7.1控制前瞻 321
7.7.2数据前瞻 322
7.7.3前瞻与踪迹cache的关系 323
7.8小结 324
8.1简介 327
8.1.1基本思想 327
8.1.2流水线加速比 328
8.2最简单的流水线:ARM7嵌入式微处理器 329
8.2.1 ARM7体系结构简述 330
8.2.2简单的三级流水线 330
8.3超流水:MIPS R4400微处理器 333
8.3.1 MIPS R4400 333
8.3.2 MIPS整型流水线 334
8.4超级流水线:Pentium 4通用微处理器 335
8.4. 1 Pentium 4体系结构概述 336
8.4.2超级流水线 338
8.4.3超级流水线的讨论 339
8.5前后端分离的流水线:Itanium处理器 340
8.5.1流水线概述 340
8.5.2分离缓冲区 342
8.6微流水线:一种异步流水线 342
8.7小结 345
9.1早期的向量处理机和SIMD处理机 346
9.1.1 Cray向量计算机 346
9.1.2典型的SIMD处理器 348
9.2向量微处理器:T0 349
9.2.1 T0向量微处理器的结构 350
9.2.2桌面向量计算的优势 352
9.2.3通用微处理器的多媒体指令扩展 353
9.3 Intel Pentium MMX 353
9.3.1定义过程 354
9.3.2基本概念 357
9.3.3特点 363
9.3.4完全向后兼容 367
9.3.5 SSE简介 371
9.3.6性能优势 372
9.4 Sun UltraSPARC VIS 375
9.4.1新的体系结构 376
9.4.2针对图形设计的数据结构 376
9.4.3提高图形处理性能的专用指令集 378
9.4.4支持实时视频 381
9.5 PA-RISC MAX 382
9.5.1 MAX指令扩展 382
9.5.2并行子字指令 383
9.5.3子字重整指令 385
9.6 PowerPC A1tiVec 387
9.6.1 A1tiVec结构 387
9.6.2 AltiVec指令 388
9.7小结 390
10.1概述 391
10.1.1分类 391
10.1.2串行体系结构和超标量 392
10.1.3相关性体系结构和数据流处理器 394
10.1.4无关性体系结构 395
10.2超标量 397
10.2.1超标量流水线 398
10.2.2指令发射和指令并行 399
10.2.3动态调度的超标量 403
10.2.4典型微处理器的发射度 304
10.2.5超标量流水线的性能 305
10.3.数据流 305
10.3.1静态数据流 306
10.3.2标识令牌数据流 307
10.3.3显式令牌存储器 309
10.3.4混合数据流 410
10.4超长指令字 312
10.4.1 VLIW结构和指令格式 413
10.4.2超长指令字的前景 413
10.5超标量微处理器:Alpha 21264 414
10.5.1流水线 415
10.5.2微体系结构 416
10.5.3分支预测 418
10.5.4增强多媒体指令扩展 419
10.6 EPIC微处理器:Itanium 420
10.6.1设计目标 420
10.6.2 EPIC结构 421
10.6.3指令处理 421
10.6.4指令执行 421
10.6.5控制 422
10.6.6存储器子系统 423
10.6.7 IA-32指令执行 424
10.7 VLIW微处理器:Crusoe 424
10.7.1关键技术 425
10.7.2 Crusoe处理器的基本组成 426
10.7.3代码翻译软件 428
10.7.4划分软硬件界面 430
10.7.5译码和调度 430
10.7.6代码的缓存 431
10.7.7过滤 432
10.7.8预测和路径选择 432
10.8各种结构的比较 433
10.8.1 VLIW和超标量的比较 433
10.8.2 VLIW和EPIC 434
10.9多发射处理器受到的限制 435
10.10小结 438
11.1多线程超标量 439
11.1.1同时多线程SMT 439
11.1.2前瞻性多线程 440
11.1. 3 SPSM 442
11.2多标量 444
11.2.1基本思想 444
11.2.2微体系结构 447
11.3 Trace处理器 447
11.3.1基本结构 447
11.3.2 Trace处理器的关键技术 449
11.3.3多路径Trace处理器 450
11.4单芯片多处理器 452
11.4.1多处理器芯片SCMP的总体结构 452
11.4.2处理单元PE的结构及数目 453
11.4.3片内高速总线IHSBUS 454
11.4.4 cache层次结构 454
11.4.5输入输出缓冲区 456
11.4.6基于高频源同步总线SSB和包交换的系统接口方式 457
11.4.7多处理器芯片元件估算 459
11.4.8多处理器芯片片内cache一致性 459
11.5 Alpha 21464的同时多线程 464
11.5.1抽象结构 464
11.5.2性能提高 465
11.6 Power4多处理器芯片 466
11.7 MAJC微处理器 467
11.7.1 MAJC结构主要具备以下特性 467
11.7.2 MAJC结构的分层体系和指令片结构 468
11.7.3指令级并行 469
11.7.4线程模型 471
11.7.5系统级芯片/多处理器系统级芯片 474
11.7.6 MAJC5200芯片 475
11.8多线程与单芯片多处理器的比较 476
11.8.1存储 477
11.8.2编译器支持 478
11.8.3性能结果 478
11.8.4结论 482
11.9小结 483
12.1当前的微处理器 484
12.2未来发展趋势 487
12.2.1 CMOS工艺技术 487
12.2.2体系结构 488
12.3发展具有自主知识产权微处理器的思考 489
参考文献 493
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《柏里曼人体结构绘画教学描摹本 第2册 头手足结构》杨建飞主编 2019
- 《NiFe2O4基惰性阳极材料的烧结行为及应用性能》杜金晶,王斌著 2019
- 《认知语言学视野的抽象方位结构研究》曹爽著 2019
- 《并行数据挖掘及性能优化》荀亚玲著 2020
- 《无机材料晶体结构学概论》毛卫民编著 2019
- 《数据结构教程》付婷婷,王志海,张磊编著 2019
- 《数据结构 C语言版 第5版》邓文华 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019