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