計算機組成原理第八章課件(白中英版)_第1頁
計算機組成原理第八章課件(白中英版)_第2頁
計算機組成原理第八章課件(白中英版)_第3頁
計算機組成原理第八章課件(白中英版)_第4頁
計算機組成原理第八章課件(白中英版)_第5頁
已閱讀5頁,還剩82頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理任課教師:石磊鄭州大學信息工程學院計算機系Email: Tel:一章第一章 計算機系統概論計算機系統概論第二章第二章 運算方法和運算器運算方法和運算器第三章第三章 存儲系統存儲系統第四章第四章 指令系統指令系統 第五章第五章 中央處理器中央處理器 第六章第六章 總線系統總線系統 第七章第七章 外圍設備外圍設備 第八章第八章 輸入輸出系統輸入輸出系統第九章第九章 并行組織并行組織目錄n教材n白中英,計算機組成原理白中英,計算機組成原理網絡版,科學出版網絡版,科學出版社,社,20022002n參考書n石磊,計算機組成原理石磊,計算機組成原理第第2 2版版,

2、, 清華大學出版清華大學出版社,社,20062006n錢曉捷,微型計算機原理及應用錢曉捷,微型計算機原理及應用, , 清華大學出清華大學出版社,版社,20062006n王愛英王愛英, ,計算機組成與結構計算機組成與結構第第3 3版版, , 清華大學清華大學出版社,出版社,20012001n白中英白中英 鄺堅,計算機組織與結構鄺堅,計算機組織與結構網絡版,科網絡版,科學出版社,學出版社,20032003nI/OI/O接口概述接口概述n8.1 CPU8.1 CPU對外圍設備的管理方式對外圍設備的管理方式n程序查詢方式程序查詢方式n8.2 8.2 程序中斷方式程序中斷方式n8.3 DMA8.3 DM

3、A方式方式n8.4 8.4 通道方式通道方式第8章 輸入輸出系統I/O系統包括系統包括I/O接口接口硬件硬件電路電路和和I/O管理軟件管理軟件計算機組成原理計算機組成原理I/O接口(電路)6.2.2l計算機的外圍計算機的外圍( (外部外部) )設備設備多種多樣多種多樣l工作原理、驅動方式、信息格式、以及工作速工作原理、驅動方式、信息格式、以及工作速度方面彼此差別很大度方面彼此差別很大l外設不能與外設不能與CPUCPU直接相連,必須經過中間電路直接相連,必須經過中間電路(I/OI/O接口電路)再與系統相連接口電路)再與系統相連lI/O接口電路是位于系統與外設間、用來協助接口電路是位于系統與外設間

4、、用來協助完成數據傳送和控制任務的邏輯電路完成數據傳送和控制任務的邏輯電路多種多樣的外設n工作原理不同工作原理不同機械、電子、機電、電磁機械、電子、機電、電磁n傳送信息類型多樣傳送信息類型多樣數字量、模擬量、開關量數字量、模擬量、開關量n傳送速度差別極大傳送速度差別極大n傳送方式不盡相同傳送方式不盡相同串行、并行串行、并行n編碼方式不同編碼方式不同二進制、二進制、BCD碼、碼、ASCII碼碼返回計算機組成原理計算機組成原理I/O接口的典型結構l內部結構內部結構 數據寄存器數據寄存器:保存微處理器與外設之間交換的數:保存微處理器與外設之間交換的數據據狀態寄存器狀態寄存器:保存外設當前的工作狀態信

5、息:保存外設當前的工作狀態信息控制寄存器控制寄存器:保存微處理器控制接口電路和外設:保存微處理器控制接口電路和外設操作的有關信息操作的有關信息l外部特性外部特性面向微處理器一側的信號:與微處理器總線類似面向微處理器一側的信號:與微處理器總線類似面向外設一側的信號:與外設有關面向外設一側的信號:與外設有關計算機組成原理計算機組成原理I/O接口的軟件編程l接口電路具有可編程性(接口電路具有可編程性(ProgrammableProgrammable)根據具體要求,通過編程選定根據具體要求,通過編程選定I/OI/O接口電路的多種接口電路的多種功能或工作方式之一功能或工作方式之一l初始化程序初始化程序選

6、擇選擇I/OI/O接口工作方式、設置原始工作狀態等接口工作方式、設置原始工作狀態等l驅動程序驅動程序操縱操縱I/OI/O接口完成具體工作接口完成具體工作計算機組成原理計算機組成原理I/O端口的編址lI/OI/O端口(端口(PortPort)泛指)泛指I/OI/O地址,對應地址,對應I/OI/O接口寄存器接口寄存器l一個接口電路可以具有多個一個接口電路可以具有多個I/OI/O端口,每個端口用來端口,每個端口用來保存和交換不同的信息保存和交換不同的信息l數據寄存器、狀態寄存器和控制寄存器占有的數據寄存器、狀態寄存器和控制寄存器占有的I/OI/O地地址常依次被稱為數據端口、狀態端口和控制端口,用址常

7、依次被稱為數據端口、狀態端口和控制端口,用于保存數據、狀態和控制信息于保存數據、狀態和控制信息l輸入、輸出端口可以是同一個輸入、輸出端口可以是同一個I/OI/O地址地址l接口電路占用的接口電路占用的I/OI/O端口有兩類編排形式端口有兩類編排形式I/OI/O端口單獨編址端口單獨編址I/OI/O端口與存儲器統一編址端口與存儲器統一編址計算機組成原理計算機組成原理I/O端口與存儲器獨立編址l將將I/OI/O端口單獨編排地址,獨立于存儲器地址端口單獨編排地址,獨立于存儲器地址l優點:優點:I/OI/O端口的地址空間獨立端口的地址空間獨立控制和地址譯碼電路相對簡單控制和地址譯碼電路相對簡單專門的專門的

8、I/OI/O指令使程序清晰易讀指令使程序清晰易讀l缺點:缺點:I/OI/O指令沒有存儲器指令豐富指令沒有存儲器指令豐富主存主存空間空間I/O空間空間FFFFF0FFFF80 x86采用采用I/O端口獨立編址端口獨立編址計算機組成原理計算機組成原理I/O端口與存儲器統一編址l將將I/OI/O端口與存儲器地址統一編排,共享一個端口與存儲器地址統一編排,共享一個地址空間地址空間l優點:優點:不需要專門的不需要專門的I/O指令指令I/O數據存取靈活數據存取靈活l缺點:缺點:占去部分存儲器空間占去部分存儲器空間程序不易閱讀(在匯編語言級程序不易閱讀(在匯編語言級不容易區別訪問存儲器和訪問外設)不容易區別

9、訪問存儲器和訪問外設)主存主存部分部分I/O部分部分存儲器空間存儲器空間00000FFFFF計算機組成原理計算機組成原理8.1 CPU對外圍設備的管理方式I/O控制方式控制方式主要由程序實現主要由程序實現主要由附加硬件實現主要由附加硬件實現計算機組成原理計算機組成原理CPU和外設之間信息交換的方式l程序控制下的數據傳送程序控制下的數據傳送通過通過CPU執行程序中的執行程序中的I/O指令來完成傳送指令來完成傳送程序查詢方式程序查詢方式程序中斷方式程序中斷方式l直接存儲器存取直接存儲器存取DMA方式方式外設外設經經DMA控制器向控制器向CPU申請總線,申請總線,由由DMA控制控制器利用系統總線完成

10、外設和存儲器間的數據傳送器利用系統總線完成外設和存儲器間的數據傳送l通道方式通道方式通道通道(I/O處理處理器器)管理外設,完成傳送和數據處理管理外設,完成傳送和數據處理l外圍外圍處理機處理機方式方式通道方式的進一步發展,基本獨立于主機工作通道方式的進一步發展,基本獨立于主機工作計算機組成原理計算機組成原理程序查詢方式lCPU需要先了解(需要先了解(查詢查詢)外設的工作狀態,然)外設的工作狀態,然后在外設可以交換信息的情況下(后在外設可以交換信息的情況下(就緒就緒)實現)實現數據輸入或輸出數據輸入或輸出l對多個外設的情況,對多個外設的情況,按順序依次查詢(輪詢)按順序依次查詢(輪詢)l有有查詢

11、查詢和和傳送傳送兩個環節兩個環節l實際中常引入超時判斷實際中常引入超時判斷l查詢需大量時間,效率較低查詢需大量時間,效率較低計算機組成原理計算機組成原理查詢輸入接口l讀取狀態端口查詢外設狀態,若已就緒,讀取讀取狀態端口查詢外設狀態,若已就緒,讀取數據端口得到外設提供的數據數據端口得到外設提供的數據計算機組成原理計算機組成原理查詢輸出接口l讀取狀態端口查詢外設狀態,若已就緒,將數讀取狀態端口查詢外設狀態,若已就緒,將數據寫入數據端口輸出給外設據寫入數據端口輸出給外設計算機組成原理計算機組成原理8.2 程序中斷方式l處理器在執行程序過程中,被內部或外部的事件所打處理器在執行程序過程中,被內部或外部

12、的事件所打斷,轉去執行一段預先安排好的中斷服務程序;服務斷,轉去執行一段預先安排好的中斷服務程序;服務結束后,又返回原來的斷點,繼續執行原來的程序結束后,又返回原來的斷點,繼續執行原來的程序l中斷源:中斷源:引起中斷的事件或原因引起中斷的事件或原因l例如:例如:外設的數據傳送請求外設的數據傳送請求系統定時請求系統定時請求電源掉電等故障電源掉電等故障運算出錯等錯誤運算出錯等錯誤程序異常或調試請求程序異常或調試請求計算機組成原理計算機組成原理中斷的基本概念 (1/3)1 1、概念:當計算機執行正常程序時,系統中出、概念:當計算機執行正常程序時,系統中出現某些異常情況或特殊請求,這些情況和請求現某些

13、異常情況或特殊請求,這些情況和請求可能來自計算機內部,也可能來自計算機外部;可能來自計算機內部,也可能來自計算機外部;一旦有上述事件發生,計算機執行正常程序的一旦有上述事件發生,計算機執行正常程序的狀態被中斷,就是說,狀態被中斷,就是說,CPUCPU要暫停它正在執行要暫停它正在執行的程序,而轉去處理所發生的事件(通常就是的程序,而轉去處理所發生的事件(通常就是執行一段特殊程序,被稱為中斷服務程序);執行一段特殊程序,被稱為中斷服務程序);CPUCPU處理完畢后,自動返回到原來被中斷了的處理完畢后,自動返回到原來被中斷了的程序繼續運行。程序繼續運行。計算機組成原理計算機組成原理中斷的基本概念 (

14、2/3)2 2、與子程序調用的比較、與子程序調用的比較 (1 1)相同點:正常程序:主程序)相同點:正常程序:主程序 中斷服務程序:子程序中斷服務程序:子程序 (2 2)區別:)區別: (A A)子程序的執行是程序員事先安排好的;子程序的執行是程序員事先安排好的; 中斷服務程序的執行則是由隨機的中斷事件引起的,比如電中斷服務程序的執行則是由隨機的中斷事件引起的,比如電源掉電、請求源掉電、請求I/OI/O數據傳送、現場報警等。數據傳送、現場報警等。 (B B)子程序的執行往往與主程序有關;子程序的執行往往與主程序有關; 中斷服務程序可能與被中斷的程序毫無關系。中斷服務程序可能與被中斷的程序毫無關

15、系。 (C C)有可能出現多個中斷事件同時請求的情況,此時,有可能出現多個中斷事件同時請求的情況,此時,主機就需要進行判優,進而決定為哪一個請求服務。主機就需要進行判優,進而決定為哪一個請求服務。子程序不存在此種情況。子程序不存在此種情況。計算機組成原理計算機組成原理中斷的基本概念 (3/3)3 3、中斷的作用、中斷的作用 (1) (1) 主機與外部設備并行工作主機與外部設備并行工作 (2) (2) 實現實時處理實現實時處理 (3) (3) 硬件故障處理硬件故障處理 (4) (4) 實現多道程序和分時操作實現多道程序和分時操作計算機組成原理計算機組成原理CPU響應中斷的條件 (1/11)一、中

16、斷源一、中斷源 (1 1)概念:能夠引起)概念:能夠引起CPUCPU中斷的原因就是中斷源。中斷源是指形成這個原中斷的原因就是中斷源。中斷源是指形成這個原因的設備、部件或條件。因的設備、部件或條件。 (2 2)種類:)種類: 輸入輸出設備輸入輸出設備。系統中的外部設備都可以設計成為以中斷方式與主機。系統中的外部設備都可以設計成為以中斷方式與主機進行數據的交換,從而作為系統的中斷源。進行數據的交換,從而作為系統的中斷源。 故障與錯誤。系統運行中會出現諸如電源掉電、運算出錯、非法指令故障與錯誤。系統運行中會出現諸如電源掉電、運算出錯、非法指令等問題,它們也常采用中斷方式請求等問題,它們也常采用中斷方

17、式請求CPUCPU立即處理。立即處理。 實時時鐘實時時鐘。系統中的時鐘定時電路是必不可少的,若定時時間到,時。系統中的時鐘定時電路是必不可少的,若定時時間到,時鐘電路就可以通過中斷告知主機。鐘電路就可以通過中斷告知主機。 程序調試和軟件中斷程序調試和軟件中斷。程序調試中常常采用設置中斷斷點的方法來觀。程序調試中常常采用設置中斷斷點的方法來觀察程序運行是否正確;有些機器的指令系統設計有軟件中斷指令,利用中察程序運行是否正確;有些機器的指令系統設計有軟件中斷指令,利用中斷機制實現操作系統的功能調用以及調試程序。需要說明一點,這類中斷斷機制實現操作系統的功能調用以及調試程序。需要說明一點,這類中斷是

18、由程序員事先安排好的,和調用子程序的作用一樣,與上述由外部硬件是由程序員事先安排好的,和調用子程序的作用一樣,與上述由外部硬件產生的中斷有些不同。產生的中斷有些不同。計算機組成原理計算機組成原理CPU響應中斷的條件 (2/11)二、中斷的分類:二、中斷的分類: (1 1)按中斷源是在主機之內還是外分:)按中斷源是在主機之內還是外分: (A A)內部中斷內部中斷 內部中斷是指中斷源來自主機內部,如運算出錯、程內部中斷是指中斷源來自主機內部,如運算出錯、程序調試和軟件中斷等;序調試和軟件中斷等; (B B)外部中斷外部中斷 外部中斷來自主機之外,如外部設備、實時時鐘和硬外部中斷來自主機之外,如外部

19、設備、實時時鐘和硬件故障產生的中斷等。件故障產生的中斷等。計算機組成原理計算機組成原理CPU響應中斷的條件 (3/11)二、中斷的分類:二、中斷的分類:(2 2) 按中斷對按中斷對CPUCPU的打擾情況分:的打擾情況分: (A A)程序中斷程序中斷 CPUCPU要用專門的中斷服務程序為中斷源服務,并且要用專門的中斷服務程序為中斷源服務,并且在服務前要進行斷點和現場的保護,在服務后要進行現場在服務前要進行斷點和現場的保護,在服務后要進行現場和斷點恢復的中斷。這種中斷就是一般所說的中斷,是大和斷點恢復的中斷。這種中斷就是一般所說的中斷,是大多數中低速外設以及內中斷常用的中斷方式。多數中低速外設以及

20、內中斷常用的中斷方式。 (B B)簡單中斷簡單中斷 當這種中斷發生時,相應的請求源只是請求當這種中斷發生時,相應的請求源只是請求CPUCPU的的正常程序暫停一下,通常稱為總線請求或正常程序暫停一下,通常稱為總線請求或DMADMA請求。暫停請求。暫停的目的是把主存和接口的數據通路讓給請求源使用(即總的目的是把主存和接口的數據通路讓給請求源使用(即總線使用權),使得能在主存和請求源之間直接進行一次數線使用權),使得能在主存和請求源之間直接進行一次數據傳送,當這次傳送結束后,請求源立即把這個使用權歸據傳送,當這次傳送結束后,請求源立即把這個使用權歸還給還給CPUCPU。接著運行剛才暫停的程序,這個暫

21、停時間通常接著運行剛才暫停的程序,這個暫停時間通常一次一個存取周期。一次一個存取周期。計算機組成原理計算機組成原理CPU響應中斷的條件 (4/11)二、中斷的分類:二、中斷的分類:(3 3) 按尋找中斷服務程序入口的實現方法區分:按尋找中斷服務程序入口的實現方法區分: (A A)向量中斷(矢量中斷):中斷服務程序入口由中斷向量中斷(矢量中斷):中斷服務程序入口由中斷源自己提供。源自己提供。 (B B) 非向量中斷:入口由非向量中斷:入口由CPUCPU查詢得到。查詢得到。計算機組成原理計算機組成原理CPU響應中斷的條件 (5/11)三、中斷工作過程三、中斷工作過程:1、中斷請求(1 1)中斷請求

22、是中斷源向)中斷請求是中斷源向CPUCPU發出中斷請求信號,要求發出中斷請求信號,要求CPUCPU為它服務的過為它服務的過程。程。(2 2)何時?)何時? 基本條件兩個:基本條件兩個: (A A) 外設本身工作已經完成外設本身工作已經完成 (B B) 外設被允許中斷外設被允許中斷(3 3)硬件支持:)硬件支持: 中斷請求電路,基本組成是兩個觸發器:中斷請求電路,基本組成是兩個觸發器: (A A) 一個反映外設工作是否完成,其形成與程序查詢的一個反映外設工作是否完成,其形成與程序查詢的準備就緒狀態標志一樣;準備就緒狀態標志一樣; (B B) 另一個反映外設是否允許采用中斷方式,即中斷另一個反映外

23、設是否允許采用中斷方式,即中斷屏蔽功能。只有當外設工作完成而且被允許中斷時,相應中斷源才可屏蔽功能。只有當外設工作完成而且被允許中斷時,相應中斷源才可以通過這個請求電路形成中斷請求信號。以通過這個請求電路形成中斷請求信號。計算機組成原理計算機組成原理CPU響應中斷的條件 (6/11)三、中斷工作過程:三、中斷工作過程:2、中斷判優 (1 1) 中斷優先級有兩個方面的含義:中斷優先級有兩個方面的含義: (A A) 一是中斷請求與一是中斷請求與CPUCPU現行程序優先級的問題;現行程序優先級的問題; (B B) 另一含義是各中斷源之間,誰更迫切的問題。另一含義是各中斷源之間,誰更迫切的問題。 (2

24、 2) 方法:方法: (A A) 軟件軟件 (B B) 硬件:為了得到較高的效率,一般采用硬件判優方法。判硬件:為了得到較高的效率,一般采用硬件判優方法。判優邏輯隨著判優方案的不同可有不同的結構,其組成部分既可能在設優邏輯隨著判優方案的不同可有不同的結構,其組成部分既可能在設備接口之中,也可能在備接口之中,也可能在CPUCPU內部,也可能這兩部分都有。其作用是決內部,也可能這兩部分都有。其作用是決定定CPUCPU的響應并且找出最高優先請求者,如果確定接收這個請求的話,的響應并且找出最高優先請求者,如果確定接收這個請求的話,就由就由CPUCPU發出中斷響應信號發出中斷響應信號INTAINTA (

25、C C) 軟硬件結合。軟硬件結合。計算機組成原理計算機組成原理CPU響應中斷的條件 (7/11)三、中斷工作過程:三、中斷工作過程:3、中斷響應(1 1)CPUCPU響應最高優先級的中斷請求,并且在適當時會向中斷源提供一響應最高優先級的中斷請求,并且在適當時會向中斷源提供一個應答的響應信號,表明主機承認了它的請求,這就是中斷響應。在采個應答的響應信號,表明主機承認了它的請求,這就是中斷響應。在采用硬件向量中斷的方式中,通常,用硬件向量中斷的方式中,通常,CPUCPU還要利用它告知中斷接口電路向還要利用它告知中斷接口電路向CPUCPU提供一個中斷向量。提供一個中斷向量。(2 2)響應條件:)響應

26、條件: (A A) 一條指令執行結束時刻一條指令執行結束時刻 (B B) 中斷允許:中斷允許: ( (a)a) 可屏蔽中斷(可屏蔽中斷(Maskable InterruptMaskable Interrupt):):計算機中斷計算機中斷系統對一般外設的中斷請求就采用受中斷標志位控制;系統對一般外設的中斷請求就采用受中斷標志位控制; ( (b)b) 非屏蔽中斷(非屏蔽中斷(Non-Maskable InterruptNon-Maskable Interrupt):):而對必而對必須立刻響應的中斷請求,如電源掉電、機器故障等,則采用不受中斷標須立刻響應的中斷請求,如電源掉電、機器故障等,則采用不受

27、中斷標志位控制。志位控制。計算機組成原理計算機組成原理CPU響應中斷的條件 (8/11)l中斷屏蔽中斷屏蔽 (A A) 概念:對中斷的允許或禁止的控制概念:對中斷的允許或禁止的控制 (B B) 必要性:必要性: eg1eg1:中斷服務程序與正常程序共享數據區中斷服務程序與正常程序共享數據區 eg2eg2:CPUCPU正在用軟件查詢中斷源時正在用軟件查詢中斷源時 eg3eg3:正在執行中斷服務程序而不允許嵌套時正在執行中斷服務程序而不允許嵌套時 eg4eg4:進行現場保護和恢復現場時進行現場保護和恢復現場時 (C C)方法:方法:軟硬結合和內外結合的方法。不同的計算機可能在具體措施上有差異,軟硬

28、結合和內外結合的方法。不同的計算機可能在具體措施上有差異,但基本的思想是相同的。外部中斷請求電路設置中斷屏蔽觸發器控制某一但基本的思想是相同的。外部中斷請求電路設置中斷屏蔽觸發器控制某一個中斷源能否產生中斷請求信號,個中斷源能否產生中斷請求信號,CPUCPU內部設置中斷標志位用于控制全部內部設置中斷標志位用于控制全部可屏蔽中斷的響應。一般計算機中都有實現中斷屏蔽的指令和相應的硬件可屏蔽中斷的響應。一般計算機中都有實現中斷屏蔽的指令和相應的硬件電路。電路。計算機組成原理計算機組成原理CPU響應中斷的條件 (9/11)l中斷屏蔽中斷屏蔽(D D)實現:實現: ( (a)a) 在大多數計算機在大多數

29、計算機CPUCPU內,都設置一個中斷觸發器,由這個觸發器的內,都設置一個中斷觸發器,由這個觸發器的狀態來決定狀態來決定CPUCPU對中斷請求是否響應。對中斷請求是否響應。能使中斷觸發器置能使中斷觸發器置“1”“1”的指令,一般稱為開中斷指令,表示系統允的指令,一般稱為開中斷指令,表示系統允許中斷;能使中斷觸發器置許中斷;能使中斷觸發器置“0”“0”的指令,一般稱為關中斷指令,表示系的指令,一般稱為關中斷指令,表示系統禁止中斷。用戶在適當時可以用這些指令來對中斷的能與否進行選擇和統禁止中斷。用戶在適當時可以用這些指令來對中斷的能與否進行選擇和控制。控制。例如例如8088/8086 8088/80

30、86 CPUCPU中,其程序狀態字中,其程序狀態字PSWPSW寄存器中就有寄存器中就有IFIF位(第位(第1010位),開中斷指令位),開中斷指令STISTI可以使可以使IFIF位置為位置為“1”“1”,達到允許中斷的目的,關中,達到允許中斷的目的,關中斷指令斷指令CLICLI可以使可以使IFIF位清位清“0”“0”,達到禁止中斷的目的。,達到禁止中斷的目的。再如:再如:PDP11PDP11,PSWPSW的的7 7,6 6,5 5位改變會達到對某些中斷的允許或禁止。位改變會達到對某些中斷的允許或禁止。計算機組成原理計算機組成原理CPU響應中斷的條件 (10/11)l 中斷屏蔽中斷屏蔽(D D)

31、實現:實現: ( (b) b) 在外部中斷源的接口,一般都設立中斷屏蔽觸發器,通常這個觸發在外部中斷源的接口,一般都設立中斷屏蔽觸發器,通常這個觸發器的狀態可由器的狀態可由CPUCPU用指令改變。例如當這個觸發器為用指令改變。例如當這個觸發器為1 1時,表示不允許時,表示不允許該中斷源發出中斷請求,否則為允許。該中斷源發出中斷請求,否則為允許。PDP-11PDP-11機中,外設接口電路中的設備狀態寄存器第機中,外設接口電路中的設備狀態寄存器第6 6位就是用于這個目的。位就是用于這個目的。當第當第6 6位(允許中斷),第位(允許中斷),第7 7位(完成位)都成立時,才允許發中斷請求。位(完成位)

32、都成立時,才允許發中斷請求。IBMPCIBMPC,82598259可編程中斷控制器,有中斷屏蔽可編程中斷控制器,有中斷屏蔽R R,82598259可接收來自外設的可接收來自外設的8 8個各自獨立的中斷請求,信號分別為個各自獨立的中斷請求,信號分別為IRQ0IRQ7IRQ0IRQ7,IRQ0IRQ0優先級最高,中優先級最高,中斷源斷源0707對應于中斷類型號對應于中斷類型號0808H0FHH0FH,(,(其中其中IRQ3IRQ3和和IRQ5IRQ5未用)。例如未用)。例如IRQ1IRQ1對應對應0909H H中斷,對應設備鍵盤。中斷,對應設備鍵盤。 8259 8259中斷屏蔽寄存器(中斷屏蔽寄存

33、器(IMRIMR),),I/OI/O端口地址端口地址2121H H,它的位它的位0707位對應于位對應于IRQ0IRQ7IRQ0IRQ7,可通過設置任一位控制任一中斷源的允許或禁止(可通過設置任一位控制任一中斷源的允許或禁止(0 0代表允代表允許,許,1 1代表禁止)代表禁止)例如,只允許鍵盤中斷,可設置例如,只允許鍵盤中斷,可設置MOV AL,0FDHMOV AL,0FDHOUT 21H,ALOUT 21H,AL計算機組成原理計算機組成原理CPU響應中斷的條件 (11/11)斷點中斷服務程序中斷返回中斷響應外設中斷請求外設并行工作CPU繼續工作CPU繼續工作CPU正常程序程序中斷的工作過程預

34、置參數中斷服務啟動外設計算機組成原理計算機組成原理中斷處理 (1/5)1、中斷識別 (1 1)中斷源的識別)中斷源的識別 (A A)識別的主體:識別的主體:WHOWHO:CPUCPU識別識別 (B B)與中斷優先級的判定密切相關:中斷優先與中斷優先級的判定密切相關:中斷優先級的判定是解決這一問題的前提和基礎。級的判定是解決這一問題的前提和基礎。 (C C)目的:使目的:使CPUCPU轉入相應的服務程序。轉入相應的服務程序。計算機組成原理計算機組成原理中斷處理 (2/5)1、中斷識別(2 2)方法:)方法: (A A) 軟件查詢法:采用與程序查詢傳送方式一樣的方法,用軟件查詢程序段檢測中斷軟件查

35、詢法:采用與程序查詢傳送方式一樣的方法,用軟件查詢程序段檢測中斷請求的標志,同時還可以實現中斷判優(詳見請求的標志,同時還可以實現中斷判優(詳見7.3.57.3.5節軟件查詢判優法)。節軟件查詢判優法)。 (B B) 硬件向量法:硬件向量法: ( (a)a) 中斷向量是中斷源向中斷向量是中斷源向CPUCPU提供的唯一識別碼;提供的唯一識別碼; ( (b)b) 識別碼是有方向的;識別碼是有方向的; ( (c)c) 識別碼實際是主存的一個地址碼;識別碼實際是主存的一個地址碼; ( (d)d) 硬件支持:硬件支持: 接口電路中:向量地址產生器接口電路中:向量地址產生器 主機之內:保存向量的主機之內:

36、保存向量的R R (e) (e) 向量地址的存在情況:向量地址的存在情況: ( (i)i)服務程序入口服務程序入口 ( (ii)ii)服務程序入口地址服務程序入口地址計算機組成原理計算機組成原理中斷處理 (3/5)2、中斷服務(1 1)中斷現場:中斷現場是指在發生中斷時,)中斷現場:中斷現場是指在發生中斷時,CPUCPU及其現行程序的當前主要狀態。這其中最及其現行程序的當前主要狀態。這其中最為關鍵的狀態是程序計數器為關鍵的狀態是程序計數器PCPC的值,也就是的值,也就是CPUCPU現行程序被中斷時的下條指令的存儲地址,現行程序被中斷時的下條指令的存儲地址,即斷點地址,簡稱斷點。除斷點外,中斷現

37、場即斷點地址,簡稱斷點。除斷點外,中斷現場應包含應包含CPUCPU程序運行情況的狀態,這些狀態有程序運行情況的狀態,這些狀態有程序狀態字程序狀態字PSWPSW以及程序執行的當前結果等。以及程序執行的當前結果等。計算機組成原理計算機組成原理中斷處理 (4/5)2、中斷服務(2 2)中斷服務程序:)中斷服務程序:3 3個部分個部分 (A A) 起始部分:起始部分:起始部分的主要功能是保護起始部分的主要功能是保護CPUCPU原來程序的一些現場,另一個功能是原來程序的一些現場,另一個功能是控制系統在執行中斷服務程序過程中是否允許再被中斷。控制系統在執行中斷服務程序過程中是否允許再被中斷。 (B B)

38、主體部分:主體部分:主體部分的主要功能應該是完成中斷源的請求任務。對一般輸入輸出主體部分的主要功能應該是完成中斷源的請求任務。對一般輸入輸出外部設備來說,就是進行數據的輸入輸出操作,并且修改相應的傳送參數。外部設備來說,就是進行數據的輸入輸出操作,并且修改相應的傳送參數。這部分是中斷服務程序中核心的,也就是實質性的部分。這部分是中斷服務程序中核心的,也就是實質性的部分。 (C C) 結尾部分:結尾部分:結尾部分的主要功能是恢復起始部分所保護的現場內容,然后準備返結尾部分的主要功能是恢復起始部分所保護的現場內容,然后準備返回。通常是用一條返回指令作為整個中斷服務程序的最后一條指令。回。通常是用一

39、條返回指令作為整個中斷服務程序的最后一條指令。計算機組成原理計算機組成原理中斷處理 (5/5)3、中斷返回中斷服務程序的結束是一條中斷返回指令,由它中斷服務程序的結束是一條中斷返回指令,由它實現從中斷處理過程返回被中斷的程序斷點位置處繼實現從中斷處理過程返回被中斷的程序斷點位置處繼續執行,從而完成了一次中斷過程。續執行,從而完成了一次中斷過程。以上所述的以上所述的6 6個階段是外部設備作為中斷源引起中個階段是外部設備作為中斷源引起中斷的全過程。顯然,斷的全過程。顯然, 整個過程只有中斷服務這個階整個過程只有中斷服務這個階段才是實際有效的部分,其中的關鍵是執行段才是實際有效的部分,其中的關鍵是執

40、行I/OI/O指令指令實現數據交換。其余幾個階段可認為是中斷服務的前實現數據交換。其余幾個階段可認為是中斷服務的前后處理,是一種輔助性的但不可缺少的操作。當中斷后處理,是一種輔助性的但不可缺少的操作。當中斷頻繁發生時,這個輔助性操作是降低頻繁發生時,這個輔助性操作是降低CPUCPU利用率和限利用率和限制外設速度的原因所在。制外設速度的原因所在。計算機組成原理計算機組成原理中斷類型之內部中斷l由于處理器由于處理器內部執行程序出現異常內部執行程序出現異常引起的程序引起的程序中斷,也中斷,也常被稱為常被稱為異常異常(Exception)l利用內部中斷,處理器為用戶提供了發現、調利用內部中斷,處理器為

41、用戶提供了發現、調試并解決程序執行時異常情況的有效途徑試并解決程序執行時異常情況的有效途徑除法錯中斷:除法指令出錯的內部中斷除法錯中斷:除法指令出錯的內部中斷斷點中斷:支持斷點調試程序的內部中斷斷點中斷:支持斷點調試程序的內部中斷單步中斷:支持單步調試程序的內部中斷單步中斷:支持單步調試程序的內部中斷溢出中斷:處理運算溢出錯誤的內部中斷溢出中斷:處理運算溢出錯誤的內部中斷無效指令代碼異常、無效指令代碼異常、段超界異常、通用保護異常段超界異常、通用保護異常計算機組成原理計算機組成原理中斷類型之外部中斷l外部中斷是由于處理器外部中斷是由于處理器外部提出中斷請求外部提出中斷請求引起引起的程序中斷,外

42、部中斷請求是處理器外部隨機的程序中斷,外部中斷請求是處理器外部隨機產生的,所以是真正的產生的,所以是真正的中斷中斷(Interrupt)l利用外部中斷,微機系統可以實時響應外部設利用外部中斷,微機系統可以實時響應外部設備的數據傳送請求,能夠及時處理外部意外或備的數據傳送請求,能夠及時處理外部意外或緊急事件緊急事件l非屏蔽中斷非屏蔽中斷處理器無法禁止、必須響應的中斷處理器無法禁止、必須響應的中斷l可屏蔽中斷可屏蔽中斷由中斷屏蔽觸發器由中斷屏蔽觸發器( (標志標志) )控制是否響應的中斷控制是否響應的中斷計算機組成原理計算機組成原理外部中斷之非屏蔽中斷l非屏蔽中斷非屏蔽中斷NMINMI(NonMa

43、skable Interrupt)(NonMaskable Interrupt)外部通過非屏蔽中斷請求信號外部通過非屏蔽中斷請求信號NMI向處理器提出向處理器提出中斷請求中斷請求處理器無法禁止,將在當前指令執行結束予以響處理器無法禁止,將在當前指令執行結束予以響應應l非屏蔽中斷主要用于處理系統的意外或故障非屏蔽中斷主要用于處理系統的意外或故障電源掉電前的數據保護電源掉電前的數據保護存儲器讀寫錯誤的處理存儲器讀寫錯誤的處理lPCPC微機的微機的NMINMI中斷請求中斷請求存儲器產生奇偶校驗錯存儲器產生奇偶校驗錯數值協處理器產生異常數值協處理器產生異常計算機組成原理計算機組成原理外部中斷之可屏蔽中

44、斷l可屏蔽中斷可屏蔽中斷INTRINTR(Maskable Interrupt)(Maskable Interrupt)外部通過可屏蔽中斷請求信號外部通過可屏蔽中斷請求信號INTRINTR向處理器提出中斷向處理器提出中斷請求請求如果允許可屏蔽中斷,則在當前指令執行結束予以響應如果允許可屏蔽中斷,則在當前指令執行結束予以響應同時輸出可屏蔽中斷響應信號同時輸出可屏蔽中斷響應信號INTAINTAl設置中斷屏蔽觸發器,控制可屏蔽中斷設置中斷屏蔽觸發器,控制可屏蔽中斷關閉中斷關中斷禁止中斷:中斷被屏蔽、不能響應關閉中斷關中斷禁止中斷:中斷被屏蔽、不能響應開放中斷開中斷允許中斷:中斷可以獲得響應開放中斷開

45、中斷允許中斷:中斷可以獲得響應l可屏蔽中斷主要用于主機與外設交換數據可屏蔽中斷主要用于主機與外設交換數據用戶按鍵后請求處理輸入的鍵盤數據用戶按鍵后請求處理輸入的鍵盤數據打印機請求發送打印數據打印機請求發送打印數據時鐘中斷請求進行計時處理時鐘中斷請求進行計時處理計算機組成原理計算機組成原理可屏蔽中斷處理過程l中斷請求中斷請求l中斷響應中斷響應l 關閉中斷關閉中斷l 斷點保護斷點保護l 中斷源識別中斷源識別l 現場保護現場保護l中斷服務中斷服務l 恢復現場恢復現場l 開放中斷開放中斷l中斷返回中斷返回外界隨機產生外界隨機產生數據交換的實質性環節數據交換的實質性環節指令結束進行指令結束進行中斷處理過

46、程流程圖中斷處理過程流程圖取指令取指令執行指令執行指令中斷?中斷?響應中斷響應中斷找出中斷源,并保存找出中斷源,并保存PC轉移到中斷轉移到中斷服務子程序服務子程序保存保存CPU現場現場設備服務設備服務開中斷開中斷否否是是關中斷關中斷恢復恢復CPU現場現場中斷周期中斷周期(硬件實現)(硬件實現)中斷服務子程序中斷服務子程序(軟件實現)(軟件實現)8.2.2 程序中斷方式基本接口控制控制IMIR公用寄存器公用寄存器0 1BSEIRD數據緩沖寄存器數據緩沖寄存器中斷向量邏輯中斷向量邏輯設備選擇設備選擇PCIR動作開始動作開始數據緩沖寄存器數據緩沖寄存器傳送數據傳送數據12345動作結束動作結束67P

47、CIR8公用寄存器公用寄存器10901SS中斷服務程序入口中斷服務程序入口中斷請求中斷請求CPU接口接口外設外設INTA計算機組成原理計算機組成原理8.2.3 單級中斷l在執行中斷的過程中,如在執行中斷的過程中,如果只能為本次中斷服務,果只能為本次中斷服務,不允許打斷服務程序,只不允許打斷服務程序,只有在服務程序完成后,才有在服務程序完成后,才能響應新的中斷請求能響應新的中斷請求l所有中斷源都屬于同一級所有中斷源都屬于同一級計算機組成原理計算機組成原理8.2.4 多級中斷l如在一次服務程序執行中,允許優先級高的如在一次服務程序執行中,允許優先級高的中斷級別低的中斷服務程序,在保存斷點和中斷級別

48、低的中斷服務程序,在保存斷點和現場后,轉去響應優先級別更高的中斷程序,現場后,轉去響應優先級別更高的中斷程序,并執行新的中斷服務程序并執行新的中斷服務程序主程序主程序1 1級中斷級中斷服務程序服務程序2 2級中斷級中斷服務程序服務程序3 3級中斷級中斷服務程序服務程序計算機組成原理計算機組成原理一維、二維多級中斷l一維多級中斷:每級中斷里只有一個中斷源一維多級中斷:每級中斷里只有一個中斷源l二維多級中斷:每級中斷里又有多個中斷源二維多級中斷:每級中斷里又有多個中斷源中斷源識別之向量中斷l中斷響應時產生向量地址,指出中斷服務程序入口中斷響應時產生向量地址,指出中斷服務程序入口INTO001010

49、001011001000數據總線數據總線編編碼碼器器INTAINTIIR1IS1IR2IS2IR3IS3123456IR1IR2IR3計算機組成原理計算機組成原理向量地址l由硬件直接產生一個固定地址(向量地址)由硬件直接產生一個固定地址(向量地址)l向量地址只是一個向量地址只是一個“位移量位移量”:將這個位移量:將這個位移量加上加上CPUCPU中某寄存器里存放的基地址,最后得中某寄存器里存放的基地址,最后得到中斷處理程序的入口地址到中斷處理程序的入口地址l向量地址對應的地址單元存放的是轉移指令,向量地址對應的地址單元存放的是轉移指令,通過該指令轉入各自的中斷服務程序入口通過該指令轉入各自的中斷

50、服務程序入口l向量地址是一個中斷向量號:所有中斷服務程向量地址是一個中斷向量號:所有中斷服務程序的入口地址安排在一個特定主存區域(地址序的入口地址安排在一個特定主存區域(地址表),通過該向量號在地址表中查找到對應的表),通過該向量號在地址表中查找到對應的中斷服務程序地址中斷服務程序地址計算機組成原理計算機組成原理中斷源識別之中斷查詢l中斷請求保存在中斷狀態寄存器,處理器依次查詢中斷請求保存在中斷狀態寄存器,處理器依次查詢l檢測某個中斷請求有效,轉向對應的中斷服務程序檢測某個中斷請求有效,轉向對應的中斷服務程序計算機組成原理計算機組成原理中斷優先權排隊l中斷優先權中斷優先權每個中斷源被處理的級別

51、每個中斷源被處理的級別l中斷優先權排隊中斷優先權排隊事先為每個中斷源所確定的優先處理順序事先為每個中斷源所確定的優先處理順序l查詢中斷時查詢中斷時依次查詢,先查詢的中斷具有較高的優先權依次查詢,先查詢的中斷具有較高的優先權l硬件電路實現時硬件電路實現時分布方式的菊花鏈排隊電路分布方式的菊花鏈排隊電路集中方式的編碼電路和比較電路集中方式的編碼電路和比較電路多個中斷多個中斷同時請求同時請求計算機組成原理計算機組成原理中斷嵌套l高于當前正在服務的中斷:高于當前正在服務的中斷:暫停當前工作暫停當前工作先行服務于級別更高的中斷先行服務于級別更高的中斷接著處理被打斷的中斷接著處理被打斷的中斷l低于或等于當

52、前正在服務的中斷:低于或等于當前正在服務的中斷:不予理會,待完成當前中斷服務后再處理不予理會,待完成當前中斷服務后再處理中斷處理中斷處理又有請求又有請求中斷嵌套:中斷處理中又響應中斷中斷嵌套:中斷處理中又響應中斷計算機組成原理計算機組成原理8.2.5 中斷控制器l中斷控制器:管理外設的多個中斷請求并進行中斷控制器:管理外設的多個中斷請求并進行優先權排隊等工作優先權排隊等工作lIntel 8259是可編程中斷控制器是可編程中斷控制器PICl可用于管理可用于管理Intel 8080/8085、8086/8088以及以及80286/80386的可屏蔽中斷的可屏蔽中斷l8259的基本功能的基本功能一片

53、一片8259可以管理可以管理8級中斷,可擴展至級中斷,可擴展至64級級每一級中斷都可單獨被屏蔽或允許每一級中斷都可單獨被屏蔽或允許在中斷響應周期,可提供相應的中斷向量號在中斷響應周期,可提供相應的中斷向量號8259設計有多種工作方式,可通過編程選擇設計有多種工作方式,可通過編程選擇計算機組成原理計算機組成原理8259中斷控制器內部結構D7D0INTAINT中斷請求寄存器中斷請求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數據數據總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級聯級聯緩沖器緩沖器比較器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優先權判斷器優先權判斷器中斷服務寄存器

54、中斷服務寄存器控制邏輯控制邏輯計算機組成原理計算機組成原理8259中斷控制器的寄存器l中斷請求寄存器中斷請求寄存器IRR保存保存8條外界中斷請求信號條外界中斷請求信號IR0IR7的請求狀態的請求狀態l中斷服務寄存器中斷服務寄存器ISR保存正在被保存正在被8259服務著的中斷狀態服務著的中斷狀態l中斷屏蔽寄存器中斷屏蔽寄存器IMR保存對中斷請求信號保存對中斷請求信號IR的屏蔽狀態的屏蔽狀態中斷請求寄存器的各位送入優先權判斷器,根據中中斷請求寄存器的各位送入優先權判斷器,根據中斷屏蔽寄存器各位的狀態決定最高優先級的中斷請斷屏蔽寄存器各位的狀態決定最高優先級的中斷請求,并將各位的狀態送入中斷服務寄存

55、器求,并將各位的狀態送入中斷服務寄存器計算機組成原理計算機組成原理設置優先權方式l普通全嵌套方式普通全嵌套方式8259的中斷的中斷優先權順序固定不變優先權順序固定不變,從高到低依次,從高到低依次為為IR0、IR1、IR2、IR7中斷請求后,中斷請求后,8259對對當前請求中斷中優先權最高當前請求中斷中優先權最高的中斷的中斷IRi予以予以響應響應,將其向量號送上數據總線,將其向量號送上數據總線,對應對應ISR的的Di位置位,至到中斷結束(位置位,至到中斷結束(ISR的的Di位位復位)復位)在在ISR的的Di位置位期間,位置位期間,禁止再發生同級和低級優禁止再發生同級和低級優先權的中斷先權的中斷,

56、但,但允許高級優先權中斷的嵌套允許高級優先權中斷的嵌套l特殊全嵌套方式特殊全嵌套方式l優先權自動循環方式優先權自動循環方式l優先權特殊循環方式優先權特殊循環方式計算機組成原理計算機組成原理屏蔽中斷源方式n普通屏蔽方式普通屏蔽方式n將將IMR的的Di位置位置1,則對應的中斷,則對應的中斷IRi被屏蔽被屏蔽,該中,該中斷請求不能從斷請求不能從8259送到送到CPUn如果如果IMR的的Di位置位置0,則允許,則允許IRi中斷產生中斷產生n特殊屏蔽方式特殊屏蔽方式n將將IMR的的Di位置位置1,對應的中斷,對應的中斷IRi被屏蔽的同時,被屏蔽的同時,使使ISR的的Di位置位置0計算機組成原理計算機組成

57、原理中斷控制器的編程l指定其工作方式和控制中斷處理過程指定其工作方式和控制中斷處理過程l開始工作前,必須進行開始工作前,必須進行初始化編程初始化編程寫入初始化命令寫入初始化命令ICWICW:選擇工作方式:選擇工作方式l工作期間,需要工作期間,需要中斷操作編程中斷操作編程寫入操作命令字寫入操作命令字OCWOCW:按新要求工作,讀取信息等:按新要求工作,讀取信息等OCW1OCW1:寫入:寫入IMRIMR,控制中斷屏蔽,控制中斷屏蔽OCW2OCW2:產生:產生EOIEOI命令,改變優先權順序命令,改變優先權順序OCW3OCW3:控制讀取:控制讀取IRRIRR、ISRISR、IMRIMR和查詢字和查詢

58、字計算機組成原理計算機組成原理8.2.6 Pentium中斷機制l兩類中斷源:(外部)中斷和(內部)異常兩類中斷源:(外部)中斷和(內部)異常l采用向量中斷機制,能夠處理采用向量中斷機制,能夠處理256256個中斷個中斷l用中斷向量號用中斷向量號0 0255255區別區別l可屏蔽中斷需要中斷控制器實現優先權管理可屏蔽中斷需要中斷控制器實現優先權管理l中斷向量號的獲取:中斷向量號的獲取:指令給出指令給出外部提供外部提供CPUCPU自動指定自動指定計算機組成原理計算機組成原理中斷標志lIFIF1 1,微處理器,微處理器開中斷開中斷可以響應可屏蔽中斷可以響應可屏蔽中斷lIFIF0 0,微處理器,微處

59、理器關中斷關中斷不能響應可屏蔽中斷不能響應可屏蔽中斷l關中斷的情況關中斷的情況系統復位后系統復位后任何一個中斷被響應后任何一個中斷被響應后執行關中斷指令執行關中斷指令CLICLI后后l開中斷的方法開中斷的方法執行開中斷指令執行開中斷指令STISTIl執行中斷返回指令執行中斷返回指令IRETIRET恢復中斷前恢復中斷前IFIF狀態狀態計算機組成原理計算機組成原理中斷向量表結構l物理地址物理地址00000H00000H,對應向量號從,對應向量號從0 0開始開始l依次每依次每4 4個字節安排一個中斷向量個字節安排一個中斷向量中斷向量中斷服務程序入口地址(首地址)中斷向量中斷服務程序入口地址(首地址)

60、含有含有1616位段地址和位段地址和1616位偏移地址的邏輯地址位偏移地址的邏輯地址按照按照“低對低、高對高低對低、高對高”的小端方式存儲的小端方式存儲低字部分是偏移地址、高字部分是段地址低字部分是偏移地址、高字部分是段地址l256256個中斷占用個中斷占用1KB1KB區域,形成中斷向量表區域,形成中斷向量表中斷向量的物理地址中斷向量的物理地址N4中斷向量的物理地址中斷向量的物理地址N4計算機組成原理計算機組成原理中斷處理過程l如果特權改變,則保護堆棧指針如果特權改變,則保護堆棧指針l將標志寄存器壓入堆棧,保護標志位將標志寄存器壓入堆棧,保護標志位l禁止可屏蔽中斷和單步中斷禁止可屏蔽中斷和單步

溫馨提示

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

評論

0/150

提交評論