計算機體係結構:量化研究方法(第5版) [Computer Architecture:A Quantitative]

計算機體係結構:量化研究方法(第5版) [Computer Architecture:A Quantitative] pdf epub mobi txt 電子書 下載 2025

[美] John L. Hennessy,[美] David A. Patterson 著,賈洪峰 譯
圖書標籤:
  • 計算機體係結構
  • 量化研究方法
  • 計算機科學
  • 高性能計算
  • 處理器設計
  • 存儲係統
  • 並行計算
  • VLSI
  • 性能評估
  • 硬件設計
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115297655
版次:5
商品編碼:11152134
包裝:平裝
叢書名: 圖靈程序設計叢書
外文名稱:Computer Architecture:A Quantitative
開本:16開
齣版時間:2013-01-01
用紙:膠版紙
正文語種:中文

具體描述

編輯推薦

  

  《計算機體係結構:量化研究方法(第5版)》可作為高等院校計算機專業本科生或研究生教材,也可作為從事計算機體係結構或計算機係統設計的工程技術人員的參考書。

內容簡介

《計算機體係結構:量化研究方法(第5版)》堪稱計算機係統結構學科的“聖經”,是計算機設計領域學生和從業者的必讀經典。在計算機體係結構的變革時期,作者在這一版中深入介紹瞭兩項新內容:新平颱(個人移動設備和倉庫級計算機)以及新體係結構(多核和GPU),同時還秉承瞭前幾版的做法,希望通過探討如何在成本、性能、能耗之間實現平衡,並重點關注一些優秀的工程設計實踐,從而揭去計算機體係結構的神秘麵紗。
《計算機體係結構:量化研究方法(第5版)》特色:
每章中的“融會貫通”小節關注瞭業界的各種新技術,包括ARM Cortex-A8、Intel Core i7、NVIDIA GTX-280和GTX-480 GPU,以及榖歌倉庫級計算機。
· 每章最後的“案例研究和練習”由業內和學術界的專傢編撰而成,主要探討該章的關鍵概念。
· “附錄”中收錄瞭正文內容所依賴的基本原則。

作者簡介

  John L. Hennessy,斯坦福大學校長,IEEE和ACM會士,美國國傢工程研究院院士及美國科學藝術研究院院士。Hennessy教授因為在RISC技術方麵做齣瞭突齣貢獻而榮獲2001年的Eckert-Mauchly奬章,他也是2001年Seymour Cray計算機工程奬得主,並且和David A.Patterson分享瞭2000年約翰 · 馮 · 諾依曼奬。

  David A. Patterson,加州大學伯剋利分校計算機科學係教授,美國國傢工程研究院院士,IEEE和ACM會士。他因為對RISC技術的貢獻而榮獲1995年IEEE技術成就奬,而在RAID技術方麵的成就為他贏得瞭1999年IEEE Reynold Johnson信息存儲奬。2000年他和John L. Hennessy分享瞭約翰 · 馮 · 諾依曼奬。

內頁插圖

精彩書評

  “《計算機體係結構:量化研究方法(第5版)》繼續發揚傳統,為學習計算機體係結構的學生提供瞭當前計算平颱的信息,使他們能夠洞悉體係結構,便於設計未來係統。這一版的亮點在於大幅修訂瞭數據級並行那一章,用傳統的體係結構術語清晰地解讀瞭GPU體係結構。”
  ——Krste Asanovi·,加州大學伯剋利分校
  
  “《計算機體係結構:量化研究方法》是一部經典,猶如美酒,曆久而彌醇。我在本科畢業時一次購買瞭本書,它到現在仍然是我經常參考的書籍之一。第4版問世時,我發現其中包含瞭如此之多的新材料,為瞭跟上這一領域的趨勢,我必須得再買一本。而當審閱第5版時,我發現Hennessy和Patterson再現神奇。全書內容都進行瞭大量更新,對於希望真正理解雲和倉庫級計算的人們來說,單憑第6章的內容,這個新版本就值得一讀。隻有Hennessy和Patterson纔可能接觸到榖歌、微軟等雲計算與互聯網規模的應用提供商的內部人士,對這一重要領域,業內的介紹材料無齣其右。”
  ——James Hamilton
  
  “Hennessy和Patterson撰寫本書的第一版時,研究生們是在用50 000個晶體管組裝計算機。今天,倉庫級的計算機集群會包含50 000個服務器,每個服務器中包含數十個處理器和數十億個晶體管。計算機體係結構一直在不停地快速發展,而《計算機體係結構:量化研究方法》緊跟它的步伐,每個版本都準確地解釋和分析瞭這一領域激動人心的重要思想。”
  ——James Larus,微軟研究院
  
  “這一版新增加瞭一章非常豐富的內容,用來討論嚮量、SIMD和GPU體係結構中的數據級並行技術。它解釋瞭應用於大眾市場的GPU內部的關鍵體係結構概念,給齣這些概念與傳統術語的對應關係,並與嚮量和SIMD體係結構進行瞭對比。這一內容非常及時,與業內轉嚮GPU並行計算的潮流相適應。《計算機體係結構:量化研究方法》繼續獨領風騷,全麵地介紹瞭體係結構方麵的重大新進展!”
  ——John Nickolls,NVIDIA
  
  “本書已經成為一本經典教科書瞭,這一版突齣介紹瞭各種顯式並行技術(數據、綫程、請求)的興起,各用整整一章來描述。數據並行一章尤為奪目:通過嚮量SIMD、指令級SIMD和GPU的對比,避開每種體係結構的專用術語,揭示瞭這些體係結構之間的相似與區彆。”
  ——Kunle Olukotun,斯坦福大學
  
  “《計算機體係結構:量化研究方法(第5版)》探討瞭各種並行概念和它們各自的技術權衡。和過去的幾個版本一樣,這一新版本中同樣涵蓋瞭技術發展趨勢。兩個重點是個人移動設備(PMD)和倉庫級計算(WSC)的爆炸性增長——與原來一味追求性能相比,這裏的焦點已經轉為更全麵地尋求性能與能效之間的平衡。這些趨勢刺激瞭人們不斷追求更強勁的處理能力,而這種追求又推動人們在並行道路上走得更遠。”
  ——Andrew N. Sloss,實施顧問,ARM公司 ARM System Developer’s Guide一書的作者

目錄

第1章  量化設計與分析基礎
1.1  引言
1.2  計算機的分類
1.2.1  個人移動設備
1.2.2  桌麵計算
1.2.3  服務器
1.2.4  集群/倉庫級計算機
1.2.5  嵌入式計算機
1.2.6  並行度與並行體係結構的分類
1.3  計算機體係結構的定義
1.3.1  指令集體係結構:計算機體係結構的近距離審視
1.3.2  真正的計算機體係結構:設計滿足目標和功能需求的組成和硬件
1.4  技術趨勢
1.4.1  性能趨勢:帶寬勝過延遲
1.4.2  晶體管性能與連綫的發展
1.5  集成電路中的功率和能耗趨勢
1.5.1  功率和能耗:係統觀點
1.5.2  微處理器內部的能耗和功率
1.6  成本趨勢
1.6.1  時間、産量和大眾化的影響
1.6.2  集成電路的成本
1.6.3  成本與價格
1.6.4  製造成本與運行成本
1.7  可信任度
1.8  性能的測量、報告和匯總
1.8.1  基準測試
1.8.2  報告性能測試結果
1.8.3  性能結果匯總
1.9  計算機設計的量化原理
1.9.1  充分利用並行
1.9.2  局域性原理
1.9.3  重點關注常見情形
1.9.4  Amdahl定律
1.9.5  處理器性能公式
1.10  融會貫通:性能、價格和功耗
1.11  謬論與易犯錯誤
1.12  結語
1.13  曆史迴顧與參考文獻
第2章  存儲器層次結構設計
2.1  引言
2.2  緩存性能的10種高級優化方法
2.2.1  第一種優化:小而簡單的第一級緩存,用以縮短命中時間、降低功率
2.2.2  第二種優化:采用路預測以縮短命中時間
2.2.3  第三種優化:實現緩存訪問的流水化,以提高緩存帶寬
2.2.4  第四種優化:采用無阻塞緩存,以提高緩存帶寬
2.2.5  第五種優化:采用多種緩存以提高緩存帶寬
2.2.6  第六種優化:關鍵字優先和提前重啓動以降低缺失代價
2.2.7  第七種優化:閤並寫緩衝區以降低缺失代價
2.2.8  第八種優化:采用編譯器優化以降低缺失率
2.2.9  第九種優化:對指令和數據進行硬件預取,以降低缺失代價或缺失率
2.2.10  第十種優化:用編譯器控製預取,以降低缺失代價或缺失率
2.2.11  緩存優化小結
2.3  存儲器技術與優化
2.3.1  SRAM技術
2.3.2  DRAM技術
2.3.3  提高DRAM芯片內部的存儲器性能
2.3.4  降低SDRAM中的功耗
2.3.5  閃存
2.3.6  提高存儲器係統的可靠性
2.4  保護:虛擬存儲器和虛擬機
2.4.1  通過虛擬存儲器提供保護
2.4.2  通過虛擬機提供保護
2.4.3  對虛擬機監視器的要求
2.4.4  虛擬機(缺少)的指令集體係結構支持
2.4.5  虛擬機對虛擬存儲器和I/O的影響
2.4.6  VMM實例:Xen虛擬機
2.5  交叉問題:存儲器層次結構的設計
2.5.1  保護和指令集體係結構
2.5.2  緩存數據的一緻性
2.6  融會貫通:ARM Cortex-A8和Intel Core i7中的存儲器層次結構
2.6.1  ARM Cortex-A8
2.6.2  Intel Core i7
2.7  謬論與易犯錯誤
2.8  結語:展望
2.9  曆史迴顧與參考文獻
第3章  指令級並行及其開發
3.1  指令級並行:概念與挑戰
3.1.1  什麼是指令級並行
3.1.2  數據相關與冒險
3.1.3  控製相關
3.2  揭示ILP的基本編譯器技術
3.2.1  基本流水綫調度和循環展開
3.2.2  循環展開與調度小結
3.3  用高級分支預測降低分支成本
3.3.1  競賽預測器:局部預測器與全局預測器的自適應聯閤
3.3.2  Intel Core i7分支預測器
3.4  用動態調度剋服數據冒險
3.4.1  動態調度:思想
3.4.2  使用Tomasulo算法進行動態調度
3.5  動態調度:示例和算法
3.5.1  Tomasulo算法:細節
3.5.2  Tomasulo算法:基於循環的示例
3.6  基於硬件的推測
3.7  以多發射和靜態調度來開發ILP
3.8  以動態調度、多發射和推測來開發ILP
3.9  用於指令傳送和推測的高級技術
3.9.1  提高指令提取帶寬
3.9.2  推測:實現問題與擴展
3.10  ILP局限性的研究
3.10.1  硬件模型
3.10.2  可實現處理器上ILP的局限性
3.10.3  超越本研究的局限
3.11  交叉問題:ILP方法與存儲器係統
3.11.1  硬件推測與軟件推測
3.11.2  推測執行與存儲器係統
3.12  多綫程:開發綫程級並行提高單處理器吞吐量
3.12.1  細粒度多綫程在Sun T1上的效果
3.12.2  同時多綫程在超標量處理器上的效果
3.13  融會貫通:Intel Core i7和ARMCortex-A8
3.13.1  ARM Cortex-A8
3.13.2  Intel Core i7
3.14  謬論與易犯錯誤
3.15  結語:前路何方
3.16  曆史迴顧與參考文獻
第4章  嚮量、SIMD和GPU體係結構中的數據級並行
4.1  引言
4.2  嚮量體係結構
4.2.1  VMIPS
4.2.2  嚮量處理器如何工作:一個示例
4.2.3  嚮量執行時間
4.2.4  多條車道:每個時鍾周期超過一個元素
4.2.5  嚮量長度寄存器:處理不等於64的循環
4.2.6  嚮量遮罩寄存器:處理嚮量循環中的IF語句
4.2.7  內存組:為嚮量載入/存儲單元提供帶寬
4.2.8  步幅:處理嚮量體係結構中的多維數組
4.2.9  集中-分散:在嚮量體係結構中處理稀疏矩陣
4.2.10  嚮量體係結構編程
4.3  SIMD指令集多媒體擴展
4.3.1  多媒體SIMD體係結構編程
4.3.2  Roofline可視性能模型
4.4  圖形處理器
4.4.1  GPU編程
4.4.2  NVIDIA GPU計算結構
4.4.3  NVIDA GPU指令集體係結構
4.4.4  GPU中的條件分支
4.4.5  NVIDIA GPU存儲器結構
4.4.6  Fermi GPU體係結構中的創新
4.4.7  嚮量體係結構與GPU的相似與不同
4.4.8  多媒體SIMD計算機與GPU之間的相似與不同
4.4.9  小結
4.5  檢測與增強循環強並行
4.5.1  查找相關
4.5.2  消除相關計算
4.6  交叉問題
4.6.1  能耗與DLP:慢而寬與快而窄
4.6.2  分組存儲器和圖形存儲器
4.6.3  步幅訪問和TLB缺失
4.7  融會貫通:移動與服務器GPU、Tesla與Core i7
4.8  謬論與易犯錯誤
4.9  結語
4.10  曆史迴顧與參考文獻
第5章  綫程級並行
5.1  引言
5.1.1  多處理器體係結構:問題與方法
5.1.2  並行處理的挑戰
5.2  集中式共享存儲器體係結構
5.2.1  什麼是多處理器緩存一緻性
5.2.2  一緻性的基本實現方案
5.2.3  監聽一緻性協議
5.2.4  基本實現技術
5.2.5  示例協議
5.2.6  基本一緻性協議的擴展
5.2.7  對稱共享存儲器多處理器與監聽協議的局限性
5.2.8  實施監聽緩存一緻性
5.3  對稱共享存儲器多處理器的性能
5.3.1  商業工作負載
5.3.2  商業工作負載的性能測量
5.3.3  多重編程和操作係統工作負載
5.3.4  多重編程和操作係統工作負載的性能
5.4  分布式共享存儲器和目錄式一緻性
5.4.1  目錄式緩存一緻性協議:基礎知識
5.4.2  目錄式協議舉例
5.5  同步:基礎知識
5.5.1  基本硬件原語
5.5.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.8  融會貫通:多核處理器及其性能
5.9  謬論與易犯錯誤
5.10  結語
5.11  曆史迴顧與參考文獻
第6章  以倉庫級計算機開發請求級、數據級並行
6.1  引言
6.2  倉庫級計算機的編程模型與工作負載
6.3  倉庫級計算機的計算機體係結構
6.3.1  存儲
6.3.2  陣列交換機
6.3.3  WSC存儲器層次結構
6.4  倉庫級計算機的物理基礎設施與成本
6.4.1  測量WSC的效率
6.4.2  WSC的成本
6.5  雲計算:公用計算的迴報
6.6  交叉問題
6.6.1  成為瓶頸的WSC網絡
6.6.2  在服務器內部高效利用能量
6.7  融會貫通:Google倉庫級計算機
6.7.1  集裝箱
6.7.2  Google WSC中的冷卻與供電
6.7.3  Google WSC中的服務器
6.7.4  Google WSC中的聯網
6.7.5  Google WSC的監控與修復
6.7.6  小結
6.8  謬論與易犯錯誤
6.9  結語
6.10  曆史迴顧與參考文獻
附錄A  指令集基本原理
A.1  引言
A.2  指令集體係結構的分類
A.3  存儲器尋址
A.4  操作數的類型與大小
A.5  指令集中的操作
A.6  控製流指令
A.7  指令集編碼
A.8  交叉問題:編譯器的角色
A.9  融會貫通:MIPS體係結構
A.10  謬論和易犯錯誤
A.11  結語
A.12  曆史迴顧與參考文獻
附錄B  存儲器層次結構迴顧
B.1  引言
B.2  緩存性能
B.3  6種基本的緩存優化
B.4  虛擬存儲器
B.5  虛擬存儲器的保護與示例
B.6  謬論與易犯錯誤
B.7  結語
B.8  曆史迴顧與參考文獻
附錄C  流水綫:基礎與中級概念
C.1  引言
C.2  流水化的主要阻礙--流水綫冒險
C.3  如何實現流水化
C.4  妨礙流水綫實現的難題
C.5  擴展MIPS流水綫,以處理多周期操作
C.6  融會貫通:MIPS R4000流水綫
C.7  交叉問題
C.8  謬論與易犯錯誤
C.9  結語
C.10  曆史迴顧與參考文獻
參考文獻
索引


















前言/序言

  本書的目的
  本書到現在已經是第5個版本瞭,我們的目標一直沒有改變,就是要闡述那些為未來技術發展奠定基礎的基本原理。計算機體係結構的各種發展機遇總是讓我們激情澎湃,不曾有絲毫消退。我們在第1版中就作齣過如下的論述:“這個學科不是令人昏昏欲睡、百無一用的紙版模型。絕對不是!這是一個受到人們熱切關注的學科,需要在市場競爭力與成本·性能·能耗之間作好權衡,從事這個學科既可能導緻可怕的失敗,也可能帶來顯赫的成功。”
  在編寫第1版時,我們的主要目的是希望改變人們原來學習和研究計算機體係結構的方式。現今,我們感到這一目標依然正確,依然重要。該領域日新月異,在對其進行研究時,必須采用真實計算機上的測量數據和真實示例,而不是去研究一大堆從來都不需要實現的定義和設計。我們不僅熱烈歡迎過去與我們結伴而行的老讀者,同樣也非常歡迎現在剛剛加入我們的新朋友。不管怎樣,我們都保證將采用同樣的量化方法對真實係統進行分析。
  和前幾版一樣,在編寫這個新版本時,我們力爭使其既適用於學習高級計算機體係結構與設計課程的學生,也適用於專業的工程師和架構師。與第1版類似,這個版本重點介紹新平颱(個人移動設備和倉庫級計算機)和新體係結構(多核和GPU)。這一版還秉承瞭前幾版的做法,希望能夠通過強調成本、性能、能耗之間的平衡和優秀的工程設計,揭去計算機體係結構的神秘麵紗。我們相信這一領域正在日趨成熟,發展成為一門具備嚴格量化基礎的經典理工學科。
  關於第5版
  我們曾經說過,第4版可能因為轉嚮討論多核芯片而成為自第1版以來的最重要版本。但我們收到瞭這樣的反饋意見:第4版已經失去瞭第1版重點突齣的優點,它一視同仁地討論所有內容,不分重點和場閤。我們非常確信,第5版不會再有這樣的評價瞭。
  我們相信,最令人激動的地方在於計算規模的兩個極端:以移動電話和平闆電腦之類的個人移動設備(PMD)為客戶端,以提供雲計算的倉庫級計算機為服務器。(具有敏銳觀察力的讀者可能已經看齣本書封麵上雲計算的寓意。)盡管這兩個極端的規模大小不同,但它們在成本、性能和能效方麵的共同主題給我們留下瞭深刻印象。因此,每一章的討論背景都是PMD和倉庫級計算機的計算,第6章是全新的一章,專門討論倉庫級計算機。
  本書的另一條主綫是討論並行的所有不同形式。我們首先在第1章指齣瞭兩種應用級彆的並行,一個是數據級並行(DLP),它的齣現是因為有許多數據項允許同時對其進行操作;另一個是任務級並行(TLP),它的齣現是因為創建瞭一些可以獨立執行並在很大程度上並行的工作任務。隨後解釋4種開發DLP和TLP的體係結構樣式,分彆是:第3章介紹的指令級並行(ILP),第4章介紹的嚮量體係結構和圖形處理器(GPU),這一章是第5版新增加的內容;第5章介紹的綫程級並行;第6章通過倉庫級計算機介紹的需求級並行(RLP),這一章也是第5版中新增加的。本書中,我們將存儲器層次結構的內容提前到第2章,並將存儲係統那一章改作附錄D。我們對第4章、第6章的內容尤為感到自豪,第4章對GPU的解讀是目前最詳盡、最清晰的,第6章首次公布瞭Google倉庫級計算機的最新細節。
  與前幾版相同,本書前三個附錄提供瞭有關MIPS指令集係統、存儲器層次結構和流水綫的基礎知識,如果讀者沒有讀過《計算機組成與設計》之類的書籍,可用作參考。為瞭在降低成本的同時還能提供一些讀者感興趣的補充材料,我們在網絡上提供瞭另外9個附錄,網址為:http://booksite.mkp.com/9780123838728。這些附錄的頁數之和比本書還要多呢!
  這一版繼續發揚“以真實示例演示概念”的傳統,並增加瞭全新的“融會貫通”部分。這一版中的“融會貫通”內容包括以下各服務器的流水綫組成與存儲器層次結構:ARM Cortex A8處理器、Intel core i7處理器、NVIDIA GTX-280和GTX-480 GPU,還有Google倉庫級計算機。
  主題的選擇與組織
  和以前一樣,我們在選擇主題時采用瞭一種保守的方法,畢竟這個領域中值得討論的思想實在太多瞭,不可能在這樣一本主要討論基本原理的書中將其全部涵蓋在內。我們沒有麵麵倶到地分析讀者可能遇到的所有體係結構,而是將重點放在那些在任何新計算機中都可能涉及的核心概念上。根據一貫堅持的選材標準,本書討論的思想都經過深入研究並已被成功應用,其內容足以采用量化方法進行討論。
  我們一直重點關注的內容都是無法從其他來源獲取的同類資料,因此我們將繼續盡可能討論比較高級的內容。事實上,本書介紹的有些係統,就無法在文獻中找到相關描述。如果讀者需要瞭解更為基礎的計算機體係結構知識,可以閱讀《計算機組成與設計:硬件/軟件接口》(Computer Organization and Design: The Hardware/Software Interface)一書。
  內容概述
  這一版對第1章進行瞭補充,其中包括能耗、靜態功率、動態功率、集成電路成本、可靠性和可用性的計算公式。(封二上也列齣瞭這些公式。)在本書後續部分讀者能夠一直應用這些公式。除瞭計算機設計與性能測量方麵的經典量化原理之外,還對PIAT一節進行瞭升級,采用瞭新的SPECPower基準測試。
  我們認為,與1990年相比,指令集體係結構扮演的角色有所弱化,所以我們把這一部分內容作為瞭附錄A。它仍然采用MIPS64體係結構。(為便於快速查看,封三匯總瞭MIPS ISA相關信息。)網站上的附錄K介紹瞭10種RISC體係結構、80x86、DEC VAX和IBM 360/370,獻給ISA愛好者們。
  隨後,我們在第2章開始討論存儲器層次結構,這是因為很容易針對這些內容應用成本·性能·功耗原理,而且存儲器是其餘各章的關鍵內容。和上一版一樣,附錄B對緩存機製作瞭概述,以供讀者需要時查閱。第2章討論瞭對緩存的10種高級優化方法。這一章還介紹瞭虛擬機,它便於提供保護、進行軟硬件管理,而且在雲計算中也扮演著重要角色。除瞭介紹SRAM和DRAM技術之外,這一章還包括瞭閃存的內容。PIAT示例選擇瞭PMD中使用的ARM Cortex A8和服務器中使用的Intel Core i7。
  第3章主要研究高性能處理器中的指令級並行開發,包括超標量執行、分支預測、推理、動態調度和多綫程。前麵曾經提到,附錄C是關於流水綫的一個綜述,以備隨時查閱之用。第3章還研究瞭ILP的局限性。和第2章一樣,PIAT示例還是ARM Cortex A8和Intel Core i7。第3版包括大量有關Itanium和VLIW的材料,現在這些內容放在網上的附錄H中,這錶明瞭我們的觀點:這種體係結構未能達到過去所宣稱的效果。
  多媒體應用程序(比如遊戲和視頻處理)的重要性在提高,因此,開發數據級並行的體係結構也變得更為重要。具體來說,越來越多的人在關注利用圖形處理器(GPU)執行的運算,但很少有架構師瞭解GPU到底是如何工作的。我們決定編寫新的一章,主要就是為瞭揭開這種新型計算機體係結構的奧秘。第4章開始介紹嚮量體係結構,對多媒體SIMD指令集擴展和GPU的解釋就是以此為基礎的。(網站上的附錄G深入地討論瞭嚮量體係結構。)GPU一節是本書最難寫的部分,需要多次反復纔能給齣一個既精確又容易理解的描述。一個重大挑戰就是術語。我們決定使用我們自己的術語,然後給齣這些術語與NVIDIA官方術語之間的對應關係。這一章介紹瞭Roofline性能模型,然後用它來對比Intel Core i7、NVIDIA GTX 280和GTX 480 GPU。這一章還介紹瞭供PMD使用的Tegra 2 GPU。
  第5章介紹多核處理器,探討瞭對稱、分布式存儲器體係結構,考查瞭組織原理和性能。接下來是有關同步和存儲器一緻性模型的主題,所采用的示例是Intel Core i7。對片上互連網絡感興趣的讀者可以閱讀網站上的附錄F,對更大規模多處理器和科學應用感興趣的讀者可以閱讀網站上的附錄I。
  前麵曾經提到,第6章介紹瞭計算機體係結構中的最新主題——倉庫級計算機(Warehouse- Scale Computer,WCS)。依靠Amazon Web服務部門和Google工程師的幫助,本章整閤瞭有關WSC設計、成本與性能的詳細資料,而以前瞭解這些內容的架構師寥寥無幾。在開始描述WSC的體係結構和物理實現(及成本)之前,首先介紹瞭MapReduce編程模型。從成本的角度可以解釋為什麼會有雲計算,以及為何在雲中使用WSC進行計算的成本要低於在本地數據中心的計算成本。PIAT實例是對Google WSC的描述,有些內容是首次公開的。
  接下來就是附錄A到附錄L。 附錄A介紹ISA的原理,包括MIPS64,附錄K介紹Alpha、MIPS、PowerPC和SPARC的64位版本及其多媒體擴展。其中還包括一些經典體係結構(80x86、VAX和IBM 360/370)和流行的嵌入指令集(ARM、Thumb、SuperH、MIPS16和Mitsubishi M32R)。附錄H與其相關,介紹瞭VLIW ISA的體係結構和編譯器。
  前麵曾經提到,附錄B和附錄C是緩存與流水綫基本概念的教程。建議對緩存不夠熟悉的讀者在閱讀第2章之前先閱讀附錄B,新接觸流水綫的讀者在閱讀第3章之前先閱讀附錄C。
  附錄D“存儲係統”包括:進一步討論可靠性和可用性,以RAID 6方案介紹為主體的RAID教程,非常珍貴的真實係統故障統計信息。接下來介紹瞭排隊理論和I/O性能基準測試。我們評估瞭一個真實集群Internet Archive的成本、性能和可靠性。“融會貫通”部分以NetApp FAS6000文件管理程序為例。
  附錄E由Thomas M. Conte撰寫,匯總瞭嵌入式係統的相關內容。
  附錄F討論網絡互連,由Timothy M. Pinkston和José Duato進行瞭修訂。附錄G最初由Krste Asanovi·撰寫,其中詳細介紹瞭嚮量處理器。就我們所知,這兩個附錄是其各自相關主題的最好材料。
  附錄H詳細介紹瞭VLIW和EPIC,也就是Itanium采用的體係結構。
  附錄I詳細介紹瞭大規模共享存儲器多處理方麵用到的並行處理應用和一緻性協議。附錄J由David Goldberg撰寫,詳細介紹瞭計算機算法。
  附錄L將第3版每一章中的“曆史迴顧與參考文獻”部分集中在一起。對於各章介紹的思想,它盡量給予一個恰當的評價,並讓讀者瞭解這些創造性思想背後的曆史。我們希望以此來展現人類在計算機設計方麵的戲劇性發展過程。這個附錄還提供瞭一些參考文獻,主修體係結構的學生可能會非常喜歡它們。其中提到瞭本領域的一些經典論文,如果時間允許,建議讀者閱讀這些論文。直接聽原創者講述他們的思想,在深受教育的同時,也是一種享受。而“曆史迴顧”是以前版本中最受歡迎的章節之一。
  內容導讀
  所有讀者都應當從第1章開始閱讀,除此之外並不存在什麼唯一的最佳順序。如果你不想閱讀全部內容,可以參考下麵這些順序。
  · 存儲器層次結構:附錄B、第2章、附錄D。
  · 指令級並行:附錄C、第3章、附錄H。
  · 數據級並行:第4章、第6章、附錄G。
  · 綫程級並行:第5章、附錄F、附錄I。
  · 請求級並行:第6章。
  · ISA:附錄A、附錄K。
  附錄E可以隨時閱讀,但在ISA和緩存序列之後閱讀,效果可能會更好一些。附錄J可以在涉及運算時閱讀。附錄L的各部分內容應當在讀完正文中相應章節後閱讀。
  章節安排
  我們根據一種統一的框架安排內容,使各章在結構方麵保持一緻。首先會介紹一章的主題思想,然後是“交叉問題”部分,說明本章介紹的思想與其他各章有什麼相互關係。接下來是“融會貫通”部分,通過展示如何在實際計算機中應用這些思想,將它們串在一起。
  再下麵是“謬論與易犯錯誤”,讓讀者從他人的錯誤中汲取教訓。我們將舉例說明一些常見誤解與體係結構陷阱,要避免犯錯是非常睏難的,哪怕你明明知道它們就在前麵等著你。“謬論與易犯錯誤”部分是本書最受歡迎的內容。每一章都以一個“結語”節結束。
  案例研究與練習
  每一章的最後都有案例研究和練習。這些案例研究由業內和學術界的專傢編撰而成,通過難度逐漸增大的練習來探討該章的關鍵概念,檢驗讀者的理解程度。教師們會發現這些案例研究都非常詳盡和完善,完全可以針對它們設計齣一些練習。
  每個練習中用尖括號括起的內容(<章.節>)指明瞭做這道題應該閱讀哪部分正文內容。我們這樣做的目的,一方麵是為瞭提供復習內容,另一方麵是希望幫助讀者避免在還沒有閱讀相應正文的情況下去做一些練習。為瞭使讀者大緻瞭解完成一道題需要多長時間,我們為這些練習劃定瞭不同等級:
  [10] 短於5分鍾(閱讀和理解時間);
  [15] 5~15分鍾給齣完整答案;
  [20] 15~20分鍾給齣完整答案;
  [25] 在1小時內給齣完整的書麵答案;
  [30] 小型編程項目:時間短於1整天;
  [40] 大型編程項目:耗時2周;
  [討論] 與他人一起討論的主題。
  在textbooks.elsevier.com注冊的老師可以得到案例研究與習題的解答。
  我們會定期補充新材料和網上其他可用資源的鏈接。
  幫助改進本書
  如果你閱讀後麵的“緻謝”部分,將會看到我們已經下瞭很大的功夫來糾正錯誤。由於一本書會進行多次印刷,所以我們有機會進行更多的校訂。如果你發現瞭任何遺留錯誤,請通過電子郵件聯係齣版商。
  結語
  本書仍然是一本真正的閤著作品,我們每人編寫的章節和附錄各占一半。如果沒有對方完成另一半工作,如果沒有對方在任務似乎無望完成時給予鼓勵,如果沒有對方點透某個難以錶述的復雜概念,如果沒有對方花費周末時間來審閱書稿,又如果沒有對方在自己因為其他繁重職責而難以提筆時給予寬慰(從簡曆可以看齣,這些職責是隨著本書的版本號以指數形式增加的),我們無法想象這本書要花費多長時間纔能完成。當然,對於你將要讀到的內容,其中若有不當之處,我們也負有同等責任。
  John Hennessy
  David Patterson

《計算機體係結構:量化研究方法(第5版)》 是一本深入探索現代計算機係統設計核心原理和實踐的權威著作。本書以嚴謹的量化分析為指導,為讀者提供瞭理解和評估計算機體係結構性能、效率和成本的關鍵工具和方法論。 本書的獨特之處在於其強調“量化”的視角。 在計算機體係結構領域,僅僅理解概念是不夠的,更重要的是能夠通過精確的度量和分析來評估設計的優劣。本書作者 David A. Patterson 和 John L. Hennessy,兩位在該領域享有盛譽的學者,將他們數十年的教學和研究經驗傾注其中,係統地闡述瞭如何運用數學模型、性能指標和仿真工具來揭示計算機係統中隱藏的性能瓶頸,並指導設計者做齣明智的權衡。 本書的結構設計旨在循序漸進地引導讀者掌握計算機體係結構的精髓。 它從最基礎的概念入手,例如指令集架構(ISA)的演進,到處理器設計的各個層麵,如流水綫技術、分支預測、緩存一緻性,再到存儲層次結構、I/O係統以及並行處理等復雜議題,都進行瞭詳盡而深入的討論。每一章都建立在前一章的基礎上,形成一個邏輯嚴密的知識體係,確保讀者能夠逐步構建起全麵的計算機體係結構認知。 在指令集架構(ISA)部分,本書深入剖析瞭不同ISA的設計哲學及其對性能的影響。 從早期的CISC(復雜指令集計算)到現代主流的RISC(精簡指令集計算),本書詳細介紹瞭它們的設計原則、指令編碼、尋址模式以及它們在處理器實現上的不同考慮。讀者將能夠理解為什麼RISC架構在現代高性能處理器中占據主導地位,以及ISA的設計如何在硬件和軟件之間建立起至關重要的橋梁。本書還會探討指令集的設計如何影響編譯器和操作係統的效率,以及未來的ISA發展趨勢,例如嚮量指令集和針對特定應用的指令集擴展。 處理器設計是本書的核心內容之一。 本書詳細講解瞭如何通過各種技術來提升處理器的執行速度和效率。流水綫技術作為提高指令級並行性的關鍵手段,本書將其從理想模型逐步推進到實際的超標量處理器設計,解釋瞭冒險(hazards)的類型(結構冒險、數據冒險、控製冒險)以及相應的解決方案,如流水綫重排、數據轉發、延遲槽等。分支預測是另一個至關重要的性能優化技術,本書詳細介紹瞭各種分支預測器(如靜態預測、動態預測、關聯式預測器、兩級預測器)的原理、實現和評估方法,並深入分析瞭現代處理器中預測錯誤所帶來的代價和如何最小化其影響。緩存層次結構的設計對於緩解內存延遲至關重要,本書詳細闡述瞭緩存的工作原理,包括塊大小、關聯度、寫策略(寫迴、寫通)、替換算法(LRU、FIFO、隨機)等,以及如何通過多級緩存來構建高性能的內存係統。讀者將學習到如何使用性能指標來評估緩存的命中率、失效率,並理解不同設計選擇對整體性能的影響。多處理器和並行處理部分則將讀者帶入瞭現代高性能計算的領域。本書深入探討瞭共享內存多處理器(SMP)、NUMA(非一緻性內存訪問)架構以及多核處理器設計。重點關注瞭緩存一緻性協議(如MESI、MOESI)的原理和實現,以及如何在多處理器環境中有效地管理並發和同步。本書還會介紹不同類型的並行編程模型(如共享內存、消息傳遞)以及它們對硬件體係結構的需求。 存儲層次結構的設計也是本書的重中之重。 除瞭CPU緩存,本書還深入探討瞭主存儲器(DRAM)的組織方式、內存控製器、內存帶寬和延遲的優化,以及固態硬盤(SSD)和傳統硬盤(HDD)等存儲設備的特性及其對係統性能的影響。讀者將理解存儲層次結構如何通過在速度、容量和成本之間進行權衡來滿足應用程序的性能需求。 I/O係統及其與處理器和存儲的交互也是本書的重要組成部分。 本書講解瞭各種I/O設備的接口技術(如PCIe)、I/O設備的管理方式(如DMA、中斷),以及操作係統如何有效地管理I/O操作以最小化其對CPU的影響。本書還會探討存儲設備的技術演進,例如NVMe協議在提升SSD性能方麵的作用。 本書在量化研究方法方麵的貢獻尤為突齣。 作者提供瞭詳細的指導,教導讀者如何進行性能分析和評估。這包括: 定義和度量性能指標: 如指令數、時鍾周期數、CPI(每條指令的平均周期數)、時鍾頻率、吞吐量(Throughput)、響應時間(Response Time)等,以及如何正確地收集和解釋這些數據。 建立性能模型: 利用數學公式和統計方法來預測和分析不同設計選擇對性能的影響,例如 Amdahl 定律和 Gustafson 定律在並行計算中的應用。 使用仿真工具: 介紹業界常用的仿真器(如SPEC基準測試套件、gem5、SimpleScalar等),指導讀者如何配置、運行和分析仿真結果,從而在不構建昂貴硬件的情況下評估設計。 進行功耗和能效分析: 隨著移動設備和數據中心的興起,功耗和能效已成為計算機體係結構設計中不可忽視的因素。本書探討瞭如何度量和優化處理器的功耗,以及如何權衡性能與能效。 成本和可靠性考量: 計算機體係結構的設計並非隻關注性能,成本、功耗、散熱和可靠性也是至關重要的因素。本書會涉及這些方麵,並強調在設計過程中進行權衡的必要性。 《計算機體係結構:量化研究方法(第5版)》的讀者群體廣泛。 對於計算機科學、計算機工程、電子工程等相關專業的本科生和研究生來說,本書是學習和掌握計算機體係結構知識的經典教材。對於從事處理器設計、係統軟件開發、性能優化、嵌入式係統設計等工作的工程師和研究人員而言,本書提供瞭深入的理論基礎和實用的分析工具,能夠幫助他們解決實際工作中遇到的技術難題,並做齣更優的設計決策。 本書的特點還體現在其豐富的案例研究和實踐性練習。 作者通過分析現實世界中知名處理器(如Intel Core係列、AMD Ryzen係列、ARM Cortex係列)的設計,將理論知識與實際應用相結閤。每一章的結尾都提供瞭精心設計的練習題,幫助讀者鞏固所學知識,並鼓勵他們進行更深入的探索和研究。 總而言之, 《計算機體係結構:量化研究方法(第5版)》是一本集理論深度、實踐指導和量化分析於一體的裏程碑式著作。它不僅傳授瞭計算機體係結構的基礎知識,更重要的是教會瞭讀者如何以一種科學、嚴謹和量化的方式來理解、評估和設計計算機係統,為讀者在快速發展的計算領域中取得成功奠定堅實的基礎。本書的價值在於它賦予讀者一種“看透”計算機底層工作原理的能力,並提供瞭一套行之有效的方法論來應對未來計算挑戰。

用戶評價

評分

這本書的價值絕對超齣瞭我的預期。我原本隻是想找一本關於計算機硬件的書籍來拓寬知識麵,但這本書帶給我的啓發遠不止於此。它以一種非常獨特的方式,將理論知識與實際應用緊密結閤。書中對各種性能指標的量化分析,讓我第一次真正理解瞭“性能”這個詞背後的具體含義。它不是憑空而談,而是基於精確的測量和評估。我特彆喜歡書中關於並行處理和分布式係統的章節,作者詳細闡述瞭多處理器之間的通信、同步以及如何高效地利用計算資源。這些內容讓我對現代高性能計算的挑戰和解決方案有瞭更深刻的認識。而且,書中的案例研究非常豐富,涵蓋瞭從早期的計算機設計到最新的處理器架構,讓我能夠看到技術發展的脈絡和演變。我感覺自己仿佛成瞭一名體係結構工程師,在閱讀這些案例的時候,我也在思考,如果是我,會做齣怎樣的設計決策。這本書不僅僅是知識的傳授,更是思維方式的塑造,讓我學會瞭如何從量化的角度去審視和解決問題。

評分

這本書簡直是一場思想的盛宴!它不僅僅是一本技術書籍,更像是一本哲學著作,探討著計算的本質和未來的發展方嚮。我尤其被書中對“量化”的強調所吸引,作者用嚴謹的數據分析和仿真模型,揭示瞭計算機體係結構設計的深層邏輯。這不像我之前看過的那些理論堆砌的書籍,它讓我明白,在計算機科學領域,沒有絕對的對錯,隻有在特定約束條件下的最優解。書中對各種性能指標的討論,比如指令流水綫、分支預測、多核處理器的互聯等等,都充滿瞭智慧的閃光。我感覺自己仿佛置身於一個高水平的學術研討會,與一群頂尖的工程師和研究者一起,共同探討如何讓計算機跑得更快、更高效。書中的圖錶和公式雖然不少,但作者的解釋總能讓我豁然開朗,感覺那些復雜的數學模型背後隱藏著深刻的道理。我特彆喜歡它對摩爾定律的探討,以及對後摩爾時代計算機體係結構挑戰的分析,這讓我對未來的技術發展充滿瞭好奇和期待。這本書給我帶來的不僅僅是知識,更是一種解決問題的思維方式和對技術創新的深刻洞察。

評分

這本書真是太齣乎我的意料瞭!原本以為隻是另一本枯燥的技術手冊,結果卻意外地打開瞭我對計算機係統底層運作的新認知。拿到書的第一天,我就被它厚重的分量和嚴謹的排版吸引住瞭,書頁的觸感也很舒服,是那種適閤長時間翻閱的紙張。剛開始翻看的時候,我就被書中那些清晰的圖錶和精煉的文字所吸引。作者在講解一個概念的時候,總是能用非常直觀的方式來呈現,即便是一些非常抽象的原理,也能被描繪得生動形象。我尤其喜歡書中對各種硬件組件的細緻剖析,從CPU的核心指令集到內存的層次結構,再到I/O設備的工作機製,每一個細節都講解得深入淺齣。感覺就像是在拆解一颱真實的計算機,然後把每一個零件都看得清清楚楚。而且,這本書並沒有止步於理論的講解,它更強調“量化研究方法”,這意味著書中會涉及到大量的實驗數據、性能評估和優化策略。這讓我意識到,計算機體係結構不僅僅是關於“是什麼”,更是關於“如何做得更好”。這本書就像一個經驗豐富的嚮導,帶領我一步步探索計算機世界的奧秘,讓我對性能瓶頸、功耗管理以及新興技術有瞭更深刻的理解。我迫不及待地想繼續深入研究,特彆是那些關於並行計算和分布式係統的章節,感覺那將是一次更具挑戰性的旅程。

評分

說實話,我一開始對這本書抱有一些疑慮,畢竟“計算機體係結構”這個領域聽起來就相當高深,擔心內容會過於晦澀難懂,甚至會讓我望而卻步。然而,當我真正開始閱讀後,我的顧慮蕩然無存。作者的寫作風格非常獨特,既有學術的嚴謹性,又不失讀者的可讀性。他善於用類比和實例來解釋復雜的概念,這一點我非常欣賞。比如,在講解緩存一緻性的時候,他會用生活中多人同時編輯一份文檔的場景來比喻,一下子就把一個抽象的問題變得具體可感。而且,這本書的邏輯結構也安排得非常閤理,從最基礎的指令集架構講起,逐步深入到更高級的並行和分布式係統,讓我能夠循序漸進地建立起對整個體係結構的認知。書中的案例研究更是亮點,它們不僅展示瞭理論的應用,還提供瞭寶貴的實踐經驗。我特彆喜歡其中關於英特爾和AMD處理器設計的對比分析,這讓我對不同廠商的權衡和選擇有瞭更直觀的認識。盡管我還沒有完全讀完,但已經感覺收獲頗豐,對於理解現代計算機的性能提升和設計理念有瞭全新的視角。這本書無疑為我打開瞭一扇通往更深層次技術理解的大門。

評分

坦白說,當我拿到這本厚重的《計算機體係結構:量化研究方法(第5版)》時,內心是有些許壓力的。畢竟,這個主題本身就不是輕鬆易懂的。然而,打開第一頁,我的這種擔憂就煙消雲散瞭。作者展現齣瞭非凡的教學能力,他能夠將極其復雜的概念,如內存層級、指令集架構、並發模型等,分解成易於理解的組成部分,並用清晰的語言進行闡述。書中大量使用圖示和流程圖,這對於我這種視覺型學習者來說簡直是福音。每一個圖錶都恰到好處地解釋瞭關鍵的運作機製,讓我能夠更直觀地把握整體脈絡。我尤其驚嘆於作者在闡述不同設計決策背後的權衡時所展現齣的深度。他不會簡單地告訴你“這樣做”,而是會深入分析“為什麼這樣做”,以及這樣做會帶來哪些好處和壞處。這種深入的分析,讓我不再是被動接受知識,而是學會瞭如何批判性地思考和評估。我發現自己不僅僅是在閱讀一本教材,更像是在和一位經驗豐富的導師對話,從他那裏學習如何去分析、去設計、去優化。這本書已經成為瞭我深入理解計算機工作原理不可或缺的參考。

評分

很經典的教程,剛好需要。

評分

書不錯,快遞師傅也挺好

評分

原創性想法,值得一讀!

評分

非常不錯,值得擁有,好好習讀

評分

很經典的教程,剛好需要。

評分

上課用的課本。很經典的書,翻譯得也不錯。價格有一點貴,但都是這樣子

評分

有點難,看不太懂,書質量不錯

評分

圖書質量還不錯,京東購物方便。

評分

very good,值得購買

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有