计算机组成与设计(原书第5版)

  • 出版时间: 2015-07-01
  • 作者:  戴维 A.帕特森
  • 出版社: 机械工业出版社
  • 页数: 0
  • 价格: 99.00
  • 购买

内容简介

《计算机组成与设计:硬件/软件接口(原书第5版)》是计算机组成与设计的经典畅销教材,第5版经过全面更新,关注后PC时代发生在计算机体系结构领域的革命性变革——从单核处理器到多核微处理器,从串行到并行。本书特别关注移动计算和云计算,通过平板电脑、云体系结构以及ARM(移动计算设备)和x86(云计算)体系结构来探索和揭示这场技术变革。

与前几版一样,本书采用MIPS处理器讲解计算机硬件技术、汇编语言、计算机算术、流水线、存储器层次结构以及I/O等基本功能。

《计算机组成与设计:硬件/软件接口(原书第5版)》特点

更新例题、练习题和参考资料,重点关注移动计算和云计算这两个新领域。

涵盖从串行计算到并行计算的革命性变革,第6章专门介绍并行处理器,每章中都涉及并行硬件和软件的相关主题。

全书采用Intel Core i7、ARM Cortex-A8和NVIDIA Fermi GPU作为实例。

增加“运行更快”这一新实例,说明正确理解硬件技术的重要性,它能使软件性能提高200倍。

讨论并强调计算机体系结构的“8个伟大思想”——通过并行提高性能、通过流水线提高性能、通过预测提高性能、面向摩尔定律的设计、存储器层次、使用抽象简化设计、加速大概率事件和通过冗余提高可靠性。


作者简介

David A. Patterson 加州大学伯克利分校计算机科学系教授,美国国家工程研究院院士,IEEE和ACM会士,曾因成功的启发式教育方法被IEEE授予James H. Mulligan,Jr教育奖章。他因为对RISC技术的贡献而荣获1995年IEEE技术成就奖,而在RAID技术方面的成就为他赢得了1999年IEEE Reynold Johnson信息存储奖。2000年他和John L. Hennessy分享了John von Neumann奖。

John L. Hennessy 斯坦福大学校长,IEEE和ACM会士,美国国家工程研究院院士及美国科学艺术研究院院士。Hennessy教授因为在RISC技术方面做出了突出贡献而荣获2001年的Eckert-Mauchly奖章,他也是2001年Seymour Cray计算机工程奖得主,并且和David A. Patterson分享了2000年John von Neumann奖。


目录

  • 计算机概要与技术1
  • 引言1
  • 计算应用的分类及其特性2
  • 欢迎来到后PC时代3
  • 你能从本书学到什么4
  • 计算机系统结构中的8个伟大思想6
  • 面向摩尔定律的设计6
  • 使用抽象简化设计6
  • 加速大概率事件6
  • 通过并行提高性能7
  • 通过流水线提高性能7
  • 通过预测提高性能7
  • 存储器层次7
  • 通过冗余提高可靠性7
  • 程序概念入门7
  • 硬件概念入门10
  • 显示器11
  • 触摸屏12
  • 打开机箱12
  • 数据安全15
  • 与其他计算机通信16
  • 处理器和存储器制造技术17
  • 性能20
  • 性能的定义20
  • 性能的度量22
  • CPU性能及其因素23
  • 指令的性能24
  • 经典的CPU性能公式25
  • 功耗墙27
  • 沧海巨变:从单处理器向多处理器转变29
  • 实例:Intel Core i7基准31
  • SPEC CPU基准测试程序31
  • SPEC功耗基准测试程序32
  • 谬误与陷阱33
  • 本章小结35
  • 历史观点和拓展阅读36
  • 练习题36
  • 指令:计算机的语言40
  • 引言40
  • 计算机硬件的操作43
  • 计算机硬件的操作数44
  • 存储器操作数45
  • 常数或立即数操作数47
  • 有符号数和无符号数48
  • 计算机中指令的表示53
  • 逻辑操作58
  • 决策指令60
  • 循环61
  • case/switch语句63
  • 计算机硬件对过程的支持64
  • 使用更多的寄存器66
  • 嵌套过程67
  • 在栈中为新数据分配空间69
  • 在堆中为新数据分配空间70
  • 人机交互72
  • MIPS中32位立即数和寻址75
  • 32位立即数75
  • 分支和跳转中的寻址76
  • MIPS寻址模式总结78
  • 机器语言解码79
  • 并行与指令:同步81
  • 翻译并执行程序83
  • 编译器83
  • 汇编器84
  • 链接器85
  • 加载器87
  • 动态链接库87
  • 启动一个Java程序89
  • 以一个C排序程序作为完整的例子90
  • swap过程90
  • sort过程91
  • 数组与指针96
  • 用数组实现clear96
  • 用指针实现clear97
  • 比较两个版本的clear97
  • 高级内容:编译C语言和解释Java语言98
  • 实例:ARMv7(32位)指令集98
  • 寻址模式 99
  • 比较和条件分支 100
  • ARM的特色 100
  • 实例:x86 指令集 102
  • Intel x86 的改进102
  • x86寄存器和数据寻址模式103
  • x86整数操作105
  • x86指令编码107
  • x86总结108
  • 实例:ARMv8(64位)指令集108
  • 谬误与陷阱109
  • 本章小结110
  • 历史观点和拓展阅读111
  • 练习题112
  • 计算机的算术运算117
  • 引言117
  • 加法和减法117
  • 乘法121
  • 顺序的乘法算法和硬件121
  • 有符号乘法124
  • 更快速的乘法124
  • MIPS中的乘法124
  • 小结125
  • 除法125
  • 除法算法及其硬件结构 125
  • 有符号除法 128
  • 更快速的除法 128
  • MIPS中的除法 129
  • 小结 129
  • 浮点运算 130
  • 浮点表示 131
  • 浮点加法 135
  • 浮点乘法 138
  • MIPS中的浮点指令 139
  • 算术精确性 145
  • 小结 146
  • 并行性和计算机算术:子字并行 148
  • 实例:x86中流处理SIMD扩展和高级向量扩展 149
  • 加速:子字并行和矩阵乘法 150
  • 谬误与陷阱 153
  • 本章小结 155
  • 历史观点和拓展阅读 158
  • 练习题 159
  • 处理器 162
  • 引言162
  • 逻辑设计的一般方法 165
  • 建立数据通路 167
  • 一个简单的实现机制 173
  • ALU控制 173
  • 主控制单元的设计 175
  • 为什么不使用单周期实现方式 181
  • 流水线概述 182
  • 面向流水线的指令集设计 186
  • 流水线冒险 186
  • 对流水线概述的小结 191
  • 流水线数据通路及其控制 192
  • 图形化表示的流水线 200
  • 流水线控制 203
  • 数据冒险:旁路与阻塞 206
  • 控制冒险 214
  • 假定分支不发生 215
  • 缩短分支的延迟 215
  • 动态分支预测 216
  • 流水线小结 220
  • 异常 221
  • MIPS体系结构中的异常处理 221
  • 在流水线实现中的异常 222
  • 指令级并行 226
  • 推测的概念 227
  • 静态多发射处理器 227
  • 动态多发射处理器231
  • 能耗效率与高级流水线233
  • 实例:ARM Cortex-A8和Intel Core i7流水线234
  • ARM Cortex-A8235
  • Intel Core i7 920236
  • Intel Core i7 920的性能238
  • 运行更快:指令级并行和矩阵乘法240
  • 高级主题:通过硬件设计语言描述和建模流水线来介绍数字设计以及更多流水线示例242
  • 谬误与陷阱242
  • 本章小结243
  • 历史观点和拓展阅读243
  • 练习题243
  • 大容量和高速度:开发存储器层次结构252
  • 引言252
  • 存储器技术255
  • SRAM技术256
  • DRAM技术256
  • 闪存258
  • 磁盘存储器258
  • cache的基本原理259
  • cache访问261
  • cache缺失处理265
  • 写操作处理266
  • 一个cache的例子:内置FastMATH处理器267
  • 小结269
  • cache性能的评估和改进270
  • 通过更灵活地放置块来减少cache缺失272
  • 在cache中查找一个块275
  • 替换块的选择276
  • 使用多级cache结构减少缺失代价277
  • 通过分块进行软件优化280
  • 小结283
  • 可信存储器层次283
  • 失效的定义283
  • 纠正一位错、检测两位错的汉明编码(SEC/DED)284
  • 虚拟机287
  • 虚拟机监视器的必备条件289
  • 指令集系统结构(缺乏)对虚拟机的支持289
  • 保护和指令集系统结构289
  • 虚拟存储器290
  • 页的存放和查找293
  • 缺页故障294
  • 关于写297
  • 加快地址转换:TLB297
  • 集成虚拟存储器、TLB和cache 300
  • 虚拟存储器中的保护302
  • 处理TLB缺失和缺页303
  • 小结307
  • 存储器层次结构的一般框架309
  • 问题1:一个块可以被放在何处309
  • 问题2:如何找到一个块310
  • 问题3:当cache缺失时替换哪一块311
  • 问题4:写操作如何处理311
  • 3C:一种理解存储器层次结构行为的直观模型312
  • 使用有限状态机来控制简单的cache314
  • 一个简单的cache314
  • 有限状态机315
  • 一个简单的cache控制器的有限状态机316
  • 并行与存储器层次结构:cache一致性317
  • 实现一致性的基本方案318
  • 监听协议319
  • 并行与存储器层次结构:冗余廉价磁盘阵列320
  • 高级内容:实现cache控制器320
  • 实例:ARM Cortex-A8和Intel Core i7的存储器层次结构320
  • 运行更快:cache分块和矩阵乘法324
  • 谬误和陷阱326
  • 本章小结329
  • 历史观点和拓展阅读329
  • 练习题329
  • 从客户端到云的并行处理器340
  • 引言340
  • 创建并行处理程序的难点342
  • SISD、MIMD、SIMD、SPMD和向量机345
  • 在x86中的SIMD:多媒体扩展346
  • 向量机346
  • 向量与标量的对比347
  • 向量与多媒体扩展的对比348
  • 硬件多线程350
  • 多核和其他共享内存多处理器352
  • 图形处理单元简介355
  • NVIDIA GPU体系结构简介356
  • NVIDIA GPU存储结构357
  • GPU展望358
  • 集群、仓储级计算机和其他消息传递多处理器360
  • 多处理器网络拓扑简介363
  • 与外界通信:集群网络366
  • 多处理器测试集程序和性能模型366
  • 性能模型368
  • Roofline模型369
  • 两代Opteron的比较370
  • 实例:评测Intel Core i7 960和NVIDIA Tesla GPU的Roofline模型373
  • 运行更快:多处理器和矩阵乘法376
  • 谬误与陷阱378
  • 本章小结379
  • 历史观点和拓展阅读381
  • 练习题382
  • 汇编器、链接器和SPIM仿真器389
  • 逻辑设计基础437
  • 索引494

书摘

有很多人看我,都没有摘!

微信公众号

有课学公众号
  • 微信公众号: geekdaxue