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