本書(shū)系統(tǒng)地介紹了計(jì)算機(jī)的組成及其工作原理。全書(shū)共分7章,第1章概要介紹計(jì)算機(jī)的硬件結(jié)構(gòu)、工作過(guò)程及性能指標(biāo);第2章介紹數(shù)據(jù)的表示與運(yùn)算方法,以及運(yùn)算部件組成;第3章介紹存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu),以及主存、Cache及虛擬存儲(chǔ)器的組成與工作原理;第4章介紹指令系統(tǒng)的基本組成;第5章介紹CPU的組成原理、設(shè)計(jì)方法,以及流水線技術(shù);第6~7章介紹總線互連及I/O系統(tǒng)。本書(shū)內(nèi)容全面、概念準(zhǔn)確、通俗易懂,注重通過(guò)大量例題分析來(lái)加深對(duì)各知識(shí)點(diǎn)的理解與掌握,重視知識(shí)點(diǎn)的融合以及整機(jī)概念的形成,兼顧基本原理在新技術(shù)中的應(yīng)用。本書(shū)既可作為高等院校計(jì)算機(jī)專(zhuān)業(yè)計(jì)算機(jī)組成原理課程的教材,也可作為相關(guān)專(zhuān)業(yè)科技人員的參考書(shū)。
第2版前言
計(jì)算機(jī)組成原理是計(jì)算機(jī)專(zhuān)業(yè)一門(mén)重要的硬件基礎(chǔ)課程,主要討論計(jì)算機(jī)硬件的基本組成及工作原理,對(duì)深入理解計(jì)算機(jī)系統(tǒng)至關(guān)重要。本書(shū)是《計(jì)算機(jī)組成原理》(電子工業(yè)出版社,2010年)的修訂版。本書(shū)有如下三個(gè)目標(biāo):以現(xiàn)代計(jì)算機(jī)技術(shù)為背景,掌握計(jì)算機(jī)的基本組成及原理;強(qiáng)調(diào)指令執(zhí)行過(guò)程中硬件的協(xié)同工作過(guò)程,以形成計(jì)算機(jī)的整機(jī)概念;重視CPU等部件的邏輯設(shè)計(jì)方法,以培養(yǎng)系統(tǒng)設(shè)計(jì)能力。本書(shū)保留了第1版的框架和風(fēng)格,對(duì)各章內(nèi)容進(jìn)行了大幅度的調(diào)整、刪減及補(bǔ)充,以達(dá)到上述目標(biāo)。例如,數(shù)據(jù)表示方法以C語(yǔ)言為例進(jìn)行分析,虛擬存儲(chǔ)器中增加MMU相關(guān)內(nèi)容,指令系統(tǒng)兼顧RISC及CISC風(fēng)格,CPU邏輯設(shè)計(jì)包含單周期及多周期數(shù)據(jù)通路、時(shí)序系統(tǒng)及中斷機(jī)構(gòu)組織,總線互連增加QPI總線、北橋等內(nèi)容。全書(shū)內(nèi)容共分7章,按照先了解計(jì)算機(jī)模型及硬件結(jié)構(gòu),再討論各個(gè)子系統(tǒng)的組成及工作原理,逐步形成硬件系統(tǒng)的思路來(lái)組織。第1章介紹現(xiàn)代計(jì)算機(jī)的硬件結(jié)構(gòu)、工作過(guò)程及性能指標(biāo);第2章介紹各種數(shù)據(jù)的表示方法,以及相應(yīng)的運(yùn)算方法組織和邏輯實(shí)現(xiàn);第3章介紹存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu),以及主存、Cache及虛擬存儲(chǔ)器的組成及工作原理;第4章介紹指令格式的組成,以及各種尋址方式;第5章介紹CPU的基本組成、工作原理,討論數(shù)據(jù)通路、控制單元的組織與設(shè)計(jì)方法,以及流水線的工作原理;第6章介紹總線的傳輸與控制原理,以及總線的互連結(jié)構(gòu);第7章介紹I/O系統(tǒng)的組成,以及幾種I/O方式的原理及組織方法。本書(shū)力求保持內(nèi)容全面、概念準(zhǔn)確、通俗易懂的特點(diǎn),通過(guò)大量的量化分析、邏輯設(shè)計(jì)來(lái)加深對(duì)基本概念、基本原理的理解和掌握,通過(guò)知識(shí)點(diǎn)的融合來(lái)逐步形成整機(jī)概念。本書(shū)編寫(xiě)過(guò)程中,得到了國(guó)防科技大學(xué)沈立副教授、東南大學(xué)楊全勝副教授的大力幫助,陳衍慶等同學(xué)也為書(shū)稿的繪圖做了大量工作,在此一并表示衷心的感謝。由于計(jì)算機(jī)結(jié)構(gòu)與組成的理論及技術(shù)在不斷發(fā)展,加之作者水平有限,書(shū)中難免存在不妥及疏漏之處,敬請(qǐng)廣大讀者及同行專(zhuān)家批評(píng)指正。
作 者2017年10月
任國(guó)林,東南大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院計(jì)算機(jī)工程系系統(tǒng)結(jié)構(gòu)教研室,副教授。 研究方向: 計(jì)算機(jī)體系結(jié)構(gòu)、嵌入式系統(tǒng)、控制系統(tǒng)及其應(yīng)用、多媒體壓縮與傳輸技術(shù)。
目 錄
第1章 計(jì)算機(jī)系統(tǒng)概述1
1.1 計(jì)算機(jī)的功能與軟硬件1
1.2 計(jì)算機(jī)的發(fā)展歷程2
1.3 計(jì)算機(jī)的硬件組成4
1.3.1 馮?諾依曼計(jì)算機(jī)4
1.3.2 計(jì)算機(jī)的結(jié)構(gòu)與部件5
1.3.3 計(jì)算機(jī)的部件互連7
1.4 計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)9
1.4.1 計(jì)算機(jī)的層次結(jié)構(gòu)9
1.4.2 軟件與硬件的關(guān)系11
1.4.3 計(jì)算機(jī)的結(jié)構(gòu)與組成11
1.5 計(jì)算機(jī)系統(tǒng)的工作過(guò)程12
1.5.1 計(jì)算機(jī)的工作方式12
1.5.2 程序執(zhí)行過(guò)程13
1.6 計(jì)算機(jī)系統(tǒng)的性能指標(biāo)15
習(xí)題119
第2章 數(shù)據(jù)的表示與運(yùn)算21
2.1 數(shù)據(jù)的編碼21
2.1.1 數(shù)制及其轉(zhuǎn)換21
2.1.2 機(jī)器數(shù)及其編碼24
2.1.3 十進(jìn)制數(shù)編碼28
2.1.4 字符編碼29
2.1.5 數(shù)據(jù)校驗(yàn)碼30
2.2 數(shù)據(jù)的表示37
2.2.1 數(shù)據(jù)的表示方法37
2.2.2 整數(shù)的表示38
2.2.3 實(shí)數(shù)的表示40
2.2.4 非數(shù)值數(shù)據(jù)的表示44
2.2.5 數(shù)據(jù)表示舉例46
2.3 定點(diǎn)數(shù)的運(yùn)算48
2.3.1 常用的邏輯部件48
2.3.2 加減運(yùn)算53
2.3.3 移位運(yùn)算57
2.3.4 乘法運(yùn)算59
2.3.5 除法運(yùn)算67
2.4 浮點(diǎn)數(shù)的運(yùn)算74
2.4.1 浮點(diǎn)加減運(yùn)算74
2.4.2 浮點(diǎn)乘除運(yùn)算78
2.5 十進(jìn)制數(shù)的加減運(yùn)算80
2.6 運(yùn)算器的組成82
2.6.1 ALU的組成82
2.6.2 運(yùn)算器的組織83
習(xí)題286
第3章 存儲(chǔ)系統(tǒng)89
3.1 存儲(chǔ)系統(tǒng)概述89
3.1.1 存儲(chǔ)器的分類(lèi)89
3.1.2 存儲(chǔ)器的主要技術(shù)指標(biāo)90
3.1.3 層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)91
3.2 半導(dǎo)體存儲(chǔ)技術(shù)93
3.2.1 靜態(tài)存儲(chǔ)器93
3.2.2 動(dòng)態(tài)存儲(chǔ)器97
3.2.3 半導(dǎo)體只讀存儲(chǔ)器101
3.3 主存儲(chǔ)器104
3.3.1 主存儲(chǔ)器的基本組成104
3.3.2 主存儲(chǔ)器的邏輯設(shè)計(jì)105
3.3.3 主存儲(chǔ)器與CPU的連接108
3.3.4 提高訪存速度的技術(shù)111
3.4 高速緩沖存儲(chǔ)器115
3.4.1 Cache的基本原理115
3.4.2 Cache的地址映射119
3.4.3 Cache的替換算法123
3.4.4 Cache的寫(xiě)策略125
3.4.5 Pentium的Cache組織126
3.5 虛擬存儲(chǔ)器128
3.5.1 存儲(chǔ)管理的相關(guān)概念128
3.5.2 虛擬存儲(chǔ)器的基本原理130
3.5.3 虛擬存儲(chǔ)器的存儲(chǔ)管理131
3.5.4 頁(yè)式虛擬存儲(chǔ)器的實(shí)現(xiàn)133
習(xí)題3137
第4章 指令系統(tǒng)140
4.1 指令系統(tǒng)組成140
4.1.1 指令功能140
4.1.2 指令格式143
4.2 操作數(shù)的存放方式145
4.3 尋址方式148
4.3.1 指令尋址方式148
4.3.2 數(shù)據(jù)尋址方式148
4.3.3 指令格式分析及其應(yīng)用152
4.4 指令系統(tǒng)舉例154
4.4.1 MIPS指令系統(tǒng)155
4.4.2 Pentium指令系統(tǒng)160
4.5 指令系統(tǒng)發(fā)展163
習(xí)題4165
第5章 中央處理器168
5.1 CPU的組成與工作流程168
5.1.1 CPU的功能168
5.1.2 CPU的組成169
5.1.3 CPU的工作流程171
5.1.4 指令的執(zhí)行過(guò)程172
5.2 數(shù)據(jù)通路的組織175
5.2.1 數(shù)據(jù)通路的組成175
5.2.2 數(shù)據(jù)通路的設(shè)計(jì)方法182
5.2.3 單周期數(shù)據(jù)通路的設(shè)計(jì)184
5.2.4 多周期數(shù)據(jù)通路的設(shè)計(jì)190
5.3 控制器的組成193
5.3.1 控制器的基本結(jié)構(gòu)193
5.3.2 時(shí)序信號(hào)的形成195
5.3.3 OP控制信號(hào)的形成199
5.4 硬布線控制器的設(shè)計(jì)199
5.4.1 控制單元的設(shè)計(jì)步驟200
5.4.2 單周期控制單元的設(shè)計(jì)201
5.4.3 多周期控制單元的設(shè)計(jì)202
5.5 微程序控制器的設(shè)計(jì)205
5.5.1 微程序控制思想205
5.5.2 微程序控制器的組成與工作原理206
5.5.3 微指令格式208
5.5.4 微程序控制單元的設(shè)計(jì)211
5.6 異常及中斷的處理214
5.6.1 異常及中斷的基本概念214
5.6.2 異常及中斷的處理過(guò)程215
5.6.3 支持異常處理的CPU設(shè)計(jì)218
5.7 指令流水線技術(shù)219
5.7.1 指令流水線概述220
5.7.2 指令流水線的冒險(xiǎn)處理223
5.7.3 指令流水線的設(shè)計(jì)229
5.7.4 指令流水線的并行技術(shù)234
習(xí)題5236
第6章 總線240
6.1 總線概述240
6.1.1 總線的分類(lèi)240
6.1.2 總線的特性242
6.1.3 總線的性能指標(biāo)242
6.1.4 總線的操作過(guò)程243
6.2 總線仲裁245
6.2.1 集中式仲裁245
6.2.2 分布式仲裁247
6.3 總線定時(shí)與傳輸248
6.3.1 總線定時(shí)方式248
6.3.2 總線傳輸模式251
6.3.3 總線標(biāo)準(zhǔn)252
6.4 總線結(jié)構(gòu)與互連254
6.4.1 總線結(jié)構(gòu)254
6.4.2 總線互連257
習(xí)題6258
第7章 輸入/輸出系統(tǒng)260
7.1 I/O系統(tǒng)概述260
7.1.1 I/O系統(tǒng)的組成260
7.1.2 外設(shè)與主機(jī)的聯(lián)系261
7.1.3 I/O的傳送控制方式263
7.2 外部設(shè)備265
7.2.1 輸入設(shè)備265
7.2.2 輸出設(shè)備267
7.2.3 存儲(chǔ)設(shè)備271
7.3 I/O接口280
7.3.1 I/O接口的功能280
7.3.2 I/O接口的組成280
7.3.3 對(duì)I/O接口的訪問(wèn)282
7.4 程序直接控制I/O方式282
7.4.1 程序查詢方式的I/O控制流程282
7.4.2 程序查詢方式的I/O接口組織284
7.4.3 直接傳送方式的I/O組織285
7.5 程序中斷I/O方式286
7.5.1 中斷的概念286
7.5.2 中斷接口的組織291
7.5.3 中斷系統(tǒng)的結(jié)構(gòu)292
7.5.4 多重中斷與中斷屏蔽的組織294
7.6 DMA方式297
7.6.1 DMA的傳送方式297
7.6.2 DMA接口的功能與結(jié)構(gòu)299
7.6.3 DMA的傳送過(guò)程300
7.6.4 DMA接口的組織301
習(xí)題7304
參考文獻(xiàn)307