本書以馮?諾依曼程序控制單處理器計算機的結構框架為主體,圍繞經(jīng)典計算機組織設計實現(xiàn)的技術方法,闡述計算機的結構原理、組成實現(xiàn)等概念,以及數(shù)據(jù)表示、指令系統(tǒng)、數(shù)據(jù)校驗等計算機屬性,介紹計算機組成部件的功能與組織基礎、結構原理與工作機制、設計方法與實現(xiàn)邏輯。本書包含計算機系統(tǒng)概論、計算機組成設計實現(xiàn)基礎、系統(tǒng)總線及其I/O接口、運算器及其設計實現(xiàn)、主存儲器及其組織實現(xiàn)、控制器及其設計實現(xiàn)、輸入輸出系統(tǒng)及其操作控制7章,可分為兩部分:第1、2章為優(yōu)質(zhì)部分,討論計算機組成設計實現(xiàn)的基礎;第3~7章為第二部分,討論計算機組成部件的設計實現(xiàn)。本書依據(jù)本科院校應用型人才培養(yǎng)的目標要求和計算機硬件課程體系的組織配置,在總結編者長期教學經(jīng)驗、借鑒國內(nèi)外經(jīng)典教材優(yōu)點的基礎上,經(jīng)過反復研究和精心編寫而成。本書結構新穎,內(nèi)容實用,層次有序,概念清晰,語言通俗,可作為高等院校計算機類專業(yè)本科生“計算機組成原理”課程的教材,也可作為有關專業(yè)研究生和相關領域科技人員的參考書。
本書依據(jù)本科院校應用型人才培養(yǎng)的目標要求和計算機硬件課程體系的組織配置,總結編者長期的教學經(jīng)驗,借鑒國內(nèi)外經(jīng)典教材的優(yōu)點,反復研究、精心編寫。本書結構新穎、內(nèi)容實用、層次有序、概念清晰、語言通俗,可作為高等院校計算機類專業(yè)本科生“計算機組成原理”課程的教材,也可作為有關專業(yè)研究生和相關領域科技人員的參考書。
前言
一臺完整計算機(系統(tǒng))包含硬件和軟件,硬件是功能實現(xiàn)的根基,軟件指示硬件的工作任務,用于擴展硬件功能。近幾十年,由于計算機技術的迅猛發(fā)展及其應用領域的不斷延伸,以單臺計算機為基礎,衍生出計算機科學與技術、軟件工程、網(wǎng)絡工程、信息安全、物聯(lián)網(wǎng)工程、數(shù)字媒體技術、智能科學與技術、空間信息與數(shù)字技術、數(shù)據(jù)科學與大數(shù)據(jù)技術等專業(yè),由此形成一個計算機類專業(yè)群?梢,底層(硬件)的結構原理與運行機制及其設計實現(xiàn)技術是計算機設計實現(xiàn)及其應用能力建構的知識,并已滲透到許多領域,也必將滲透到人類社會活動的方方面面。所以“計算機組成原理”是計算機類各專業(yè)的一門專業(yè)核心課,在計算機硬件課程體系中具有承上啟下的作用,“承”先導課程有“數(shù)字邏輯電路”和“匯編語言程序設計”,“啟”后繼課程有“計算機體系結構”“微型計算機及其接口技術”“嵌入式系統(tǒng)及其應用開發(fā)”“單片機及其應用開發(fā)”等。依據(jù)地方本科高校應用型人才培養(yǎng)的目標要求及其學生的特點,編寫知識體系適宜、層次結構清晰、文字探究可讀性強、適用于自主研究性學習的“計算機組成原理”課程教材是極其必要的。
1. 編寫的基本思想
“計算機組成原理”課程的教學內(nèi)容不僅繁多復雜、差異性大、理論性強,而且知識具有難、遠、長的特點!半y”是知識難以掌握,“遠”是理論與實際相距甚遠,“長”是知識關系鏈長。根據(jù)地方本科高校應用型人才培養(yǎng)的目標要求和“計算機組成原理”課程知識內(nèi)容的特點,借鑒吸收經(jīng)典“計算機組成原理”課程教材的優(yōu)點,在總結分析自己長期從事“計算機組成原理”及硬件系列課程教學的基礎上,本書編寫的基本思想為: ①在內(nèi)容范圍上,選擇定位本義性“計算機組成原理”,圍繞經(jīng)典計算機硬件結構框架,討論組成部件的設計實現(xiàn); ②在內(nèi)容組織上,按先軟(設計實現(xiàn)基礎)后硬(部件設計實現(xiàn))的原則,對經(jīng)典教材一般結構進行適當調(diào)整; ③在內(nèi)容闡述上,以問題場景或知識關聯(lián)為引導,不僅通俗具體地敘述知識,而且深化詳細地析解知識,使得文字探究可讀,適用于學生自主研究性學習。
組成實現(xiàn)是認知物理形態(tài)對象的基本途徑,整體是由部分分層組成實現(xiàn)的。計算機(硬件)的組成可分為整機、部件、器件和元件四個層次,通過元件→器件、器件→部件、部件→整機三級來實現(xiàn),且分別對應“數(shù)字邏輯電路”“計算機組成原理”和“計算機體系結構”三門課程,該三門課程是計算機硬件課程的核心體系,知識關系極為緊密。因此,雖然“計算機組成原理”課程教材眾多,但從內(nèi)容范圍來看,一般可分為本義性和擴展性兩種類型,擴展性“計算機組成原理”課程教材又分為帶先導的和帶后繼的兩種類型。本義性“計算機組成原理”課程教材是以經(jīng)典計算機結構框架為基礎,按計算機三級實現(xiàn)設置硬件課程來規(guī)劃內(nèi)容范圍。帶先導的擴展性“計算機組成原理”課程教材是考慮不單獨設置先導課程“數(shù)字邏輯電路”,在本義性“計算機組成原理”課程教材的基礎上,增加1或2章來闡述數(shù)字邏輯電路的基本知識。帶后繼的擴展性“計算機組成原理”課程教材是考慮不另外設置后繼課程“計算機體系結構”,且“計算機組成原理”與“計算機體系結構”課程在知識內(nèi)容上難以區(qū)分,在本義性“計算機組成原理”課程教材的有關章中,增加1或2節(jié)來介紹“計算機體系結構”課程的相應知識(該類型目前出版最多),如在“控制器及其設計實現(xiàn)”一章中介紹流水線處理技術,“主存儲器及其組織實現(xiàn)”一章改為“存儲系統(tǒng)及其組織實現(xiàn)”,主存儲器僅作為存儲層次的一部分等。同種類型“計算機組成原理”課程教材,其內(nèi)容范圍差異不大,但擴展性“計算機組成原理”課程教材體量較大,一般需要90~100課時來完成其所包含知識內(nèi)容的教學,如此還不如單獨設置兩門課程。目前,計算機類專業(yè)通常單獨設置三門或前兩門課程來配置計算機硬件核心課程體系,極少把“數(shù)字邏輯電路”或“計算機體系結構”課程的知識內(nèi)容包含于“計算機組成原理”課程之中。因此,本書內(nèi)容范圍選擇定位于本義性“計算機組成原理”。
〖1〗計算機組成原理(第2版)前言[3]〖3〗本義性“計算機組成原理”課程教材內(nèi)容范圍的組織結構大同小異,一般分為計算機系統(tǒng)概論、數(shù)據(jù)信息表示與檢驗、指令系統(tǒng)、運算方法與運算器、主存儲器及其組織、中央處理器、系統(tǒng)總線、輸入輸出系統(tǒng)(含接口)、輸入輸出設備9章。這樣的組織結構使得各章之間所包含知識與篇幅差異較大,如指令系統(tǒng)和系統(tǒng)總線兩章同運算方法與運算器和中央處理器兩章相比,所包含知識與篇幅很少。對此,本書在組織結構上進行了三方面的調(diào)整: 一是由于數(shù)據(jù)信息表示與檢驗和指令系統(tǒng)兩章的知識內(nèi)容均是計算機結構及其功能部件設計實現(xiàn)的基礎,便將它們合并為一章,稱為“計算機組成設計實現(xiàn)基礎”;二是由于性能不高的計算機均采用總線結構,則接口必須面向某一系統(tǒng)總線,即如系統(tǒng)總線一樣是標準化的,便將I/O接口的知識內(nèi)容調(diào)整到系統(tǒng)總線一章,稱為“系統(tǒng)總線及其I/O接口”;三是輸入輸出設備是輸入輸出系統(tǒng)的組成部分,便將輸入輸出系統(tǒng)和輸入輸出設備合并為一章,稱為“輸入輸出系統(tǒng)及其操作控制”。所以,本書分為7章,且按內(nèi)容組織原則,順序為: 計算機系統(tǒng)概論、計算機組成設計實現(xiàn)基礎、系統(tǒng)總線及其I/O接口、運算器及其設計實現(xiàn)、主存儲器及其組織實現(xiàn)、控制器及其設計實現(xiàn)、輸入輸出系統(tǒng)及其操作控制。
地方本科高校的學生普遍存在“重軟輕硬”現(xiàn)象,由教材提供一定的文字閱讀量、深化具體展開知識探究,是提高學生學習興趣、促進學生自主研究性學習的途徑之一。在知識敘述上,平鋪直敘知識內(nèi)容,沒有關聯(lián)通俗的比較,則文字的可閱讀性和趣味性不強;如敘述“微指令格式”時,則同“指令格式”相比較,為什么前者需要配置“順序控制域”,而后者卻不需要。在知識析解上,“就事論事”地闡述“怎樣做”,不深入解釋“為什么這樣做”,則知識可理解性、可探討性不高;如解釋“指令功能分類”時,則應從計算機的功能特性與工作原理出發(fā),來解釋為什么需要配置這些類型的指令。特別地,依據(jù)基于問題學習(PBL)教學理論,每一節(jié)都配置一段問題導學,通過關聯(lián)場景,提出本節(jié)需要討論的知識和解決的問題,有利于基于問題學習的實現(xiàn)和學生自主研究性學習。
2. 教材各章概述
本書共7章,可分為兩部分。優(yōu)質(zhì)部分包括第1、2章。第1章回顧計算機發(fā)展的歷史,展望計算機發(fā)展的未來,介紹計算機的功能特點與應用領域,討論計算機的結構原理與組成實現(xiàn),分析軟硬件關系及其等效性、虛擬計算機等概念,闡述計算機的性能指標與分類和計算機系統(tǒng)的層次性。第2章介紹數(shù)據(jù)表示、數(shù)據(jù)校驗和指令系統(tǒng)及其相關概念,討論非數(shù)值數(shù)據(jù)的編碼和數(shù)值數(shù)據(jù)的表示方法及其功效特征,分析數(shù)據(jù)校驗編碼的原理及其方法,闡述指令格式及其結構類型、指令功能分類、尋址方式和堆棧及其尋址實現(xiàn)。
第二部分包括第3~7章。第3章介紹總線及其分類、特性、事務等基本概念和常用系統(tǒng)總線與I/O接口標準的性能特點,闡述系統(tǒng)總線的數(shù)據(jù)交換過程、通信定時方式、分配仲裁方法、單處理機的總線結構,討論I/O接口及其分類和功能結構。第4章在闡述基本二進制加法器及其進位邏輯的基礎上,分析原碼與補碼加、減、乘、除運算的方法、規(guī)則及流程,討論原碼與補碼加、減、乘、除運算的邏輯實現(xiàn)與速度提高的途徑,介紹算術邏輯運算部件邏輯結構設計方法和運算器的組成結構及其組織形式。第5章介紹存儲器的分類、性能指標、
目錄[3]〖3〗第1章計算機系統(tǒng)概論/1
1.1計算機及其發(fā)展與應用1
1.1.1計算機及其功能特點1
1.1.2計算機發(fā)展的歷史2
1.1.3未來計算機的發(fā)展6
1.1.4計算機應用7
1.2計算機的結構原理9
1.2.1計算機的工作原理9
1.2.2馮·諾依曼計算機體系結構12
1.2.3計算機功能部件簡介14
1.3計算機組成實現(xiàn)與性能分類16
1.3.1計算機組成與計算機實現(xiàn)16
1.3.2計算機組成層次與互連17
1.3.3計算機的主要性能指標18
1.3.4計算機的分類19
1.4計算機系統(tǒng)及其軟件20
1.4.1計算機系統(tǒng)及其軟硬件等效性21
1.4.2計算機軟件的分類22
1.4.3計算機系統(tǒng)的層次性22
復習題24
練習題25
第2章計算機組成設計實現(xiàn)基礎/26
2.1數(shù)據(jù)表示與非數(shù)值數(shù)據(jù)編碼26
2.1.1數(shù)據(jù)表示與二進制編碼26
2.1.2非數(shù)值數(shù)據(jù)編碼27
2.1.3線性結構數(shù)據(jù)表示33
2.2數(shù)值數(shù)據(jù)表示34
2.2.1數(shù)值數(shù)據(jù)表示的相關概念34
2.2.2數(shù)值數(shù)據(jù)的表示格式36
2.2.3定點數(shù)的編碼及其數(shù)值范圍38
2.2.4定點機器數(shù)的比較與轉(zhuǎn)換43
2.2.5定點機器數(shù)符號擴展46
2.2.6浮點數(shù)的編碼與數(shù)值范圍46
2.3數(shù)據(jù)校驗的編譯碼與實現(xiàn)50
2.3.1數(shù)據(jù)校驗及其基本思想51
2.3.2奇偶校驗碼52
2.3.3海明校驗碼55
2.3.4循環(huán)冗余校驗碼59
2.4指令格式與指令功能分類65
2.4.1指令及指令格式65
2.4.2指令格式的分類66
2.4.3指令系統(tǒng)及其指令功能分類69
2.4.4數(shù)據(jù)傳輸指令71
2.4.5運算操作指令73
2.4.6程序控制指令74
2.5尋址方式與堆棧76
2.5.1尋址方式及其分類76
2.5.2指令尋址方式77
2.5.3操作數(shù)尋址方式79
2.5.4堆棧及其尋址實現(xiàn)85
復習題89
練習題91
第3章系統(tǒng)總線及其I/O接口/95
3.1總線的基本概念95
3.1.1總線及其電路95
3.1.2總線的分類96
3.1.3總線的特性與性能指標97
3.1.4總線事務與數(shù)據(jù)傳送方式98
3.2系統(tǒng)總線特性與連接結構100
3.2.1數(shù)據(jù)交換過程與傳輸線分類100
3.2.2總線通信的定時方式102
3.2.3串行傳送的通信方式105
3.2.4總線仲裁及其仲裁方法106
3.2.5單處理器計算機的總線結構111
3.3系統(tǒng)總線I/O接口113
3.3.1I/O接口及其分類114
3.3.2I/O接口的功能與結構模型115
3.3.3串并行接口的組成結構117
3.4實用標準總線及其I/O接口118
3.4.1實用標準總線的發(fā)展歷程118
3.4.2主流實用總線標準簡介121
3.4.3典型實用接口標準簡介124
復習題130
練習題131
第4章運算器及其設計實現(xiàn)/132
4.1二進制基本加法器及其進位邏輯132
4.1.1二進制基本加法器與串行加法器132
4.1.2并行加法器及其串行進位134
4.1.3先行進位及其層級分時136
4.2定點數(shù)加減運算及其邏輯實現(xiàn)142
4.2.1補碼加減的運算方法143
4.2.2補碼加減運算上溢判斷方法147
4.2.3補碼加減運算的邏輯實現(xiàn)151
4.2.4移碼加減運算及其邏輯實現(xiàn)153
4.2.5十進制加運算及其邏輯實現(xiàn)155
4.3定點數(shù)乘運算及其邏輯實現(xiàn)158
4.3.1乘法器種類與手工運算的改進158
4.3.2有符號數(shù)的移位與舍入規(guī)則160
4.3.3原碼一位乘法及其邏輯實現(xiàn)162
4.3.4補碼一位乘法及其邏輯實現(xiàn)165
4.3.5兩位乘運算方法168
4.3.6陣列乘法器173
4.4定點數(shù)除運算及其邏輯實現(xiàn)176
4.4.1除法器種類與手工運算的改進176
4.4.2原碼除法及其邏輯實現(xiàn)178
4.4.3補碼除法及其邏輯實現(xiàn)181
4.4.4陣列除法器186
4.5浮點數(shù)算術運算方法與邏輯運算實現(xiàn)188
4.5.1浮點數(shù)加減運算方法188
4.5.2浮點數(shù)乘除運算方法191
4.5.3邏輯運算及其實現(xiàn)195
4.6運算器組成及其組織結構196
4.6.1算術邏輯運算單元與部件196
4.6.2SN74181 ALU集成電路芯片198
4.6.3定點運算器組成及其組織結構200
4.6.4浮點運算器組成結構202
復習題204
練習題205
第5章主存儲器及其組織實現(xiàn)/208
5.1存儲器與存儲系統(tǒng)的概述208
5.1.1存儲器的訪問與性能208
5.1.2存儲器的分類及其結構209
5.1.3存儲系統(tǒng)及其組織結構211
5.1.4二級結構存儲系統(tǒng)及其比較214
5.1.5半導體存儲器芯片的一般結構216
5.2MOS寫常態(tài)存儲器芯片219
5.2.1靜態(tài)存儲器芯片的結構原理220
5.2.2動態(tài)存儲器芯片的結構原理223
5.2.3靜態(tài)與動態(tài)存儲器芯片的比較227
5.2.4靜態(tài)存儲器芯片的讀寫周期227
5.2.5動態(tài)MOS存儲器的刷新231
5.3只讀、混合與高性能MOS存儲器芯片235
5.3.1只讀MOS存儲器芯片的結構原理235
5.3.2混合MOS存儲器芯片的結構原理237
5.3.3雙端口存儲器239
5.3.4相聯(lián)存儲器240
5.3.5動態(tài)MOS存儲器的新技術243
5.4主存儲器及其容量擴展組織245
5.4.1半導體存儲器芯片的特性與引腳245
5.4.2主機及其存儲器的組成結構247
5.4.3主存儲器模塊的組織249
5.4.4主存儲器實現(xiàn)及其與CPU的連接256
復習題266
練習題267
第6章控制器及其設計實現(xiàn)/270
6.1控制器功能結構與實現(xiàn)方法270
6.1.1中央處理器的功能與結構270
6.1.2中央處理器中的寄存器272
6.1.3中央處理器的主要性能指標275
6.1.4控制器的功能與結構276
6.1.5控制信號序列發(fā)生器的實現(xiàn)方法279
6.2指令處理的數(shù)據(jù)通路、微操作與微命令280
6.2.1指令處理流程及其狀態(tài)轉(zhuǎn)換281
6.2.2指令處理的數(shù)據(jù)通路及其微操作282
6.2.3模型機及其微命令285
6.3時序信號體系及其控制實現(xiàn)291
6.3.1指令周期及其時段劃分291
6.3.2控制器時序控制293
6.3.3CPU內(nèi)部時序信號體系295
6.3.4時序信號發(fā)生器298
6.4微程序設計技術302
6.4.1微指令及其基本格式302
6.4.2微程序及其與指令、微指令的關系305
6.4.3微命令的編碼方法307
6.4.4微指令格式的類型310
6.4.5微程序運行的控制方法311
6.4.6微程序設計316
6.5硬布線控制器與微程序控制器321
6.5.1硬布線控制器321
6.5.2微程序控制器323
6.5.3微程序控制器與硬布線控制器的比較325
6.6控制信號序列發(fā)生器設計326
6.6.1模型機指令及其控制信號序列326
6.6.2組合邏輯控制信號序列發(fā)生器設計330
6.6.3存儲邏輯控制信號序列發(fā)生器設計334
復習題338
練習題340
第7章輸入輸出系統(tǒng)及其操作控制/346
7.1輸入輸出系統(tǒng)概述346
7.1.1外圍設備的分類與特性346
7.1.2輸入輸出系統(tǒng)及其結構功能348
7.1.3輸入輸出的過程與指令349
7.1.4輸入輸出控制的發(fā)展歷程349
7.1.5輸入輸出系統(tǒng)的工作方式351
7.2中斷及其實現(xiàn)的結構原理352
7.2.1中斷與中斷源352
7.2.2中斷請求355
7.2.3中斷響應357
7.2.4中斷服務返回與中斷過程結構363
7.3輸入輸出操作的控制方式366
7.3.1程序查詢控制方式366
7.3.2程序中斷控制方式369
7.3.3直接存儲訪問控制方式372
7.3.4通道控制方式377
7.4輸入設備381
7.4.1鍵盤381
7.4.2掃描儀384
7.4.3數(shù)碼相機386
7.4.4其他輸入設備388
7.5輸出設備390
7.5.1打印機390
7.5.2顯示器394
7.6存儲設備400
7.6.1磁表面存儲器400
7.6.2硬磁盤存儲器403
7.6.3冗余磁盤陣列406
7.6.4光盤存儲器411
復習題414
練習題416