![]() ![]() |
計(jì)算機(jī)組成與體系結(jié)構(gòu):性能設(shè)計(jì)(原書第11版) ![]()
本書介紹了計(jì)算機(jī)組成及體系結(jié)構(gòu)的核心知識(shí),內(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ǔ)性知識(shí)并進(jìn)行深入討論,同時(shí)將這些知識(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í)保持對(duì)整個(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章中對(duì)SPEC的描述已經(jīng)更新,以涵蓋新的SPEC CPU2017基準(zhǔn)套件。 存儲(chǔ)器層次結(jié)構(gòu):關(guān)于存儲(chǔ)器層次結(jié)構(gòu)的新的一章擴(kuò)展了原cache存儲(chǔ)器一章中的內(nèi)容,并添加了新內(nèi)容。新的第4章包括: 更新和擴(kuò)展了局部性原則的覆蓋范圍。 更新和擴(kuò)展了存儲(chǔ)器層次結(jié)構(gòu)的覆蓋范圍。 存儲(chǔ)器層次結(jié)構(gòu)中數(shù)據(jù)訪問性能建模的一種新方法。 cache存儲(chǔ)器:cache存儲(chǔ)器一章已經(jīng)更新和修訂。第5章現(xiàn)在包括: 修訂和擴(kuò)展了邏輯cache組織的處理方式,使用新的圖形以更加清晰。 內(nèi)容可尋址存儲(chǔ)器的描述。 寫入分配和無寫入分配策略的描述。 介紹cache性能建模的新的一節(jié)。 嵌入式動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器:關(guān)于內(nèi)存的第6章現(xiàn)在包括一節(jié)關(guān)注越來越流行的嵌入式動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(eDRAM)。 高級(jí)格式4K扇區(qū)硬盤:關(guān)于外部存儲(chǔ)器的第7章,包括對(duì)現(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章中對(duì)MESI cache一致性協(xié)議的討論已經(jīng)用新的文稿和圖進(jìn)行了擴(kuò)展。 對(duì)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將所有課程劃分為三類:核心一級(jí)(所有主題都應(yīng)包含在課程中),核心二級(jí)(應(yīng)包括所有或幾乎所有主題),選修(希望提供廣度和深度)。在體系結(jié)構(gòu)和組成(AR)領(lǐng)域,CS2013包括五個(gè)二級(jí)主題和三個(gè)選修主題,每個(gè)主題都有多個(gè)子主題。本書涵蓋了CS2013列出的所有八個(gè)主題。表P.1顯示了本書對(duì)CS2013 AR知識(shí)領(lǐng)域的覆蓋。本書也支持ACM/IEEE計(jì)算機(jī)工程課程指南2016(CE2016)。CE2016定義了計(jì)算機(jī)工程本科的必要知識(shí)體系,分為十二個(gè)知識(shí)領(lǐng)域。其中一個(gè)領(lǐng)域是計(jì)算機(jī)體系結(jié)構(gòu)和組成(CE-CAO),由十個(gè)核心知識(shí)領(lǐng)域組成。本書涵蓋了CE2016中列出的所有CE-CAO知識(shí)領(lǐng)域,表P.2顯示了覆蓋范圍。 表P.1 對(duì)CS2013體系結(jié)構(gòu)和組成(AR)知識(shí)領(lǐng)域的覆蓋 IAS知識(shí)單元主 題本書覆蓋章節(jié) 數(shù)字邏輯與數(shù)字系統(tǒng)(二級(jí))計(jì)算機(jī)體系結(jié)構(gòu)的概述和歷史 組合與時(shí)序邏輯/現(xiàn)場(chǎng)可編程門陣列作為基本組合時(shí)序邏輯構(gòu)建塊 多重表示/分層的解釋(硬件只是另一層) 物理約束(門延遲、扇入、扇出、能量/功率) 第1章 第12章 數(shù)據(jù)的機(jī)器級(jí)表示(二級(jí))位、字節(jié)和字 數(shù)值數(shù)據(jù)表示和數(shù)值的進(jìn)制 定點(diǎn)與浮點(diǎn)系統(tǒng) 有符號(hào)和二進(jìn)制補(bǔ)碼表示 非數(shù)值數(shù)據(jù)的表示(字符代碼、圖形數(shù)據(jù)) 第10章 第11章 匯編級(jí)機(jī)器組成(二級(jí))馮·諾依曼機(jī)的基本結(jié)構(gòu) 控制單元;取指、譯碼和執(zhí)行 指令集和類型(數(shù)據(jù)操作、控制、I/O) 匯編/機(jī)器語言編程 指令格式 尋址模式 子程序調(diào)用和返回機(jī)制(交叉引用PL/語言翻譯和執(zhí)行) I/O 和中斷 共享內(nèi)存多處理器/多核組織 SIMD 與 MIMD 和 Flynn 分類法簡(jiǎn)介 第1章 第8章 第13章 第14章 第15章 第19章 第20章 第21章 存儲(chǔ)系統(tǒng)的組成與體系結(jié)構(gòu)(二級(jí))存儲(chǔ)系統(tǒng)及其技術(shù) 存儲(chǔ)器層次:時(shí)間局部性與空間局部性 主存組成和操作 延遲、循環(huán)時(shí)間、帶寬和交叉 cache存儲(chǔ)器(地址映射、塊大小、替換和存儲(chǔ)策略) 多處理器cache一致性/使用存儲(chǔ)系統(tǒng)進(jìn)行內(nèi)核間同步/原子內(nèi)存操作 虛擬內(nèi)存(頁(yè)表,TLB) 故障處理和可靠性 第4章 第5章 第6章 第7章 第9章 第20章 接口與通信(二級(jí))I/O基礎(chǔ):握手、緩沖、編程 I/O、中斷驅(qū)動(dòng) I/O 中斷結(jié)構(gòu):向量和優(yōu)先級(jí),中斷確認(rèn) 外部存儲(chǔ)、物理組成和驅(qū)動(dòng)器 總線:總線協(xié)議、仲裁、直接內(nèi)存訪問 (DMA) RAID 架構(gòu) 第3章 第7
目 錄
Computer Organization and Architecture: Designing for Performance, Eleventh Edition 譯者序 前言 作者簡(jiǎn)介 譯者簡(jiǎn)介 第一部分 概述 第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 邏輯門、存儲(chǔ)器位元、芯片和 多芯片模塊 12 1.4.1 邏輯門和存儲(chǔ)器位元 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)測(cè)試和SPEC 43 2.6.1 基準(zhǔn)測(cè)試原則 43 2.6.2 SPEC基準(zhǔn)測(cè)試 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)對(duì)點(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章 存儲(chǔ)器層次結(jié)構(gòu): 局部性和性能 83 4.1 局部性原理 83 4.2 存儲(chǔ)系統(tǒng)的特性 87 4.3 存儲(chǔ)器層次結(jié)構(gòu) 88 4.3.1 成本與性能特點(diǎn) 89 4.3.2 存儲(chǔ)器層次結(jié)構(gòu)的典型構(gòu)件 91 4.3.3 IBM z13存儲(chǔ)器層次結(jié)構(gòu) 92 4.3.4 存儲(chǔ)器層次結(jié)構(gòu)的設(shè)計(jì)原則 93 4.4 多級(jí)存儲(chǔ)器層次結(jié)構(gòu)的性能建�!�93 4.4.1 兩級(jí)存儲(chǔ)器存取 93 4.4.2 多級(jí)存儲(chǔ)器存取 97 4.5 關(guān)鍵詞、思考題和習(xí)題 99 第5章 cache存儲(chǔ)器 102 5.1 cache存儲(chǔ)器的原理 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)部存儲(chǔ)器 131 6.1 半導(dǎo)體主存儲(chǔ)器 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 多體交叉存儲(chǔ)器 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)存儲(chǔ)器技術(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章 外部存儲(chǔ)器 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級(jí) 165 7.2.2 RAID 1級(jí) 167 7.2.3 RAID 2級(jí) 168 7.2.4 RAID 3級(jí) 168 7.2.5 RAID 4級(jí) 169 7.2.6 RAID 5級(jí) 169 7.2.7 RAID 6級(jí) 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 光存儲(chǔ)器 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 使用共享的最后一級(jí) 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 長(zhǎng)期調(diào)度 225 9.2.2 中期調(diào)度 225 9.2.3 短期調(diào)度 225 9.3 存儲(chǔ)器管理 228 9.3.1 交換 228 9.3.2 分區(qū) 229 9.3.3 分頁(yè) 230 9.3.4 虛擬存儲(chǔ)器 232 9.3.5 快表 233 9.3.6 分段 235 9.4 Intel x86存儲(chǔ)器管理 235 9.4.1 地址空間 235 9.4.2 分段 236 9.4.3 分頁(yè) 238 9.5 ARM存儲(chǔ)器管理 239 9.5.1 存儲(chǔ)器系統(tǒng)組織 239 9.5.2 虛擬存儲(chǔ)器地址轉(zhuǎn)換 239 9.5.3 存儲(chǔ)器管理格式 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 符號(hào)-幅值表示法 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 只讀存儲(chǔ)器 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)場(chǎng)可編程門陣列 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 操作類型
你還可能感興趣
我要評(píng)論
|