內容簡介
本書是
普通高等教育“十一五”國家級規劃教材和國家精品課程建設成果,以教育部高等學校非
計算機專業計算機基礎課程“基本要求V4.0”精神為指導,力求做到“基礎性、系統性、實用性和先進性”的統一。全書共8章,包括計算機基礎、80x86/Pentium 微處理器、80x86/Pentium指令系統、彙編語言程式設計、
半導體存儲器、輸入/輸出和中斷、微型機接口技術和微型計算機系統的發展等。本書為任課老師提供電子課件。
圖書目錄
目 錄
第1章 計算機基礎 1
1.1 數據、信息、媒體和多媒體 1
1.2 計算機中數值數據信息的表示 2
1.2.1 機器數和真值 2
1.2.2 數的表示方法——原碼、反碼和補碼 3
1.2.3 補碼的運算 6
1.2.4 定點數與浮點數 7
1.2.5 BCD碼及其十進制調整 10
1.3 計算機中非數值數據的信息表示 12
1.3.1 西文信息的表示 12
1.3.2 中文信息的宙幾表示 13
1.3.3 計算機中圖、聲、像信息的表示 14
1.4 微型計算機基本工作原理 14
1.4.1 微型計算機硬體系統組成 15
1.4.2 微型計算機軟體系統 21
1.4.3 微型計算機中指令執行的基本過程 21
1.5 評估計算機性能的主要技術指標 23
1.5.2 記憶體諒墊凶儲器與高速快取 24
1.5.3 CPU指令執行時間 24
1.5.4 系統匯流排的傳輸速率 24
1.5.5 iCOMP指數 24
1.5.6 最佳化的內部結構 25
1.5.7 I/O設備配備情況 25
1.5.8 軟體配備情況 26
習題1 26
第紙放整斷2章 80x86/Pentium微處理器 28
2.1 80x86/Pentium微處理器的內部結構 28
2.1.1 8086/8088微處理器的基本結構 28
2.1.2 80386CPU內部結構 34
2.1.4 Pentium CPU內部結構 50
2.2 微處理器的主要引腳及陵臘記功能 56
2.2.1 8086/8088 CPU引腳功能 56
2.2.2 80386 CPU引腳功能榜民檔 60
2.2.3 Pentium CPU引腳功能 61
2.3 系統匯流排與典型時序 64
2.3.1 CPU系統匯流排及其操作 64
2.3.2 基本匯流排操作時序 65
2.3.3 特殊匯流排操作時序 66
2.4 典型CPU套用系統 69
2.4.1 8086/8088支持晶片 69
2.4.2 8086/8088單CPU(最小模式)系統 73
2.4.3 8086/8088多CPU(最大模式)系統 75
2.5 CPU的工作模式 77
2.5.1 實地址模式 77
2.5.2 保護模式 77
2.5.3 虛擬8086模式 78
2.5.4 系統管理模式 79
2.6 指令流水線與高速快取 79
2.6.1 指令流水線和動態分支預測 79
2.6.2 片內高速快取 81
2.7 64位CPU與多核微處理器 82
習題2 83
第3章 80x86/Pentium指令系統 86
3.1 80x86/Pentium指令格式 86
3.2 80x86/Pentium定址方式 87
3.2.1 定址方式與有效地址EA的概念 87
3.2.2 各種定址方式 88
3.2.3 存儲器定址時的段約定 91
3.3 8086/8088 CPU指令系統 91
3.3.1 數陵臘迎燥據傳送類指令 92
3.3.2 算術運算類指令 96
3.3.3 邏輯運算與移位指令 102
3.3.4 串操作指令 105
3.3.5 控制轉移類指令 109
3.3.6 處理炒翻淚器控制類指令 116
3.4 80x86/Pentium CPU指令系統 118
3.4.1 80286 CPU的增強與增加指令 118
3.4.2 80386 CPU的增強與增加指令 121
3.4.3 80486 CPU增加的指令 123
3.4.4 Pentium系列CPU增加的指令 123
3.5 80x87浮點運算指令 127
3.5.1 80x87的數據類型與格式 127
3.5.3 80x87指令簡介 128
習題3 129
第4章 彙編語言程式設計 134
4.1 程式設計語言概述 134
4.2 彙編語言的程式結構與語句格式 135
4.2.1 彙編語言源程式的框架結構 135
4.2.2 彙編語言的語句 137
4.3 彙編語言的偽指令 141
4.3.1 基本偽指令語句 141
4.3.2 80x86/Pentium CPU擴展偽指令 154
4.4 彙編語言程式設計方法 157
4.4.1 程式設計的基本過程 157
4.4.2 順序結構程式設計 158
4.4.3 分支結構程式設計 159
4.4.4 循環結構程式設計 163
4.4.5 子程式設計與調用技術 167
4.5 模組化程式設計技術 176
4.5.1 模組化程式設計的特點與規範 176
4.5.2 程式中模組間的關係 176
4.5.3 模組化程式設計舉例 177
4.6 綜合應用程式設計舉例 179
4.6.1 16位實模式程式設計 179
4.6.2 基於32位指令的實模式程式設計 183
4.6.3 基於
多媒體指令的實模式程式設計 185
4.6.4 保護模式程式設計 187
4.6.5 浮點指令程式設計 191
4.7 彙編語言與C/C++語言混合編程 191
4.7.1 內嵌模組方法 192
4.7.2 多模組混合編程 192
習題4 194
5.1 概述 199
5.1.1 半導體存儲器的分類 200
5.1.2 存儲原理與地址解碼 201
5.1.3 主要性能指標 203
5.2.1 靜態RAM(SRAM) 204
5.2.2 動態RAM(DRAM) 207
5.2.3 隨機存取存儲器RAM的套用 209
5.3.1 掩膜ROM和PROM 212
5.3.2 EPROM(可擦除的PROM) 213
5.4 存儲器連線與擴充套用 218
5.4.1 存儲器晶片選擇 219
5.4.2 存儲器容量擴充 220
5.4.3 RAM存儲模組 222
5.5 CPU與存儲器的典型連線 225
5.5.1 8086/8088 CPU的典型存儲器連線 225
5.5.2 80386/Pentium CPU的典型存儲器連線 227
5.6 微機系統的記憶體結構 228
5.6.1 分級存儲結構 228
5.6.2 高速快取Cache 229
習題5 230
第6章 輸入/輸出和中斷 232
6.1 輸入/輸出及接口 232
6.1.1 I/O信息的組成 232
6.1.2 I/O接口概述 232
6.1.3 I/O連線埠的編址 233
6.1.4 簡單的I/O接口 236
6.2 輸入/輸出的傳送方式 237
6.2.1 程式控制的輸入/輸出 237
6.2.2 中斷控制的輸入/輸出 240
6.2.3 直接數據通道傳送 241
6.3 中斷技術 242
6.3.1 中斷的基本概念 242
6.4 80x86/Pentium中斷系統 246
6.4.1 中斷結構 246
6.4.2 中斷回響過程 249
6.4.3 80386/80486/Pentium CPU中斷系統 251
6.5.1 8259A晶片的內部結構與引腳 254
6.5.2 8259A晶片的工作過程及工作方式 255
6.5.3 8259A命令字 258
6.5.4 8259A晶片套用舉例 263
6.6 82380可程式中斷控制器 266
6.6.1 控制器功能概述 267
6.6.2 控制器主要接口信號 267
6.7 中斷程式設計 268
6.7.1 設計方法 268
6.7.2 中斷程式設計舉例 270
習題6 275
第7章 微型機接口技術 278
7.1 概述 278
7.2 可程式定時/計數器 279
7.2.1 概述 279
7.2.2 可程式定時/計數器8253 280
7.2.3 可程式定時/計數器8254 287
7.3 可程式並行接口 287
7.3.1 可程式並行接口晶片8255A 288
7.3.2 並行印表機接口套用 295
7.3.3 鍵盤和顯示器接口 298
7.4 串列接口與串列通信 303
7.4.1 串列通信的基本概念 303
7.4.3 可程式串列通信接口8251A 309
7.4.3 可程式異步通信接口INS8250 316
7.4.4 通用串列匯流排USB 316
7.4.5 I2C與SPI串列匯流排 319
7.5 DMA控制器接口 320
7.5.1 8237A晶片的基本功能和引腳特性 321
7.5.2 8237A晶片內部暫存器與編程 323
7.5.3 8237A套用與編程 325
7.6 模擬量輸入/輸出接口 327
7.6.1 概述 327
7.6.2 並行和串列D/A轉換器 328
習題7 342
第8章 微型計算機系統的發展 345
8.1.1 IBM PC/AT微機系統 345
8.1.2 80386、80486
微機系統 346
8.1.3 Pentium及以上微機系統 347
8.2 系統外部匯流排 349
8.2.2 PCI局部匯流排 350
8.2.4 PCI Express匯流排 352
8.3 網路接口與網路協定 353
8.3.1 網路基本知識 353
8.3.2 計算機網路層次結構 354
8.3.4 802.3協定 357
8.4 80x86的多任務保護 358
8.4.1 保護機制與保護檢查 358
8.4.2 任務管理的概念 361
8.4.3 控制轉移 362
8.4.4 虛擬8086模式與保護模式之間的切換 365
8.4.5 多任務切換程式設計舉例 366
習題8 373
參考文獻 374
2.2 微處理器的主要引腳及功能 56
2.2.1 8086/8088 CPU引腳功能 56
2.2.2 80386 CPU引腳功能 60
2.2.3 Pentium CPU引腳功能 61
2.3 系統匯流排與典型時序 64
2.3.1 CPU系統匯流排及其操作 64
2.3.2 基本匯流排操作時序 65
2.3.3 特殊匯流排操作時序 66
2.4 典型CPU套用系統 69
2.4.1 8086/8088支持晶片 69
2.4.2 8086/8088單CPU(最小模式)系統 73
2.4.3 8086/8088多CPU(最大模式)系統 75
2.5 CPU的工作模式 77
2.5.1 實地址模式 77
2.5.2 保護模式 77
2.5.3 虛擬8086模式 78
2.5.4 系統管理模式 79
2.6 指令流水線與高速快取 79
2.6.1 指令流水線和動態分支預測 79
2.6.2 片內高速快取 81
2.7 64位CPU與多核微處理器 82
習題2 83
第3章 80x86/Pentium指令系統 86
3.1 80x86/Pentium指令格式 86
3.2 80x86/Pentium定址方式 87
3.2.1 定址方式與有效地址EA的概念 87
3.2.2 各種定址方式 88
3.2.3 存儲器定址時的段約定 91
3.3 8086/8088 CPU指令系統 91
3.3.1 數據傳送類指令 92
3.3.2 算術運算類指令 96
3.3.3 邏輯運算與移位指令 102
3.3.4 串操作指令 105
3.3.5 控制轉移類指令 109
3.3.6 處理器控制類指令 116
3.4 80x86/Pentium CPU指令系統 118
3.4.1 80286 CPU的增強與增加指令 118
3.4.2 80386 CPU的增強與增加指令 121
3.4.3 80486 CPU增加的指令 123
3.4.4 Pentium系列CPU增加的指令 123
3.5 80x87浮點運算指令 127
3.5.1 80x87的數據類型與格式 127
3.5.3 80x87指令簡介 128
習題3 129
第4章 彙編語言程式設計 134
4.1 程式設計語言概述 134
4.2 彙編語言的程式結構與語句格式 135
4.2.1 彙編語言源程式的框架結構 135
4.2.2 彙編語言的語句 137
4.3 彙編語言的偽指令 141
4.3.1 基本偽指令語句 141
4.3.2 80x86/Pentium CPU擴展偽指令 154
4.4 彙編語言程式設計方法 157
4.4.1 程式設計的基本過程 157
4.4.2 順序結構程式設計 158
4.4.3 分支結構程式設計 159
4.4.4 循環結構程式設計 163
4.4.5 子程式設計與調用技術 167
4.5 模組化程式設計技術 176
4.5.1 模組化程式設計的特點與規範 176
4.5.2 程式中模組間的關係 176
4.5.3 模組化程式設計舉例 177
4.6 綜合應用程式設計舉例 179
4.6.1 16位實模式程式設計 179
4.6.2 基於32位指令的實模式程式設計 183
4.6.3 基於
多媒體指令的實模式程式設計 185
4.6.4 保護模式程式設計 187
4.6.5 浮點指令程式設計 191
4.7 彙編語言與C/C++語言混合編程 191
4.7.1 內嵌模組方法 192
4.7.2 多模組混合編程 192
習題4 194
5.1 概述 199
5.1.1 半導體存儲器的分類 200
5.1.2 存儲原理與地址解碼 201
5.1.3 主要性能指標 203
5.2.1 靜態RAM(SRAM) 204
5.2.2 動態RAM(DRAM) 207
5.2.3 隨機存取存儲器RAM的套用 209
5.3.1 掩膜ROM和PROM 212
5.3.2 EPROM(可擦除的PROM) 213
5.4 存儲器連線與擴充套用 218
5.4.1 存儲器晶片選擇 219
5.4.2 存儲器容量擴充 220
5.4.3 RAM存儲模組 222
5.5 CPU與存儲器的典型連線 225
5.5.1 8086/8088 CPU的典型存儲器連線 225
5.5.2 80386/Pentium CPU的典型存儲器連線 227
5.6 微機系統的記憶體結構 228
5.6.1 分級存儲結構 228
5.6.2 高速快取Cache 229
習題5 230
第6章 輸入/輸出和中斷 232
6.1 輸入/輸出及接口 232
6.1.1 I/O信息的組成 232
6.1.2 I/O接口概述 232
6.1.3 I/O連線埠的編址 233
6.1.4 簡單的I/O接口 236
6.2 輸入/輸出的傳送方式 237
6.2.1 程式控制的輸入/輸出 237
6.2.2 中斷控制的輸入/輸出 240
6.2.3 直接數據通道傳送 241
6.3 中斷技術 242
6.3.1 中斷的基本概念 242
6.4 80x86/Pentium中斷系統 246
6.4.1 中斷結構 246
6.4.2 中斷回響過程 249
6.4.3 80386/80486/Pentium CPU中斷系統 251
6.5.1 8259A晶片的內部結構與引腳 254
6.5.2 8259A晶片的工作過程及工作方式 255
6.5.3 8259A命令字 258
6.5.4 8259A晶片套用舉例 263
6.6 82380可程式中斷控制器 266
6.6.1 控制器功能概述 267
6.6.2 控制器主要接口信號 267
6.7 中斷程式設計 268
6.7.1 設計方法 268
6.7.2 中斷程式設計舉例 270
習題6 275
第7章 微型機接口技術 278
7.1 概述 278
7.2 可程式定時/計數器 279
7.2.1 概述 279
7.2.2 可程式定時/計數器8253 280
7.2.3 可程式定時/計數器8254 287
7.3 可程式並行接口 287
7.3.1 可程式並行接口晶片8255A 288
7.3.2 並行印表機接口套用 295
7.3.3 鍵盤和顯示器接口 298
7.4 串列接口與串列通信 303
7.4.1 串列通信的基本概念 303
7.4.3 可程式串列通信接口8251A 309
7.4.3 可程式異步通信接口INS8250 316
7.4.4 通用串列匯流排USB 316
7.4.5 I2C與SPI串列匯流排 319
7.5 DMA控制器接口 320
7.5.1 8237A晶片的基本功能和引腳特性 321
7.5.2 8237A晶片內部暫存器與編程 323
7.5.3 8237A套用與編程 325
7.6 模擬量輸入/輸出接口 327
7.6.1 概述 327
7.6.2 並行和串列D/A轉換器 328
習題7 342
第8章 微型計算機系統的發展 345
8.1.1 IBM PC/AT微機系統 345
8.1.2 80386、80486
微機系統 346
8.1.3 Pentium及以上微機系統 347
8.2 系統外部匯流排 349
8.2.2 PCI局部匯流排 350
8.2.4 PCI Express匯流排 352
8.3 網路接口與網路協定 353
8.3.1 網路基本知識 353
8.3.2 計算機網路層次結構 354
8.3.4 802.3協定 357
8.4 80x86的多任務保護 358
8.4.1 保護機制與保護檢查 358
8.4.2 任務管理的概念 361
8.4.3 控制轉移 362
8.4.4 虛擬8086模式與保護模式之間的切換 365
8.4.5 多任務切換程式設計舉例 366
習題8 373
參考文獻 374