本書全面、系統(tǒng)地介紹了現(xiàn)代微型計算機的基本組成、工作原理和典型接口技術(shù),主要內(nèi)容包括數(shù)據(jù)在計算機中的表示形式、計算機/微型計算機的組成與結(jié)構(gòu)、微處理器結(jié)構(gòu)、指令系統(tǒng)與匯編語言程序設(shè)計、存儲器及其接口、輸入輸出及DMA技術(shù)、中斷系統(tǒng)、串并行通信及其接口電路、計數(shù)/定時技術(shù)、模擬接口、總線技術(shù)、高性能微處理器的先進技術(shù)與典型結(jié)構(gòu)和嵌入式系統(tǒng)與嵌入式處理器等。
本書內(nèi)容精練,層次清楚,實用性強;在注重講解基本概念的同時,也十分注意反映微型計算機發(fā)展中的新知識、新技術(shù)。本書可作為普通高等院校理工科各專業(yè)計算機基礎(chǔ)課程教材,也可作為自學(xué)考試和成人教育以及各類職業(yè)學(xué)校的教材。
“微機原理與接口技術(shù)”是高等學(xué)校理工科大學(xué)生的一門重要的計算機技術(shù)基礎(chǔ)課程,也是理工科大學(xué)生學(xué)習(xí)和掌握計算機硬件技術(shù)基礎(chǔ)、匯編語言程序設(shè)計及常用接口技術(shù)的入門課程。通過本課程的學(xué)習(xí),可以使學(xué)生從理論和實踐上掌握微型計算機的基本組成和工作原理,建立微機系統(tǒng)整機概念,具備利用微機技術(shù)進行軟、硬件開發(fā)的初步能力。學(xué)習(xí)本課程對于掌握現(xiàn)代計算機的基本概念和技術(shù)以及學(xué)習(xí)后續(xù)有關(guān)計算機課程(如計算機系統(tǒng)結(jié)構(gòu)、操作系統(tǒng)、計算機網(wǎng)絡(luò)、嵌入式系統(tǒng)等)均具有重要意義。本書是該課程使用的基本教材。
本書堅持“基礎(chǔ)是根本”的教學(xué)理念,注重知識整合,精心選擇課程的核心知識和關(guān)鍵技術(shù)。全書以80x86/Pentium 系列微型計算機為背景機,全面、系統(tǒng)地介紹了微型計算機的基本結(jié)構(gòu)、工作原理及典型接口技術(shù)。全書從內(nèi)容上可劃分為四個知識單元:① 微型計算機的基本結(jié)構(gòu)及工作原理;② 指令系統(tǒng)及匯編語言程序設(shè)計;③ I/O接口技術(shù);④ 高性能微處理器及相關(guān)技術(shù)。學(xué)習(xí)本書的預(yù)備知識為數(shù)字電路及邏輯設(shè)計基礎(chǔ)知識。
本書可供60-70學(xué)時的課堂教學(xué)使用,有些章節(jié)的內(nèi)容可根據(jù)不同的教學(xué)要求進行適當(dāng)取舍。每章后面列出的思考題與習(xí)題,主要供理解和復(fù)習(xí)本章基本內(nèi)容而用,書后給出了部分習(xí)題的參考答案。
鑒于“微機原理與接口技術(shù)”課程是技術(shù)性、實踐性較強的課程,因此在教學(xué)中應(yīng)安排相應(yīng)的實驗及上機環(huán)節(jié)。關(guān)于這方面的內(nèi)容,請參見第6章的介紹。
(1) 注重基礎(chǔ):堅持“基礎(chǔ)是根本”的教學(xué)理念,強化知識整合,精心選擇課程的核心知識和關(guān)鍵技術(shù)。
(2) 內(nèi)容全面:全面、系統(tǒng)地介紹了現(xiàn)代微型計算機的基本組成、工作原理和典型接口技術(shù),建立起包括四個核心知識單元和兩個實踐訓(xùn)練層次(匯編上機和接口實驗)的科學(xué)合理的內(nèi)容體系。
(3) 反映新技術(shù):在注重講解基本概念的同時,也十分注意反映微型計算機發(fā)展中的新知識、新技術(shù),如新型總線技術(shù)、多核處理器技術(shù),以及嵌入式系統(tǒng)與嵌入式處理器等。
(4) 激發(fā)創(chuàng)新:以能力培養(yǎng)為核心,注意啟迪學(xué)生的自主學(xué)習(xí)潛能;在全書內(nèi)容的安排上注重引導(dǎo)和激發(fā)學(xué)生的創(chuàng)新意識。
(5) 可讀性強:語言精煉,敘述嚴(yán)謹,深入淺出,容易閱讀。
本書配套的教學(xué)資源可以在清華大學(xué)出版社網(wǎng)站http://www.tup.com.cn免費下載。
作者簡介:王克義,北京大學(xué)信息科學(xué)技術(shù)學(xué)院教授、博士生導(dǎo)師。1970年畢業(yè)于北京大學(xué),畢業(yè)后留校任教至今,長期從事計算機專業(yè)的教學(xué)與科研工作。曾于1992—1993年在美國喬治?華盛頓大學(xué)計算機科學(xué)與電子工程系作訪問學(xué)者;主持和參加多項國家重點科技攻關(guān)項目,榮獲國家教育部科技進步獎、北京大學(xué)科學(xué)研究成果獎等獎項。
作者熱愛并長期擔(dān)任一線教學(xué)工作, 先后被授予“北京市優(yōu)秀教師”、“北京大學(xué)優(yōu)秀教師”、“北京大學(xué)十佳教師”等榮譽稱號。負責(zé)完成的主干基礎(chǔ)課建設(shè)項目獲北京大學(xué)教學(xué)成果一等獎,主講的《微機原理》課程被評為北京市精品課程。 出版譯著和教材8部。其中, 1部獲國家教育部科技進步三等獎, 1部被評為普通高等教育本科國家級規(guī)劃教材,1部被評為2011年普通高等教育精品教材,2部被評為北京高等教育精品教材。
目錄CONTENTS
第1章數(shù)在計算機中的表示形式1
1.1機器數(shù)與真值1
1.2常見的機器數(shù)表示形式2
1.2.1原碼2
1.2.2補碼3
1.2.3反碼4
1.2.4原碼、補碼和反碼之間的轉(zhuǎn)換4
1.2.5移碼表示法5
1.2.64種機器數(shù)表示形式的比較和小結(jié)6
1.3數(shù)的定點表示與浮點表示6
1.3.1定點表示法6
1.3.2浮點表示法7
1.4二十進制編碼10
1.4.1二十進制編碼特點10
1.4.28421碼11
1.5二進制信息的計量單位11
習(xí)題112
第2章計算機的基本結(jié)構(gòu)與工作過程13
2.1計算機的基本結(jié)構(gòu)13
2.1.1馮·諾依曼計算機基本結(jié)構(gòu)13
2.1.2計算機的基本組成框圖及功能部件簡介14
2.2計算機的工作流程17
2.2.1指令與程序17
2.2.2計算機的基本工作流程18
2.3計算機系統(tǒng)的組成20
2.3.1硬件與軟件20
2.3.2計算機系統(tǒng)的基本組成21目錄微機原理與接口技術(shù)(第2版)2.4微型計算機的分類及主要技術(shù)指標(biāo)22
2.4.1微型計算機的分類22
2.4.2微型計算機的主要技術(shù)指標(biāo)23
2.5微型計算機的基本結(jié)構(gòu)及系統(tǒng)組成24
2.5.1微型計算機基本結(jié)構(gòu)24
2.5.2微型計算機的系統(tǒng)組成25
習(xí)題226
第3章微處理器的編程結(jié)構(gòu)27
3.1微處理器的工作模式27
3.1.1實模式28
3.1.2保護模式28
3.1.3虛擬8086模式28
3.2微處理器的編程結(jié)構(gòu)28
3.2.1程序可見寄存器28
3.2.280x86/Pentium處理器的寄存器模型29
3.3微處理器的尋址機制33
3.3.1存儲器分段技術(shù)33
3.3.2實模式下的存儲器尋址34
3.3.3堆棧38
習(xí)題339
第4章尋址方式與指令系統(tǒng)40
4.1尋址方式40
4.1.1數(shù)據(jù)尋址方式40
4.1.2轉(zhuǎn)移地址尋址方式46
4.2指令編碼47
4.2.1指令編碼格式48
4.2.2指令編碼舉例50
4.38086指令系統(tǒng)51
4.3.1數(shù)據(jù)傳送指令51
4.3.2算術(shù)運算指令57
4.3.3邏輯運算與移位指令68
4.3.4串操作指令71
4.3.5轉(zhuǎn)移指令75
4.3.6處理器控制指令81
4.480286~Pentium指令系統(tǒng)82
習(xí)題483
第5章匯編語言的基本語法84
5.1匯編語言的特點84
5.2匯編語言程序結(jié)構(gòu)和基本語法85
5.2.1示例程序85
5.2.2基本概念86
5.2.3指令語句92
5.2.4偽指令語句95
5.2.5宏指令102
5.2.6簡化段定義105
5.3ROM BIOS中斷調(diào)用和DOS系統(tǒng)功能調(diào)用106
5.3.1ROM BIOS中斷調(diào)用106
5.3.2DOS系統(tǒng)功能調(diào)用107
5.4匯編語言程序的上機調(diào)試107
5.4.1建立源文件107
5.4.2匯編108
5.4.3連接110
5.4.4運行111
5.4.5調(diào)試112
習(xí)題5115
第6章匯編語言程序設(shè)計及應(yīng)用118
6.1匯編語言程序設(shè)計的基本方法118
6.1.1程序設(shè)計的基本步驟118
6.1.2程序的基本結(jié)構(gòu)形式119
6.1.3子程序設(shè)計121
6.2匯編語言的編程應(yīng)用123
6.2.1I/O與通信123
6.2.2聲音與時鐘124
6.2.3樂曲程序126
6.2.4鍵盤I/O129
6.2.5鼠標(biāo)器編程131
6.2.6圖形顯示134
6.3Windows環(huán)境下匯編語言程序設(shè)計137
6.3.1Windows API函數(shù)137
6.3.2動態(tài)鏈接庫138
6.3.3指令集選擇138
6.3.4工作模式選擇138
6.3.5函數(shù)的原型定義139
6.3.6Windows應(yīng)用程序的基本結(jié)構(gòu)框架139
6.3.7Win32匯編語言應(yīng)用程序?qū)嵗?40
6.3.8MASM 32匯編與連接命令141
6.4匯編語言與高級語言的混合編程141
6.4.1內(nèi)嵌匯編142
6.4.2在C程序中直接調(diào)用匯編子程序143
6.4.3匯編語言程序調(diào)用C函數(shù)146
習(xí)題6146
第7章微處理器的內(nèi)部結(jié)構(gòu)及外部功能特性148
7.1微處理器的內(nèi)部結(jié)構(gòu)及相關(guān)技術(shù)148
7.1.1總線接口單元BIU148
7.1.2指令cache與數(shù)據(jù)cache149
7.1.3超標(biāo)量流水線結(jié)構(gòu)149
7.1.4動態(tài)轉(zhuǎn)移預(yù)測及轉(zhuǎn)移目標(biāo)緩沖器BTB151
7.1.5指令預(yù)取器和預(yù)取緩沖器152
7.1.6指令譯碼器153
7.1.7執(zhí)行單元153
7.1.8浮點處理單元153
7.1.9控制單元154
7.2微處理器的外部功能特性154
7.2.1微處理器的外部引腳信號154
7.2.2微處理器的總線時序159
習(xí)題7163
第8章存儲器及其接口165
8.1概述165
8.1.1存儲系統(tǒng)的層次結(jié)構(gòu)165
8.1.2存儲器的性能指標(biāo)167
8.1.3內(nèi)存儲器的基本結(jié)構(gòu)及其數(shù)據(jù)存儲格式167
8.2半導(dǎo)體存儲器的結(jié)構(gòu)及工作原理169
8.2.1可讀寫存儲器169
8.2.2只讀存儲器179
8.3存儲器接口185
8.3.1存儲器接口中的片選控制185
8.3.2存儲器接口分析與設(shè)計舉例187
8.3.3雙端口存儲器189
8.4高速緩存190
8.4.1基本原理190
8.4.2組織方式192
8.4.3更新方式及替換算法193
8.5虛擬存儲器195
8.5.1虛擬存儲器的工作原理195
8.5.280x86的虛擬存儲技術(shù)196
習(xí)題8198
第9章I/O接口技術(shù)200
9.1I/O接口概述200
9.1.1I/O接口的基本功能200
9.1.2I/O接口的基本結(jié)構(gòu)201
9.1.3I/O端口的編址方式202
9.1.4I/O接口的地址譯碼及片選信號的產(chǎn)生203
9.1.5I/O指令204
9.2I/O控制方式204
9.2.1程序控制方式204
9.2.2中斷控制方式206
9.2.3DMA方式207
9.3DMA技術(shù)208
9.3.1DMA控制器的基本功能208
9.3.2DMA控制器的一般結(jié)構(gòu)208
9.3.3DMA控制器的工作方式210
9.3.4DMA工作過程211
9.3.5可編程DMA控制器8237212
9.4中斷系統(tǒng)212
9.4.1基本概念212
9.4.280x86實模式的中斷系統(tǒng)215
9.4.3可編程中斷控制器8259A221
9.4.4中斷服務(wù)程序設(shè)計221
習(xí)題9225
第10章并行通信及其接口電路226
10.1可編程并行接口的組成及工作過程226
10.1.1可編程并行接口的組成及其與CPU和外設(shè)的連接226
10.1.2可編程并行接口的數(shù)據(jù)輸入輸出過程227
10.2可編程并行接口8255A228
10.2.18255A的性能概要228
10.2.28255A芯片引腳分配及引腳信號說明228
10.2.38255A內(nèi)部結(jié)構(gòu)框圖229
10.2.48255A的控制字230
10.2.58255A的工作方式231
10.2.68255A的狀態(tài)字236
10.2.78255A應(yīng)用舉例237
習(xí)題10239
第11章串行通信及其接口電路241
11.1串行通信241
11.1.1串行通信的特點241
11.1.2串行通信涉及的常用術(shù)語和基本概念242
11.2串行通信接口標(biāo)準(zhǔn)246
11.2.1RS232C246
11.2.2RS485247
11.3可編程串行通信接口8251A248
11.3.1USART248
11.3.28251A的基本功能和工作原理248
11.3.38251A對外接口信號251
11.3.48251A的編程253
11.3.58251A應(yīng)用舉例257
習(xí)題11259
第12章計數(shù)/定時技術(shù)260
12.1概述260
12.2可編程計數(shù)器/定時器8253260
12.2.18253的主要功能260
12.2.28253的結(jié)構(gòu)框圖261
12.2.38253的引腳262
12.2.48253的工作方式263
12.2.58253的初始化編程268
12.2.68253的讀出操作271
12.38253的應(yīng)用272
習(xí)題12275
第13章D/A和A/D轉(zhuǎn)換器276
13.1計算機自動控制系統(tǒng)中的D/A和A/D轉(zhuǎn)換276
13.2D/A轉(zhuǎn)換器277
13.2.1D/A轉(zhuǎn)換器的工作原理277
13.2.2D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)280
13.2.3D/A轉(zhuǎn)換器芯片281
13.2.4D/A轉(zhuǎn)換器芯片與微處理器的接口283
13.2.5D/A轉(zhuǎn)換器的應(yīng)用284
13.3A/D轉(zhuǎn)換器285
13.3.1基本概念285
13.3.2A/D轉(zhuǎn)換器的工作原理287
13.3.3A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)288
13.3.4A/D轉(zhuǎn)換器芯片289
13.3.5A/D轉(zhuǎn)換器芯片與微處理器的接口290
習(xí)題13293
第14章總線技術(shù)295
14.1概述295
14.1.1總線295
14.1.2總線的分類296
14.1.3總線標(biāo)準(zhǔn)297
14.1.4總線仲裁298
14.2PCI總線299
14.2.1概述299
14.2.2PCI總線的結(jié)構(gòu)及特點299
14.3USB總線301
14.3.1USB概述301
14.3.2USB的拓撲結(jié)構(gòu)302
14.3.3USB線纜及連接器302
14.4高速總線接口IEEE 1394303
14.5CAN總線304
14.5.1CAN總線概述304
14.5.2CAN總線特性305
14.5.3CAN總線的相關(guān)概念和技術(shù)305
14.5.4CAN通信協(xié)議的幀結(jié)構(gòu)307
14.5.5CAN總線位的數(shù)值表示309
14.5.6CAN總線傳輸距離與傳輸速率的關(guān)系310
14.5.7CAN總線的應(yīng)用310
習(xí)題14311
第15章高性能微處理器的先進技術(shù)及典型結(jié)構(gòu)312
15.1高性能微處理器所采用的先進技術(shù)312
15.1.1指令級并行312
15.1.2超標(biāo)量技術(shù)313
15.1.3超長指令字結(jié)構(gòu)314
15.1.4超級流水線技術(shù)314
15.1.5RISC技術(shù)315
15.2高性能微處理器舉例316
15.2.164位處理器Alpha 21064317
15.2.2Itanium處理器——IA64架構(gòu)的開放硬件平臺318
15.3多核處理器簡介321
15.3.1復(fù)雜單處理器結(jié)構(gòu)所遇到的挑戰(zhàn)321
15.3.2多核處理器的出現(xiàn)321
15.3.3多核處理器結(jié)構(gòu)的主要特點322
15.4現(xiàn)代PC主板典型結(jié)構(gòu)323
15.4.1芯片組、橋芯片及接口插座323
15.4.2Pentium PC主板結(jié)構(gòu)324
15.4.3Pentium 4 PC主板的I/O組織結(jié)構(gòu)325
習(xí)題15326
第16章嵌入式系統(tǒng)與嵌入式處理器327
16.1嵌入式系統(tǒng)概述327
16.1.1嵌入式系統(tǒng)簡介327
16.1.2嵌入式系統(tǒng)的組成327
16.2嵌入式處理器329
16.2.1ARM系列處理器329
16.2.2Intel 8051系列微控制器330
16.3ARM體系結(jié)構(gòu)331
16.3.1ARM處理器的工作狀態(tài)331
16.3.2ARM處理器的運行模式331
16.3.3ARM處理器的內(nèi)部寄存器332
16.3.4ARM處理器的異常處理機制335
16.4ARM指令系統(tǒng)336
16.4.1ARM指令系統(tǒng)的主要特點336
16.4.2ARM指令的基本格式337
16.4.3ARM指令的尋址方式338
16.4.4ARM指令簡介340
16.4.5ARM指令系統(tǒng)與Thumb指令系統(tǒng)的比較346
16.5ARM匯編語言程序設(shè)計347
16.5.1ARM偽操作347
16.5.2ARM偽指令350
16.5.3ARM匯編語言語句格式352
16.5.4ARM匯編語言程序結(jié)構(gòu)352
16.5.5ARM匯編語言程序設(shè)計示例353
習(xí)題16354
附錄ADOS功能調(diào)用(INT 21H)(節(jié)選)355
附錄BBIOS中斷調(diào)用(節(jié)選)357
附錄C調(diào)試程序DEBUG的使用358
部分習(xí)題參考答案362
參考文獻376