索引 / 001 ZH-TW
計算機組成與設計 cover

工程學

工程學

計算機組成與設計

David Patterson et al.

英文原名: Computer Organization and Design

一本計算機結構教科書,涵蓋處理器設計、記憶體系統與電腦效能,附有硬體/軟體介面層面的實例,並討論多核心處理器。

難度等級
中級
學術層次
大學部
計算機體系結構處理器設計記憶體系統計算機性能組合語言流水線設計快取記憶體平行處理

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 教程,並參考按章編排的歷史回顧以瞭解背景。