計算機組成與設計:硬件/軟件接口 RISC-V 版 (原書第2版) Computer Organization and Design Risc-V Edition: The Hardware Software Interface, 2/e

Patterson, David A., Hennessy, John L. 易江芳//劉先華

買這商品的人也買了...

商品描述

本書由2017年圖靈獎得主Patterson和Hennessy共同撰寫,是計算機體系結構領域的經典書籍,強調軟硬件協同設計及其對性能的影響。
本書採用開源的RISC-V指令系統體系結構, 講解硬件技術、指令、算術運算、流水線、存儲層次、I/O以及並行處理器等。
第2版將RV64切換為RV32以降低學習難度,新增關於領域定制體系結構(DSA)的討論以反映新的技術趨勢。
此外,每一章都增加了“性能提升”和“自學”章節,並更新了大量練習題。
本書適合計算機體系結構領域的專業技術人員參考,也適合高等院校計算機相關專業的學生閱讀。

目錄大綱

讚譽
譯者序
前言
作者簡介
第1章計算機抽象及相關技術
1.1 引言
1.1.1 傳統的計算應用分類及其特點
1.1.2 歡迎來到後PC時代
1.1.3 你能從本書中學到什麼
1.2 計算機體系結構中的7個偉大思想
1.2.1 使用抽像簡化設計
1.2.2 加速經常性事件
1.2.3 通過並行提高性能
1.2.4 通過流水線提高性能
1.2.5 通過預測提高性能
1.2.6 存儲層次
1.2. 7 通過冗餘提高可靠性
1.3 程序表象之下
1.4 箱蓋後的硬件
1.4.1 顯示器
1.4.2 觸摸屏
1.4.3 打開機箱
1.4.4 數據安全
1.4.5 與其他計算機通信
1.5 處理器和存儲製造技術
1.6 性能
1.6.1 性能的定義
1.6.2 性能的度量
1.6.3 CPU性能及其度量因素
1.6.4 指令性能
1.6.5 經典的CPU性能公式
1.7 功耗牆
1.8 滄海巨變:從單處理器向多處理器轉變
1.9 實例:評測Intel Core i7
1.9.1 SPEC CPU基準評測程序
1.9.2 SPEC功耗基準評測程序
1.10 性能提升:使用Python語言編寫
矩陣乘法程序
1.11 謬誤與陷阱
1.12 本章小結
1.13 歷史視角和拓展閱讀
1.14 自學
1.15 練習
第2章指令:計算機的語言
2.1引言
2.2 計算機硬件的操作
2.3 計算機硬件的操作數
2.3.1 存儲器操作數
2.3.2 常數或立即數操作數
2.4 有符號數與無符號數
2.5 計算機中的指令表示
2.6 邏輯操作
2.7 用於決策的指令
2.7.1 循環
2.7.2 邊界檢查的簡便方法
2.7.3 case/switch語句
2.8 計算機硬件對過程的支持
2.8.1 使用更多的寄存器
2.8.2 嵌套過程
2.8.3 在棧中為新數據分配空間
2.8.4 在堆中為新數據分配空間
2.9 人機交互
2.10 對大立即數的RISC-V編址和尋址
2.10.1 大立即數
2.10.2 分支中的尋址
2.10.3 RISC-V尋址模式總結
2.10.4 機器語言譯碼
2.11 並行性與指令:同步
2.12翻譯並啟動程序
2.12.1 編譯器
2.12.2 彙編器
2.12.3 鏈接器
2.12.4 加載器
2.12.5 動態鏈接庫
2.12.6 啟動Java程序
2.13 以C排序程序為例的匯總整理
2.13.1 swap過程
2.13.2 sort過程
2.14 數組與指針
2.14.1 用數組實現clear
2.14.2 用指針實現clear
2.14.3 比較兩個版本的clear
2.15 高級專題:編譯C語言和解釋Java語言
2.16 實例:MIPS指令
2.17 實例:ARMv7(32位)指令
2.17.1 尋址模式
2.17.2 比較和條件分支指令
2.17.3 ARM的獨特之處
2.18 實例: ARMv8(64位)指令
2.19 實例:x86指令
2.19.1 Intel x86的演變
2.19.2 x86寄存器和尋址模式
2.19.3 x86整數操作
2.19.4 x86指令編碼
2.19.5 x86總結
2.20 實例:RISC-V指令系統的剩餘部分
2.21 性能提升:使用C語言編寫矩陣乘法程序
2.22 謬誤與陷阱
2.23 本章小結
2.24 歷史視角和擴展閱讀
2.25 ?自學
2.26 練習
第3章計算機的算術運算
3.1 引言
3.2 加法和減法
3.3 乘法
3.3 .1 串行版的乘法算法及其硬件實現
3.3.2 帶符號乘法
3.3.3 快速乘法
3.3.4 RISC-V中的乘法
3.3.5 總結
3.4 除法
3.4.1 除法算法及其硬件實現
3.4.2 有符號除法
3.4.3 快速除法
3.4.4 RISC-V中的除法
3.4.5 總結
3.5 浮點運算
3.5.1 浮點表示
3.5.2 例外和中斷
3.5.3 IEEE 754浮點數標準
3.5.4 浮點加法
3.5.5 浮點乘法
3.5.6 RISC-V中的浮點指令
3.5.7 精確算術
3.5.8 總結
3.6 並行性與計算機算術:子字並行
3.7 實例:x86中的SIMD擴展和高級向量擴展
3.8 性能提升:子字並行和矩陣乘法
3.9 謬誤與陷阱
3.10 本章小結
3.11 歷史視角和拓展閱讀
3.12 ?自學
3.13 練習
第4章處理器
4.1 引言
4.1.1 一種基本的RISC-V實現
4.1.2 實現概述
4.2 邏輯設計的一般方法
4.3 建立數據通路
4.4 一個簡單的實現方案
4.4.1 ALU控制
4.4.2 設計主控制單元
4.4.3 數據通路操作
4.4.4 控制的結束
4.4.5 為什麼現在不使用單週期實現
4.5 多周期實現
4.6 流水線概述
4.6.1 面向流水線的指令系統設計
4.6.2 流水線冒險
4.6.3 總結
4.7 流水線數據通路和控制
4.7.1 流水線的圖形化表示
4.7.2 流水線控制
4.8數據冒險:前遞與停頓
4.9 控制冒險
4.9.1 假設分支不發生
4.9.2 縮短分支延遲
4.9.3 動態分支預測
4.9.4 流水線總結
4.10 例外
4.10.1 RISC-V