幫助中心 | 我的帳號 | 關於我們

電腦組成與設計(硬體\軟體介面RISC-V版原書第2版)/電腦科學叢書

  • 作者:(美)戴維·A.帕特森//約翰·L.亨尼斯|責編:曲熠|譯者:易江芳//劉先華
  • 出版社:機械工業
  • ISBN:9787111727972
  • 出版日期:2023/07/01
  • 裝幀:平裝
  • 頁數:493
人民幣:RMB 169 元      售價:
放入購物車
加入收藏夾

內容大鋼
    現代電腦技術需要各個計算領域的專業人員對電腦軟體和硬體都有所了解。軟硬體在不同層次上的相互影響,恰好也提供了一個理解計算基礎的框架。不管你的關注點是硬體還是軟體,專業是電腦科學還是電氣工程,電腦組成和設計的核心思想都是相同的。因此,本書的重點是展示硬體和軟體之間的關係,並重點關注現代電腦的基本概念。
    本書從MIPS版的第1版起就提出了以上觀點,最近從單處理器向多核微處理器的轉變再一次印證了這個頗有遠見的觀點。然而,程序員無視我們的忠告,不想改造程序,只想依賴電腦體系結構設計者、編譯器設計者或者晶元設計者來讓自己的程序運行得更快、更高效——這樣的時代已經一去不復返了。為了運行得更快,需要把程序改造成並行的。讓程序員盡可能不知道他們正在使用的底層硬體的並行屬性是許多研究者的目標,但這需要花費很長時間才能實現。我們的觀點是,至少在接下來的十年裡,如果想讓程序在並行電腦上運行得更為高效,大多數程序員還是需要了解硬體/軟體介面的。
    本書的讀者包括:不了解彙編語言或者邏輯設計,但需要了解電腦基本組成的人;具有彙編語言或者邏輯設計背景,但想學習如何設計電腦或者想搞清楚系統的工作原理的人。

作者介紹
(美)戴維·A.帕特森//約翰·L.亨尼斯|責編:曲熠|譯者:易江芳//劉先華

目錄
讚譽
譯者序
前言
作者簡介
第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體系結構中如何處理例外
    4.10.2  流水線實現中的例外
  4.11  指令間的並行性
    4.11.1  推測的概念
    4.11.2  靜態多發射
    4.11.3  動態多發射處理器
    4.11.4  能效和高級流水線
  4.12  實例:ARM Cortex-A53和Intel Core i
    4.12.1  ARM Cortex
    4.12.2  A53流水線的性能
    4.12.3  Intel Core i
    4.12.4  Intel Core i7處理器的性能
  4.13  性能提升:指令級並行和矩陣乘法
  4.14  高級專題:數字設計概述—使用硬體設計語言進行流水線建模以及更多流水線示例
  4.15  謬誤與陷阱
  4.16  本章小結
  4.17  歷史視角和拓展閱讀
  4.18  自學
  4.19  練習
第5章  大而快:層次化存儲
  5.1  引言
  5.2  存儲技術
    5.2.1  SRAM存儲技術
    5.2.2  DRAM存儲技術
    5.2.3  快閃記憶體
    5.2.4  磁碟
  5.3  cache基礎
    5.3.1  cache訪問
    5.3.2  處理cache失效
    5.3.3  處理寫操作
    5.3.4  cache實例:Intrinsity FastMATH 處理器
    5.3.5  總結
  5.4  cache的性能評估和改進
    5.4.1  使用更為靈活的替換策略降低cache失效率
    5.4.2  在cache中查找數據塊
    5.4.3  選擇替換的數據塊
    5.4.4  使用多級cache減少失效代價
    5.4.5  通過分塊進行軟體優化
    5.4.6  總結

  5.5  可靠的存儲器層次
    5.5.1  失效的定義
    5.5.2  糾正1位錯、檢測2位錯的漢明編碼
  5.6  虛擬機
    5.6.1  虛擬機監視器的必備條件
    5.6.2  指令系統體系結構(缺乏)對虛擬機的支持
    5.6.3  保護和指令系統體系結構
  5.7  虛擬存儲
    5.7.1  頁的存放和查找
    5.7.2  缺頁失效
    5.7.3  支持大虛擬地址空間的虛擬存儲
    5.7.4  關於寫
    5.7.5  加快地址轉換:TLB
    5.7.6  Intrinsity FastMATH TLB
    5.7.7  集成虛擬存儲、TLB和cache
    5.7.8  虛擬存儲中的保護
    5.7.9  處理TLB失效和缺頁失效
    5.7.10  總結
  5.8  存儲層次結構的一般框架
    5.8.1  問題一:塊放在何處
    5.8.2  問題二:如何找到塊
    5.8.3  問題三:當cache發生失效時替換哪一塊
    5.8.4  問題四:寫操作如何處理
    5.8.5  3C:一種理解存儲層次結構的直觀模型
  5.9  使用有限狀態自動機控制簡單的cache
    5.9.1  一個簡單的cache
    5.9.2  有限狀態自動機
    5.9.3  使用有限狀態自動機作為簡單的cache控制器
  5.10  並行和存儲層次結構:cache一致性
    5.10.1  實現一致性的基本方案
    5.10.2  監聽協議
  5.11  並行與存儲層次結構:廉價磁碟冗余陣列
  5.12  高級專題:實現cache控制器
  5.13  實例:ARM Cortex-A53和Intel Core i7的存儲層次結構
  5.14  實例:RISC-V系統的其他部分和特殊指令
  5.15  性能提升:cache分塊和矩陣乘法
  5.16  謬誤與陷阱
  5.17  本章小結
  5.18  歷史視角和拓展閱讀
  5.19  自學
  5.20  練習
第6章  並行處理器:從客戶端到雲
  6.1  引言
  6.2  創建並行處理程序的難點
  6.3  SISD、MIMD、SIMD、SPMD和向量機
    6.3.1  x86中的SIMD:多媒體擴展
    6.3.2  向量機
    6.3.3  向量與標量
    6.3.4  向量與多媒體擴展
  6.4  硬體多線程

  6.5  多核及其他共享內存多處理器
  6.6  GPU簡介
    6.6.1  NVIDIA GPU體系結構簡介
    6.6.2  NVIDIA GPU存儲結構
    6.6.3  對GPU的展望
  6.7  領域定製體系結構
  6.8  集群、倉儲級電腦和其他消息傳遞多處理器
  6.9  多處理器網路拓撲簡介
  6.10  與外界通信:集群網路
  6.11  多處理器測試基準和性能模型
    6.11.1  性能模型
    6.11.2  Roofline模型
    6.11.3  兩代Opteron的比較
  6.12  實例:評測Google TPUv3超級電腦和NVIDIA Volta GPU集群
    6.12.1  深度學習神經網路的訓練和推理
    6.12.2  領域定製體系結構的超級電腦網路
    6.12.3  領域定製體系結構的超級電腦節點
    6.12.4  領域定製體系結構的計算
    6.12.5  TPUv3領域定製體系結構與Volta GPU的比較
    6.12.6  性能
  6.13  性能提升:多處理器和矩陣乘法
  6.14  謬誤與陷阱
  6.15  本章小結
  6.16  歷史視角和拓展閱讀
  6.17  自學
  6.18  練習
附錄A  邏輯設計基礎
術語表
網路內容
  附錄B  圖形與計算GPU
  附錄C  將控制映射至硬體
  附錄D  指令集體系結構概述
  擴展閱讀

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032