計算機組成與體系結(jié)構:性能設計(原書第11版)
定 價:199 元
叢書名:計算機科學叢書
- 作者:威廉·斯托林斯著
- 出版時間:2023/9/1
- ISBN:9787111728450
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP303
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書介紹了計算機組成及體系結(jié)構的核心知識,內(nèi)容包括計算機系統(tǒng)的概念、運算、CPU、指令集和匯編語言、并行處理等,是計算機及相關專業(yè)了解計算機組成的經(jīng)典教材。
本書是計算機組成與體系結(jié)構方面的經(jīng)典教材,主要特色體現(xiàn)在三個方面:一是盡可能清晰、完整地展示現(xiàn)代計算機系統(tǒng)的本質(zhì)和特征;二是凝練出計算機組成與體系結(jié)構中的基礎性知識并進行深入討論,同時將這些知識與當代計算機的設計問題聯(lián)系起來;三是關注計算機系統(tǒng)的性能特征,介紹如何從設計的角度實現(xiàn)高性能。本書適合高校計算機、集成電路、電子工程及相關專業(yè)作為教材,也適合IT技術人員了解計算機組成和體系結(jié)構之用。
前 言
Computer Organization and Architecture: Designing for Performance, Eleventh Edition
第11版有什么新內(nèi)容
自本書第10版出版以來,計算機組成與體系結(jié)構領域的創(chuàng)新和改進不斷。在這個新版本中,我試圖展示這些變化,同時保持對整個領域的廣泛而全面的覆蓋。為了開始這一修訂過程,許多教授和在這一領域工作的專業(yè)人士廣泛審閱了本書第10版。結(jié)果是,第11版中很多地方的敘述更加清楚和嚴謹,插圖也得到了完善。
除了這些用以提升教學效果和用戶友好性的改進之外,本書還發(fā)生了實質(zhì)性的變化。全書的章節(jié)組織和之前大致相同,但是修訂了許多內(nèi)容,并添加了一些新的內(nèi)容。最值得注意的變化如下:
多芯片模塊:現(xiàn)在廣泛使用的多芯片模塊的新討論已被添加到第1章。
SPEC基準:第2章中對SPEC的描述已經(jīng)更新,以涵蓋新的SPEC CPU2017基準套件。
存儲器層次結(jié)構:關于存儲器層次結(jié)構的新的一章擴展了原cache存儲器一章中的內(nèi)容,并添加了新內(nèi)容。新的第4章包括:
更新和擴展了局部性原則的覆蓋范圍。
更新和擴展了存儲器層次結(jié)構的覆蓋范圍。
存儲器層次結(jié)構中數(shù)據(jù)訪問性能建模的一種新方法。
cache存儲器:cache存儲器一章已經(jīng)更新和修訂。第5章現(xiàn)在包括:
修訂和擴展了邏輯cache組織的處理方式,使用新的圖形以更加清晰。
內(nèi)容可尋址存儲器的描述。
寫入分配和無寫入分配策略的描述。
介紹cache性能建模的新的一節(jié)。
嵌入式動態(tài)隨機存取存儲器:關于內(nèi)存的第6章現(xiàn)在包括一節(jié)關注越來越流行的嵌入式動態(tài)隨機存取存儲器(eDRAM)。
高級格式4K扇區(qū)硬盤:關于外部存儲器的第7章,包括對現(xiàn)在廣泛使用的4K扇區(qū)硬盤格式的討論。
布爾代數(shù):第12章中關于布爾代數(shù)的討論已經(jīng)用新的文稿和圖表進行了擴展,以便于理解。
匯編語言:關于匯編語言的處理已經(jīng)擴展到一整章(第15章),涵蓋更多的細節(jié)和例子。
流水線:關于流水線的討論已經(jīng)用新的文稿和圖進行了實質(zhì)性的擴展。內(nèi)容涵蓋在第16~18章的新節(jié)中。
cache一致性:第20章中對MESI cache一致性協(xié)議的討論已經(jīng)用新的文稿和圖進行了擴展。
對ACM/IEEE計算機科學與計算機工程課程的支持
本書既面向?qū)W術讀者,也面向?qū)I(yè)讀者。作為教材,本書可以用于計算機科學、計算機工程和電氣工程專業(yè)的一學期或兩學期的本科課程。本版支持ACM/IEEE計算機科學課程指南2013(CS2013)的建議。CS2013將所有課程劃分為三類:核心一級(所有主題都應包含在課程中),核心二級(應包括所有或幾乎所有主題),選修(希望提供廣度和深度)。在體系結(jié)構和組成(AR)領域,CS2013包括五個二級主題和三個選修主題,每個主題都有多個子主題。本書涵蓋了CS2013列出的所有八個主題。表P.1顯示了本書對CS2013 AR知識領域的覆蓋。本書也支持ACM/IEEE計算機工程課程指南2016(CE2016)。CE2016定義了計算機工程本科的必要知識體系,分為十二個知識領域。其中一個領域是計算機體系結(jié)構和組成(CE-CAO),由十個核心知識領域組成。本書涵蓋了CE2016中列出的所有CE-CAO知識領域,表P.2顯示了覆蓋范圍。
表P.1 對CS2013體系結(jié)構和組成(AR)知識領域的覆蓋
IAS知識單元主 題本書覆蓋章節(jié)
數(shù)字邏輯與數(shù)字系統(tǒng)(二級)計算機體系結(jié)構的概述和歷史
組合與時序邏輯/現(xiàn)場可編程門陣列作為基本組合時序邏輯構建塊
多重表示/分層的解釋(硬件只是另一層)
物理約束(門延遲、扇入、扇出、能量/功率) 第1章
第12章
數(shù)據(jù)的機器級表示(二級)位、字節(jié)和字
數(shù)值數(shù)據(jù)表示和數(shù)值的進制
定點與浮點系統(tǒng)
有符號和二進制補碼表示
非數(shù)值數(shù)據(jù)的表示(字符代碼、圖形數(shù)據(jù)) 第10章
第11章
匯編級機器組成(二級)馮·諾依曼機的基本結(jié)構
控制單元;取指、譯碼和執(zhí)行
指令集和類型(數(shù)據(jù)操作、控制、I/O)
匯編/機器語言編程
指令格式
尋址模式
子程序調(diào)用和返回機制(交叉引用PL/語言翻譯和執(zhí)行)
I/O 和中斷
共享內(nèi)存多處理器/多核組織
SIMD 與 MIMD 和 Flynn 分類法簡介 第1章
第8章
第13章
第14章
第15章
第19章
第20章
第21章
存儲系統(tǒng)的組成與體系結(jié)構(二級)存儲系統(tǒng)及其技術
存儲器層次:時間局部性與空間局部性
主存組成和操作
延遲、循環(huán)時間、帶寬和交叉
cache存儲器(地址映射、塊大小、替換和存儲策略)
多處理器cache一致性/使用存儲系統(tǒng)進行內(nèi)核間同步/原子內(nèi)存操作
虛擬內(nèi)存(頁表,TLB)
故障處理和可靠性 第4章
第5章
第6章
第7章
第9章
第20章
接口與通信(二級)I/O基礎:握手、緩沖、編程 I/O、中斷驅(qū)動 I/O
中斷結(jié)構:向量和優(yōu)先級,中斷確認
外部存儲、物理組成和驅(qū)動器
總線:總線協(xié)議、仲裁、直接內(nèi)存訪問 (DMA)
RAID 架構 第3章
第7
目 錄
Computer Organization and Architecture: Designing for Performance, Eleventh Edition
譯者序
前言
作者簡介
譯者簡介
第一部分 概述
第1章 基本概念與計算機演化 2
1.1 組成與體系結(jié)構 2
1.2 功能和結(jié)構 3
1.2.1 功能 3
1.2.2 結(jié)構 3
1.3 IAS計算機 8
1.4 邏輯門、存儲器位元、芯片和
多芯片模塊 12
1.4.1 邏輯門和存儲器位元 12
1.4.2 晶體管 13
1.4.3 微電子芯片 13
1.4.4 多芯片模塊 15
1.5 Intel x86體系結(jié)構的演化 15
1.6 嵌入式系統(tǒng) 18
1.6.1 物聯(lián)網(wǎng) 19
1.6.2 嵌入式操作系統(tǒng) 19
1.6.3 應用處理器與專用處理器 19
1.6.4 微處理器與微控制器 20
1.6.5 嵌入式系統(tǒng)與深度嵌入式系統(tǒng) 20
1.7 ARM體系結(jié)構 21
1.7.1 ARM的演變 21
1.7.2 指令集體系結(jié)構 21
1.7.3 ARM產(chǎn)品 22
1.8 關鍵詞、思考題和習題 25
第2章 性能問題 28
2.1 性能設計 28
2.1.1 微處理器的速度 29
2.1.2 性能平衡 29
2.1.3 芯片組成和體系結(jié)構的改進 30
2.2 多核、MIC和GPGPU 32
2.3 阿姆達爾定律和利特爾法則 33
2.3.1 阿姆達爾定律 33
2.3.2 利特爾法則 34
2.4 計算機性能的基本指標 35
2.4.1 時鐘速度 36
2.4.2 指令執(zhí)行速度 36
2.5 計算平均值 37
2.5.1 算術平均值 39
2.5.2 調(diào)和平均值 39
2.5.3 幾何平均值 41
2.6 基準測試和SPEC 43
2.6.1 基準測試原則 43
2.6.2 SPEC基準測試 44
2.7 關鍵詞、思考題和習題 49
第二部分 計算機系統(tǒng)
第3章 計算機功能和互連的頂層視圖56
3.1 計算機的部件 56
3.2 計算機的功能 58
3.2.1 指令的讀取和執(zhí)行 58
3.2.2 中斷 61
3.2.3 I/O功能 67
3.3 互連結(jié)構 68
3.4 總線互連 68
3.5 點對點互連 70
3.5.1 QPI物理層 71
3.5.2 QPI鏈路層 72
3.5.3 QPI路由層 73
3.5.4 QPI協(xié)議層 73
3.6 PCIe 73
3.6.1 PCI物理和邏輯體系結(jié)構 74
3.6.2 PCIe物理層 75
3.6.3 PCIe事務處理層 76
3.6.4 PCIe數(shù)據(jù)鏈路層 78
3.7 關鍵詞、思考題和習題 79
第4章 存儲器層次結(jié)構:
局部性和性能 83
4.1 局部性原理 83
4.2 存儲系統(tǒng)的特性 87
4.3 存儲器層次結(jié)構 88
4.3.1 成本與性能特點 89
4.3.2 存儲器層次結(jié)構的典型構件 91
4.3.3 IBM z13存儲器層次結(jié)構 92
4.3.4 存儲器層次結(jié)構的設計原則 93
4.4 多級存儲器層次結(jié)構的性能建!93
4.4.1 兩級存儲器存取 93
4.4.2 多級存儲器存取 97
4.5 關鍵詞、思考題和習題 99
第5章 cache存儲器 102
5.1 cache存儲器的原理 102
5.2 cache的設計要素 105
5.2.1 cache地址 105
5.2.2 cache容量 106
5.2.3 邏輯cache的組織結(jié)構 107
5.2.4 替換算法 117
5.2.5 寫策略 118
5.2.6 行大小 119
5.2.7 cache的數(shù)目 119
5.2.8 包含策略 121
5.3 Intel x86的cache組織 122
5.4 IBM z13的cache組織 124
5.5 cache的性能模型 125
5.5.1 cache的時序模型 125
5.5.2 用于提高性能的設計選項 126
5.6 關鍵詞、思考題和習題 127
第6章 內(nèi)部存儲器 131
6.1 半導體主存儲器 131
6.1.1 組織 131
6.1.2 DRAM和SRAM 132
6.1.3 ROM類型 133
6.1.4 芯片邏輯 134
6.1.5 芯片封裝 136
6.1.6 模塊組織 136
6.1.7 多體交叉存儲器 138
6.2 糾錯 138
6.3 DDR DRAM 142
6.3.1 SDRAM 142
6.3.2 DDR SDRAM 144
6.4 eDRAM 146
6.4.1 IBM z13 eDRAM的
cache結(jié)構 146
6.4.2 Intel Core系統(tǒng)的cache結(jié)構 146
6.5 閃存 148
6.5.1 操作 148
6.5.2 NOR和NAND閃存 148
6.6 較新的非易失性固態(tài)存儲器技術 150
6.6.1 STT-RAM 151
6.6.2 PCRAM 152
6.6.3 ReRAM 152
6.7 關鍵詞、思考題和習題 152
第7章 外部存儲器 156
7.1 磁盤 156
7.1.1 磁讀寫機制 156
7.1.2 數(shù)據(jù)組織和格式化 157
7.1.3 物理特性 160
7.1.4 磁盤性能參數(shù) 161
7.2 RAID 163
7.2.1 RAID 0級 165
7.2.2 RAID 1級 167
7.2.3 RAID 2級 168
7.2.4 RAID 3級 168
7.2.5 RAID 4級 169
7.2.6 RAID 5級 169
7.2.7 RAID 6級 169
7.3 固態(tài)硬盤 171
7.3.1 固態(tài)硬盤與硬盤驅(qū)動器的比較 171
7.3.2 固態(tài)硬盤組織結(jié)構 171
7.3.3 實際問題 172
7.4 光存儲器 172
7.4.1 光盤 173
7.4.2 數(shù)字多功能光盤 175
7.4.3 高清晰光盤 176
7.5 磁帶 177
7.6 關鍵詞、思考題和習題 178
第8章 輸入/輸出 182
8.1 外部設備 182
8.1.1 鍵盤/監(jiān)視器 184
8.1.2 磁盤驅(qū)動器 184
8.2 I/O模塊 184
8.2.1 模塊功能 184
8.2.2 I/O模塊結(jié)構 185
8.3 編程式I/O 186
8.3.1 編程式I/O概述 186
8.3.2 I/O命令 187
8.3.3 I/O指令 188
8.4 中斷驅(qū)動式I/O 189
8.4.1 中斷處理 189
8.4.2 設計問題 191
8.4.3 Intel 82C59A中斷控制器 192
8.4.4 Intel 8255A可編程外部接口 192
8.5 DMA 196
8.5.1 編程式I/O和中斷驅(qū)動式
I/O的缺點 196
8.5.2 DMA功能 197
8.5.3 Intel 8237A DMA控制器 198
8.6 DCA 200
8.6.1 使用共享的最后一級
cache的DMA 201
8.6.2 cache相關的性能問題 202
8.6.3 直接cache存取策略 204
8.6.4 直接數(shù)據(jù)I/O 204
8.7 I/O通道和處理器 206
8.7.1 I/O功能的演變 206
8.7.2 I/O通道的特點 206
8.8 外部互連標準 207
8.8.1 通用串行總線 207
8.8.2 FireWire串行總線 208
8.8.3 小型計算機系統(tǒng)接口 208
8.8.4 迅雷 208
8.8.5 InfiniBand 209
8.8.6 PCIe 209
8.8.7 SATA 209
8.8.8 以太網(wǎng) 209
8.8.9 WiFi 209
8.9 IBM z13 I/O結(jié)構 210
8.9.1 通道結(jié)構 210
8.9.2 I/O系統(tǒng)組織結(jié)構 211
8.10 關鍵詞、思考題和習題 212
第9章 操作系統(tǒng)支持 217
9.1 操作系統(tǒng)概述 217
9.1.1 操作系統(tǒng)的目標與功能 217
9.1.2 操作系統(tǒng)的類型 219
9.2 調(diào)度 224
9.2.1 長期調(diào)度 225
9.2.2 中期調(diào)度 225
9.2.3 短期調(diào)度 225
9.3 存儲器管理 228
9.3.1 交換 228
9.3.2 分區(qū) 229
9.3.3 分頁 230
9.3.4 虛擬存儲器 232
9.3.5 快表 233
9.3.6 分段 235
9.4 Intel x86存儲器管理 235
9.4.1 地址空間 235
9.4.2 分段 236
9.4.3 分頁 238
9.5 ARM存儲器管理 239
9.5.1 存儲器系統(tǒng)組織 239
9.5.2 虛擬存儲器地址轉(zhuǎn)換 239
9.5.3 存儲器管理格式 240
9.5.4 存取控制 242
9.6 關鍵詞、思考題和習題 242
第三部分 算術與邏輯
第10章 數(shù)字系統(tǒng) 248
10.1 十進制系統(tǒng) 248
10.2 按位記數(shù)制系統(tǒng) 249
10.3 二進制系統(tǒng) 249
10.4 二進制數(shù)與十進制數(shù)的轉(zhuǎn)換 250
10.4.1 整數(shù) 250
10.4.2 小數(shù) 251
10.5 十六進制表示法 252
10.6 關鍵詞和習題 254
第11章 計算機算術運算 256
11.1 算術邏輯單元 256
11.2 整數(shù)表示 257
11.2.1 符號-幅值表示法 257
11.2.2 二進制補碼表示法 258
11.2.3 范圍擴展 260
11.2.4 定點表示法 261
11.3 整數(shù)算術運算 261
11.3.1 取負 261
11.3.2 加法和減法 262
11.3.3 乘法 265
11.3.4 除法 270
11.4 浮點表示 273
11.4.1 原理 273
11.4.2 二進制浮點表示的
IEEE標準 275
11.5 浮點算術運算 279
11.5.1 浮點加法和減法 280
11.5.2 浮點乘法和除法 281
11.5.3 精度考慮 282
11.5.4 二進制浮點算術運算的
IEEE標準 284
11.6 關鍵詞、思考題和習題 286
第12章 數(shù)字邏輯 290
12.1 布爾代數(shù) 290
12.1.1 集合代數(shù) 291
12.1.2 布爾恒等式 293
12.2 門 294
12.3 組合電路 296
12.3.1 布爾函數(shù)的實現(xiàn) 296
12.3.2 多路復用器 303
12.3.3 解碼器 304
12.3.4 只讀存儲器 305
12.3.5 加法器 306
12.4 時序電路 309
12.4.1 觸發(fā)器 309
12.4.2 寄存器 311
12.4.3 計數(shù)器 313
12.5 可編程邏輯器件 315
12.5.1 可編程邏輯陣列 316
12.5.2 現(xiàn)場可編程門陣列 317
12.6 關鍵詞和習題 318
第四部分 指令集與匯編語言
第13章 指令集:特征和功能 324
13.1 機器指令特征 324
13.1.1 機器指令要素 324
13.1.2 指令表示 325
13.1.3 指令類型 326
13.1.4 地址數(shù)目 327
13.1.5 指令集設計 328
13.2 操作數(shù)類型 329
13.2.1 數(shù)值 329
13.2.2 字符 329
13.2.3 邏輯數(shù)據(jù) 330
13.3 Intel x86和ARM數(shù)據(jù)類型 330
13.3.1 x86數(shù)據(jù)類型 330
13.3.2 ARM數(shù)據(jù)類型 331
13.4 操作類型