計算機系統(tǒng):基礎(chǔ)概念及編程實踐
定 價:59 元
叢書名:高等院校計算機教材系列華章教育
- 作者:錢曉捷
- 出版時間:2018/9/1
- ISBN:9787111608097
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP303
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書融合計算機學(xué)科的“計算機組成原理”、“微機原理”和“匯編語言程序設(shè)計”課程的基本內(nèi)容,同時補充“數(shù)字邏輯”課程基礎(chǔ)知識、延伸有“計算機系統(tǒng)結(jié)構(gòu)”課程核心概念,結(jié)合C語言和匯編語言編程實踐,從軟件角度理解計算機系統(tǒng)的工作原理,為軟件編程應(yīng)用和硬件技術(shù)深入奠定學(xué)科基礎(chǔ)。
我國計算機科學(xué)與技術(shù)專業(yè),尤其是計算機工程方向,往往開設(shè)多門有關(guān)計算機組成與結(jié)構(gòu)的課程,一般包括“數(shù)字邏輯” “計算機組成原理” “匯編語言程序設(shè)計” “微機原理及接口技術(shù)”和“計算機系統(tǒng)結(jié)構(gòu)”等。然而,計算機相關(guān)的其他專業(yè)并不要求全面深入的硬件技術(shù)知識,也沒有足夠的學(xué)時展開如此眾多的教學(xué)內(nèi)容。本書基于軟件工程專業(yè)的課程教學(xué)實踐,融合上述硬件技術(shù)相關(guān)課程的基本內(nèi)容,從技術(shù)應(yīng)用角度通過軟件編程介紹計算機硬件組成和計算機工作原理。
在多門課程內(nèi)容的融合過程和具體的教學(xué)實踐中,需要努力解決好諸多教學(xué)問題,這也就形成了本書內(nèi)容的特點。
1. 融合計算機組成原理和微機技術(shù)實例
傳統(tǒng)上,計算機組成原理面向計算機學(xué)科,主要介紹計算機硬件的組成結(jié)構(gòu)和工作原理。而微機原理主要針對電子、通信等機電類專業(yè),從應(yīng)用角度介紹通用微型計算機(簡稱為微機)的應(yīng)用技術(shù)。本書采取通過實例理解原理的基本思路,即以計算機組成原理為主體,結(jié)合微機原理(IA-32處理器和PC)實例。這樣,一方面利于學(xué)生掌握原理,避免重復(fù)學(xué)習(xí);另一方面使學(xué)生熟悉廣泛應(yīng)用的通用微機系統(tǒng),為應(yīng)用奠定基礎(chǔ)。
2. 以C和匯編語言實踐貫穿邏輯主線
雖然本書以計算機工作原理和硬件技術(shù)為主體,但教學(xué)內(nèi)容中使用C(或C++)高級語言、底層匯編語言編程作為實踐環(huán)節(jié)。從第1章開始引入C語言編程環(huán)境(DEVC),第2章主要以C語言編程體會數(shù)據(jù)表示的原理,第5、6章融合C語言編譯程序生成的匯編語言代碼和MASM匯編語言程序,相互對照,最終目的是使學(xué)生掌握匯編語言編程。這使得本書內(nèi)容從高級語言到低級語言,再深入到計算機硬件,貫穿計算機層次結(jié)構(gòu);也使得學(xué)生能夠自然地從軟件編程過渡到計算機硬件原理,為進一步學(xué)習(xí)計算機組成、微機接口技術(shù)、嵌入式系統(tǒng)應(yīng)用奠定基礎(chǔ)。
3. 面向軟件開發(fā)和系統(tǒng)應(yīng)用取舍課程內(nèi)容
融合多門課程,需要在內(nèi)容上進行合理取舍,本書的主要原則是:面向軟件開發(fā)和系統(tǒng)應(yīng)用,不以設(shè)計處理器、硬件電路為目標(biāo),側(cè)重工作原理、硬件電路的外特性。例如,簡述運算原理、微程序和硬布線特點,舍棄運算器、微程序和硬布線控制器的設(shè)計實現(xiàn);重點介紹基本指令,突出匯編語言程序結(jié)構(gòu);只依靠計數(shù)器體會接口技術(shù),簡介其他接口,引入指令流水線、指令級并行、數(shù)據(jù)級并行和線程級并行等系統(tǒng)結(jié)構(gòu)先進技術(shù)。具體教學(xué)內(nèi)容的選擇則采取刪繁就簡的基本思路。例如,數(shù)據(jù)編碼主要介紹定點整數(shù)格式、IEEE 754標(biāo)準的浮點格式,不展開定點小數(shù)格式、非標(biāo)準浮點格式相關(guān)內(nèi)容。再如,對于存儲器芯片,說明各種存儲器芯片特點,而不是內(nèi)部工作原理;闡明地址譯碼原理,而不是連接細節(jié)。
4. 補充數(shù)字邏輯基礎(chǔ)知識
對于缺乏硬件電路知識的學(xué)生,本書補充了數(shù)字邏輯基礎(chǔ)知識。這使得無須單獨開設(shè)“數(shù)字邏輯”先修課程,數(shù)字邏輯只作為本書的一章。教學(xué)內(nèi)容涉及基本概念和核心原理,具體包括:邏輯代數(shù),門電路(含三態(tài)門),組合邏輯電路的編碼器、譯碼器、加法器,時序邏輯電路的觸發(fā)器、寄存器、計數(shù)器,PLD和電子設(shè)計自動化(EDA)。教學(xué)要求以理解為主,滿足后續(xù)內(nèi)容的需求即可。
5. 淺顯易懂、圖文并茂的寫作風(fēng)格
為了使得抽象的計算機工作原理易于理解,本書努力做到描述清晰準確、淺顯易懂,盡量使用圖表提供形象化的釋義。重點內(nèi)容常結(jié)合程序示例,讓學(xué)生在上機實踐中體會問題所在,激發(fā)學(xué)生探究的興趣,然后再答疑解惑、詳細講解。每章之后編排有較多習(xí)題,分成兩種類型:一類包括簡答題、判斷題和填空題,用于使學(xué)生掌握基本概念和要點,通過課堂提問與交互方式進行,便于了解學(xué)生自習(xí)情況;另一類包括問答、計算、編程等應(yīng)用題,重點考察學(xué)生對計算機工作原理的理解和應(yīng)用能力,在學(xué)生提交作業(yè)后進行課堂解答。部分題目有一定難度,適合學(xué)生深入研討。
本書由錢曉捷編著,感謝程楠、石磊、關(guān)國利、張青、穆玲玲、姚俊婷等同事的幫助,感謝華章公司的支持。限于水平,書中難免存在不當(dāng)之處,歡迎廣大師生交流指正(作者的電子郵箱:iexjqian@zzu.edu.cn)。
編 者
2018年5月
前言
教學(xué)建議
第1章 計算機系統(tǒng)概述 1
1.1 計算機的發(fā)展 1
1.1.1 計算機發(fā)展概況 1
1.1.2 微型計算機的發(fā)展 3
1.1.3 Intel 80x86系列處理器 5
1.2 馮·諾依曼計算機結(jié)構(gòu) 6
1.2.1 二進制編碼 7
1.2.2 存儲程序和程序控制 8
1.2.3 順序執(zhí)行 9
1.2.4 組成部件 9
1.3 計算機系統(tǒng)的組成 10
1.3.1 計算機的硬件組成 10
1.3.2 計算機的總線結(jié)構(gòu) 14
1.3.3 計算機系統(tǒng)的層次結(jié)構(gòu) 19
1.3.4 計算機系統(tǒng)的軟件組成 23
習(xí)題 28
第2章 數(shù)據(jù)表示 29
2.1 數(shù)制 29
2.1.1 二進制和十六進制 29
2.1.2 數(shù)制之間的轉(zhuǎn)換 31
2.2 整數(shù)編碼 33
2.2.1 定點整數(shù)格式 33
2.2.2 有符號整數(shù)編碼 34
2.2.3 整數(shù)的類型轉(zhuǎn)換 38
2.2.4 整數(shù)的加減運算及溢出 41
2.2.5 整數(shù)的移位運算 46
2.2.6 整數(shù)運算的數(shù)學(xué)性質(zhì) 47
2.3 字符編碼 48
2.3.1 ASCII 48
2.3.2 Unicode 53
2.4 實數(shù)編碼 53
2.4.1 浮點數(shù)據(jù)格式 54
2.4.2 浮點運算的數(shù)學(xué)性質(zhì) 61
習(xí)題 64
第3章 數(shù)字邏輯基礎(chǔ) 68
3.1 邏輯代數(shù) 68
3.1.1 邏輯關(guān)系 68
3.1.2 邏輯代數(shù)運算規(guī)則 73
3.1.3 邏輯函數(shù)的形式、轉(zhuǎn)換及化簡 76
3.2 邏輯門電路 78
3.2.1 門電路的實現(xiàn) 78
3.2.2 集成電路 80
3.2.3 三態(tài)門 82
3.3 組合邏輯電路 83
3.3.1 編碼器 84
3.3.2 譯碼器 85
3.3.3 加法器 87
3.3.4 多路開關(guān) 88
3.4 時序邏輯電路 88
3.4.1 觸發(fā)器 89
3.4.2 寄存器 93
3.4.3 計數(shù)器 94
3.5 可編程邏輯器件 94
3.5.1 PLD概述 95
3.5.2 電子設(shè)計自動化 96
習(xí)題 99
第4章 處理器 101
4.1 處理器的組成 101
4.1.1 控制器 101
4.1.2 運算器 103
4.2 處理器的結(jié)構(gòu) 103
4.2.1 處理器的基本結(jié)構(gòu) 104
4.2.2 8086的功能結(jié)構(gòu) 105
4.2.3 80386的功能結(jié)構(gòu) 106
4.2.4 Pentium的功能結(jié)構(gòu) 107
4.3 寄存器 109
4.3.1 通用寄存器 109
4.3.2 專用寄存器 111
4.4 存儲器組織 113
4.4.1 存儲模型 113
4.4.2 工作方式 114
4.4.3 邏輯地址 115
習(xí)題 119
第5章 指令系統(tǒng) 121
5.1 指令格式 121
5.1.1 指令編碼 121
5.1.2 IA-32指令格式 124
5.2 匯編語言基礎(chǔ) 126
5.2.1 匯編語言的語句格式 126
5.2.2 匯編語言的源程序框架 128
5.2.3 匯編語言的開發(fā)過程 132
5.2.4 DEVC中C語言的開發(fā)過程 137
5.3 匯編語言的常量和變量 141
5.3.1 常量表達 141
5.3.2 變量應(yīng)用 143
5.4 數(shù)據(jù)尋址 150
5.4.1 立即數(shù)尋址 150
5.4.2 寄存器尋址 151
5.4.3 存儲器尋址 151
5.4.4 數(shù)據(jù)尋址的組合 158
5.5 通用數(shù)據(jù)處理指令 159
5.5.1 數(shù)據(jù)傳送類指令 160
5.5.2 算術(shù)運算類指令 164
5.5.3 位操作類指令 168
習(xí)題 172
第6章 匯編語言程序設(shè)計 177
6.1 順序程序結(jié)構(gòu) 177
6.2 分支程序結(jié)構(gòu) 181
6.2.1 指令尋址 181
6.2.2 無條件轉(zhuǎn)移指令 182
6.2.3 條件轉(zhuǎn)移指令 184
6.2.4 單分支程序結(jié)構(gòu) 190
6.2.5 雙分支程序結(jié)構(gòu) 191
6.2.6 多分支程序結(jié)構(gòu) 192
6.3 循環(huán)程序結(jié)構(gòu) 195
6.3.1 循環(huán)指令 195
6.3.2 計數(shù)控制循環(huán) 198
6.3.3 條件控制循環(huán) 199
6.3.4 多重循環(huán) 200
6.4 子程序 201
6.4.1 子程序指令 202
6.4.2 子程序設(shè)計 205
6.4.3 寄存器傳遞參數(shù) 208
6.4.4 共享變量傳遞參數(shù) 210
6.4.5 堆棧傳遞參數(shù) 212
6.4.6 堆棧幀 215
習(xí)題 223
第7章 存儲系統(tǒng) 229
7.1 存儲系統(tǒng)的層次結(jié)構(gòu) 229
7.1.1 技術(shù)指標(biāo) 230
7.1.2 層次結(jié)構(gòu) 231
7.1.3 局部性原理 232
7.2 主存儲器 235
7.2.1 讀寫存儲器 236
7.2.2 ROM 241
7.2.3 半導(dǎo)體存儲器的連接 245
7.3 高速緩沖存儲器 249
7.3.1 高速緩存的工作原理 249
7.3.2 地址映射 252
7.3.3 替換算法 257
7.3.4 寫入策略 258
7.4 存儲管理 261
7.4.1 虛擬存儲器 261
7.4.2 段式存儲管理 262
7.4.3 頁式存儲管理 264
習(xí)題 267
第8章 輸入/輸出接口 269
8.1 I/O接口概述 269
8.1.1 I/O接口的典型結(jié)構(gòu) 269
8.1.2 I/O端口的編址 271
8.1.3 I/O指令 273
8.2 外設(shè)數(shù)據(jù)的傳送方式 274
8.2.1 無條件傳送 275
8.2.2 程序查詢傳送 277
8.2.3 中斷傳送 279
8.2.4 中斷控制系統(tǒng) 283
8.2.5 DMA傳送 286
8.3 常用接口技術(shù) 289
8.3.1 定時控制接口 289
8.3.2 并行接口 297
8.3.3 異步串行通信接口 300
8.3.4 模擬接口 304
習(xí)題 305
第9章 處理器性能提高技術(shù) 308
9.1 精簡指令集計算機技術(shù) 308
9.1.1 復(fù)雜指令集和精簡指令集 308
9.1.2 MIPS處理器 311
9.2 指令流水線技術(shù) 313
9.2.1 指令流水線思想 313
9.2.2 80486的指令流水線 316
9.3 并行處理技術(shù) 318
9.3.1 并行性概念 318
9.3.2 數(shù)據(jù)級并行 319
9.3.3 指令級并行 321
9.3.4 線程級并行 325
習(xí)題 329
附錄A 32位通用指令列表 331
附錄B MASM偽指令和操作符列表 336