出版時(shí)間:2009-9 出版社:化學(xué)工業(yè)出版社 作者:馬興錄 等編 頁(yè)數(shù):298
前言
微機(jī)原理與接口技術(shù)是計(jì)算機(jī)、信息、通信、自動(dòng)化等專業(yè)教育中一門十分重要的專業(yè)基礎(chǔ)課。本書編寫的目的是讓讀者從理論和實(shí)踐上掌握微型計(jì)算機(jī)的工作原理、匯編語(yǔ)言程序設(shè)計(jì)、微機(jī)的基本組成及常用接口技術(shù),建立微機(jī)系統(tǒng)整體概念,了解當(dāng)今計(jì)算機(jī)硬件的新技術(shù)和新理論。通過對(duì)本書內(nèi)容的學(xué)習(xí),讀者可以比較系統(tǒng)地了解微機(jī)系統(tǒng)的組成原理及其硬件結(jié)構(gòu),掌握匯編語(yǔ)言的程序設(shè)計(jì),掌握基本微機(jī)系統(tǒng)的接口電路的設(shè)計(jì)及編程方法,具備微機(jī)應(yīng)用系統(tǒng)軟、硬件開發(fā)的初步能力。 當(dāng)今微處理器的發(fā)展一直遵循著名的“摩爾定律”。從20世紀(jì)70年代后期出現(xiàn)第三代16位微處理器至今,CPU經(jīng)歷了飛速發(fā)展。在微型計(jì)算機(jī)中,CPU已經(jīng)從32位更換為64位,從單核CPU更換為多核CPU。在令人眼花繚亂的背后,是技術(shù)與制造工藝的不斷創(chuàng)新。不過,原理性的東西并沒有發(fā)生太大的變化,而且當(dāng)前32位CPU在市場(chǎng)上,特別是在嵌入式系統(tǒng)中還占主流。因此,本書在編寫過程中以Intel公司的IA32系列微處理器為主線,重點(diǎn)講述微處理器的工作原理?! ∪珪卜?3章,從內(nèi)容組織上可分為四大部分:微機(jī)原理、匯編語(yǔ)言程序設(shè)計(jì)、微機(jī)組成及接口技術(shù)。微機(jī)原理部分主要包括第2章、第3章和第13章。匯編語(yǔ)言程序設(shè)計(jì)在第4章。微機(jī)組成主要包括第5章、第6章、第8章和第12章,這是構(gòu)成一臺(tái)微機(jī)的必要組成部分。接口技術(shù)則包括第7章、第9章、第10章和第11章?! 〉?章是基礎(chǔ)知識(shí)部分。介紹了計(jì)算機(jī)的一些基礎(chǔ)知識(shí),主要包括計(jì)算機(jī)發(fā)展簡(jiǎn)史、微型計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)及其主要技術(shù)指標(biāo)、計(jì)算機(jī)中的數(shù)制、布爾代數(shù)基礎(chǔ)、邏輯電路基礎(chǔ)、二進(jìn)制數(shù)的運(yùn)算及其加法電路、計(jì)算機(jī)中的編碼、浮點(diǎn)數(shù)基本概念等。 第2章從微機(jī)的簡(jiǎn)化模型入手,開始講述微機(jī)的內(nèi)部工作原理;然后以16位微處理器8086為過渡,講述IA-32架構(gòu)微處理器的功能結(jié)構(gòu)及編程結(jié)構(gòu);最后以32位微處理器Pentium為例,講述32位微處理器的外部引腳及工作時(shí)序?! 〉?章介紹了IA32系列微處理器的尋址方式及其基本指令集。 第4章介紹宏匯編語(yǔ)言程序的結(jié)構(gòu)、偽指令以及程序設(shè)計(jì)的一般過程和各種基本程序結(jié)構(gòu),然后介紹系統(tǒng)功能調(diào)用,最后給出了大量的編程實(shí)例?! 〉?章介紹了目前微機(jī)系統(tǒng)中常用的各種總線,包括常用內(nèi)部總線PCI以及工業(yè)中常用的PC104總線等;外部總線IEEE-488總線及USB總線?! 〉?章主要討論作為內(nèi)存的半導(dǎo)體存儲(chǔ)器。在簡(jiǎn)要介紹存儲(chǔ)器分類和基本存儲(chǔ)元件電路的基礎(chǔ)上,重點(diǎn)介紹了常用的幾種典型存儲(chǔ)器芯片及其與CPU之間的連接與擴(kuò)展問題,并簡(jiǎn)要介紹了目前廣泛應(yīng)用的幾種新型存儲(chǔ)器?! 〉?章介紹了接口技術(shù)的基礎(chǔ)知識(shí),包括接口的定義、功能及結(jié)構(gòu),I/O端口的編址方式以及CPU與外設(shè)之間的數(shù)據(jù)傳送方式。為學(xué)習(xí)后續(xù)的各類接口奠定基礎(chǔ)。 第8章介紹了計(jì)算機(jī)系統(tǒng)不可缺少的重要組成部分——中斷系統(tǒng)。介紹了一般中斷系統(tǒng)概念、微機(jī)的中斷系統(tǒng)功能及中斷管理專用芯片8259A。 第9章介紹了并行通信及定時(shí)/計(jì)數(shù)技術(shù),重點(diǎn)介紹了可編程并行接口芯片8255及可編程定時(shí)/計(jì)數(shù)器8253的用法?! 〉?0章介紹了串行通信技術(shù)以及串行通信接口芯片8251A?! 〉?1章介紹了數(shù)模和模數(shù)轉(zhuǎn)換的原理以及常用A/D、D/A芯片的功能?! 〉?2章介紹了為實(shí)現(xiàn)大批量數(shù)據(jù)的快速傳輸而采用的DMA傳送方式。重點(diǎn)介紹了DMA控制器8237?! 〉?3章介紹了IA32系列微處理器保護(hù)模式下的運(yùn)行機(jī)制及編程方法。本章內(nèi)容可作為選學(xué)部分?! ”緯?章由曲英杰編寫;第2章和第12章由馬興錄編寫;第3章和第4章由范瑋編寫;第5章和第6章由宋廷強(qiáng)編寫;第7章和第8章由陳為編寫;第9章和第10章由朱桂新編寫;第11章和第13章由肖傳偉編寫。全書由馬興錄統(tǒng)稿?! ∮捎诰幷叩膶?shí)際工作經(jīng)驗(yàn)及水平的限制,本書必會(huì)存在一些不當(dāng)之處,懇請(qǐng)讀者批評(píng)指正。
內(nèi)容概要
本書以Intel公司的IA32系列微處理器為主線,系統(tǒng)講述了微機(jī)原理、匯編語(yǔ)言程序設(shè)計(jì)、微型計(jì)算機(jī)的組成以及接口技術(shù)。微機(jī)原理部分主要包括:32位微處理器的工作原理及其指令系統(tǒng)。匯編語(yǔ)言程序設(shè)計(jì)詳細(xì)講述了匯編語(yǔ)言程序結(jié)構(gòu)、開發(fā)過程、系統(tǒng)功能調(diào)用、結(jié)構(gòu)化程序設(shè)計(jì),并列舉了大量編程實(shí)例。微型計(jì)算機(jī)的組成部分主要包括:總線技術(shù)、存儲(chǔ)器系統(tǒng)、中斷系統(tǒng)以及DMA控制器。接口技術(shù)部分包括I/O系統(tǒng)、并行接口、定時(shí)/計(jì)數(shù)器、中斷控制器、串行通信接口、模擬接口等內(nèi)容。最后,還簡(jiǎn)單介紹了32位微處理器的保護(hù)模式,為讀者在保護(hù)模式下進(jìn)行開發(fā)奠定基礎(chǔ)。 本書在每章后面配有習(xí)題,并有配套的《32位微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)》及電子課件可供選用。 本書可作為高等院校本科教材使用,也可供工程技術(shù)人員參考。 本書實(shí)驗(yàn)項(xiàng)目基于先進(jìn)的嵌入式微機(jī)原理實(shí)驗(yàn)箱進(jìn)行設(shè)計(jì),實(shí)驗(yàn)項(xiàng)目切合實(shí)際,涉及接口種類豐富,融合了多種微機(jī)應(yīng)用技術(shù),是學(xué)習(xí)微機(jī)原理與接口技術(shù)課程的實(shí)用教材。 本書可以作為高等院校理工科電子信息、自動(dòng)化、電氣工程、機(jī)電等相關(guān)專業(yè)任課教師的教學(xué)用書,以及本、??茖W(xué)生實(shí)驗(yàn)參考用書,也可供工程技術(shù)人員參考。
書籍目錄
第1章 計(jì)算機(jī)基礎(chǔ) 1.1 緒論 1.1.1 電子計(jì)算機(jī)發(fā)展簡(jiǎn)史 1.1.2 計(jì)算機(jī)應(yīng)用領(lǐng)域及發(fā)展趨勢(shì) 1.1.3 微型計(jì)算機(jī)系統(tǒng)的組成及其主要技術(shù)指標(biāo) 1.2 計(jì)算機(jī)中的數(shù)制 1.2.1 數(shù)制的基本概念 1.2.2 數(shù)制之間的轉(zhuǎn)換 1.3 布爾代數(shù)基礎(chǔ) 1.3.1 基本邏輯運(yùn)算 1.3.2 基本運(yùn)算規(guī)律 1.3.3 邏輯函數(shù)的表示方法 1.3.4 真值表與邏輯表達(dá)式之間的相互轉(zhuǎn)換 1.3.5 邏輯函數(shù)的化簡(jiǎn) 1.4 邏輯電路基礎(chǔ) 1.5 二進(jìn)制數(shù)的運(yùn)算及其加法電路 1.5.1 二進(jìn)制數(shù)據(jù)算術(shù)運(yùn)算規(guī)則 1.5.2 半加器電路設(shè)計(jì) 1.5.3 全加器電路設(shè)計(jì) 1.5.4 多位二進(jìn)制數(shù)的加法電路設(shè)計(jì) 1.6 計(jì)算機(jī)中的編碼 1.6.1 二進(jìn)制數(shù)值數(shù)據(jù)的編碼方法 1.6.2 補(bǔ)碼加法器/減法器電路 1.6.3 其他編碼 1.7 浮點(diǎn)數(shù)基本概念 習(xí)題第2章 微處理器 2.1 微型計(jì)算機(jī)簡(jiǎn)化模型 2.1.1 微型計(jì)算機(jī)的總體結(jié)構(gòu) 2.1.2 簡(jiǎn)化模型的組成 2.1.3 模型機(jī)的運(yùn)行過程 2.1.4 指令系統(tǒng) 2.2 處理器的功能結(jié)構(gòu) 2.2.1 IA-32架構(gòu)微處理器的發(fā)展歷史 2.2.2 微處理器的功能結(jié)構(gòu) 2.2.3 Pentium微處理器的功能結(jié)構(gòu) 2.3 IA-32微處理器的編程結(jié)構(gòu) 2.3.1 IA-32微處理器的工作模式 2.3.2 IA-32微處理器的編程結(jié)構(gòu) 2.3.3 存儲(chǔ)器組織 2.4 Pentium微處理器的外部引腳 2.5 Pentium微處理器的典型工作時(shí)序 習(xí)題第3章 指令系統(tǒng) 3.1 概述 3.2 尋址方式 3.3 IA32微處理器的基本指令集 3.3.1 數(shù)據(jù)傳送指令 3.3.2 算術(shù)運(yùn)算類指令 3.3.3 邏輯指令 3.3.4 串處理指令 3.3.5 控制轉(zhuǎn)移指令 3.3.6 處理機(jī)控制指令 習(xí)題第4章 匯編語(yǔ)言程序設(shè)計(jì) 4.1 匯編語(yǔ)言語(yǔ)句 4.1.1 匯編語(yǔ)言語(yǔ)句種類及其格式 4.1.2 匯編語(yǔ)言語(yǔ)句中各項(xiàng)的表示方法 4.2 偽指令 4.2.1 處理器選擇偽指令 4.2.2 段定義偽指令 4.2.3 假定偽指令 4.2.4 數(shù)據(jù)定義偽指令 4.2.5 符號(hào)定義偽指令 4.2.6 地址計(jì)數(shù)器與定位偽指令 4.2.7 過程(子程序)定義偽指令 4.2.8 源程序開始和結(jié)束偽指令 4.3 匯編語(yǔ)言程序的結(jié)構(gòu) 4.4 匯編語(yǔ)言程序的開發(fā)過程 4.5 匯編語(yǔ)言程序結(jié)構(gòu)設(shè)計(jì) 4.5.1 順序程序設(shè)計(jì) 4.5.2 分支程序設(shè)計(jì) 4.5.3 循環(huán)程序設(shè)計(jì) 4.5.4 子程序設(shè)計(jì) 4.5.5 宏指令 4.6 系統(tǒng)功能調(diào)用 4.6.1 鍵盤功能調(diào)用 4.6.2 顯示功能調(diào)用 4.6.3 返回操作系統(tǒng) 4.7 匯編語(yǔ)言設(shè)計(jì)實(shí)例 4.7.1 鍵盤及顯示器操作 4.7.2 代碼轉(zhuǎn)換 4.7.3 數(shù)值計(jì)算和數(shù)據(jù)處理 4.7.4 字符串處理 習(xí)題第5章 總線技術(shù) 5.1 總線的基本概念 5.1.1 總線的分類 5.1.2 總線標(biāo)準(zhǔn) 5.1.3 總線主要性能指標(biāo) 5.1.4 總線控制部件與總線傳輸 5.1.5 總線的層次化結(jié)構(gòu) 5.2 常用內(nèi)部總線 5.2.1 STD總線 5.2.2 PC系列總線 5.3 常用外部總線 5.3.1 IEEE-488總線 5.3.2 通用串行總線 習(xí)題第6章 存儲(chǔ)器系統(tǒng) 6.1 概述 6.1.1 存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu) 6.1.2 半導(dǎo)體存儲(chǔ)器的分類 6.1.3 存儲(chǔ)器的基本組成 6.1.4 存儲(chǔ)器的主要技術(shù)指標(biāo) 6.2 常用存儲(chǔ)器 6.2.1 隨機(jī)存儲(chǔ)器 6.2.2 只讀存儲(chǔ)器 6.2.3 閃存 6.2.4 常用存儲(chǔ)器參數(shù) 6.3 存儲(chǔ)器擴(kuò)展技術(shù) 6.4 存儲(chǔ)器與CPU的連接 6.4.1 存儲(chǔ)器與CPU連接時(shí)問題 6.4.2 常用譯碼電路 6.4.3 存儲(chǔ)器連接舉例 習(xí)題第7章 輸入輸出接口 7.1 概述 7.1.1 設(shè)置接口電路的目的 7.1.2 接口的基本功能 7.1.3 接口電路中的信息 7.1.4 接口的基本結(jié)構(gòu) 7.2 I/O端口的編址 7.2.1 I/O端口的編址方式 7.2.2 端口地址譯碼 7.3 CPU與外設(shè)之間的數(shù)據(jù)傳送方式 7.3.1 程序控制方式 7.3.2 中斷傳送方式 7.3.3 直接存儲(chǔ)器存取方式 習(xí)題第8章 中斷系統(tǒng) 8.1 中斷的基本概念 8.1.1 中斷的定義 8.1.2 中斷請(qǐng)求信號(hào)的產(chǎn)生 8.1.3 中斷優(yōu)先級(jí) 8.1.4 中斷過程 8.2 微型計(jì)算機(jī)的中斷系統(tǒng) 8.2.1 中斷的分類和中斷類型碼 8.2.2 中斷向量和中斷向量表 8.2.3 中斷響應(yīng)過程與時(shí)序 8.3 可編程中斷控制器8259A 8.3.1 A的內(nèi)部結(jié)構(gòu)和工作原理 8.3.2 引腳信號(hào) 8.3.3 A的工作過程 8.3.4 A的工作方式 8.3.5 A的編程 8.3.6 A的級(jí)聯(lián) 8.3.7 A的應(yīng)用舉例 習(xí)題第9章 并行接口及定時(shí)/計(jì)數(shù)技術(shù) 9.1 并行接口概述 9.2 并行接口芯片A 9.2.1 A的內(nèi)部結(jié)構(gòu) 9.2.2 A的引腳功能 9.2.3 A的工作方式 9.2.4 A的編程及應(yīng)用 9.3 可編程定時(shí)/計(jì)數(shù)器8253 9.3.1 3芯片結(jié)構(gòu)及引腳 9.3.2 3的讀寫以及初始化操作 9.3.3 3的工作方式以及時(shí)序 9.3.4 3應(yīng)用舉例 習(xí)題第10章 串行通信接口 10.1 串行接口與通信概述 10.1.1 串行通信方式 10.1.2 數(shù)據(jù)傳送方式 10.1.3 信號(hào)傳輸方式 10.2 串行接口標(biāo)準(zhǔn) 10.2.1 RS-232-C總線 10.2.2 RS-422和RS-485總線 10.3 可編程串行接口芯片8251A 10.3.1 1A的基本性能 10.3.2 1A的內(nèi)部結(jié)構(gòu) 10.3.3 1A的引腳功能 10.3.4 1A的編程 10.3.5 1A應(yīng)用舉例 習(xí)題第11章 模/數(shù)和數(shù)/模轉(zhuǎn)換 11.1 數(shù)/模(D/A)轉(zhuǎn)換器 11.1.1 數(shù)/模(D/A)轉(zhuǎn)換器的工作原理 11.1.2 數(shù)/模(D/A)轉(zhuǎn)換器的主要性能參數(shù) 11.1.3 數(shù)/模(D/A)轉(zhuǎn)換器及接口電路 11.2 模/數(shù)(A/D)轉(zhuǎn)換器 11.2.1 A/D轉(zhuǎn)換器的工作原理 11.2.2 模/數(shù)(A/D)轉(zhuǎn)換器的主要性能參數(shù) 11.2.3 模/數(shù)(A/D)轉(zhuǎn)換器芯片及接口電路 習(xí)題第12章 DMA控制器 12.1 概述 12.2 DMA控制器8237A 12.2.1 A的功能結(jié)構(gòu)和外部引腳 12.2.2 A的通道操作過程 12.2.3 A的內(nèi)部寄存器 12.3 A的編程 習(xí)題第13章 保護(hù)模式 13.1 保護(hù)模式內(nèi)存管理 13.1.1 分段與分頁(yè) 13.1.2 邏輯地址和線性地址 13.1.3 段選擇子與段描述符 13.1.4 全局描述符表(GDT)和局部描述符表(LDT) 13.1.5 段寄存器 13.1.6 分頁(yè)與分段管理 13.1.7 頁(yè)表和頁(yè)目錄表 13.1.8 段到頁(yè)的映射 13.2 保護(hù)模式下任務(wù)管理 13.2.1 任務(wù)結(jié)構(gòu) 13.2.2 任務(wù)狀態(tài) 13.2.3 執(zhí)行任務(wù) 13.2.4 任務(wù)管理數(shù)據(jù)結(jié)構(gòu) 13.2.5 任務(wù)切換 13.3 保護(hù)模式下的中斷和異?! ?3.3.1 中斷和異常的分類 13.3.2 異常和中斷向量 13.3.3 中斷和異常的處理過程 13.3.4 中斷描述符表(IDT) 13.3.5 特權(quán)指令 13.4 輸入/輸出保護(hù) 13.4.1 輸入/輸出保護(hù) 13.4.2 重要標(biāo)志保護(hù) 習(xí)題參考文獻(xiàn)
章節(jié)摘錄
終止類異常不保證進(jìn)程或任務(wù)重新開始的可靠性。通常終止處理例程的作用是:在終止異常發(fā)生時(shí)收集有關(guān)處理器狀態(tài)的各種診斷信息,并盡可能正常地關(guān)閉應(yīng)用程序和系統(tǒng)?! ≈袛啾仨毥^對(duì)支持不失連續(xù)性的條件下重新開始被中斷的進(jìn)程和任務(wù)。保存的返回指令指針指向發(fā)生中斷的下一條指令。如果將要執(zhí)行的指令帶有重復(fù)前綴,則中斷發(fā)生在相關(guān)寄存器當(dāng)前迭代結(jié)束下次迭代開始執(zhí)行之前?! √幚砥鲗?duì)異常和中斷調(diào)用的處理方式與用CALL指令調(diào)用例程和任務(wù)的處理十分相似。響應(yīng)異常和中斷時(shí),處理器將異常或中斷向量作為IDT中描述符的索引。若該索引指向一個(gè)中斷門或陷阱門,那么處理器會(huì)像處理CALL指令引用調(diào)用門一樣,引用異?;蛑袛嗬?。若該索引指向的是任務(wù)門,處理器則執(zhí)行任務(wù)切換,切換到異?;蛑袛嗵幚砝蹋c用CALL指令調(diào)用一個(gè)任務(wù)門相似?! ≈赶虍惓;蛑袛嗵幚砝痰闹袛嚅T或陷阱門運(yùn)行在當(dāng)前進(jìn)程的場(chǎng)景中。門的段選擇子指向位于GDT或當(dāng)前LDT中的可執(zhí)行代碼段的段描述符。門描述符中的偏移指向異?;蛑袛嗵幚砝痰娜肟凇! ‘?dāng)處理器執(zhí)行一個(gè)對(duì)異?;蛑袛嗵幚砝痰恼{(diào)用時(shí): 如果將要執(zhí)行的處理例程特權(quán)級(jí)數(shù)值較小,就進(jìn)行棧切換。當(dāng)棧切換發(fā)生時(shí): ?、偬幚沓绦蚴褂脳5亩芜x擇子和棧指針是從當(dāng)前運(yùn)行任務(wù)的TSS中獲取的。處理器把被中斷例程的棧段選擇子和棧指針壓入新的棧中?! 、谔幚砥麟S后把EFLAGS寄存器、CS寄存器、EIP寄存器的當(dāng)前值保存進(jìn)新棧中?! 、廴绻惓M瑫r(shí)產(chǎn)生了一個(gè)錯(cuò)誤碼,則把它壓入棧中,位于EIP之后?! ∪绻麑⒁獔?zhí)行的處理例程與被中斷的例程特權(quán)級(jí)相同: ?、偬幚砥髟诋?dāng)前棧中保存當(dāng)前EFLAGS寄存器、CS寄存器和EIP寄存器的值?! 、谌绻惓5腻e(cuò)誤碼也保存在那里,則把它保存在當(dāng)前棧的EIP值之后。
圖書封面
評(píng)論、評(píng)分、閱讀與下載