01 / 导读
导读
引用
Patterson, D. A., & Hennessy, J. L. (2017). Computer Organization and Design RISC-V Edition: The Hardware/Software Interface (1st ed.). Morgan Kaufmann.
章节概要
这是 Patterson 与 Hennessy 教材的 RISC-V 版(ISBN 978-0-12-812275-4),Elsevier 标注为696页,共六章和四个附录。出版社介绍称,本版采用 RISC-V,这是一种开源指令集架构,面向云计算、移动设备和嵌入式系统等现代计算环境。介绍还说,全书转向后 PC 时代,例子、习题和材料突出移动计算与云,并更新了平板电脑、云基础设施以及 x86 和 ARM 架构方面的内容。进阶内容、其余附录、术语表、参考文献和推荐阅读放在在线配套网站上。
第1章:计算机抽象与技术
开篇章节建立这一领域的词汇,呼应本书的副标题“硬件/软件接口”:计算机如何在多个抽象层次上被描述,以及其背后有哪些技术。
第2章:指令:计算机的语言
指令集一章。在本版中,所讲的指令是 RISC-V 的指令,也就是出版社点明的本版特色架构。
第3章:计算机算术
计算机如何表示数,以及如何在硬件中完成算术运算。
第4章:RISC-V 处理器
处理器一章,以它所实现的指令集命名;内容涉及实现第2章指令集的处理器。
第5章:又大又快:利用存储层次
存储系统一章。配套网站提到第5.12节,并提供一个可下载的测试用例模块,内含 SystemVerilog 代码,可用来在 FPGA 上构建缓存和缓存控制器。
第6章:从客户端到云的并行处理器
最后一章从单个处理器转向并行系统,与出版社对移动和云计算的强调相呼应。
附录A–D
附录A为“逻辑设计基础”;其余为附录B“图形与图形计算GPU”,附录C“把控制映射到硬件”,以及附录D“面向桌面、服务器和嵌入式计算机的RISC架构概览”。配套网站在可下载的PDF中列出了附录B–D,同时提供术语表、索引以及按章组织的延伸阅读。
核心概念
第1–3章:硬件/软件接口
- 抽象与技术:第1章标题所指的主题,是本书副标题“硬件/软件接口”的起点。
- 指令集架构:软件与硬件之间的约定;此处为 RISC-V。
- 计算机算术:第3章的主题。
第4–6章:实现
- 处理器数据通路与控制:第4章的主题,附录C讨论控制到硬件的映射。
- 存储层次:第5章“又大又快”的权衡,包括缓存。
- 并行处理器:第6章从单处理器转向“从客户端到云”的系统。
附录
- 逻辑设计:附录A,处理器各章所需的数字逻辑基础。
- GPU与RISC家族:附录B和附录D的主题。
评析
优点
- 自始至终使用一种开放的指令集。 出版社把 RISC-V 描述为第一个为现代计算环境设计的开源架构,因此读者使用的是公开文档化、不绑定某一厂商的指令集。
- 包含逻辑基础。 目录把“逻辑设计基础”放在附录A,因此没有单独修过数字逻辑课的读者在同一册书里就有了起点;其余三个附录在配套网站上。
- 配套材料丰富。 出版社的配套网站为每章提供历史回顾与延伸阅读、进阶内容小节、RISC-V 参考数据卡(“绿卡”)、VHDL 和 Verilog 教程、讲课幻灯片、勘误表以及缓存测试用例模块,因此可以开展基于 FPGA 的动手实践。
- 读者定位明确。 Elsevier 给出的读者对象是计算机科学、计算机工程和电气工程专业的本科生,课程从二年级必修课到高年级选修课均可,也包括专业的系统设计人员和开发人员。
局限
- 只有一种架构。 由于处理器一章建立在 RISC-V 之上,想看 MIPS 或 ARM 具体实现的读者需要另选版本;Elsevier 也出版了 ARM 版。
- 部分内容在线上。 附录B–D、进阶内容小节和历史回顾放在配套网站上,只有纸本的读者得到的是其中一部分。
- 并非最新版。 Elsevier 页面标明有更新的版本(已有第二版 RISC-V 版),因此课程大纲中的页码和章节号可能与本版不同。
在课程中的定位
在书单中的电路与电子学图书里,这是唯一一本讲计算机如何组织、而非电路与器件如何工作的书。Agarwal 和 Lang 的 Foundations of Analog and Digital Electronic Circuits 与 Storey 的 Electronics: A Systems Approach 都含有数字电路内容,是逻辑层面背景知识的天然搭档;Howe 和 Sodini 的 Microelectronics: An Integrated Approach 则下沉到构成处理器的器件。
Alexander 和 Sadiku 的 Fundamentals of Electric Circuits 以及 Scherz 和 Monk 的 Practical Electronics for Inventors 应放在前面或同时阅读,Hayt 和 Buck 的 Engineering Electromagnetics 则是另一条场论线索。Patterson 和 Hennessy 这本书最好在程序设计入门课和数字逻辑课之后阅读,它是电路层面与软件层面两种图景的汇合点。
如何使用本书
本书面向计算机科学、计算机工程和电气工程专业的本科生;按 Elsevier 的读者名单,也面向专业的系统设计人员、程序员和开发人员。具备一些编程经验、初步了解逻辑门会更轻松;附录A补充逻辑基础。
实用安排:
- 核心: 先读第1章和第2章,然后依次读第3章和第4章。学习 RISC-V 指令集时,把参考“绿卡”放在手边。
- 接着: 读第5章;如果课程可以使用 FPGA,则配合缓存测试用例模块。
- 然后: 读第6章了解并行系统;如果课程涉及图形处理器,则读附录B。
- 同时: 如果打算实现数据通路,可使用配套网站上的 Verilog 或 VHDL 教程,并参考按章编排的历史回顾以了解背景。
