北航微機原理課件第十四講_第1頁
北航微機原理課件第十四講_第2頁
北航微機原理課件第十四講_第3頁
北航微機原理課件第十四講_第4頁
北航微機原理課件第十四講_第5頁
已閱讀5頁,還剩30頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章輸入輸出與中斷第十四講輸入輸出接口電路2009.5.19(星期二)

6.2CPU與外設數據傳送的方式 6.3中斷技術 6.48086/8088的中斷系統和中斷處理

1一、程序傳送

二、中斷傳送

為了提高CPU執行有效程序的工作效率和提高系統中多臺外設的工作效率,可以讓外設處于能主動申請中斷的工作方式,這在有多個外設及速度不匹配時,尤為重要。

2三、直接存儲器存?。ǎ模停粒﹤魉?/p>

DMA(DirectMemoryAccess)方式 利用程序中斷傳送方式,雖然可以提高CPU的工作率,但它仍需由CPU通過程序來傳送數據,還要“保護現場”和“恢復現場”,要占用一定時間,就顯得太慢了。DMA方式是一種由專門的硬件電路執行I/O交換的傳送方式,它讓外設接口可直接與內存進行高速的數據傳送,而 不必經過CPU,這樣就不必進行保護現場之類的額外操作,可實現對存儲器的直接存取。這種專門的硬件電路就是DMA控制器,簡稱為DMAC。該集成電路產品有Zilog公司的Z80-DMA,Intel公司的8257,8237A 和Motorola的MC6844等。圖6.12給出了8086用DMA

方式傳送單個數據(輸出數據)的示意圖。3

如圖所示,當接口準備就緒,便向DMA控制器發DMA請求①;接著,CPU通過HOLD引腳接收DMA控制器發出的總線請求②。通常,CPU在完成當前總線操作以后,就會在HLDA引腳上向DMA控制器發出允許信號③而響應總線請求,DMA控制器接收到此信號就接管了對總線的控制權。46.3中斷技術

中斷是一種十分重要而復雜的軟硬件相結合的技術,它的出現給計算機結構與應用帶來了新的突破。本節將介紹中斷的基本概念、中斷的響應與處理過程、優先權的安排等有關問題。一、中斷概述(一)中斷與中斷源 使CPU暫停運行原來的程序而應更為急迫事件的需要轉向去執行為中斷源服務的程序(稱為中斷服務程序),即發出中斷申請的來源。通常中斷源有以下幾種:(1)外部設備:一般中、慢速外設如鍵盤、行式打印機、A/D轉換器等,在完成自身的操作后,向CPU發出中斷請求,要求CPU為它服務。對于高速的外設如磁盤或磁帶,它可以向CPU提出總線請求,進行DMA傳送。5

(2)實時時鐘:(3)故障源:計算機內設有故障自動檢測裝置,如發生運算出錯(溢出)、存儲器讀出出錯、外部設備故障、電源掉電以及越限報警等意外事件時,這些裝置都能使CPU中斷,進行相應的中斷處理。

以上3種屬于隨機中斷源。由隨機引起的中斷,稱為強迫中斷。(4)為調試程序設置的中斷源:6(二)中斷系統及其功能

中斷系統是指為實現中斷而設置的各種硬件與軟件,包括中斷控制邏輯及相應管理中斷的指令。中斷系統應具有下列功能:1.能響應中斷、處理中斷與返回

7

2.能實現優先權排隊通常,在系統中有多個中斷源時,有可能出現兩個或兩個以上中斷源同時提出中斷請求的情況。這時,要求CPU能根據中斷源被事先確定的優先權由高到低依次處理。3.高級中斷源能中斷低級的中斷

處理中斷嵌套示意圖如圖6.14所示。

8二、單個中斷源的中斷

先研究只有一個中斷源的簡單中斷情況。簡單的中斷過程應包括:中斷請求、中斷響應、中斷處理和中斷返回等環節。

(一)中斷源向CPU發中斷請求信號的條件中斷源是通過其接口電路向CPU發中斷請求信號的,該信號能否發給CPU,應滿足下列兩個條件:1.設置中斷請求觸發器每一個中斷源,要能向CPU發中斷請求信號,首先應能由它的接口電路提出中斷請求,且該請求能保持著,直至CPU接受并響應該中斷請求后,才能清除它。為此,要求在每個中斷源的接口電路中設置一個中斷請求觸發器A,由它產生中斷請求,即QA=1。如圖6.15所示。

910

2.設置中斷屏蔽觸發器

中斷源的中斷請求能否允許以中斷請求信號(如INTR)發向CPU,應能受CPU的控制,以增加處理中斷的靈活性,為此,在接口電路中,還要增設一個中斷屏蔽觸發器B。當允許中斷時,由CPU控制使其QB端為0(不屏蔽),QB端為1,于是,與門開啟,中斷請求(QA)被允許并經過與門以中斷請求信號INTR發向CPU;反之,當禁止中斷時,由CPU控制其QB端置1(屏蔽),QB端為0,與門關閉,即使有中斷請求產生,但并不能以INTR發向CPU。

若有多個中斷源,例如8個外設,則可將8個外設的中斷屏蔽觸發器組成一個端口,用輸出指令(即利用WR有效信號)來控制它們的狀態。11(二)CPU響應中斷的條件CPU開放中斷

足夠長開中斷執行完當前指令122.CPU在現行指令結束后響應中斷

在CPU開中時,若有中斷 請求信號發至CPU,它也并不 立即響應。而只有當現行指令運行 到最后一個機器周期的最后 一個T狀態時,CPU才采樣

INTR信號;若有此信號,則 把與門1的允許中斷輸出端 置1,于是,CPU進入中斷響 應周期。13(三)CPU響應中斷及處理過程

當滿足上述條件后,CPU就響應中斷,轉入中斷周期,完成下列幾步操作:1.關中斷

CPU響應中斷后,在發出中斷響應信號(在8086/8088中為INTA)

的同時,內部自動地(由硬件)實現關中斷,以免在響應中斷后處理 當前中斷時又被新的中斷源中斷,以至破壞當前中斷服務的現場. 2.保留斷點

CPU響應中斷后,立即封鎖PC+1(此即斷點地址),且把此PC值 壓棧保護,以備中斷處理完畢后,CPU能返回斷點處繼續運行主 程序。

14 3.保護現場 在CPU處理中斷服務程序時,有可能用到各寄存器,從 而改變它們原在運主程序時所暫存的中間結果,這就破壞 了原主程序中的現場信息。為使中斷服務程序不影響主程 序的正常運行,故要把主程序運行到斷點處時的有關寄存 器的內容和標志位的狀態壓棧保護起來。 4.給出中斷入口(地址),轉入相應的中斷服務程序 8086/8088是由中斷源提供中斷類型號,并根據中斷類 型號在中斷向量表中取得中斷服務程序的起始地址。15

在中斷服務程序完成后,還要執行下述的5、6兩步操作。 5.恢復現場 把被保留在堆棧中的各有關寄 存器的內容和標志位的狀態從堆棧 中彈出,送回CPU中它們原來的位置 這個操作是在中斷服務程序中 用POP指令來完成的。

6.開中斷與返回在中斷服務程序的最后,要開中 斷(以便CPU能響應新的中斷請求)

和安排一條返回指令,將堆棧內保 存的斷點PC值彈出,送回至PC,CPU

就恢復到斷點處繼續運行。

上述過程如圖6.18所示16

三、向量中斷

所謂向量中斷(VectoredInterrupt),是指通過中斷向量 來找中斷入口地址進而轉向中斷服務程序的一種方法;而中斷 向量則是用來提供中斷入口地址的一個地址指針。

例如8086/8088CPU的中斷系統就是采用這種向量中斷。其 詳細過程,將在以后討論,17四、中斷優先權以上討論了只有一個中斷源的最簡單的情況。實際的 系統中,具有多個中斷源,而CPU的可屏蔽中斷請求線往往 只有一條。如何解決多個中斷源同時請求中斷而只有一根 中斷請求線的矛盾呢?這就要求CPU按多個中斷源的優先權 由高至低依次來響應中斷申請。同時,當CPU正在處理中斷 時,還要能響應更高級的中斷申請,而屏蔽掉同級或低級 的中斷申請。CPU可以通過軟件查詢技術或硬件排隊電路 兩種方法來實現按中斷優先權對多個中斷源的管理,也有 專門用于協助CPU按中斷優先權處理多個中斷源的中斷控 制芯片,如后面第7章中將要介紹的8259A芯片。186.48086/8088的中斷系統和中斷處理

本節將主要闡述8086/8088的中斷系統及其中斷處理的全過程。一、8086/8088的中斷系統8086/8088有一個簡要、靈活而多用的中斷系統,它采 用中斷向量結構,使每個不同的中斷都可以通過給定一個 特定的中斷類型號(或中斷類型碼)供CPU識別,來處理多達 256種類型的中斷。這些中斷可以來自外部,即由硬件產 生,也可以來自內部,即由軟件(中斷指令)產生,或者 滿足某些特定條件(陷阱)后引發CPU中斷。19 8086/8088的中斷系統結構如圖所 示,圖中給出了各主要的中斷源20

微機與外設交換信息,都必須通過接口電路來實現。隨著大規模集成電路技術的發展,現已生產了各種各樣通用的可編程接口芯片,不同系列的微處理器都有其標準化、系列化的接口芯片可供選用。因此,學會典型通用接口芯片的工作原理和使用方法,是掌握微機接口技術的重要基礎。

本章主要介紹Intel系列的8255A、8251、8253-5、8259A等幾種典型通用的接口芯片第7章可編程接口芯片及應用217.1

接口的分類及功能7.2

可編程計數器/定時器8253-57.3

可編程中斷控制器8259A7.4

可編程并行通信接口芯片8255A7.5

可編程串行異步通信接口芯片82517.6

新型通用I/O接口標準22內部外部接口電路基本概念23CPU外部設備接口電路1.什么是接口?242.什么是并行接口?CPU外部設備接口電路特點:快速,價高25什么是串行接口?CPU外部設備接口電路0101110000111010特點:慢速,價廉263.什么是輸入接口?CPU輸入設備輸入接口27什么是輸出接口?CPU輸出設備輸出接口28什么是雙向接口?CPU外部設備雙向接口方向控制294.什么是可編程接口?不需要改動硬件連線,僅通過軟件編程就可以改變接口的功能和設置參數,給用戶提供了極大的方便性和靈活性30可編程雙向接口的實現CPU外部設備31并行接口的功能接口的分類

按接口的功能可分為通用接口和專用接口兩類。通用接口適用于大部分外設,如行式打印機、電傳打字機和鍵盤等都可經通用接口與CPU相連。通用接口又可分為并行接口和串行接口。并行接口是按字節傳送的。32二、接口的功能

接口的功能很豐富,視具體的接口芯片而定,其主要的功能有:

(一)緩沖鎖存數據

通常CPU與外設工作速度不可能完全匹配,在數據傳送過程中難免有等待的時候。為此,需要把傳輸數據暫存在接口的緩沖寄存器或鎖存器中,以便緩沖或等待;而且,要為CPU提供有關外設的狀態信息,如外設“準備好”、“忙”,或緩沖器“滿”、“空”等。(二)地址譯碼

在微機系統中,每個外設都被賦予一個相應的地址編碼,外設接口電路能進行地址譯碼,以選擇設備。33(三)傳送命令

外設與CPU之間有一些聯絡信號,如外設的中斷請求,CPU的響應回答等信號都需要接口來傳送。(四)碼制轉換

在一些通信設備中,其信號是以串行方式傳輸的,而計算機的代碼是以并行方式輸入輸出的,這就需要進行并行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論