




已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1 第6章數(shù)據(jù)傳送方式 學(xué)習(xí)重點(diǎn) 掌握I O接口的概念和功能 微處理器與I O設(shè)備之間數(shù)據(jù)傳輸?shù)?種控制方式 深刻理解中斷 包括中斷分類 中斷向量 中斷處理過(guò)程 中斷優(yōu)先級(jí)及中斷嵌套的概念和實(shí)現(xiàn)方案 掌握8259A的使用方法 掌握DMA基本概念 并行接口 串行接口 定時(shí)器及模數(shù)數(shù)模轉(zhuǎn)換結(jié)構(gòu)和原理 2 第6章輸入輸出接口概述 6 1 1輸入輸出接口電路所謂接口是指CPU和存儲(chǔ)器 外部設(shè)備或者兩種外部設(shè)備之間 或者兩種機(jī)器之間通過(guò)系統(tǒng)總線進(jìn)行連接的邏輯部件 或稱電路 它是CPU與外界進(jìn)行信息交換的中轉(zhuǎn)站 圖6 1為一個(gè)微型計(jì)算機(jī)的輸入輸出接口結(jié)構(gòu)圖 可以看出 一個(gè)簡(jiǎn)單的微機(jī)系統(tǒng)需要CPU 存貯器 基本輸入輸出接口以及將它們連接在一起的各種信號(hào)線和接口電路 3 圖6一1微型計(jì)算機(jī)的輸入輸出接口結(jié)構(gòu)圖 4 第6章數(shù)據(jù)傳送方式 1 I O信息的組成CPU通過(guò)接口與外設(shè)交換信息 這些信息包括數(shù)據(jù)信息 狀態(tài)信息和控制信息 1 數(shù)據(jù)信息 可分為數(shù)字量 模擬量和開(kāi)關(guān)量 數(shù)字量 是鍵盤(pán) CRT 打印機(jī)及磁盤(pán)等I O外設(shè)與CPU交換的信息 它是以二進(jìn)制形式表示的數(shù)或以ASCII碼表示的數(shù)或字符 模擬量 當(dāng)微型計(jì)算機(jī)用于控制系統(tǒng)時(shí) 大量的現(xiàn)場(chǎng)信息如溫度 壓力 流量 位移等 經(jīng)過(guò)傳感器把非電量轉(zhuǎn)換成電量 并經(jīng)放大處理得到模擬量的電壓或電流 這些模擬量必須先經(jīng)過(guò)A D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量才能輸入計(jì)算機(jī) 計(jì)算機(jī)控制信號(hào)的輸出也必須先經(jīng)過(guò)D A轉(zhuǎn)換器把數(shù)字量轉(zhuǎn)換成模擬量才能去控制執(zhí)行機(jī)構(gòu) 5 第6章數(shù)據(jù)傳送方式 開(kāi)關(guān)量即兩個(gè)狀態(tài)的量 如開(kāi)關(guān)的斷開(kāi)與閉合 閥門(mén)的打開(kāi)與關(guān)閉等 通常開(kāi)關(guān)量要經(jīng)過(guò)相應(yīng)的電平轉(zhuǎn)換才能與計(jì)算機(jī)連接 每個(gè)開(kāi)關(guān)量只要一位二進(jìn)制數(shù)表示 故對(duì)于字長(zhǎng)為8位 或16位 的計(jì)算機(jī) 一次可輸入或輸出8位 或16位 開(kāi)關(guān)量 2 狀態(tài)信息狀態(tài)信息是CPU與外設(shè)之間交換數(shù)據(jù)時(shí)的聯(lián)絡(luò)信息 CPU通過(guò)讀取外設(shè)狀態(tài)信號(hào) 可知外設(shè)的工作狀態(tài) 如輸入設(shè)備的數(shù)據(jù)是否準(zhǔn)備好 輸出設(shè)備是否空閑 輸出設(shè)備正在輸出信息 則用BUSY信號(hào)通知CPU暫停送數(shù) 因此 狀態(tài)信號(hào)是CPU與I O外設(shè)正確進(jìn)行數(shù)據(jù)交換的重要條件 6 第6章數(shù)據(jù)傳送方式 3 控制信息控制信息是設(shè)置I O外設(shè) 包括I O接口 的工作模式 命令字的有關(guān)信息 如 啟動(dòng) 停止 信息 2 I O接口的作用 1 轉(zhuǎn)換信息格式 2 提供聯(lián)絡(luò)信號(hào) 協(xié)調(diào)數(shù)據(jù)傳送的狀態(tài)信息 3 協(xié)調(diào)定時(shí)差異 4 進(jìn)行譯碼選址 5 實(shí)現(xiàn)電平轉(zhuǎn)換 6 具備時(shí)序控制 7 可編程 7 第6章數(shù)據(jù)傳送方式 3 微處理器與I O接口電路的連接微處理器通過(guò)數(shù)據(jù)總線 地址總線和控制總線與存儲(chǔ)器及輸入輸出接口電路連接 為了保證系統(tǒng)工作的可靠性 在構(gòu)成系統(tǒng)時(shí)必須考慮以下幾個(gè)方面的問(wèn)題 1 負(fù)載能力的匹配 器件輸出端所接的負(fù)載不能超過(guò)器件的負(fù)載能力 2 速度配合問(wèn)題 存儲(chǔ)器或輸入輸出端口的讀 寫(xiě)時(shí)間必需小于CPU在讀 寫(xiě)周期中提供的讀 寫(xiě)時(shí)間 在CPU提供的時(shí)間不足時(shí) 可以通過(guò)選取適當(dāng)速度的芯片或改變CPU的時(shí)鐘頻率等方法滿足上述條件 也可通過(guò)READY引腳 請(qǐng)求CPU插入TW周期以實(shí)現(xiàn)速度配合 3 邏輯連接的正確性 正確連接地址線 數(shù)據(jù)線及控制總線 保證CPU在執(zhí)行對(duì)某一存儲(chǔ)單元或輸入輸出端口的讀寫(xiě)指令時(shí) 該單元或端口確實(shí)被選中并進(jìn)行相應(yīng)的操作 8 6 1 2CPU與外設(shè)之間的數(shù)據(jù)傳送方式 從CPU與外設(shè)通信的特點(diǎn)知 在數(shù)據(jù)傳送之前一般要進(jìn)行狀態(tài)的 聯(lián)絡(luò) 計(jì)算機(jī)的外部設(shè)備種類繁多 有機(jī)械式 電動(dòng)式 電子式或其他形式 其輸入的信息也不盡相同 可以是數(shù)字量 模擬量 也可以是開(kāi)關(guān)量或是串行 并行信號(hào) 為保證CPU和外設(shè)之間能正確 有效f進(jìn)行信息傳輸 針對(duì)不同的外設(shè) 不同場(chǎng)合就需要采用不同的數(shù)據(jù)傳送方式 CPU與外設(shè)之間的數(shù)據(jù)傳送方式有3種 程序控制傳送方式 中斷傳送方式 DMA傳送方式 9 6 1 2程序控制傳送方式 1 程序控制的輸入輸出程序控制方式是指CPU與外設(shè)之間的數(shù)據(jù)傳送是在程序控制下完成 它又可成無(wú)條件傳送方式和查詢方式兩類 1 無(wú)條件傳送方式最簡(jiǎn)單的輸入 輸出控制方式 該方式認(rèn)為外設(shè)始終是準(zhǔn)備好的 能隨時(shí)提供數(shù)據(jù) 如按鈕開(kāi)關(guān) 發(fā)光二極管等 一般適用于經(jīng)過(guò)較長(zhǎng)時(shí)間間隔數(shù)據(jù)才有顯著變化的情況 這時(shí)無(wú)需檢查端口的狀態(tài) 就可以立即采集數(shù)據(jù) 這時(shí)的端口不需要加鎖存器而直接用三態(tài)緩沖器與系統(tǒng)總線相連 采用無(wú)條件傳送方式接口電路如圖6 2所示 10 圖6一2無(wú)條件傳送方式接口電路 11 6 1 2程序控制傳送方式 2 查詢傳送方式當(dāng)快速的CPU與慢速的I O設(shè)備之間交換數(shù)據(jù)時(shí) 這就很難保證當(dāng)CPU輸入時(shí) 外設(shè)已準(zhǔn)備好數(shù)據(jù) 輸出時(shí) 外設(shè)的數(shù)據(jù)鎖存器是空的 因此 在CPU傳送數(shù)據(jù)前 應(yīng)去查一下外設(shè)的狀態(tài) 若設(shè)備準(zhǔn)備好 就進(jìn)行數(shù)據(jù)傳送 否則 CPU就等待 查詢式輸入圖6 3所示為查詢式輸入的接口電路 該電路有兩個(gè)端口寄存器 即狀態(tài)口寄存器和數(shù)據(jù)口寄存器 當(dāng)輸入設(shè)備準(zhǔn)備好數(shù)據(jù)之后 發(fā)出選通信號(hào) 查詢式輸出查詢式輸出接口電路 它的狀態(tài)口和數(shù)據(jù)口合用一個(gè)地址 當(dāng)前輸出設(shè)備空閑時(shí) 狀態(tài)標(biāo)志觸發(fā)器清0 CPU在輸出數(shù)據(jù)之前 先讀取狀態(tài)信息 假設(shè)忙閑標(biāo)志接至數(shù)據(jù)線D0位 當(dāng)D0 0時(shí) 表示輸出設(shè)備空閑 CPU再對(duì)數(shù)據(jù)口執(zhí)行輸出指令 12 圖6一3查詢式輸入的接口電路 13 6 1 2中斷傳送方式 2 中斷傳送方式查詢方式中 CPU需要大量時(shí)間去執(zhí)行狀態(tài)查詢程序 使CPU的效率大大降低 另一個(gè)缺點(diǎn)是難于滿足實(shí)時(shí)控制的需要 因?yàn)樵诓樵兎绞较翪PU處于主動(dòng)地位 外設(shè)處于消極被查詢的被動(dòng)地位 而在實(shí)時(shí)系統(tǒng)中 外設(shè)要求CPU為它的服務(wù)是隨機(jī)的 這就要求外設(shè)有主動(dòng)申請(qǐng)CPU服務(wù)的權(quán)利 此時(shí) 可以采用中斷傳送方式 14 6 1 2中斷傳送方式 CPU啟動(dòng)外部設(shè)備后 繼續(xù)執(zhí)行主程序 當(dāng)外部設(shè)備準(zhǔn)備好傳送數(shù)據(jù)時(shí)向CPU發(fā)出中斷請(qǐng)求 CPU響應(yīng)這個(gè)請(qǐng)求后就轉(zhuǎn)向中斷服務(wù)程序去進(jìn)行相應(yīng)的輸入輸出操作 當(dāng)對(duì)外設(shè)的請(qǐng)求處理完畢后 再返回到被中斷的程序繼續(xù)執(zhí)行 采用這種中斷方式時(shí) CPU不再等待或查詢 而是由外部設(shè)備決定什么時(shí)候?yàn)樗?wù) 這種方法允許CPU與外設(shè) 甚至多個(gè)外設(shè) 同時(shí)工作 或者說(shuō)并行工作 提高了CPU效率 而且能在需要的時(shí)候隨時(shí)為外設(shè)服務(wù) 實(shí)時(shí)性好 一般CPU內(nèi)部均設(shè)有相應(yīng)的硬件線路使其能在執(zhí)行指令的同時(shí)監(jiān)測(cè)通過(guò)中斷引腳送入的中斷請(qǐng)求信號(hào)并響應(yīng)中斷請(qǐng)求 15 6 1 2中斷傳送方式 中斷方式優(yōu)點(diǎn) 可以較為實(shí)時(shí)地外部中斷源的請(qǐng)求 缺點(diǎn) 由于它需要額外開(kāi)銷(xiāo)時(shí)間 用于中斷響應(yīng) 斷點(diǎn)保護(hù)與恢復(fù)等 以及中斷處理的服務(wù)時(shí)間 使得中斷響應(yīng)頻率受到了限制 當(dāng)高速外設(shè)與計(jì)算機(jī)系統(tǒng)進(jìn)行信息交換時(shí) 若采用中斷方式 將會(huì)出現(xiàn)CPU頻繁響應(yīng)中斷而不能有效地完成主要工作或者根本來(lái)不及響應(yīng)中斷而造成數(shù)據(jù)丟失現(xiàn)象 16 6 1 2DMA傳送方式 3 DMA工作方式直接存儲(chǔ)器存取DMA DirectMemoryAccess 技術(shù)可確保外設(shè)與計(jì)算機(jī)系統(tǒng)進(jìn)行高速信息交換 即DMA方式 在DMA方式下 CPU不再直接參加外設(shè)與內(nèi)存間的數(shù)據(jù)傳輸 而是在系統(tǒng)需要進(jìn)行DMA傳輸時(shí) 將CPU對(duì)地址總線 數(shù)據(jù)總線 及控制總線的管理權(quán)交給DMA控制器進(jìn)行控制 當(dāng)完成一次DMA數(shù)據(jù)傳輸后 再將這個(gè)控制權(quán)還給CPU 以上工作要由DMA控制器 DMAC 用硬件完成對(duì)傳送過(guò)程的控制 即控制和修改內(nèi)存地址 控制DMA的開(kāi)始與結(jié)束等 因此 在DMA方式下 要由DMAC來(lái)控制地址總線 數(shù)據(jù)總線和相應(yīng)的控制信號(hào)線 而CPU必須讓出這些總線的控制權(quán) 在這種工作方式下 數(shù)據(jù)傳送速率可以達(dá)到很高 一般可在每秒0 5M字節(jié)以上 17 6 1 2I O處理方式 4 I O處理機(jī)方式雖然 DMA方式已能較好的實(shí)現(xiàn)高速度 大批量的數(shù)據(jù)傳送 但是 仍然需要CPU對(duì)DMAC進(jìn)行初始化 啟動(dòng)DMA操作 以及完成每次DMA操作之后檢查傳送的狀態(tài)等 對(duì)于I O數(shù)據(jù)的處理 如對(duì)數(shù)據(jù)的變換 拆 裝 檢查等 更是離不開(kāi)CPU的支持 為了能讓CPU進(jìn)一步擺脫I O數(shù)據(jù)傳送的負(fù)擔(dān) 提出了I O處理機(jī)方式 這種方式下 采用專門(mén)的I O協(xié)處理器 它不僅能控制數(shù)據(jù)的傳送 而且 還可以執(zhí)行算術(shù)邏輯運(yùn)算 轉(zhuǎn)移 搜索和轉(zhuǎn)換等 當(dāng)CPU需要進(jìn)行I O操作時(shí) 它只要在存儲(chǔ)器中建立一個(gè)信息塊 將所需要的操作和有關(guān)的參數(shù)按照規(guī)定列入 然后通知I O協(xié)處理器來(lái)讀取 I O協(xié)處理器讀得控制信息后 能自動(dòng)完成全部的I O操作 在這種系統(tǒng)中 所有的I O操作都是以塊為單位來(lái)進(jìn)行的 18 6 1 3I O端口的編址方式 I O端口 CPU和I O設(shè)備進(jìn)行數(shù)據(jù)傳送 在接口中就必須有一些寄存器或特定的硬件電路供CPU直接存取訪問(wèn) 稱之為I O端口 如圖6 5所示 I O端口的地址 為了區(qū)分不同的I O端口 也必須像存儲(chǔ)器一樣給它們編號(hào) 這就是I O端口的地址 給內(nèi)存和I O端口分別安排不同的地址 就可以區(qū)分開(kāi)數(shù)據(jù)傳送的對(duì)象是內(nèi)存還是外設(shè)端口 根據(jù)編排地址的方式不同分為 統(tǒng)一編址和獨(dú)立編址 CPU通過(guò)這些地址讀取狀態(tài)和傳送數(shù)據(jù) 即端口向接口電路中的寄存器發(fā)送命令 因此一個(gè)接口可以有多個(gè)端口 如命令端口 狀態(tài)端口和數(shù)據(jù)端口 分別對(duì)應(yīng)于控制寄存器 狀態(tài)寄存器和數(shù)據(jù)輸入緩沖器等 19 圖6一5外設(shè)通過(guò)接口與系統(tǒng)的連接 20 6 1 3I O端口的編址方式 1 統(tǒng)一編址方式將所有I O接口電路中的寄存器或三態(tài)緩沖器當(dāng)作存儲(chǔ)單元一樣對(duì)待 每一個(gè)接口寄存器都給予相應(yīng)的16位地址編碼 這樣 對(duì)外設(shè)進(jìn)行輸出輸入操作就如對(duì)某一存儲(chǔ)單元進(jìn)行讀 寫(xiě)操作一樣 只是各自具有不同的地址而已 優(yōu)點(diǎn) 不需要專門(mén)的I O指令 系統(tǒng)編程靈活 缺點(diǎn) I O端口占用了一部分內(nèi)存空間 使內(nèi)存空間減少 訪問(wèn)I O端口同訪問(wèn)內(nèi)存一樣 執(zhí)行時(shí)間增加 21 6 1 3I O端口的編址方式 2 獨(dú)立編址方式采用獨(dú)立編址方式的微型計(jì)算機(jī)系統(tǒng)中 CPU的指令系統(tǒng)包含有IN指令和OUT指令 在執(zhí)行這些指令時(shí) 控制器設(shè)有IO M控制信號(hào)分別控制訪問(wèn)內(nèi)存和訪問(wèn)外設(shè)操作 優(yōu)點(diǎn) I O端口的地址碼一般比同系統(tǒng)中存儲(chǔ)單元的地址碼短 譯碼電路較簡(jiǎn)單 存儲(chǔ)器同I O端口的操作指令不同 程序比較清晰 存儲(chǔ)器和I O端口的控制電路結(jié)構(gòu)相互獨(dú)立 可以分別設(shè)計(jì) 缺點(diǎn) 需要專門(mén)的I O指令 這些I O指令一般沒(méi)有存儲(chǔ)器訪問(wèn)指令豐富 所以程序設(shè)計(jì)的靈活性較差 22 6 2 1中斷系統(tǒng)基本概念 6 2 1中斷系統(tǒng)基本概念中斷是指CPU在正常執(zhí)行程序時(shí) 由于內(nèi)部或外部事件或程序的預(yù)先安排引起CPU暫時(shí)終止執(zhí)行現(xiàn)行程序 轉(zhuǎn)而去執(zhí)行請(qǐng)求CPU為其服務(wù)的服務(wù)程序 待該服務(wù)程序執(zhí)行完畢 又能自動(dòng)返回到被中斷的程序繼續(xù)執(zhí)行 這種中斷就是人們通常所說(shuō)的外部中斷 除了傳統(tǒng)的外圍部件引起的硬件中斷外 又出現(xiàn)了內(nèi)部的軟件中斷概念 外部中斷和內(nèi)部軟件中斷就構(gòu)成了一個(gè)完整的中斷系統(tǒng) 23 6 2 1中斷系統(tǒng)基本概念 1 中斷源微型計(jì)算機(jī)中能引起中斷的外部設(shè)備或內(nèi)部原因稱為中斷源 不同的計(jì)算機(jī)的設(shè)置有所不同 通常微機(jī)系統(tǒng)的中斷源一般有以下幾種 1 一般的輸入 輸出設(shè)備 如鍵盤(pán) 打印機(jī)等 2 實(shí)時(shí)時(shí)鐘 3 故障源 4 軟件中斷 24 6 2 1中斷系統(tǒng)基本概念 2 8086 8088的中斷類型8086 8088CPU有一個(gè)簡(jiǎn)單而靈活的中斷系統(tǒng) 采用矢量型的中斷結(jié)構(gòu) 共有256個(gè)中斷矢量號(hào) 又稱中斷類型號(hào) 中斷可以由外部設(shè)備啟動(dòng) 也可以由軟件中斷指令啟動(dòng) 在某些情況下 也可由CPU自身啟動(dòng) 8086CPU中斷分類如圖6 6所示 1 硬件中斷硬件中斷是由CPU的外部中斷請(qǐng)求信號(hào)觸發(fā)的一種中斷 分為不可屏蔽中斷NMI和可屏蔽中斷INTR 2 軟件中斷軟件中斷也稱內(nèi)部中斷 是由CPU檢測(cè)到異常情況或執(zhí)行軟件中斷指令所引起的一種中斷 通常有除法出錯(cuò)中斷 單步中斷 INTO溢出中斷 INTn中斷 斷點(diǎn)中斷等 25 6 2 1中斷系統(tǒng)基本概念 3 中斷優(yōu)先權(quán)實(shí)際的中斷系統(tǒng)常常有多個(gè)中斷源 而中斷申請(qǐng)引腳往往只有一條中斷請(qǐng)求線 于是在多個(gè)中斷源同時(shí)請(qǐng)求時(shí) CPU必須確定為哪一個(gè)中斷源服務(wù) 要能辨別優(yōu)先權(quán)最高的中斷源并響應(yīng)之 當(dāng)CPU在處理中斷時(shí) 也要能響應(yīng)更高級(jí)別的中斷申請(qǐng) 而屏蔽掉同級(jí)或較低級(jí)的中斷申請(qǐng) 通常有兩種方法解決中斷優(yōu)先權(quán)的識(shí)別問(wèn)題 1 用軟件查詢方法確定中斷優(yōu)先權(quán)采用軟件查詢中斷方式時(shí) 中斷優(yōu)先權(quán)由查詢順序決定 先查詢的中斷源具有最高的優(yōu)先權(quán) 軟件查詢方法的接口電路如圖6 7所示 26 圖6一7軟件查詢辦法的接口電路 27 6 2 1中斷系統(tǒng)基本概念 優(yōu)點(diǎn) 電路簡(jiǎn)單 軟件查詢的順序就是中斷優(yōu)先權(quán)的順序 不需要專門(mén)的優(yōu)先權(quán)排隊(duì)電路 可以直接修改軟件查詢順序來(lái)修改中斷優(yōu)先權(quán) 不必更改硬件 缺點(diǎn) 當(dāng)中斷源個(gè)數(shù)較多時(shí) 由逐位檢測(cè)查詢到轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序所耗費(fèi)的時(shí)間較長(zhǎng) 中斷響應(yīng)速度慢 服務(wù)效率低 2 硬件優(yōu)先權(quán)排隊(duì)電路又稱菊花環(huán)式優(yōu)先權(quán)排隊(duì)電路 它是利用外設(shè)連接在排隊(duì)電路的物理位置來(lái)決定其中斷優(yōu)先權(quán)的 排在最前面的優(yōu)先權(quán)最高 排在最后面的優(yōu)先權(quán)最低 電路如圖6 9所示 28 6 2 1中斷系統(tǒng)基本概念 4 中斷管理8086CPU可管理256種中斷 每種中斷都指定一個(gè)中斷矢量號(hào) 每一種中斷矢量號(hào)都與一個(gè)中斷服務(wù)程序相對(duì)應(yīng) 中斷服務(wù)程序的入口地址存放在內(nèi)存儲(chǔ)器的中斷矢量表內(nèi) 中斷矢量表是中斷矢量號(hào)與它相應(yīng)的中斷服務(wù)程序的轉(zhuǎn)換表 8086以中斷矢量為索引號(hào) 從中斷矢量表中取得中斷服務(wù)程序的入口地址 在8086 8088微機(jī)系統(tǒng)的內(nèi)存中 把0段的0000 03FFH區(qū)域設(shè)置為一個(gè)中斷向量表 每一個(gè)中斷向量占4個(gè)存儲(chǔ)單元 其中 前兩個(gè)單元存放中斷子程序入口地址的偏移量 IP 低位在前 高位在后 后兩個(gè)單元存放中斷子程序入口地址的段地址 CS 也是低位在前 高位在后 在中斷向量表中 這些中斷是按中斷類型的序號(hào) 從0單元開(kāi)始 順序排列 8086 8088的中斷向量表見(jiàn)圖6 10 中斷矢量表分為三部分 29 圖6一1080868088的中斷向量表 30 6 2 1中斷系統(tǒng)基本概念 1 專用中斷 類型0 類型4 共有5種類型 專用中斷的中斷服務(wù)程序的入口地址由系統(tǒng)負(fù)責(zé)裝入 用戶不能隨意修改 2 備用中斷 類型5 類型3FH 這是Intel公司為軟 硬件開(kāi)發(fā)保留的中斷類型 一般不允許用戶改作其他用途 3 用戶中斷 類型40H 類型FFH 為用戶可用中斷 其中斷服務(wù)程序的入口地址由用戶程序負(fù)責(zé)裝入 31 6 2 1中斷系統(tǒng)基本概念 5 中斷處理過(guò)程微機(jī)系統(tǒng)的中斷處理過(guò)程如圖6 11所示 大致可分為中斷請(qǐng)求 中斷響應(yīng) 中斷處理和中斷返回四個(gè)過(guò)程 這些步驟有的是通過(guò)硬件電路完成的 有的是由程序員編寫(xiě)程序來(lái)實(shí)現(xiàn)的 32 圖6一11中斷處理過(guò)程 33 6 2 1中斷系統(tǒng)基本概念 6 中斷處理子程序的結(jié)構(gòu)模式所有的中斷處理子程序都有如下的結(jié)構(gòu)模式 中斷處理子程序的開(kāi)始必須通過(guò)一系列推入堆棧指令來(lái)進(jìn)一步保護(hù)中斷時(shí)的現(xiàn)場(chǎng) 即保護(hù)CPU各寄存器的值 在一般情況下 應(yīng)該用指令設(shè)置中斷允許標(biāo)志IF來(lái)開(kāi)放中斷 以允許級(jí)別較高的中斷請(qǐng)求進(jìn)入 中斷處理的具體內(nèi)容是中斷處理子程序的主要部分 中斷處理子程序的尾部則是一系列彈出堆棧指令 使得各寄存器恢復(fù)進(jìn)入中斷處理時(shí)的值 最后是中斷返回指令 中斷返回指令的執(zhí)行會(huì)使堆棧中保存的斷點(diǎn)值和標(biāo)志值分別裝入IP CS和標(biāo)志寄存器 34 6 2 2可編程中斷控制芯片8259A 6 2 2可編程中斷控制芯片8259A1 8259A芯片內(nèi)部結(jié)構(gòu)8259A可編程中斷控制器28條引腳 雙列直插式封裝 各引腳的信號(hào)功能見(jiàn)圖6 12 8259A芯片內(nèi)部結(jié)構(gòu)見(jiàn)圖6 13 35 6 2 2可編程中斷控制芯片8259A 8259A的引腳1 D0 D7 雙向三態(tài)數(shù)據(jù)線 2 IR0 IR7 外部中斷請(qǐng)求輸入線 3 RD 和WR 讀寫(xiě)命令信號(hào)線 4 CS 片選信號(hào)5 A0 用以選擇8259A內(nèi)部的不同寄存器 通常直接連至地址總線的A0 6 CAS2 CAS0 級(jí)聯(lián)信號(hào)線 7 INT 與CPU的INTR引腳相連 用來(lái)向CPU發(fā)出中斷請(qǐng)求 8 INTA 它與CPU的INTA 引腳相連 用來(lái)接收來(lái)自CPU的中斷應(yīng)答信號(hào) 36 6 2 2可編程中斷控制芯片8259A 9 SP EN 雙功能引線 8259A工作在緩沖模式時(shí) 當(dāng)數(shù)據(jù)從CPU送往8259A時(shí) SP EN 1 當(dāng)數(shù)據(jù)從8259A送往CPU時(shí) SP EN 0 工作在非緩沖模式時(shí) 該信號(hào)與CAS2 CAS0配合使用 用于實(shí)現(xiàn)多片8259A的級(jí)聯(lián) 8259A為主片時(shí) SP EN接高電平 為從片時(shí) SP EN接地 GND 地VCC 電源 37 6 2 2可編程中斷控制芯片8259A 2 8259A的功能管理和控制80X86的外部中斷請(qǐng)求 實(shí)現(xiàn)中斷判優(yōu) 具有8級(jí)優(yōu)選權(quán)控制 通過(guò)級(jí)聯(lián)可擴(kuò)展至64級(jí)優(yōu)先權(quán)控制 提供中斷向量 屏蔽中斷輸入 38 6 2 2可編程中斷控制芯片8259A 3 8259A的內(nèi)部結(jié)構(gòu) 39 6 2 2可編程中斷控制芯片8259A 4 8259A的中斷響應(yīng)過(guò)程8259A應(yīng)用于8086CPU系統(tǒng)中 其中斷響應(yīng)過(guò)程如下 當(dāng)中斷請(qǐng)求線 IR0 IR7 上有1條或若干條為高電平時(shí) 則使中斷請(qǐng)求寄存器IRR的相應(yīng)位置位 當(dāng)IRR的某一位被置 1 就會(huì)與IMR中相應(yīng)的屏蔽位進(jìn)行比較 若該屏蔽位為1 則封鎖該中斷請(qǐng)求 若該屏蔽位為0 則中斷請(qǐng)求被發(fā)往優(yōu)先權(quán)電路 優(yōu)先權(quán)電路接收到中斷請(qǐng)求后 分析其優(yōu)先權(quán) 把當(dāng)前優(yōu)先權(quán)最高的中斷請(qǐng)求信號(hào)由INT引腳輸出 送到CPU的INTR端 40 6 2 2可編程中斷控制芯片8259A 若CPU處于開(kāi)中斷狀態(tài) 則在當(dāng)前指令執(zhí)行完后 發(fā)出INTA中斷相應(yīng)信號(hào) 8259A接收到第一個(gè)INTA信號(hào) 把允許中斷的最高優(yōu)先級(jí)請(qǐng)求位放入ISR 并清除IRR中相應(yīng)位 CPU發(fā)出第二個(gè)INTA 在該脈沖期間 8259A發(fā)出中斷類型號(hào) 若8259A處于自動(dòng)中斷結(jié)束方式 則第二個(gè)INTA結(jié)束時(shí) 相應(yīng)的ISR位被清 0 在其他方式中 ISR相應(yīng)位要由中斷服務(wù)結(jié)束時(shí)發(fā)出的EOI命令來(lái)復(fù)位 CPU收到中斷類型號(hào) 將它乘4得到中斷矢量表的地址然后轉(zhuǎn)至中斷服務(wù)程序 41 6 2 2可編程中斷控制芯片8259A 5 8259A的中斷管理方式8259A具有非常靈活的中斷管理方式 可滿足使用者的各種不同要求 而中斷優(yōu)先權(quán)是管理的核心問(wèn)題 8259A對(duì)中斷的管理可分為對(duì)優(yōu)先權(quán)的管理和對(duì)中斷結(jié)束的管理 1 中斷優(yōu)先權(quán)管理8259A對(duì)中斷優(yōu)先權(quán)的管理 可概括為完全嵌套方式 自動(dòng)循環(huán)方式和中斷屏蔽方式 1 完全嵌套方式8259A被初始化后自動(dòng)進(jìn)入基本工作方式 在此方式下 由各個(gè)IRi端引入的中斷請(qǐng)求具有固定的中斷級(jí)別 IR0具有最高優(yōu)先級(jí) IR7具有最低優(yōu)先級(jí) 其他級(jí)別以此類推 42 6 2 2可編程中斷控制芯片8259A 2 自動(dòng)循環(huán)方式基本思想 每當(dāng)任何一級(jí)中斷被處理完 它的優(yōu)先級(jí)別就被改變?yōu)樽畹图?jí) 而將最高級(jí)賦給原來(lái)比它低一級(jí)的中斷請(qǐng)求 3 中斷屏蔽方式普通屏蔽方式 將中斷屏蔽寄存器IMR中的某一位或某幾位置1 即可將相應(yīng)的中斷級(jí)的中斷請(qǐng)求屏蔽掉 特殊屏蔽方式 當(dāng)CPU正在處理某級(jí)中斷時(shí) 要求僅對(duì)本級(jí)中斷進(jìn)行屏蔽 而允許其他優(yōu)先級(jí)比它高或低的中斷進(jìn)入系統(tǒng) 43 6 2 2可編程中斷控制芯片8259A 2 中斷結(jié)束的管理當(dāng)8259A響應(yīng)某一級(jí)中斷而為其服務(wù)時(shí) 中斷服務(wù)寄存器ISR的相應(yīng)位置 1 當(dāng)有更高級(jí)的中斷請(qǐng)求進(jìn)入時(shí) ISR的相應(yīng)位又要置 1 因此 中斷服務(wù)寄存器ISR中可有多位同時(shí)置 1 在中斷服務(wù)結(jié)束時(shí) ISR的相應(yīng)位應(yīng)清 0 以便再次接收同級(jí)別的中斷 中斷結(jié)束的管理 就是用不同的方式使ISR的相應(yīng)位清 0 并確定隨后的優(yōu)先權(quán)排隊(duì)順序 44 6 2 2可編程中斷控制芯片8259A 8259A中斷結(jié)束的管理可分為以下2種情況 1完全嵌套方式 普通EOI方式 當(dāng)任何一級(jí)中斷服務(wù)程序結(jié)束時(shí) 只給8259A送一個(gè)EOI結(jié)束指令 8259A收到這個(gè)EOI命令后 自動(dòng)將ISR寄存器中級(jí)別最高的置1清0 缺點(diǎn) 僅用于當(dāng)前結(jié)束的中斷級(jí)別高于其他未處理完的中斷時(shí)才可用 否則會(huì)造成嚴(yán)重后果 特殊EOI方式 不僅中斷程序結(jié)束時(shí)給8259A發(fā)出EOI命令 還將當(dāng)前結(jié)束的中斷級(jí)別也傳送給8259A 在此情況下 8259A將ISR寄存器中指定級(jí)別的相應(yīng)位清0 此方式適應(yīng)于任何情況下 45 6 2 2可編程中斷控制芯片8259A 自動(dòng)EOI方式 CPU在發(fā)出第二個(gè)INTA 結(jié)束響應(yīng)后 自動(dòng)將ISR寄存器中相應(yīng)位清0 被稱作自動(dòng)EOI方式 2 自動(dòng)循環(huán)方式 普通EOI循環(huán)方式 當(dāng)一級(jí)中斷處理完后 CPU給8259A回送普通結(jié)束命令 8259A接收到此命令后將ISR中優(yōu)先級(jí)最高的置1位清0 并賦給它最低優(yōu)先級(jí) 后續(xù)以此類推 自動(dòng)EOI循環(huán)方式由第二個(gè)中斷響應(yīng)信號(hào)INTA 的后沿自動(dòng)將ISR寄存器中相應(yīng)位清0 并立即改變各級(jí)中斷的優(yōu)先級(jí)別 改變方法與普通EOI循環(huán)方式相同 特殊EOI循環(huán)方式此方式具有更大的靈活性 它可根據(jù)用戶的要求將最低優(yōu)先級(jí)賦給指定的中斷源 46 6 2 2可編程中斷控制芯片8259A 6 8259A的編程8259A編程時(shí)通過(guò)設(shè)計(jì)程序?qū)λ拿顮顟B(tài)字進(jìn)行設(shè)置來(lái)實(shí)現(xiàn)的 可分為初始化編程和工作方式編程 初始化編程 要通過(guò)預(yù)置命令字 ICWi 對(duì)8259A進(jìn)行初始化 工作方式編程操 可在8259A工作過(guò)程中通過(guò)操作命令字 OCWi 來(lái)定義8259A的工作方式 而且在8259A的操作過(guò)程中允許重置操作命令字 以動(dòng)態(tài)地改變8259A的操作與控制方式 每片8259A包含兩個(gè)內(nèi)部端口地址 一個(gè)偶地址端口 A0 0 一個(gè)奇地址端口 A0 1 其他高位地址碼由用戶定義 用來(lái)作為8259A的片選信號(hào) CS 47 6 2 2可編程中斷控制芯片8259A 1 預(yù)置命令字8259A的預(yù)置命令字共四個(gè) ICW1 ICW4 不是任何情況下都需要設(shè)置四個(gè)預(yù)置命令字 可根據(jù)8259A的使用情況來(lái)選取 ICW1和ICW2是必須的 ICW3是級(jí)聯(lián)使用時(shí)才需要設(shè)置 ICW4是只在8086 8088 8259A配置系統(tǒng)中需要設(shè)置 1 芯片控制初始化命令字ICW1 其格式如下 48 6 2 2可編程中斷控制芯片8259A D7 D5 在8086 8088中未定義 可以為1 也可為0D4 必須為1 用于指出這是初始化命令字ICW1D3 LTIM位 規(guī)定CALL地址的間隔 D2 1 則間隔為4 這適用于建立一個(gè)轉(zhuǎn)移指令表 D2 0 則間隔為8 D1 SNGL位 規(guī)定系統(tǒng)中8259A是單片還是級(jí)聯(lián) 為1時(shí)單獨(dú) 為0時(shí)級(jí)聯(lián) D0 確定是否設(shè)置ICW4 該位為0時(shí)不設(shè)置ICW4 6 2 2可編程中斷控制芯片8259A 2 中斷類型號(hào)初始化命令字ICW2 其格式如下 ICW2的高五位即為中斷號(hào)的高五位 低3位的值取決于中斷輸入引腳的序號(hào) 即IR0 IR7的序號(hào) 上一頁(yè) 返回 下一頁(yè) 3 主 從片初始化命令字ICW3當(dāng)ICW1中的SNGL位為0時(shí)工作與級(jí)聯(lián)方式 才需要寫(xiě)ICW3設(shè)置8259A的狀態(tài) 只在多片級(jí)聯(lián)時(shí)才使用它 對(duì)于主片 ICW3格式為 如果本片是主片 則D7 D0對(duì)應(yīng)于IR7 IR0 主片連到哪個(gè)從片上 哪位置1 6 2 2可編程中斷控制芯片8259A 6 2 2可編程中斷控制芯片8259A 從片時(shí) D7 D0對(duì)應(yīng)于IR7 IR0引腳上的連接情況 當(dāng)某一引腳上接有從片 則對(duì)應(yīng)位為1 否則為0 對(duì)于從片 ICW3格式為 上一頁(yè) 返回 下一頁(yè) 6 2 2可編程中斷控制芯片8259A 2 操作命令字的編程8259A經(jīng)預(yù)置完命令字后已進(jìn)入工作狀態(tài) 可接收來(lái)自IRi端的中斷請(qǐng)求 在8259A工作期間 可通過(guò)操作控制字OCW來(lái)使它按不同的方式操作 操作控制字共有3個(gè)OCW1 OCW3 可獨(dú)立使用 1 中斷屏蔽操作命令字OCW1 2 控制中斷結(jié)束和優(yōu)先權(quán)循環(huán)的操作命令字OCW2 上一頁(yè) 返回 3 8259A的應(yīng)用實(shí)例 54 6 3 1并行通信與并行接口 6 3 1并行通信與并行接口并行通信是把一個(gè)字符的各數(shù)位用幾條線同時(shí)進(jìn)行傳輸 傳輸速度快 信息率高 但它比串行通信所用的電纜多 因此 并行通信常用在傳輸距離較短 幾米至幾十米 數(shù)據(jù)傳輸率較高的場(chǎng)合 實(shí)現(xiàn)并行通信的接口就是并行接口 可設(shè)計(jì)為只作為輸出接口 如一個(gè)并行接口連接一臺(tái)打印機(jī) 還可設(shè)計(jì)為只作為輸入接口 如一個(gè)并行接口連接卡片讀入機(jī) 可以設(shè)計(jì)成既作為輸入又作為輸出的接口 它可以用兩種方法實(shí)現(xiàn) 一種是利用同一個(gè)接口中的兩個(gè)通路 一個(gè)作輸入通路 一個(gè)作輸出通路 另一種是用一個(gè)雙向通路 既作為輸入又作為輸出 前一種方法是用在主機(jī)需要同時(shí)輸入和輸出的情況 如此接口既接紙帶讀入機(jī) 又接紙帶穿孔機(jī) 后一種方法是用在輸入 輸出動(dòng)作并不同時(shí)進(jìn)行的主機(jī)與外設(shè)之間 如連接兩臺(tái)磁盤(pán)驅(qū)動(dòng)器 55 6 3 1并行通信與并行接口 典型的并行接口和外設(shè)連接如圖6 16所示 圖中的并行接口用一個(gè)通道和輸入設(shè)備相連 用另一個(gè)通道和輸出設(shè)備相連 每個(gè)通道中除數(shù)據(jù)線外均配有一定的控制線和狀態(tài)線 從圖6 16中看到 并行接口中應(yīng)該有一個(gè)控制寄存器用來(lái)接收CPU對(duì)它的控制命令 有一個(gè)狀態(tài)寄存器提供各種狀態(tài)位供CPU查詢 為了實(shí)現(xiàn)輸入和輸出 并行接口中還必定有相應(yīng)的輸入緩沖寄存器和輸出緩沖寄存器 56 6 3 1并行通信與并行接口 1 并行接口的輸入過(guò)程外設(shè)首先將數(shù)據(jù)送給接口 并使?fàn)顟B(tài)線 數(shù)據(jù)輸入準(zhǔn)備好 成為高電平 接口把數(shù)據(jù)接收到數(shù)據(jù)輸入緩沖寄存器的同時(shí) 使 數(shù)據(jù)輸入回答 線變?yōu)楦唠娖?作為對(duì)外設(shè)的響應(yīng) 外設(shè)接到此信號(hào) 便撤除數(shù)據(jù)和 數(shù)據(jù)輸入準(zhǔn)備好 信號(hào) 數(shù)據(jù)到達(dá)接口中后 接口會(huì)在狀態(tài)寄存器中設(shè)置 輸入準(zhǔn)備好 狀態(tài)位 以便CPU對(duì)其進(jìn)行查詢 接口也可以在此時(shí)向CPU發(fā)一個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 咨詢居間協(xié)議書(shū)范本
- 品牌授權(quán)場(chǎng)景詳盡主播代言合作協(xié)議
- 戰(zhàn)略合作協(xié)議書(shū)糧油范本
- 高端酒店廚師團(tuán)隊(duì)聘用與職業(yè)培訓(xùn)協(xié)議
- 夜間出租車(chē)營(yíng)運(yùn)承包合作協(xié)議
- 常州二手房租賃合同書(shū)(含交易稅費(fèi))
- 項(xiàng)目收回協(xié)議書(shū)范本
- 住宅小區(qū)配套教育設(shè)施拆遷協(xié)議書(shū)
- 防水材料員專項(xiàng)聘用合同
- 防災(zāi)設(shè)備采購(gòu)委托代理服務(wù)合同模板
- 2024年 黃岡市法院系統(tǒng)招聘審判輔助人員考試真題試題含答案
- 荊州中學(xué)2024-2025學(xué)年高二下學(xué)期6月月考?xì)v史試題答案
- 公司消防網(wǎng)格化管理制度
- 外科換藥拆線技術(shù)規(guī)范
- 2025至2030中國(guó)氧化鋁纖維行業(yè)供需趨勢(shì)及投資風(fēng)險(xiǎn)報(bào)告
- 2025年中考考前最后一卷化學(xué)(武漢卷)(全解全析)
- 2026屆高考語(yǔ)文復(fù)習(xí):直擊2025年語(yǔ)文高考閱讀客觀題關(guān)鍵詞比對(duì)
- 健康教育大講堂:跌倒
- 江西中考語(yǔ)文試題及答案
- 電子政務(wù)概論-形考任務(wù)5(在線測(cè)試權(quán)重20%)-國(guó)開(kāi)-參考資料
評(píng)論
0/150
提交評(píng)論