猜你喜欢
计算机组成与设计:硬件/软件接口  RISC-V版(原书第2版)

计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)

书籍作者:戴维·A.帕特森 ISBN:9787111727972
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2115
创建日期:2024-04-16 发布日期:2024-04-16
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
本书由2017年图灵奖得主Patterson和Hennessy共同撰写,是计算机体系结构领域的经典书籍,强调软硬件协同设计及其对性能的影响。本书采用开源的RISC-V指令系统体系结构, 讲解硬件技术、指令、算术运算、流水线、存储层次、I/O以及并行处理器等。第2版将RV64切换为RV32以降低学习难度,新增关于领域定制体系结构(DSA)的讨论以反映新的技术趋势。此外,每一章都增加了“性能提升”和“自学”章节,并更新了大量练习题。本书适合计算机体系结构领域的专业技术人员参考,也适合高等院校计算机相关专业的学生阅读。
作者简介

David Patterson is the Pardee Professor of Computer Science, Emeritus at the University of California at Berkeley, which he joined after graduating from UCLA in 1977.His teaching has been honored by the Distinguished Teaching Award from the University of California, the Karlstrom Award from ACM, and the Mulligan Education Medal and Undergraduate Teaching Award from IEEE. Prof. Patterson received the IEEE Technical Achievement Award and the ACM Eckert-Mauchly Award for contributions to RISC, and he shared the IEEE Johnson Information Storage Award for contributions to RAID. He also shared the IEEE John von Neumann Medal and the C & C Prize with John Hennessy. Like his co-author, Prof. Patterson is a Fellow of the American Academy of Arts and Sciences, the Computer History Museum, ACM, and IEEE, and he was elected to the National Academy of Engineering, the National Academy of Sciences, and the Silicon Valley Engineering Hall of Fame. He served on the Information Technology Advisory Committee to the U.S. President, as chair of the CS division in the Berkeley EECS department, as chair of the Computing Research Association, and as President of ACM. This record led to Distinguished Service Awards from ACM, CRA, and SIGARCH.

John L. Hennessy is a Professor of Electrical Engineering and Computer Science at Stanford University, where he has been a member of the faculty since 1977 and was, from 2000 to 2016, its tenth President. Prof. Hennessy is a Fellow of the IEEE and ACM; a member of the National Academy of Engineering, the National Academy of Science, and the American Philosophical Society; and a Fellow of the American Academy of Arts and Sciences. Among his many awards are the 2001 Eckert-Mauchly Award for his contributions to RISC technology, the 2001 Seymour Cray Computer Engineering Award, and the 2000 John von Neumann Award, which he shared with David Patterson. He has also received seven honorary doctorates.

编辑推荐
适读人群 :高等院校计算机相关专业学生,体系结构领域研究人员
本书由图灵奖得主Patterson和Hennessy联袂撰写,是计算机体系结构新黄金时代必读之作。根据读者的需求,这一版将RV64切换为RV32,减少10条指令,降低学习难度;新增关于领域定制体系结构(DSA)的讨论,使用Google的TPUv1作为示例,还新增了TPUv3 DSA超级计算机与NVIDIA Volta GPU集群的比较;每一章都增加了“性能提升”一节,分别采用数据级并行、指令级并行、线程级并行等方法,仅增加21行代码便使矩阵乘法程序加速近50 000倍,直观呈现出硬件对提高能效的重要性。
前言
前 言
Computer Organization and Design: The Hardware/Software Interface, RISC-V Edition, Second Edition
我们能体验的最美好的事情莫过于神秘,它是所有真实的艺术和科学的源泉。
—阿尔伯特·爱因斯坦,《我的信仰》,1930年
关于本书
我们认为,在学习计算机科学与工程时,除了掌握计算的基本原理外,还应该了解该领域的最新进展。同时,我们还认为,各种计算领域中的读者都应学习计算机系统的组成理论,因为这是决定计算机系统的功能、性能、能耗甚至最终成功的关键。
现代计算机技术需要各个计算领域的专业人员对计算机软件和硬件都有所了解。软硬件在不同层次上的相互影响,恰好也提供了一个理解计算基础的框架。不管你的关注点是硬件还是软件,专业是计算机科学还是电气工程,计算机组成和设计的核心思想都是相同的。因此,本书的重点是展示硬件和软件之间的关系,并重点关注现代计算机的基本概念。
本书从MIPS版的第1版起就提出了以上观点,最近从单处理器向多核微处理器的转变再一次印证了这个颇有远见的观点。然而,程序员无视我们的忠告,不想改造程序,只想依赖计算机体系结构设计者、编译器设计者或者芯片设计者来让自己的程序运行得更快、更高效—这样的时代已经一去不复返了。为了运行得更快,需要把程序改造成并行的。让程序员尽可能不知道他们正在使用的底层硬件的并行属性是许多研究者的目标,但这需要花费很长时间才能实现。我们的观点是,至少在接下来的十年里,如果想让程序在并行计算机上运行得更为高效,大多数程序员还是需要了解硬件/软件接口的。
本书的读者包括:不了解汇编语言或者逻辑设计,但需要了解计算机基本组成的人;具有汇编语言或者逻辑设计背景,但想学习如何设计计算机或者想搞清楚系统的工作原理
的人。
关于另一本书
有些读者可能熟悉我们的另一本书——Computer Architecture: A Quantitative Approach
(《计算机体系结构:量化研究方法》,后文简称为《量化研究》)。该书已广为流传,经常以作者的姓名命名,称为“Hennessy和Patterson”(本书则常被称为“Patterson和Hennessy”)。我们写《量化研究》的动机是,希望能够使用坚实的工程基础、量化的成本/性能折中来描述计算机体系结构的基本原则。我们使用的方法是,基于商业系统,将实例与评估相结合,建立真实的设计体验。我们的目标是,证实可以使用量化分析方法而不是描述性方法来学习计算机体系结构。希望这一方法有助于培养能深入理解计算机的专业人才。
本书的大多数读者并不一定要成为计算机体系结构设计者。但是,未来软件系统的性能和能效,很大程度上取决于软件设计者对所使用系统的基本硬件技术的了解程度。因此,编译器设计者、操作系统设计者、数据库程序员以及大多数其他软件设计者需要对本书中提到的基本原则有深入的理解。同样,硬件设计者也需要清楚地知道自己的设计对软件应用程序的影响。
因此,本书不仅仅是《量化研究》一书的子集,而是进行了大幅修订以满足不同读者的需要。我们非常高兴地看到《量化研究》的后续版本也在不断修订,删除了大量的介绍性材料。相比第1版,此后两本书之间的内容重叠会越来越少。
关于RISC-V版本
选择合适的指令系统对于计算机体系结构教材来说至关重要。不管是不是主流指令系统,我们都不希望介绍那些具有不必要的新奇特性的指令系统。理想情况是,你学习的第一个指令系统应该是一个典范,就像你的初恋一样。令人惊讶的是,你学习的第一个指令系统和你的初恋都会令你分外怀念。
由于当时有太多选择,所以在《量化研究》的第1版中我们提出了自己的RISC风格指令系统。之后,MIPS指令系统因简洁的风格而日益受到关注,我们在本书MIPS版的第1版时选择了它,并且《量化研究》的后续版本也是如此。MIPS一直为我们和读者提供了很好的服务。
多年来,使用MIPS指令系统的芯片数以亿计,并且还在不断生产出来。它们一般用于嵌入式设备,而该领域的指令系统几乎不可见。因此,目前很难找到一台真实的计算机,让读者能够下载并运行MIPS程序。
好消息是,最近一个开放的RISC指令系统首次亮相,并快速获得了不少追捧者。它就是由加州大学伯克利分校(UC Berkeley)开发的RISC-V指令系统,它不仅消除了MIPS指令系统的弊病,而且还具备指令系统应有的简洁、优雅和现代的特点。
此外,RISC-V指令系统不是闭源的,它提供了一套开源的模拟器、编译器、调试器等,这些都很容易获得。它甚至还提供使用硬件描述语言编写的开源的RISC-V处理器实现,而且,2020年还引入了基于RISC-V的低成本开发板,相当于树莓派(Raspberry Pi),而MIPS指令系统则不具备这些资源。读者不仅可以学习这些设计,还能修改它们并贯穿整个实现流程,以充分了解这些修改对性能、晶片面积和能耗方面的影响。
这对于计算产业和教育行业来说是一个令人激动的机会。截止到写这篇前言之时,已经有300多家公司加入RISC-V基金会,赞助商名单几乎囊括了除ARM和Intel以外的所有主要厂商,包
目录
目 录
Computer Organization and Design: The Hardware/Software Interface, RISC-V Edition, Second Edition
赞誉
译者序
前言
作者简介
第1章 计算机抽象及相关技术 1
1.1 引言 1
1.1.1 传统的计算应用分类及其特点 2
1.1.2 欢迎来到后PC时代 3
1.1.3 你能从本书中学到什么 4
1.2 计算机体系结构中的7个伟大思想 6
1.2.1 使用抽象简化设计 6
1.2.2 加速经常性事件 6
1.2.3 通过并行提高性能 7
1.2.4 通过流水线提高性能 7
1.2.5 通过预测提高性能 7
1.2.6 存储层次 7
1.2.7 通过冗余提高可靠性 7
1.3 程序表象之下 8
1.4 箱盖后的硬件 10
1.4.1 显示器 11
1.4.2 触摸屏 12
1.4.3 打开机箱 13
1.4.4 数据安全 15
1.4.5 与其他计算机通信 16
1.5 处理器和存储制造技术 17
1.6 性能 20
1.6.1 性能的定义 20
1.6.2 性能的度量 22
1.6.3 CPU性能及其度量因素 23
1.6.4 指令性能 24
1.6.5 经典的CPU性能公式 25
1.7 功耗墙 28
1.8 沧海巨变:从单处理器向多处理器
转变 30
1.9 实例:评测Intel Core i7 32
1.9.1 SPEC CPU基准评测程序 32
1.9.2 SPEC功耗基准评测程序 34
1.10 性能提升:使用Python语言编写
矩阵乘法程序 34
1.11 谬误与陷阱 35
1.12 本章小结 37
1.13 历史视角和拓展阅读 39
1.14?自学 39
1.15 练习 41
第2章 指令:计算机的语言 46
2.1 引言 46
2.2 计算机硬件的操作 48
2.3 计算机硬件的操作数 50
2.3.1 存储器操作数 51
2.3.2 常数或立即数操作数 53
2.4 有符号数与无符号数 54
2.5 计算机中的指令表示 59
2.6 逻辑操作 65
2.7 用于决策的指令 67
2.7.1 循环 68
2.7.2 边界检查的简便方法 70
2.7.3 case/switch语句 70
2.8 计算机硬件对过程的支持 71
2.8.1 使用更多的寄存器 72
2.8.2 嵌套过程 74
2.8.3 在栈中为新数据分配空间 75
2.8.4 在堆中为新数据分配空间 76
2.9 人机交互 78
2.10 对大立即数的RISC-V编址和
寻址 82
2.10.1 大立即数 82
2.10.2 分支中的寻址 83
2.10.3 RISC-V寻址模式总结 85
2.10.4 机器语言译码 86
2.11 并行性与指令:同步 88
2.12 翻译并启动程序 90
2.12.1 编译器 90
2.12.2 汇编器 90
2.12.3 链接器 92
2.12.4 加载器 94
2.12.5 动态链接库 94
2.12.6 启动Java程序 96
2.13 以C排序程序为例的汇总整理 97
2.13.1 swap过程 97
2.13.2 sort过程 98
2.14 数组与指针 102
2.14.1 用数组实现clear 103
2.14.2 用指针实现clear 104
2.14.3 比较两个版本的clear 105
2.15 高级专题:编译C语言和解释
Java语言 105
2.16 实例:MIPS指令 105
2.17 实例:ARMv7(32位)指令 106
2.17.1?寻址模式 107
2.17.2?比较和条件分支指令 108
2.17.3?ARM的独特之处 108
2.18 实例:ARMv8(64位)指令 109
2.19 实例:x86指令 109
2.19.1 Intel x86的演变 110
2.19.2 x86寄存器和寻址模式 111
2.19.3 x86整数操作 113
2.19.4 x86指令编码 115
2.19.5 x86总结 116
2.20 实例:RISC-V指令系统的剩余
部分 116
2.21 性能提升:使用C语言编写矩阵
乘法程序 117
2.22 谬误与陷阱 118
2.23 本章小结 120
2.24 历史视角和扩展阅读 122
2.25?自学 122
2.26 练习 124
第3章 计算机的算术运算 130
3.1 引言 130
3.2 加法和减法 130
3.3 乘法 133
3.3.1 串行版的乘法算法及其硬件
实现 133
3.3.2 带符号乘法 136
3.3.3 快速乘法 136
3.3.4 RISC-V中的乘法 136
3.3.5 总结 137
3.4 除法 137
3.4.1 除法算法及其硬件实现 137
3.4.2 有符号除法 140
3.4.3 快速除法 140
3.4.4 RISC-V中的除法 141
3.4.5 总结 141
3.5 浮点运算 142
3.5.1 浮点表示 143
3.5.2 例外和中断 144
3.5.3 IEEE 754浮点数标准 144
3.5.4 浮点加法 147
3.5.5 浮点乘法 150
3.5.6 RISC-V中的浮点指令 153
3.5.7 精确算术 157
3.5.8 总结 159
3.6 并行性与计算机算术:子字并行 160
3.7 实例:x86中的SIMD扩展和高级
向量扩展 160
3.8 性能提升:子字并行和矩阵乘法 162
3.9 谬误与陷阱 163
3.10 本章小结 1
短评

2023-08-30 20:48:46

**计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)** 计算机科学领域一直在不断发展和演变,每一次的飞跃都为我们带来了更加先进和高效的计算机系统。在这个领域中,计算机组成与设计一直占据着至关重要的位置。而在硬件与软件之间的接口则是这一领域的关键。《计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)》是一本探讨这一主题的重要教材,它基于RISC-V架构,为学习者提供了深入了解计算机系统内部工作原理的机会。 ### RISC-V:开放的指令集架构 在谈论《计算机组成与设计:硬件/软件接口 RISC-V版》之前,让我们首先了解一下RISC-V是什么。RISC-V是一种开放的指令集架构,与传统的封闭指令集架构(如x86和ARM)不同,它的设计是开放的,任何人都可以使用它,因此它受到了广泛的关注和采用。这种开放性使得RISC-V成为了一个理想的学习和研究计算机组成原理的平台。 ### 书籍概览 《计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)》由David A. Patterson和John L. Hennessy合著,是他们著名的《计算机组成与设计》系列的最新版本。该书不仅提供了深入的理论知识,还包含了大量的实际案例和练习,以帮助读者更好地理解和应用所学知识。 第2版的主要亮点包括: 1. **RISC-V架构重点**: 与第1版相比,第2版更加专注于RISC-V架构,这是一个开放、精简、可扩展的指令集架构。这种架构的设计使得读者能够更容易地理解和实验计算机系统的各个方面。 2. **实际案例**: 书中包含了大量的实际案例,涵盖了计算机组成和设计的各个方面,从处理器架构到存储系统,再到操作系统和编程接口。这些案例使读者能够将理论知识应用到实际情境中。 3. **更新的内容**: 第2版还包括了最新的计算机科学发展,包括多核处理器、虚拟化技术和云计算等领域的内容。这确保了读者能够获得最新的知识。 ### 谁适合阅读这本书? 《计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)》适合各个级别的读者,包括计算机科学专业的本科生和研究生,以及对计算机硬件与软件接口感兴趣的自学者和爱好者。无论你是初学者还是有一定经验的计算机科学家,这本书都将为你提供有关计算机组成原理的深入见解。 ### 结论 计算机科学的发展日新月异,了解计算机组成原理和硬件与软件接口是每个计算机科学家的基本要求。《计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)》是一本极其有价值的教材,它基于RISC-V架构,为读者提供了一个深入研究计算机系统内部工作原理的机会。这本书不仅有助于理论知识的学习,还提供了丰富的实际案例,帮助读者将所学知识应用到实际中。如果你对计算机组成原理感兴趣,那么这本书绝对值得一读。

2023-09-05 10:11:15