《80x86/Pentium 微型計算機原理及應用(第3版)》是普通高等教育“十一五”國家級規劃教材和國家精品課程建設成果,以教育部高等學校非計算機專業計算機基礎課程“基本要求V4.0”精神為指導,力求做到“基礎性、系統性、實用性和先進性”的統一。《80x86/Pentium 微型計算機原理及應用(第3版)》共8章,包括計算機基礎、80x86/Pentium 微處理器、80x86/Pentium指令系統、匯編語言程序設計、半導體存儲器、輸入/輸出和中斷、微型機接口技術和微型計算機系統的發展等。《80x86/Pentium 微型計算機原理及應用(第3版)》為任課老師提供電子課件。
21世紀的人類社會已進入以知識經濟為主導的信息時代,計算機技術與集成電路工藝的迅猛發展,推動了以微處理器性能為表征的新器件、新技術和新方法的不斷變革,信息技術產業與新興電子產品對社會和人類文明的影響越來越大。學習與掌握微型計算機的基本知識與應用技能,已成為人類現代文明的重要組成部分。為了與計算機技術的發展和教學改革的形勢相適應,我們對《80x86/Pentium微型計算機原理及應用》教材的前期版本進行了修訂,并作為普通高等教育“十一五”國家級規劃教材出版。
修訂版的編寫以教育部高等學校非計算機專業計算機基礎課程的“基本要求V4.0”精神為指導,結合國家和省精品課程建設成果及多年的教學實踐,深入研究教材內容和課程體系,吸取國內同行師生使用前期版本的反饋意見,并參考了一些國外優秀教材。教材在前期版本的基礎上對原章節內容加寬加深,既保持了多年形成的比較成熟的課程體系,又適時地引入了近年來微型計算機中的新器件、新技術和新方法,力求做到“基礎性、系統性、實用性和先進性”的統一。
根據工科非計算機專業學習與應用計算機的特點與教學規律,考慮到Intel 80x86/Pentium系列CPU以及所構建PC系統的向上兼容性,修訂版在結構上仍然繼承了前期的風格,內容上則做了較大幅度的更新和調整。主要更新與特點總結如下:
(1)結構清晰,循序漸進,重點突出,內容豐富,知識的整體性更好。
(2)以Intel 80x86/Pentium系列CPU為背景,系統介紹微型計算機的組成結構、工作原理、CPU功能特點、指令系統、匯編語言程序設計、中斷的工作原理、接口技術等。
(3)重點介紹了Intel 8086/8088 CPU的結構與特點、基本指令集、外圍接口技術的原理與應用方法等,這是我們學習與掌握微型計算機原理與應用的基礎。
(4)在有關微處理器的章節中除了個別調整外,重點說明了80386 CPU的結構特點、寄存器組織和存儲管理,增加了Pentium內部結構、超線程技術、協處理器80x87以及多核處理器的介紹。
(5)在“指令系統”與“匯編語言程序設計”兩章中,進一步完善了Intel 80x86/Pentium系列CPU的指令系統,增加了高版本宏匯編偽指令的應用、基于多媒體指令的程序設計方法、浮點運算指令集及其編程、匯編語言與高級語言的接口、保護方式下的編程方法等內容。
(6)對有關存儲器的內容進行了部分調整,在保證基本概念完整、更新部分芯片的基礎上,增加了雙倍速SDRAM(DDR)存儲器、典型快擦寫存儲器(閃存)的介紹,補充介紹了32位處理器及存儲器模塊的連接應用。
(7)整合了原書的第6、8章的內容,系統地介紹了8086/8088~Pentium系列CPU的I/O系統與中斷,并結合32位CPU的特點增加了保護模式下中斷與異常的處理過程。同時擴展介紹了集成控制芯片82380中的可編程中斷控制器。
(8)從現代微處理器應用角度,調整了接口部分的內容,補充了串行接口與通信的基礎知識,精簡了UART原理和8250芯片的具體介紹,增加了USB等串行總線的基本原理、DMA控制器8237的介紹,并更新了模擬通道的概念,增加了AD574的升級替換芯片的知識。
(9)對原有第8章的內容進行了更新。以介紹微型計算機體系結構為主,按序討論了IBM PC/AT和Pentium系列微機系統,補充了最新的總線技術(如AGP與PCI Express),并結合32位CPU的構成特點,介紹了保護模式下多任務管理機制和虛擬8086模式,對如何在保護模式下進行多任務切換進行了舉例說明。
微型計算機原理及其應用課程是工科電子信息與電氣學科等相關專業的重點主干課程,是后繼課程學習的紐帶和橋梁,是掌握微機軟、硬件設計技術的基礎,同時也是后PC時代學習、開發和應用DSP、ARM及“嵌入式系統”技術的基礎。在微處理器與計算機技術飛速發展和升級換代的進程中,計算機本身的體系結構、基本工作原理并沒有改變。基于此,本書仍以8086/8088 CPU為切入點,重點講述8086/8088 CPU的構成、寄存器特點、存儲器管理方式以及實模式編程技術。在此基礎上,介紹Pentium系列各處理器的發展與特點,結合擴展的指令系統給出了英特爾架構32位CPU的編程特點,以及多媒體和保護模式編程的基本方法。同時,對CPU常用外圍器件,如半導體存儲器、典型可編程接口芯片及其相關的中斷技術、接口設計方法和典型控制程序等給予詳盡的介紹。內容組織上遵循“由易及難、循序漸進、寬編窄用”的原則,敘述上力求做到由淺入深、通俗易懂。
全書共8章,第1~4章分別介紹微型計算機系統組成、微型計算機的CPU、匯編語言及其程序設計等基本知識;第5~8章介紹微機存儲系統、數據傳送方式、中斷技術、接口芯片及常用外部設備的相關知識及實用技術。
全書由吳寧統稿,其中,第1、2章由張穎編寫,第3、4章由吳寧編寫,第5、7章由馬旭東編寫,第6、8章由周芳編寫。周磊、葛芬、段麗芬在全書編寫過程中給予了許多協助。全書教學參考學時數為60~80,使用時可根據具體情況選擇適當的內容。本書還為任課老師提供電子課件資源,需要者請登錄華信教育資源網http://www.hxedu.com.cn免費注冊下載。
前版教材《80x86/Pentium微型計算機原理極其應用》自出版以來,連續15次重印,為國內多所重點大學選為本科生教學用書,并列為研究生考試的主要參考書。借此新版出版之際,對業界同仁的信任與鼓勵表示衷心的感謝。由于筆者水平有限,書中難免有錯誤和不妥之處,請讀者批評指正。
編著者
第1章 計算機基礎
1.1 數據、信息、媒體和多媒體
1.2 計算機中數值數據信息的表示
1.2.1 機器數和真值
1.2.2 數的表示方法——原碼、反碼和補碼
1.2.3 補碼的運算
1.2.4 定點數與浮點數
1.2.5 BCD碼及其十進制調整
1.3 計算機中非數值數據的信息表示
1.3.1 西文信息的表示
1.3.2 中文信息的表示
1.3.3 計算機中圖、聲、像信息的表示
1.4 微型計算機基本工作原理
1.4.1 微型計算機硬件系統組成
1.4.2 微型計算機軟件系統
1.4.3 微型計算機中指令執行的基本過程
1.5 評估計算機性能的主要技術指標
1.5.1 CPU字長
1.5.2 內存儲器與高速緩存
1.5.3 CPU指令執行時間
1.5.4 系統總線的傳輸速率
1.5.5 iCOMP指數
1.5.6 優化的內部結構
1.5.7 I/O設備配備情況
1.5.8 軟件配備情況
習題1
第2章 80x86/Pentium微處理器
2.1 80x86/Pentium微處理器的內部結構
2.1.1 8086/8088微處理器的基本結構
2.1.2 80386CPU內部結構
2.1.3 80x87數學協處理器
2.1.4 Pentium CPU內部結構
2.2 微處理器的主要引腳及功能
2.2.1 8086/8088 CPU引腳功能
2.2.2 80386 CPU引腳功能
2.2.3 Pentium CPU引腳功能
2.3 系統總線與典型時序
2.3.1 CPU系統總線及其操作
2.3.2 基本總線操作時序
2.3.3 特殊總線操作時序
2.4 典型CPU應用系統
2.4.1 8086/8088支持芯片
2.4.2 8086/8088單CPU(最小模式)系統
2.4.3 8086/8088多CPU(最大模式)系統
2.5 CPU的工作模式
2.5.1 實地址模式
2.5.2 保護模式
2.5.3 虛擬8086模式
2.5.4 系統管理模式
2.6 指令流水線與高速緩存
2.6.1 指令流水線和動態分支預測
2.6.2 片內高速緩存
2.7 64位CPU與多核微處理器
習題2
第3章 80x86/Pentium指令系統
3.1 80x86/Pentium指令格式
3.2 80x86/Pentium尋址方式
3.2.1 尋址方式與有效地址EA的概念
3.2.2 各種尋址方式
3.2.3 存儲器尋址時的段約定
3.3 8086/8088 CPU指令系統
3.3.1 數據傳送類指令
3.3.2 算術運算類指令
3.3.3 邏輯運算與移位指令
3.3.4 串操作指令
3.3.5 控制轉移類指令
3.3.6 處理器控制類指令
3.4 80x86/Pentium CPU指令系統
3.4.1 80286 CPU的增強與增加指令
3.4.2 80386 CPU的增強與增加指令
3.4.3 80486 CPU增加的指令
3.4.4 Pentium系列CPU增加的指令
3.5 80x87浮點運算指令
3.5.1 80x87的數據類型與格式
3.5.2 浮點寄存器
3.5.3 80x87指令簡介
習題3
第4章 匯編語言程序設計
4.1 程序設計語言概述
4.2 匯編語言的程序結構與語句格式
4.2.1 匯編語言源程序的框架結構
4.2.2 匯編語言的語句
4.3 匯編語言的偽指令
4.3.1 基本偽指令語句
4.3.2 80x86/Pentium CPU擴展偽指令
4.4 匯編語言程序設計方法
4.4.1 程序設計的基本過程
4.4.2 順序結構程序設計
4.4.3 分支結構程序設計
4.4.4 循環結構程序設計
4.4.5 子程序設計與調用技術
4.5 模塊化程序設計技術
4.5.1 模塊化程序設計的特點與規范
4.5.2 程序中模塊間的關系
4.5.3 模塊化程序設計舉例
4.6 綜合應用程序設計舉例
4.6.1 16位實模式程序設計
4.6.2 基于32位指令的實模式程序設計
4.6.3 基于多媒體指令的實模式程序設計
4.6.4 保護模式程序設計
4.6.5 浮點指令程序設計
4.7 匯編語言與C/C++語言混合編程
4.7.1 內嵌模塊方法
4.7.2 多模塊混合編程
習題4
第5章 半導體存儲器
5.1 概述
5.1.1 半導體存儲器的分類
5.1.2 存儲原理與地址譯碼
5.1.3 主要性能指標
5.2 隨機存取存儲器(RAM)
5.2.1 靜態RAM(SRAM)
5.2.2 動態RAM(DRAM)
5.2.3 隨機存取存儲器RAM的應用
5.3 只讀存儲器(ROM)
5.3.1 掩膜ROM和PROM
5.3.2 EPROM(可擦除的PROM)
5.4 存儲器連接與擴充應用
5.4.1 存儲器芯片選擇
5.4.2 存儲器容量擴充
5.4.3 RAM存儲模塊
5.5 CPU與存儲器的典型連接
5.5.1 8086/8088 CPU的典型存儲器連接
5.5.2 80386/Pentium CPU的典型存儲器連接
5.6 微機系統的內存結構
5.6.1 分級存儲結構
5.6.2 高速緩存Cache
5.6.3 虛擬存儲器與段頁結構
習題5
第6章 輸入/輸出和中斷
6.1 輸入/輸出及接口
6.1.1 I/O信息的組成
6.1.2 I/O接口概述
6.1.3 I/O端口的編址
6.1.4 簡單的I/O接口
6.2 輸入/輸出的傳送方式
6.2.1 程序控制的輸入/輸出
6.2.2 中斷控制的輸入/輸出
6.2.3 直接數據通道傳送
6.3 中斷技術
6.3.1 中斷的基本概念
6.3.2 中斷優先權
6.4 80x86/Pentium中斷系統
6.4.1 中斷結構
6.4.2 中斷向量表
6.4.2 中斷響應過程
6.4.3 80386/80486/Pentium CPU中斷系統
6.5 8259A可編程中斷控制器
6.5.1 8259A芯片的內部結構與引腳
6.5.2 8259A芯片的工作過程及工作方式
6.5.3 8259A命令字
6.5.4 8259A芯片應用舉例
6.6 82380可編程中斷控制器
6.6.1 控制器功能概述
6.6.2 控制器主要接口信號
6.7 中斷程序設計
6.7.1 設計方法
6.7.2 中斷程序設計舉例
習題6
第7章 微型機接口技術
7.1 概述
7.2 可編程定時/計數器
7.2.1 概述
7.2.2 可編程定時/計數器8253
7.2.3 可編程定時/計數器8254
7.3 可編程并行接口
7.3.1 可編程并行接口芯片8255A
7.3.2 并行打印機接口應用
7.3.3 鍵盤和顯示器接口
7.4 串行接口與串行通信
7.4.1 串行通信的基本概念
7.4.3 可編程串行通信接口8251A
7.4.3 可編程異步通信接口INS8250
7.4.4 通用串行總線USB
7.4.5 I2C與SPI串行總線
7.5 DMA控制器接口
7.5.1 8237A芯片的基本功能和引腳特性
7.5.2 8237A芯片內部寄存器與編程
7.5.3 8237A應用與編程
7.6 模擬量輸入/輸出接口
7.6.1 概述
7.6.2 并行和串行D/A轉換器
7.6.3 并行和串行A/D轉換器
習題7
第8章 微型計算機系統的發展
8.1.1 IBM PC/AT微機系統
8.1.2 80386、80486微機系統
8.1.3 Pentium及以上微機系統
8.2 系統外部總線
8.2.1 ISA總線
8.2.2 PCI局部總線
8.2.3 AGP總線
8.2.4 PCI Express總線
8.3 網絡接口與網絡協議
8.3.1 網絡基本知識
8.3.2 計算機網絡層次結構
8.3.3 網絡適配器
8.3.4 802.3協議
8.4 80x86的多任務保護
8.4.1 保護機制與保護檢查
8.4.2 任務管理的概念
8.4.3 控制轉移
8.4.4 虛擬8086模式與保護模式之間的切換
8.4.5 多任務切換程序設計舉例
習題8
參考文獻