当前位置:首页 > 工业技术
高性能微处理器:技术与结构
高性能微处理器:技术与结构

高性能微处理器:技术与结构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

相关图书
作者其它书籍
返回顶部