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

  • 购买积分:17 如何计算积分?
  • 作  者:(美)William Stallings著;张昆藏等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302099138
  • 页数:572 页
图书介绍:本书是一本介绍当代计算机体系结构主流技术和最新技术的优秀教材。作者以Intel Pentium 4和IBM/Motorola Power PC作为考察实例,将当代计算机系统性能设计问题和计算机组织与体系结构的基本概念及原理紧密联系起来。

目录 2

第一部分 概述 2

第1章 导论 2

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

1.2 结构和功能 3

1.2.1 功能 3

1.2.2 结构 5

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

1.4 本书概要 9

1.5 因特网和Web资源 9

2.1.1 第一代:真空管 11

2.1 计算机简史 11

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

2.1.2 第二代:晶体管 18

2.1.3 第三代:集成电路 20

2.1.4 后续的几代 25

2.2 性能设计 28

2.2.1 微处理器的速度 28

2.2.2 性能平衡 29

2.3 Pentium和PowerPC的进展 31

2.3.1 Pentium 31

2.3.2 PowerPC 32

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

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

第二部分 计算机系统 39

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

3.1 计算机的部件 39

3.2 计算机功能 42

3.2.1 取指周期和执行周期 42

3.2.2 中断 45

3.2.3 I/O功能 52

3.3 互连结构 52

3.4 总线互连 54

3.4.1 总线结构 54

3.4.2 多总线层次结构 56

3.4.3 总线设计要素 58

3.5 PCI 62

3.5.1 总线结构 62

3.5.2 PCI命令 66

3.5.3 数据传送 67

3.5.4 仲裁 69

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

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

附录3A 时序图 74

第4章 cache 75

4.1 计算机存储系统概述 75

4.1.1 存储系统的特性 75

4.1.2 存储器分层结构 77

4.2 cache存储器原理 80

4.3 cache的设计要素 83

4.3.1 cache容量 83

4.3.2 映射功能 83

4.3.3 替换算法 91

4.3.4 写策略 91

4.3.5 行的大小 92

4.3.6 cache数目 92

4.4 Pentium 4和PowerPC的cache组织 94

4.4.1 Pentium 4的cache组织 94

4.4.2 PowerPC的cache组织 96

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

4.5 推荐的参考文献 97

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

4A.1 局部性 101

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

4A.3 性能 104

第5章 内部存储器 108

5.1 半导体主存储器 108

5.1.1 组织 108

5.1.2 DRAM和SRAM 108

5.1.3 ROM类型 111

5.1.4 芯片逻辑 112

5.1.5 芯片封装 113

5.1.6 模块组织 114

5.2 纠错 116

5.3 高级DRAM组织 121

5.3.1 同步DRAM 121

5.3.2 rambus DRAM 123

5.3.3 带cache的DRAM 125

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

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

第6章 外部存储器 128

6.1 磁盘 128

6.1.1 磁读写机制 128

6.1.2 数据组织和格式化 129

6.1.3 物理特性 131

6.1.4 磁盘性能参数 133

6.2 RAID(磁盘冗余阵列) 136

6.2.1 RAID 0级 137

6.2.2 RAID 1级 141

6.2.3 RAID 2级 142

6.2.4 RAID 3级 142

6.2.5 RAID 4级 143

6.2.6 RAID 5级 143

6.2.7 RAID 6级 144

6.3 光存储器 144

6.3.1 光盘 144

6.3.2 数字视盘 147

6.4 磁带 148

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

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

第7章 输入输出 154

7.1 外部设备 155

7.1.1 键盘/监视器 156

7.1.2 磁盘驱动器 157

7.2 I/O模块 159

7.2.1 模块功能 159

7.2.2 I/O模块结构 161

7.3.1 概述 162

7.3.2 I/O命令 162

7.3 编程式I/O 162

7.3.3 I/O指令 163

7.4 中断驱动式I/O 165

7.4.1 中断处理 165

7.4.2 设计问题 168

7.4.3 Intel 82C59A中断控制器 169

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

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

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

7.5.2 DMA功能 172

7.6 I/O通道和处理器 174

7.6.1 I/O功能的演变 174

7.7.1 接口的类型 176

7.6.2 I/O通道的特性 176

7.7 外部接口:FireWire和InfiniBand 176

7.7.2 点对点和多点配置 177

7.7.3 FireWire串行总线 177

7.7.4 InfiniBand 181

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

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

第8章 操作系统支持 188

8.1 操作系统概述 188

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

8.1.2 操作系统的类型 190

8.2 调度 197

8.2.3 短调度 198

8.2.1 长调度 198

8.2.2 中调度 198

8.3 存储管理 202

8.3.1 交换 202

8.3.2 分区 203

8.3.3 分页 205

8.3.4 虚拟存储器 207

8.3.5 转换后援缓冲器 209

8.3.6 分段 211

8.4 Pentium Ⅱ与PowerPC存储管理 212

8.4.1 PentiumⅡ的存储管理硬件 212

8.4.2 PowerPC存储管理硬件 216

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

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

第三部分 中央处理器 227

第9章 计算机算术 227

9.1 算术逻辑单元 227

9.2 整数表示 228

9.2.1 符号-幅值表示法 228

9.2.2 2的补码表示法 229

9.2.3 不同位长间的转换 231

9.3 整数算术 233

9.3.1 取负 233

9.2.4 定点表示法 233

9.3.2 加法和减法 234

9.3.3 乘法 236

9.3.4 除法 243

9.4 浮点表示 245

9.4.1 原理 245

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

9.5 浮点算术 250

9.5.1 浮点加法和减法 251

9.5.2 浮点乘法和除法 254

9.5.3 浮点运算的精度问题 255

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

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

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

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

10.1 机器指令特征 263

10.1.1 机器指令要素 263

10.1.2 指令表示 264

10.1.3 指令类型 265

10.1.4 地址数目 266

10.1.5 指令集设计 268

10.2 操作数类型 268

10.2.1 数值 269

10.2.2 字符 269

10.3.1 Pentium数据类型 270

10.2.3 逻辑数据 270

10.3 Pentium和PowerPC数据类型 270

10.3.2 PowerPC数据类型 271

10.4 操作类型 272

10.4.1 数据传送类 274

10.4.2 算术运算类 276

10.4.3 逻辑运算类 276

10.4.4 转换类 278

10.4.5 输入输出类 279

10.4.6 系统控制类 279

10.4.7 控制传递类 279

10.5.1 Pentium操作类型 284

10.5 Pentium和PowerPC操作类型 284

10.5.2 PowerPC操作类型 291

10.6 汇编语言 292

10.7 推荐的参考文献 294

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

附录10A 堆栈 299

10A.1 堆栈实现 300

10A.2 表示式求值 301

附录10B 小数在先和大数在先以及位序 303

10B.1 字节排序 303

10B.2 位排序 306

11.1 寻址方式 308

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

11.1.1 立即寻址 310

11.1.2 直接寻址 310

11.1.3 间接寻址 310

11.1.4 寄存器寻址 311

11.1.5 寄存器间接寻址 311

11.1.6 偏移寻址 312

11.1.7 堆栈寻址 313

11.2 Pentium和PowerPC寻址方式 314

11.2.1 Pentium寻址方式 314

11.2.2 PowerPC寻址方式 316

11.3.1 指令长度 318

11.3 指令格式 318

11.3.2 位的分配 319

11.3.3 变长指令 322

11.4 Pentium和PowerPC指令格式 325

11.4.1 Pentium指令格式 325

11.4.2 PowerPC指令格式 327

11.5 推荐的参考文献 328

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

第12章 CPU结构和功能 332

12.1 处理器组织 332

12.2 寄存器组织 334

12.2.1 用户可见寄存器 334

12.2.2 控制和状态寄存器 335

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

12.3 指令周期 338

12.3.1 间址周期 339

12.3.2 数据流 339

12.4 指令流水 341

12.4.1 流水线策略 341

12.4.2 流水线的性能 345

12.4.3 转移处理 347

12.4.4 Intel 80486的流水线 353

12.5 Pentium处理器 354

12.5.1 寄存器组织 354

12.5.3 中断处理 358

12.5.2 MMX寄存器 358

12.6 PowerPC处理器 361

12.6.1 寄存器组织 361

12.6.2 中断处理 364

12.7 推荐的参考文献 367

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

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

13.1 指令执行特征 371

13.1.1 操作 372

13.1.2 操作数 373

13.1.3 过程调用 373

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

13.1.4 结论 374

13.2.1 寄存器窗口 375

13.2.2 全局变量 377

13.2.3 大寄存器组与cache的对比 377

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

13.4 精简指令集体系结构 380

1 3.4.1 CISC的理由 380

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

13.4.3 CISC与RISC特征对比 384

13.5 RISC流水线技术 386

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

13.5.2 流水线的优化 387

13.6.1 指令集 389

13.6 MIPS R4000 389

13.6.2 指令流水线 392

13.7 SPARC 395

13.7.1 SPARC寄存器组 395

13.7.2 指令集 397

13.7.3 指令格式 399

13.8 RISC与CISC的争论 400

13.9 推荐的参考文献 401

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

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

14.1 概述 405

14.1.1 超标量与超级流水线 406

14.1.2 限制 407

14.2 设计考虑 410

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

14.2.2 指令发射策略 410

14.2.3 寄存器重命名 413

14.2.4 机器并行性 414

14.2.5 转移预测 415

14.2.6 超标量执行 416

14.2.7 超标量实现 416

14.3 Pentium 4 417

14.3.1 由前端到跟踪cache 418

14.3.2 无序执行逻辑 423

14.4 PowerPC 424

14.4.1 PowerPC 601 424

14.3.3 整数和浮点执行单元 424

14.4.2 转移处理 428

14.4.3 PowerPC 620 428

14.5 推荐的参考文献 430

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

第15章 IA-64体系结构 435

15.1 推动因素 435

15.2 通常组织 437

15.3.1 指令格式 438

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

15.3.2 汇编语言格式 440

15.3.3 判定执行 441

15.3.4 控制推测 445

15.3.5 数据推测 449

15.3.6 软件流水 450

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

15.4.1 寄存器堆栈 455

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

15.5 Itanium处理器组织 457

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

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

第四部分 控制器 464

第16章 控制器操作 464

16.1 微操作 465

16.1.1 指令周期的子周期 465

16.1.2 指令周期 469

16.2 CPU控制 470

16.2.1 功能需求 470

16.2.2 控制信号 471

16.2.3 控制信号举例 472

16.2.4 CPU内部组织 474

16.2.5 Intel 8085 475

16.3 硬连线实现 479

16.3.1 控制器输入 479

16.3.2 控制器逻辑 480

16.4 推荐的参考文献 481

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

第17章 微程序式控制 483

17.1 基本概念 483

17.1.1 微指令 483

17.1.2 微程序式控制器 485

17.1.3 Wilkes控制 487

17.2.1 设计考虑 491

17.2.2 排序技术 491

17.2 微指令排序 491

17.1.4 优缺点 491

17.2.3 地址生成 494

17.2.4 LSI-11微指令排序 494

17.3 微指令执行 495

17.3.1 微指令分类法 496

17.3.2 微指令编码 498

17.3.3 LSI-11微指令执行 499

17.3.4 IBM 3033微指令执行 504

17.4 TI 8800 505

17.4.1 微指令格式 505

17.4.2 微顺序器 508

17.4.3 带寄存器的ALU 511

17.5 微程序应用 514

17.6 推荐的参考文献 515

17.7 关键词、思考题和习题 515

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

第18章 并行处理 518

18.1 多处理机组织 519

18.1.1 并行处理机系统类型 519

18.1.2 并行组织 520

18.2 对称多处理机 521

18.2.1 组织 521

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

18.2.3 大型机SMP 526

18.3 cache一致性和MESI协议 528

18.3.1 软件解决方案 529

18.3.2 硬件解决方案 529

18.3.3 MESI协议 531

18.4 机群系统 534

18.4.1 机群系统配置 534

18.4.2 操作系统设计问题 536

18.4.3 机群计算机体系结构 537

18.4.4 机群系统与SMP的对比 539

18.5 非均匀存储器存取 539

18.5.1 推动因素 540

18.5.2 组织 540

18.6 向量计算 542

18.5.3 NUMA的赞成票和反对票 542

18.6.1 向量计算方法 543

18.6.2 IBM 3090向量设备 547

18.7 推荐的参考文献 553

18.8 关键词、思考题和习题 554

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

A.1 研究性课题 559

A.2 仿真性课题 559

A.2.1 Simple Scalar 560

A.2.2 SMP Cache 560

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

参考文献 561