《计算机组织与体系结构性能设计 第7版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)William Stallings著;张昆藏等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302124442
  • 页数:591 页
图书介绍:本书是介绍当代计算机体系结构主流技术和最新的优秀教材,将当代计算机系统性能设计与计算机组织与体系结构的基本概念和原理紧密结合。

第0章 读者指南 1

0.1 本书概要 1

0.2 因特网和Web资源 1

第一部分 概述 4

第1章 导论 4

1.1 计算机组织与体系结构 4

1.2 结构和功能 5

1.2.1 功能 5

1.2.2 结构 6

1.3 为何要学习计算机组织和体系结构 8

第2章 计算机的演变和性能 10

2.1 计算机简史 10

2.1.1 第一代:真空管 10

2.1.2 第二代:晶体管 17

2.1.3 第三代:集成电路 19

2.1.4 后续的几代 24

2.2 性能设计 26

2.2.1 微处理器的速度 27

2.2.2 性能平衡 27

2.2.3 芯片组织和体系结构的改进 29

2.3 Pentium和PowerPC的进展 32

2.3.1 Pentium 32

2.3.2 PowerPC 33

2.4 推荐的参考文献和Web站点 34

2.5 关键词、思考题和习题 34

第二部分 计算机系统 41

第3章 计算机功能和互连的顶层视图 41

3.1 计算机的部件 41

3.2 计算机功能 43

3.2.1 指令的取和执行 44

3.2.2 中断 47

3.2.3 I/O功能 53

3.3 互连结构 54

3.4 总线互连 55

3.4.1 总线结构 56

3.4.2 多总线层次结构 57

3.4.3 总线设计要素 59

3.5 PCI 63

3.5.1 总线结构 63

3.5.2 PCI命令 67

3.5.3 数据传送 68

3.5.4 仲裁 70

3.6 推荐的参考文献和Web站点 72

3.7 关键词、思考题和习题 72

附录3A 时序图 76

第4章 Cache 78

4.1 计算机存储系统概述 78

4.1.1 存储系统的特性 78

4.1.2 存储器分层结构 80

4.2 Cache存储器原理 83

4.3 Cache的设计要素 86

4.3.1 Cache容量 86

4.3.2 映射功能 86

4.3.3 替换算法 94

4.3.4 写策略 95

4.3.5 行的大小 96

4.3.6 Cache数目 96

4.4 Pentium 4和PowerPC的Cache组织 98

4.4.1 Pentium 4的Cache组织 98

4.4.2 PowerPC的Cache组织 100

4.5 推荐的参考文献 101

4.6 关键词、思考题和习题 101

附录4A 两级存储器的性能特点 107

4A.1 局部性 107

4A.2 两级存储器的操作 110

4A.3 性能 110

第5章 内部存储器 114

5.1 半导体主存储器 114

5.1.1 组织 114

5.1.2 DRAM和SRAM 114

5.1.3 ROM类型 117

5.1.4 芯片逻辑 118

5.1.5 芯片封装 119

5.1.6 模块组织 120

5.2 纠错 122

5.3 高级DRAM组织 127

5.3.1 同步DRAM 127

5.3.2 rambus DRAM 129

5.3.3 DDR SDRAM 129

5.3.4 带Cache的DRAM 130

5.4 推荐的参考文献和Web站点 130

5.5 关键词、思考题和习题 131

第6章 外部存储器 135

6.1 磁盘 135

6.1.1 磁读写机制 135

6.1.2 数据组织和格式化 136

6.1.3 物理特性 138

6.1.4 磁盘性能参数 140

6.2 RAID(磁盘冗余阵列) 143

6.2.1 RAID 0级 144

6.2.2 RAID 1级 148

6.2.3 RAID 2级 149

6.2.4 RAID 3级 149

6.2.5 RAID 4级 150

6.2.6 RAID 5级 151

6.2.7 RAID 6级 151

6.3 光存储器 152

6.3.1 光盘 153

6.3.2 数字通用盘 155

6.4 磁带 156

6.5 推荐的参考文献和Web站点 158

6.6 关键词、思考题和习题 158

第7章 输入输出 161

7.1 外部设备 162

7.1.1 键盘/监视器 163

7.1.2 磁盘驱动器 164

7.2 I/O模块 166

7.2.1 模块功能 166

7.2.2 I/O模块结构 167

7.3 编程式I/O 168

7.3.1 概述 169

7.3.2 I/O命令 169

7.3.3 I/O指令 169

7.4 中断驱动式I/O 171

7.4.1 中断处理 172

7.4.2 设计问题 173

7.4.3 Intel 82C59A中断控制器 175

7.4.4 Intel 82C55A可编程外部接口 176

7.5 存储器直接存取(DMA) 178

7.5.1 编程式I/O和中断驱动式I/O的不足 178

7.5.2 DMA功能 179

7.5.3 Intel 8237A DMA控制器 181

7.6 I/O通道和处理器 183

7.6.1 I/O功能的演变 183

7.6.2 I/O通道的特性 183

7.7 外部接口:FireWire和InfiniBand 185

7.7.1 接口的类型 185

7.7.2 点对点和多点配置 186

7.7.3 FireWire串行总线 186

7.7.4 InfiniBand 190

7.8 推荐的参考文献和Web站点 193

7.9 关键词、思考题和习题 193

第8章 操作系统支持 198

8.1 操作系统概述 198

8.1.1 操作系统的目标和功能 198

8.1.2 操作系统的类型 200

8.2 调度 207

8.2.1 长期调度 207

8.2.2 中期调度 208

8.2.3 短期调度 208

8.3 存储管理 212

8.3.1 交换 212

8.3.2 分区 213

8.3.3 分页 215

8.3.4 虚拟存储器 216

8.3.5 转换后援缓冲器 218

8.3.6 分段 220

8.4 PentiumⅡ和PowerPC的存储管理 221

8.4.1 PentiumⅡ的存储管理硬件 221

8.4.2 PowerPC存储管理硬件 225

8.5 推荐的参考文献和Web站点 228

8.6 关键词、思考题和习题 229

第三部分 中央处理器 235

第9章 计算机算术 235

9.1 算术逻辑单元 235

9.2 整数表示 236

9.2.1 符号-幅值表示法 236

9.2.2 2的补码表示法 237

9.2.3 不同位长间的转换 239

9.2.4 定点表示法 241

9.3 整数算术 241

9.3.1 取负 241

9.3.2 加法和减法 242

9.3.3 乘法 244

9.3.4 除法 250

9.4 浮点表示 253

9.4.1 原理 253

9.4.2 二进制浮点表示的IEEE标准 256

9.5 浮点算术 258

9.5.1 浮点加法和减法 259

9.5.2 浮点乘法和除法 261

9.5.3 浮点运算的精度问题 263

9.5.4 二进制浮点算术的IEEE标准 264

9.6 推荐的参考文献和Web站点 266

9.7 关键词、思考题和习题 267

第10章 指令集:特征和功能 272

10.1 机器指令特征 272

10.1.1 机器指令要素 272

10.1.2 指令表示 273

10.1.3 指令类型 274

10.1.4 地址数目 275

10.1.5 指令集设计 277

10.2 操作数类型 277

10.2.1 数值 278

10.2.2 字符 278

10.2.3 逻辑数据 279

10.3 Pentium和PowerPC数据类型 279

10.3.1 Pentium数据类型 279

10.3.2 PowerPC数据类型 280

10.4 操作类型 281

10.4.1 数据传送类 283

10.4.2 算术运算类 284

10.4.3 逻辑运算类 285

10.4.4 转换类 287

10.4.5 输入输出类 288

10.4.6 系统控制类 288

10.4.7 控制传递类 288

10.5 Pentium和PowerPC操作类型 293

10.5.1 Pentium操作类型 293

10.5.2 PowerPC操作类型 300

10.6 汇编语言 301

10.7 推荐的参考文献 303

10.8 关键词、思考题和习题 303

附录10A 堆栈 309

10A.1 堆栈实现 310

10A.2 表示式求值 311

附录10B 小数在先和大数在先 314

10B.1 字节排序 314

10B.2 位排序 316

第11章 指令集:寻址方式和指令格式 317

11.1 寻址方式 317

11.1.1 立即寻址 319

11.1.2 直接寻址 319

11.1.3 间接寻址 319

11.1.4 寄存器寻址 320

11.1.5 寄存器间接寻址 320

11.1.6 偏移寻址 321

11.1.7 堆栈寻址 322

11.2 Pentium和PowerPC寻址方式 323

11.2.1 Pentium寻址方式 323

11.2.2 PowerPC寻址方式 325

11.3 指令格式 327

11.3.1 指令长度 327

11.3.2 位的分配 328

11.3.3 变长指令 331

11.4 Pentium和PowerPC指令格式 334

11.4.1 Pentium指令格式 334

11.4.2 PowerPC指令格式 336

11.5 推荐的参考文献 337

11.6 关键词、思考题和习题 338

第12章 CPU结构和功能 342

12.1 处理器组织 342

12.2 寄存器组织 344

12.2.1 用户可见寄存器 344

12.2.2 控制和状态寄存器 346

12.2.3 微处理器寄存器组织的例子 347

12.3 指令周期 349

12.3.1 间址周期 349

12.3.2 数据流 350

12.4 指令流水 352

12.4.1 流水线策略 352

12.4.2 流水线的性能 356

12.4.3 转移处理 357

12.4.4 Intel 80486的流水线 363

12.5 Pentium处理器 364

12.5.1 寄存器组织 364

12.5.2 MMX寄存器 368

12.5.3 中断处理 369

12.6 PowerPC处理器 371

12.6.1 寄存器组织 371

12.6.2 中断处理 374

12.7 推荐的参考文献 377

12.8 关键词、思考题和习题 377

第13章 精简指令集计算机 382

13.1 指令执行特征 383

13.1.1 操作 384

13.1.2 操作数 385

13.1.3 过程调用 385

13.1.4 结论 386

13.2 大寄存器组方案的使用 386

13.2.1 寄存器窗口 387

13.2.2 全局变量 389

13.2.3 大寄存器组与Cache的对比 389

13.3 基于编译器的寄存器优化 391

13.4 精简指令集体系结构 392

13.4.1 CISC的理由 392

13.4.2 精简指令集体系结构特征 394

13.4.3 CISC与RISC特征对比 395

13.5 RISC流水线技术 397

13.5.1 规整指令的流水线技术 397

13.5.2 流水线的优化 398

13.6 MIPS R4000 400

13.6.1 指令集 400

13.6.2 指令流水线 403

13.7 SPARC 406

13.7.1 SPARC寄存器组 406

13.7.2 指令集 408

13.7.3 指令格式 409

13.8 RISC与CISC的争论 411

13.9 推荐的参考文献 411

13.10 关键词、思考题和习题 412

第14章 指令级并行性和超标量处理器 416

14.1 概述 416

14.1.1 超标量与超级流水线 417

14.1.2 限制 418

14.2 设计考虑 421

14.2.1 指令级并行性和机器并行性 421

14.2.2 指令发射策略 421

14.2.3 寄存器重命名 424

14.2.4 机器并行性 425

14.2.5 转移预测 426

14.2.6 超标量执行 427

14.2.7 超标量实现 427

14.3 Pentium 4 428

14.3.1 由前端到跟踪Cache 429

14.3.2 无序执行逻辑 434

14.3.3 整数和浮点执行单元 435

14.4 PowerPC 435

14.4.1 PowerPC 601 435

14.4.2 转移处理 439

14.4.3 PowerPC 620 439

14.5 推荐的参考文献 441

14.6 关键词、思考题和习题 442

第15章 IA-64体系结构 447

15.1 推动因素 447

15.2 通常组织 449

15.3 判定、推测和软件流水 450

15.3.1 指令格式 450

15.3.2 汇编语言格式 452

15.3.3 判定执行 453

15.3.4 控制推测 457

15.3.5 数据推测 461

15.3.6 软件流水 462

15.4 IA-64指令级体系结构 465

15.4.1 寄存器堆栈 467

15.4.2 当前栈帧标示器和先前功能状态寄存器 468

15.5 Itanium处理器组织 469

15.6 推荐的参考文献和Web站点 472

15.7 关键词、思考题和习题 472

第四部分 控制器 478

第16章 控制器操作 478

16.1 微操作 479

16.1.1 指令周期的子周期 479

16.1.2 指令周期 483

16.2 处理器控制 484

16.2.1 功能需求 484

16.2.2 控制信号 485

16.2.3 控制信号举例 486

16.2.4 处理器内部组织 488

16.2.5 Intel 8085 489

16.3 硬连线实现 493

16.3.1 控制器输入 493

16.3.2 控制器逻辑 494

16.4 推荐的参考文献 495

16.5 关键词、思考题和习题 495

第17章 微程序式控制 497

17.1 基本概念 497

17.1.1 微指令 497

17.1.2 微程序式控制器 499

17.1.3 Wilkes控制 501

17.1.4 优缺点 505

17.2 微指令排序 505

17.2.1 设计考虑 505

17.2.2 排序技术 505

17.2.3 地址生成 508

17.2.4 LSI-11微指令排序 508

17.3 微指令执行 509

17.3.1 微指令分类法 510

17.3.2 微指令编码 512

17.3.3 LSI-11微指令执行 513

17.3.4 IBM 3033微指令执行 518

17.4 TI8800 519

17.4.1 微指令格式 519

17.4.2 微顺序器 522

17.4.3 寄存器式ALU 525

17.5 推荐的参考文献 527

17.6 关键词、思考题和习题 527

第五部分 并行处理的组织 532

第18章 并行处理 532

18.1 多处理机组织 533

18.1.1 并行处理机系统类型 533

18.1.2 并行组织 533

18.2 对称多处理机 535

18.2.1 组织 535

18.2.2 多处理机操作系统设计考虑 538

18.2.3 大型机SMP 538

18.3 cache一致性和MESI协议 540

18.3.1 软件解决方案 541

18.3.2 硬件解决方案 541

18.3.3 MESI协议 543

18.4 多线程化和芯片多处理器 546

18.4.1 隐式和显式多线程化 546

18.4.2 显式多线程化的方法 547

18.4.3 实例系统 550

18.5 机群系统 552

18.5.1 机群系统配置 552

18.5.2 操作系统设计问题 554

18.5.3 机群计算机体系结构 555

18.5.4 机群系统与SMP的对比 557

18.6 非均匀存储器存取 557

18.6.1 推动因素 557

18.6.2 组织 558

18.6.3 NUMA的赞成票和反对票 559

18.7 向量计算 560

18.7.1 向量计算方法 561

18.7.2 IBM 3090 向量设备 565

18.8 推荐的参考文献和Web站点 571

18.9 关键词、思考题和习题 572

附录A 计算机组织与体系结构课题 578

A.1 研究性课题 578

A.2 仿真性课题 578

A.2.1 SimpleScalar 579

A.2.2 SMPCache 579

A.3 阅读/报告类题目 579

参考文献 580