微機原理中斷_第1頁
微機原理中斷_第2頁
微機原理中斷_第3頁
微機原理中斷_第4頁
微機原理中斷_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 8.1 8.1 引引 言言當當CPUCPU與外設(shè)交換信息時,若用查詢的方式,則與外設(shè)交換信息時,若用查詢的方式,則CPUCPU就要浪費很多時間去等待外設(shè)。這樣就存在一個快速的就要浪費很多時間去等待外設(shè)。這樣就存在一個快速的CPUCPU與慢速的外設(shè)之間的矛盾,這也是計算機在發(fā)展過程與慢速的外設(shè)之間的矛盾,這也是計算機在發(fā)展過程中遇到的嚴重問題之一。為了解決這個問題,一方面要中遇到的嚴重問題之一。為了解決這個問題,一方面要提高外設(shè)的工作速度;另一方面發(fā)展了中斷的概念。實提高外設(shè)的工作速度;另一方面發(fā)展了中斷的概念。實現(xiàn)了中斷,就有以下好處:現(xiàn)了中斷,就有以下好處: 1.1.同步操作同步操作 2.

2、2.實現(xiàn)實時處理實現(xiàn)實時處理 3.3.故障處理故障處理 為什么要用中斷為什么要用中斷引起中斷的原因,或能發(fā)出中斷請求的來引起中斷的原因,或能發(fā)出中斷請求的來源,稱為源,稱為中斷源中斷源。 中斷系統(tǒng)應(yīng)具有如下功能:中斷系統(tǒng)應(yīng)具有如下功能: (1)實現(xiàn)中斷及返回)實現(xiàn)中斷及返回 (2)能實現(xiàn)優(yōu)先權(quán)排隊)能實現(xiàn)優(yōu)先權(quán)排隊 (3)高級中斷源能中斷低級的中斷處理)高級中斷源能中斷低級的中斷處理 8.2 8.2 最簡單的中斷情況最簡單的中斷情況 響應(yīng)中斷的條件響應(yīng)中斷的條件 (1 1)設(shè)置中斷請求觸發(fā)器)設(shè)置中斷請求觸發(fā)器 (2 2)設(shè)置中斷屏蔽觸發(fā)器)設(shè)置中斷屏蔽觸發(fā)器 (3 3)中斷是開放的)中斷是開

3、放的注注:CPU:CPU復(fù)位時復(fù)位時, ,中斷允許觸發(fā)器為中斷允許觸發(fā)器為“0”,0”,即關(guān)中斷即關(guān)中斷, ,所以必須用所以必須用STISTI指令開中斷指令開中斷. .當中斷響應(yīng)后當中斷響應(yīng)后,CPU,CPU就自動關(guān)中斷就自動關(guān)中斷, ,所以必須在中斷服所以必須在中斷服務(wù)程序中用務(wù)程序中用STISTI指令來開中斷指令來開中斷. . (4 4)CPUCPU在現(xiàn)行指令結(jié)束后響應(yīng)中斷在現(xiàn)行指令結(jié)束后響應(yīng)中斷設(shè)置中斷請求的情況設(shè)置中斷請求的情況(1 1)設(shè)置中斷請求觸發(fā)器)設(shè)置中斷請求觸發(fā)器具有中斷屏蔽的接口電路具有中斷屏蔽的接口電路(2 2)設(shè)置中斷屏蔽觸發(fā)器)設(shè)置中斷屏蔽觸發(fā)器中斷響應(yīng)流程圖中斷響

4、應(yīng)流程圖對中斷的響應(yīng)對中斷的響應(yīng)當滿足上述條件后,當滿足上述條件后,CPUCPU就響應(yīng)中斷,轉(zhuǎn)入中斷周就響應(yīng)中斷,轉(zhuǎn)入中斷周期,期,CPUCPU做以下幾種事:做以下幾種事:(1 1)關(guān)中斷)關(guān)中斷(2 2)保留斷點)保留斷點(3 3)保護現(xiàn)場)保護現(xiàn)場(4 4)給出中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序)給出中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序在中斷服務(wù)程序執(zhí)行完畢后,還要進行下述的在中斷服務(wù)程序執(zhí)行完畢后,還要進行下述的(5 5)、()、(6 6)兩步操作。)兩步操作。(5 5)恢復(fù)現(xiàn)場)恢復(fù)現(xiàn)場(6 6)開中斷與返回)開中斷與返回中斷響應(yīng)中斷響應(yīng), ,服務(wù)及返回流程圖服務(wù)及返回流程圖 8.3 8.3

5、 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)當有多個中斷源同時請求時,當有多個中斷源同時請求時,CPU就要識別出是哪些就要識別出是哪些中 斷 源 有 中 斷 請 求 , 辨 別 和 比 較 它 們 的 優(yōu) 先 權(quán)中 斷 源 有 中 斷 請 求 , 辨 別 和 比 較 它 們 的 優(yōu) 先 權(quán)(Priority),先響應(yīng)優(yōu)先權(quán)級別最高的中斷申請。另外,),先響應(yīng)優(yōu)先權(quán)級別最高的中斷申請。另外,當當CPU正在處理中斷時,也要能響應(yīng)更高級的中斷申請,正在處理中斷時,也要能響應(yīng)更高級的中斷申請,而屏蔽掉同級或較低級的中斷請求。而屏蔽掉同級或較低級的中斷請求。要判別和確定各個中斷源的中斷優(yōu)先權(quán),可以用軟件要判別和確定各個中斷源

6、的中斷優(yōu)先權(quán),可以用軟件和硬件兩種方法。和硬件兩種方法。軟件采用查詢技術(shù)。當軟件采用查詢技術(shù)。當CPU響應(yīng)中斷后,就用軟件查響應(yīng)中斷后,就用軟件查詢以確定是哪些外設(shè)申請中斷,并判斷它們的優(yōu)先權(quán)。詢以確定是哪些外設(shè)申請中斷,并判斷它們的優(yōu)先權(quán)。軟件查詢方式的接口電路軟件查詢方式的接口電路軟件查詢程序流程圖軟件查詢程序流程圖 用軟件確定中斷優(yōu)先權(quán)用軟件確定中斷優(yōu)先權(quán)查詢程序有兩種方式:查詢程序有兩種方式: (1) 屏蔽法屏蔽法INAL,20H;輸入中斷請求觸發(fā)器的;輸入中斷請求觸發(fā)器的狀態(tài)狀態(tài)TESTAL,80H ;檢查最高位;檢查最高位(電源故障電源故障)是否是否有請求有請求JNEPWF ;有,

7、則轉(zhuǎn)至電源故障處理程序;有,則轉(zhuǎn)至電源故障處理程序TESTAL, 40H ;否,檢查磁盤是否有請求;否,檢查磁盤是否有請求JNEDISS ;有,轉(zhuǎn)至磁盤服務(wù)程序;有,轉(zhuǎn)至磁盤服務(wù)程序TESTAL ,20H ;否,檢查磁帶是否有請求;否,檢查磁帶是否有請求JNEMT ;有,轉(zhuǎn)至磁帶服務(wù)程序;有,轉(zhuǎn)至磁帶服務(wù)程序 (2) 移位法移位法XORAL,ALINAL,20HRCLAL,1JCPWFRCLAL,1JCDISS 查詢方法的查詢方法的優(yōu)點優(yōu)點是:是: (1) 詢問的次序即是優(yōu)先權(quán)的次序。顯然,最先詢問的次序即是優(yōu)先權(quán)的次序。顯然,最先詢問的,優(yōu)先權(quán)的級別最高。詢問的,優(yōu)先權(quán)的級別最高。(2) 省

8、硬件。不需要有判斷與確定優(yōu)先權(quán)的硬件省硬件。不需要有判斷與確定優(yōu)先權(quán)的硬件排隊電路。排隊電路。但隨之而來的但隨之而來的缺點缺點是:是: 由詢問轉(zhuǎn)至相應(yīng)的服務(wù)程序入口的時間長,由詢問轉(zhuǎn)至相應(yīng)的服務(wù)程序入口的時間長,尤其是在中斷源較多的情況下。尤其是在中斷源較多的情況下。 硬件優(yōu)先權(quán)排隊電路硬件優(yōu)先權(quán)排隊電路 1.中斷優(yōu)先權(quán)編碼電路中斷優(yōu)先權(quán)編碼電路用硬件編碼器和比較器的優(yōu)先權(quán)排隊電路,如圖所用硬件編碼器和比較器的優(yōu)先權(quán)排隊電路,如圖所示。示。若有若有8個中斷源,當任一個有中斷請求時,通過個中斷源,當任一個有中斷請求時,通過“或或”門,即可有一個中斷請求信號產(chǎn)生,但它能否送至門,即可有一個中斷請求

9、信號產(chǎn)生,但它能否送至CPU的中斷請求線,還要受比較器的控制的中斷請求線,還要受比較器的控制(若優(yōu)先權(quán)失若優(yōu)先權(quán)失效信號為低電平,則與門效信號為低電平,則與門2關(guān)閉關(guān)閉)。8條中斷輸入線的任一條,經(jīng)過編碼器可以產(chǎn)生三位條中斷輸入線的任一條,經(jīng)過編碼器可以產(chǎn)生三位二進制優(yōu)先權(quán)編碼二進制優(yōu)先權(quán)編碼A2A1A0,優(yōu)先權(quán)最高的線的編碼為,優(yōu)先權(quán)最高的線的編碼為111,優(yōu)先權(quán)最低的線的編碼為,優(yōu)先權(quán)最低的線的編碼為000。而且若有多個輸。而且若有多個輸入線同時輸入,則編碼器只輸出優(yōu)先權(quán)最高的編碼。入線同時輸入,則編碼器只輸出優(yōu)先權(quán)最高的編碼。 編碼器和比較器的優(yōu)先權(quán)排隊電路編碼器和比較器的優(yōu)先權(quán)排隊電路

10、2. 雛菊花環(huán)雛菊花環(huán)(Daisy Chain)式或稱為鏈式優(yōu)先權(quán)排隊電路式或稱為鏈式優(yōu)先權(quán)排隊電路另一種常用的硬件排隊電路,如圖所示。另一種常用的硬件排隊電路,如圖所示。當多個輸入有中斷請求,則由中斷輸入信號的當多個輸入有中斷請求,則由中斷輸入信號的“或或”電路產(chǎn)生電路產(chǎn)生INTR信號,送至信號,送至CPU。當。當CPU在現(xiàn)行指令執(zhí)在現(xiàn)行指令執(zhí)行完后,響應(yīng)中斷,發(fā)出中斷響應(yīng)信號。但行完后,響應(yīng)中斷,發(fā)出中斷響應(yīng)信號。但CPU轉(zhuǎn)向哪轉(zhuǎn)向哪一個中斷服務(wù)程序的入口呢一個中斷服務(wù)程序的入口呢?這要由圖這要由圖8-8所示的鏈式優(yōu)所示的鏈式優(yōu)先權(quán)排隊電路確定。先權(quán)排隊電路確定。當中斷響應(yīng)為高電平,若當中

11、斷響應(yīng)為高電平,若F/F-A有中斷請求,則它有中斷請求,則它的輸出為高,于是與門的輸出為高,于是與門A1輸出為高,由它控制轉(zhuǎn)至中輸出為高,由它控制轉(zhuǎn)至中斷斷1的服務(wù)程序的入口;且門的服務(wù)程序的入口;且門A2輸出為低電平;因而使輸出為低電平;因而使門門B1、B2和和C1、C2所有下面各級門的輸入和輸出所有下面各級門的輸入和輸出全為低電平,即屏蔽了所有別的各級中斷。全為低電平,即屏蔽了所有別的各級中斷。 中斷響應(yīng)流程圖鏈式優(yōu)先權(quán)排隊電路中斷響應(yīng)流程圖鏈式優(yōu)先權(quán)排隊電路8.4 中斷控制器中斷控制器Intel 8259A Intel 8259A是與是與8080/8085系列以及系列以及8088/808

12、6系列兼系列兼容的可編程的中斷控制器。它的主要功能為:容的可編程的中斷控制器。它的主要功能為: (1) 具有具有8級優(yōu)先權(quán)控制,通過級連可擴展至級優(yōu)先權(quán)控制,通過級連可擴展至64級優(yōu)先權(quán)級優(yōu)先權(quán)控制??刂啤?2) 每一級中斷都可以屏蔽或允許。每一級中斷都可以屏蔽或允許。(3) 在中斷響應(yīng)周期,在中斷響應(yīng)周期,8259A可提供相應(yīng)的中斷向量,從可提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)至中斷服務(wù)程序。而能迅速地轉(zhuǎn)至中斷服務(wù)程序。(4) Intel 8259A有多種工作方式,可以通過編程來進行選有多種工作方式,可以通過編程來進行選擇。擇。 8259A8259A的方框圖的方框圖859A的結(jié)構(gòu)的結(jié)構(gòu)一片一片

13、8259A有有8條外界中斷請求線條外界中斷請求線IR0IR7,每一,每一條請求線有一個相應(yīng)的觸發(fā)器來保存請求信號,從而條請求線有一個相應(yīng)的觸發(fā)器來保存請求信號,從而形成了形成了中斷請求寄存器中斷請求寄存器IRR(Interrupt Request Register)。正在服務(wù)的中斷,由)。正在服務(wù)的中斷,由中斷服務(wù)寄存器中斷服務(wù)寄存器ISR(IN Service Register)保存。)保存。優(yōu)先權(quán)電路優(yōu)先權(quán)電路對保存在對保存在IRR中的各個中斷請求,經(jīng)中的各個中斷請求,經(jīng)過判斷確定最高的優(yōu)先權(quán),并在中斷響應(yīng)周期把它選過判斷確定最高的優(yōu)先權(quán),并在中斷響應(yīng)周期把它選通至中斷服務(wù)寄存器。通至中斷

14、服務(wù)寄存器。中斷屏蔽寄存器中斷屏蔽寄存器IMR(Interrupt Mask Register)的每一位,可以對的每一位,可以對IRR中的相應(yīng)的中斷源進行屏蔽。中的相應(yīng)的中斷源進行屏蔽。數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是是8259A與系統(tǒng)數(shù)據(jù)總線的接口,與系統(tǒng)數(shù)據(jù)總線的接口,它是它是8位的雙向三態(tài)緩沖器。位的雙向三態(tài)緩沖器。讀讀/寫控制邏輯寫控制邏輯。CPU能通過它實現(xiàn)對能通過它實現(xiàn)對8259A的讀的讀出(狀態(tài)信號)和寫入(初始化編程)。出(狀態(tài)信號)和寫入(初始化編程)。級連緩沖器級連緩沖器,實現(xiàn),實現(xiàn)8259A芯片之間的級連,使得中芯片之間的級連,使得中斷源可由斷源可由8級擴展至級擴展至64級

15、。級??刂七壿嫴糠挚刂七壿嫴糠?,對芯片內(nèi)部的工作進行控制,使,對芯片內(nèi)部的工作進行控制,使它按編程的規(guī)定工作。它按編程的規(guī)定工作。 8259A的引腳的引腳 雙列直插式芯片,雙列直插式芯片,28個引腳個引腳 方方 波波鍵鍵 盤盤保保 留留串串 口口2 硬硬 盤盤軟軟 盤盤打印機打印機IOW18.2HzA0CS8259A總線總線A0數(shù)數(shù) 據(jù)據(jù) 線線 IORRDWR片片選選譯譯碼碼IR0IR1IR2IR3IR4IR5IR6IR7A1A7D0D7D0D7VccSP/ENCAS0CAS1CAS2GND+ 5V用于多片用于多片8259A級連情況級連情況INTAINT INTA INTR串串 口口1 定時器

16、定時器8259A8259A的中斷順序的中斷順序 (1) 當有一條或若干條中斷請求輸入線當有一條或若干條中斷請求輸入線(IR7IR0)變變高,則使中斷請求寄存器高,則使中斷請求寄存器IRR的相應(yīng)位置位。的相應(yīng)位置位。 (2) 若中斷請求線中至少有一條是中斷允許的,則若中斷請求線中至少有一條是中斷允許的,則8259A由由INT引腳向引腳向CPU送出中斷請求信號。送出中斷請求信號。 (3) 若若CPU是處在開中斷狀態(tài),則在當前指令執(zhí)行完是處在開中斷狀態(tài),則在當前指令執(zhí)行完以后,用以后,用INTA信號作為響應(yīng)。信號作為響應(yīng)。 (4) 8259A在接收到在接收到CPU的的INTA信號后,使最高優(yōu)先信號后

17、,使最高優(yōu)先權(quán)的權(quán)的ISR位置位,而相應(yīng)的位置位,而相應(yīng)的IRR位復(fù)位。位復(fù)位。 (5) CPU(5) CPU將啟動另一個中斷響應(yīng)周期,輸出另一個將啟動另一個中斷響應(yīng)周期,輸出另一個INTAINTA脈沖。在這個周期脈沖。在這個周期8259A8259A向數(shù)據(jù)總線輸送一個向數(shù)據(jù)總線輸送一個8 8位的位的指針指針( (向量向量) )。CPUCPU在此周期中,讀取此向量把它乘以在此周期中,讀取此向量把它乘以4 4,就可以從中斷服務(wù)程序入口地址表中取出中斷服務(wù)程序就可以從中斷服務(wù)程序入口地址表中取出中斷服務(wù)程序的入口地址的入口地址 (6) (6) 這樣中斷響應(yīng)周期就完成了,這樣中斷響應(yīng)周期就完成了,CP

18、UCPU就可以轉(zhuǎn)至中就可以轉(zhuǎn)至中斷服務(wù)程序。斷服務(wù)程序。8259A8259A的編程的編程8259A8259A的編程可以分為兩種:的編程可以分為兩種:(1 1)初始化編程)初始化編程:由:由CPUCPU向向8259A8259A送送2 24 4個字節(jié)的初個字節(jié)的初始化命令字始化命令字ICWICW(Initialization Command WordInitialization Command Word)。在)。在8259A8259A開始正常工作之前,必須先送初始化命令字。開始正常工作之前,必須先送初始化命令字。(2 2)工作方式編程)工作方式編程:由:由CPUCPU向向8259A8259A送三個

19、字節(jié)的工送三個字節(jié)的工作命令字作命令字OCWOCW(Operation Command WordOperation Command Word)。以規(guī)定)。以規(guī)定8259A8259A的工作方式,例如:的工作方式,例如: 中斷屏蔽中斷屏蔽 結(jié)束中斷結(jié)束中斷 優(yōu)先權(quán)旋轉(zhuǎn)優(yōu)先權(quán)旋轉(zhuǎn) 中斷狀態(tài)中斷狀態(tài)工作命令字可在工作命令字可在8259A8259A已經(jīng)初始化以后的任何時間寫已經(jīng)初始化以后的任何時間寫入。入。1 18259A8259A的初始化編程的初始化編程對對8259A8259A的初始化編程是向它輸送的初始化編程是向它輸送2 24 4個字節(jié)的初個字節(jié)的初始化命令字,其順序如圖所示。始化命令字,其順序如圖

20、所示。ICW1ICW1和和ICW2ICW2是必須送的,而是必須送的,而ICW3ICW3和和ICW4ICW4是由工作是由工作方式來選擇的。方式來選擇的。 8259A 8259A初始化順序初始化順序 ICW1 ICW1的功能的功能 ICW2 ICW2的功能的功能 ICW3 ICW3的功能的功能 ICW4 ICW4的功能的功能2 28259A8259A的工作命令字的工作命令字在對在對8259A8259A進行了初始化編程(輸送了適當?shù)某跏歼M行了初始化編程(輸送了適當?shù)某跏蓟钭郑┲螅酒炎骱昧私邮罩袛嗾埱筝斎氲幕钭郑┲?,芯片已作好了接收中斷請求輸入的準備。在準備。?259A8259A的工

21、作期間可由工作命令字以規(guī)定其各的工作期間可由工作命令字以規(guī)定其各種工作方式。種工作方式。 OCW1 OCW1的功能的功能 中斷屏蔽命令字中斷屏蔽命令字OCW1OCW1 OCW2 OCW2的功能的功能 OCW3 OCW3的功能的功能 1 1查詢方式查詢方式 2 2中斷屏蔽中斷屏蔽 3 3緩沖模式緩沖模式 4 4中斷嵌套模式中斷嵌套模式 5 5中斷優(yōu)先權(quán)旋轉(zhuǎn)中斷優(yōu)先權(quán)旋轉(zhuǎn) 6 6中斷結(jié)束命令中斷結(jié)束命令 7 7讀讀8259A8259A的狀態(tài)的狀態(tài) 8 88259A8259A的級連的級連1. 查詢方式查詢方式當系統(tǒng)的中斷源很多,超過了當系統(tǒng)的中斷源很多,超過了64個時,則個時,則8259A芯片可以工

22、作在查詢方式。此時,在芯片可以工作在查詢方式。此時,在8259A的編的編程中,使程中,使OCW3的的D2位位P置為置為1。程序中令。程序中令CPU關(guān)中斷,關(guān)中斷,用查詢方式對外設(shè)進行服務(wù)。用查詢方式對外設(shè)進行服務(wù)。在令在令OCW3的的D2位位P置為置為1后的下一個讀命令,被后的下一個讀命令,被8259A看作是中斷響應(yīng)信號,使最高優(yōu)先權(quán)的看作是中斷響應(yīng)信號,使最高優(yōu)先權(quán)的ISR的相的相應(yīng)位置位。讀命令從數(shù)據(jù)總線上讀取一個字節(jié),其內(nèi)應(yīng)位置位。讀命令從數(shù)據(jù)總線上讀取一個字節(jié),其內(nèi)容為:容為: 其中其中I=1,表示此片,表示此片8259A有中斷請求,有中斷請求,I=0則無中則無中斷,可查詢別的芯片。在

23、斷,可查詢別的芯片。在I=1時,時,W2W0即為有中斷即為有中斷請求的最高優(yōu)先權(quán)源的編碼。請求的最高優(yōu)先權(quán)源的編碼。 2. 2. 中斷屏蔽中斷屏蔽8259A8259A的的8 8個中斷請求線的每一條都可根據(jù)需要單獨個中斷請求線的每一條都可根據(jù)需要單獨屏蔽,屏蔽,OCW1OCW1寫入主屏蔽字寄存器,它的每一位可對相應(yīng)寫入主屏蔽字寄存器,它的每一位可對相應(yīng)的請求線實現(xiàn)屏蔽。的請求線實現(xiàn)屏蔽。在某些應(yīng)用場合,可能要求能在軟件的控制下動態(tài)在某些應(yīng)用場合,可能要求能在軟件的控制下動態(tài)地改變系統(tǒng)的優(yōu)先權(quán)結(jié)構(gòu)。也就是若地改變系統(tǒng)的優(yōu)先權(quán)結(jié)構(gòu)。也就是若CPUCPU正處在中斷服正處在中斷服務(wù)過程中,希望能屏蔽一些

24、較低優(yōu)先權(quán)的中斷源的中斷,務(wù)過程中,希望能屏蔽一些較低優(yōu)先權(quán)的中斷源的中斷,而允許一些優(yōu)先權(quán)更低的中斷源申請中斷。而允許一些優(yōu)先權(quán)更低的中斷源申請中斷。 8259A8259A中有一種特殊屏蔽模式。若在中有一種特殊屏蔽模式。若在OCW3OCW3中的中的D6D6位位ESMM=1ESMM=1,且,且D5D5位位SMM=1SMM=1,則使,則使8259A8259A工作在特殊的屏蔽模工作在特殊的屏蔽模式。此時,由式。此時,由OCW1OCW1寫入的屏蔽字中為寫入的屏蔽字中為“1”1”的這些位的的這些位的中斷被屏蔽,而為中斷被屏蔽,而為“0”0”的這些位的中斷不管其優(yōu)先權(quán)的這些位的中斷不管其優(yōu)先權(quán)如何,在任

25、何情況下都可以申請中斷。如何,在任何情況下都可以申請中斷。3. 緩沖模式緩沖模式當當8259A在一個大的系統(tǒng)中使用,且在一個大的系統(tǒng)中使用,且8259A要求級連,要求級連,則要求數(shù)據(jù)總線有總線驅(qū)動緩沖器,也就要求有一個緩則要求數(shù)據(jù)總線有總線驅(qū)動緩沖器,也就要求有一個緩沖器的允許信號。當編程規(guī)定使沖器的允許信號。當編程規(guī)定使8259A工作在緩沖模式,工作在緩沖模式,則則8259A送出一個允許信號送出一個允許信號SP/EN,每當,每當8259A的數(shù)據(jù)總的數(shù)據(jù)總線輸出是允許的,線輸出是允許的,SP/EN輸出變?yōu)橛行?。輸出變?yōu)橛行?。在緩沖器模式,必須在初始化編程時規(guī)定此片在緩沖器模式,必須在初始化編程

26、時規(guī)定此片8259A是主還是從。是主還是從。以上的工作方式是由以上的工作方式是由ICW4決定的。決定的。 4. 4. 中斷嵌套模式中斷嵌套模式在在8259A8259A中有兩種中斷嵌套模式:中有兩種中斷嵌套模式: 全嵌套模式和特全嵌套模式和特殊全嵌套模式。殊全嵌套模式。(1) (1) 全嵌套模式全嵌套模式當工作在全嵌套模式時,在初始化編程以后,中斷當工作在全嵌套模式時,在初始化編程以后,中斷優(yōu)先權(quán)是固定的,且優(yōu)先權(quán)是固定的,且IR0IR0優(yōu)先權(quán)最高,優(yōu)先權(quán)最高,IR7IR7優(yōu)先權(quán)最低優(yōu)先權(quán)最低( (除除非用優(yōu)先權(quán)旋轉(zhuǎn)的辦法來改變非用優(yōu)先權(quán)旋轉(zhuǎn)的辦法來改變) )。(2) (2) 特殊全嵌套模式特殊

27、全嵌套模式若在一個大的系統(tǒng)中,若在一個大的系統(tǒng)中,8259A8259A用在級連情況下,就需用在級連情況下,就需要采用特殊的全嵌套模式。在這種模式下與全嵌套模式要采用特殊的全嵌套模式。在這種模式下與全嵌套模式的工作情況基本上是相同的,只有以下兩點不同。的工作情況基本上是相同的,只有以下兩點不同。 5. 5. 中斷優(yōu)先權(quán)旋轉(zhuǎn)中斷優(yōu)先權(quán)旋轉(zhuǎn)在實際應(yīng)用中,中斷源的優(yōu)先權(quán)的情況是比較復(fù)雜在實際應(yīng)用中,中斷源的優(yōu)先權(quán)的情況是比較復(fù)雜的,不一定有明顯的等級,而且優(yōu)先權(quán)還有可能改變。的,不一定有明顯的等級,而且優(yōu)先權(quán)還有可能改變。所以,不能總是規(guī)定所以,不能總是規(guī)定IR0IR0優(yōu)先權(quán)最高,而優(yōu)先權(quán)最高,而IR

28、7IR7優(yōu)先權(quán)最低,優(yōu)先權(quán)最低,而要能根據(jù)情況來改變。在而要能根據(jù)情況來改變。在8259A8259A中有兩種改變優(yōu)先權(quán)中有兩種改變優(yōu)先權(quán)的辦法。的辦法。 (1) (1) 自動旋轉(zhuǎn)自動旋轉(zhuǎn) (2) (2) 特殊旋轉(zhuǎn)方式特殊旋轉(zhuǎn)方式 6. 6. 中斷結(jié)束命令中斷結(jié)束命令 當某一個中斷源的服務(wù)完成時,必須給當某一個中斷源的服務(wù)完成時,必須給8259A8259A一個一個中斷結(jié)束命令,使這個源在中斷結(jié)束命令,使這個源在ISRISR中的相應(yīng)位復(fù)位。在不中的相應(yīng)位復(fù)位。在不同的工作情況下,同的工作情況下,8259A8259A可以有幾種不同的給出中斷結(jié)可以有幾種不同的給出中斷結(jié)束命令的方法。束命令的方法。(1

29、) (1) 自動中斷結(jié)束模式自動中斷結(jié)束模式(AEOI)(AEOI) (2) (2) 非自動中斷結(jié)束方式非自動中斷結(jié)束方式(EOI)(EOI)7. 7. 讀讀8259A8259A的狀態(tài)的狀態(tài) 8259A8259A內(nèi)部幾個寄存器的狀態(tài),可以讀至內(nèi)部幾個寄存器的狀態(tài),可以讀至CPUCPU中,以中,以供用戶了解供用戶了解8259A8259A的工作狀況。的工作狀況。 在讀命令之前,輸出一個在讀命令之前,輸出一個OCW3OCW3,令其中,令其中RR=1,RIS=0RR=1,RIS=0,則用讀命令可以讀入中斷請求寄存器,則用讀命令可以讀入中斷請求寄存器IRRIRR的狀態(tài)。的狀態(tài)。 在一個讀命令之前,輸出一

30、個在一個讀命令之前,輸出一個OCW3OCW3,其中,其中RR=1,RIS=1RR=1,RIS=1,則用讀命令可以讀入正在服務(wù)的中斷寄,則用讀命令可以讀入正在服務(wù)的中斷寄存器存器ISRISR的狀態(tài)。的狀態(tài)。當用讀命令,而地址總線的當用讀命令,而地址總線的A0A0為為0 0,則可讀入中斷,則可讀入中斷屏蔽寄存器屏蔽寄存器IMRIMR的狀態(tài)。的狀態(tài)。 8. 8259A8. 8259A的級連的級連 在一個系統(tǒng)中,在一個系統(tǒng)中,8259A8259A可以級連,有一個主可以級連,有一個主8259A8259A,若干個從若干個從8259A8259A,最多可以有,最多可以有8 8個從個從8259A8259A,把中

31、斷源,把中斷源擴展到擴展到6464個。個。8259A8259A級連的典型情況如圖所示。主級連的典型情況如圖所示。主8259A8259A的三條的三條級連線級連線CAS0CAS0、CAS1CAS1、CAS2CAS2作為輸出線,連至每一個從作為輸出線,連至每一個從8259A8259A的的CAS0CAS0、CAS1CAS1、CAS2CAS2。每個從。每個從8259A8259A的中斷請求的中斷請求信號信號INTINT,連至主,連至主8259A8259A的一個中斷請求輸入端。主的一個中斷請求輸入端。主8259A8259A的的INTINT線連至線連至CPUCPU的中斷請求輸入端。的中斷請求輸入端。 8259

32、A 8259A的級連的級連 8.5 8086 8.5 8086微處理器的中斷方式微處理器的中斷方式 一、一、80868086的中斷源的中斷源 80868086中斷系統(tǒng)有兩大類型的中斷源,一類是由外部中斷系統(tǒng)有兩大類型的中斷源,一類是由外部設(shè)備產(chǎn)生的中斷,我們稱之為設(shè)備產(chǎn)生的中斷,我們稱之為硬件中斷硬件中斷,硬件中斷有,硬件中斷有時又稱外中斷。另一類是由指令在某種運行結(jié)果時產(chǎn)時又稱外中斷。另一類是由指令在某種運行結(jié)果時產(chǎn)生的中斷,我們稱之為生的中斷,我們稱之為軟件中斷軟件中斷。另外對于硬件中斷,。另外對于硬件中斷,又分為不可又分為不可( (非非) )屏蔽中斷和可屏蔽中斷,硬件中斷是屏蔽中斷和可屏

33、蔽中斷,硬件中斷是通過通過CPUCPU芯片的芯片的INTRINTR管腳或管腳或NMINMI管腳從外部引入的。管腳從外部引入的。 中斷類型號和中斷服務(wù)子程序的入口地址之間的關(guān)中斷類型號和中斷服務(wù)子程序的入口地址之間的關(guān)系:系: 中斷類型號n40000:4n+00000:4n+10000:4n+20000:4n+30010002010002000IPCS內(nèi)存二、不可屏蔽中斷二、不可屏蔽中斷 所謂不可屏蔽中斷就是用戶不通過所謂不可屏蔽中斷就是用戶不通過CPUCPU內(nèi)內(nèi)的中斷允許觸發(fā)器的中斷允許觸發(fā)器IFIF控制的中斷,由控制的中斷,由8086CPU8086CPU的的NMINMI管腳引入。管腳引入。N

34、MINMI中斷請求采用上升沿觸發(fā)中斷請求采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)生,在方式,這種中斷一旦產(chǎn)生,在CPUCPU內(nèi)部直接生內(nèi)部直接生成中斷類型號成中斷類型號0202。 0000:4*2+00000:4*2+10000:4*2+20000:4*2+30010002010002000IPCS內(nèi)存IF0IP,CS,FR進棧IP=2*4+0CS=2*4+2三、三、 可屏蔽中斷可屏蔽中斷 可屏蔽中斷就是用戶可以控制的中斷,其可屏蔽中斷就是用戶可以控制的中斷,其途徑是通過對途徑是通過對CPUCPU內(nèi)的中斷允許觸發(fā)器內(nèi)的中斷允許觸發(fā)器IFIF的設(shè)的設(shè)置來禁止和允許置來禁止和允許CPUCPU響應(yīng)中斷???/p>

35、屏蔽中斷由響應(yīng)中斷??善帘沃袛嘤?086CPU8086CPU的的INTRINTR管腳引入。管腳引入。這種中斷請求需要這種中斷請求需要設(shè)備提供中斷類型號設(shè)備提供中斷類型號,CPUCPU響應(yīng)中斷后,取中響應(yīng)中斷后,取中斷類型號的斷類型號的4 4倍作為中斷服務(wù)入口地址表的地倍作為中斷服務(wù)入口地址表的地址,通過查表得到相應(yīng)的中斷服務(wù)程序首地址,址,通過查表得到相應(yīng)的中斷服務(wù)程序首地址,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。 0000:4*n+00000:4*n+10000:4*n+20000:4*n+30010002010002000內(nèi)存IF0IP,CS,FR進棧IP=2*n+0CS

36、=2*n+2取中斷類型號n四、四、80868086中斷系統(tǒng)中斷系統(tǒng)1 1、軟件中斷、軟件中斷 軟件中斷是由中斷指令引起的。軟件中斷是由中斷指令引起的。 中斷指令的指令格式為中斷指令的指令格式為 INT nINT n,操作數(shù),操作數(shù)n n就就是中斷類型號。當是中斷類型號。當CPUCPU執(zhí)行完畢中斷指令執(zhí)行完畢中斷指令I(lǐng)NT nINT n后,后,就會立即產(chǎn)生一個中斷類型號為就會立即產(chǎn)生一個中斷類型號為n n的中斷。的中斷。(1)(1)除法中斷除法中斷 當進行除法運算時,若除數(shù)為當進行除法運算時,若除數(shù)為0 0或除數(shù)太小,使或除數(shù)太小,使得商數(shù)大于相應(yīng)寄存器所能表示的最大值,被稱作得商數(shù)大于相應(yīng)寄存

37、器所能表示的最大值,被稱作除法出錯。這時除法指令就相當于一個中斷源,它除法出錯。這時除法指令就相當于一個中斷源,它向向CPUCPU發(fā)出發(fā)出類型類型0 0中斷。中斷。 (2) (2) 溢出中斷溢出中斷 當算術(shù)運算產(chǎn)生溢出時,將在當算術(shù)運算產(chǎn)生溢出時,將在INTOINTO指令控制下指令控制下向向CPUCPU發(fā)出發(fā)出類型類型4 4的中斷,即溢出中斷。的中斷,即溢出中斷。(3)(3)單步中斷單步中斷當當8086CPU8086CPU的標志寄存器中的的標志寄存器中的TFTF標志為標志為1 1時時8086CPU8086CPU處于單步工作方式,這時處于單步工作方式,這時CPUCPU在每條指令在每條指令執(zhí)行后自

38、動產(chǎn)生執(zhí)行后自動產(chǎn)生類型類型l l的中斷。的中斷。五、中斷概念的再討論五、中斷概念的再討論1 1、中斷與調(diào)子程序之間的關(guān)系、中斷與調(diào)子程序之間的關(guān)系 (1)(1)中斷過程實際上是中斷過程實際上是CPUCPU從執(zhí)行當前主程序轉(zhuǎn)到從執(zhí)行當前主程序轉(zhuǎn)到執(zhí)行為外設(shè)服務(wù)的子程序,因此從這個角度來看,執(zhí)行為外設(shè)服務(wù)的子程序,因此從這個角度來看,中斷過程是一個調(diào)用子程序的過程。中斷過程是一個調(diào)用子程序的過程。(2)(2)中斷過程與子程序調(diào)用還是有很大差別的,首中斷過程與子程序調(diào)用還是有很大差別的,首先調(diào)用子程序的過程是一個先調(diào)用子程序的過程是一個無條件過程無條件過程,但中斷,但中斷過程的中斷服務(wù)程序的調(diào)用一

39、般是過程的中斷服務(wù)程序的調(diào)用一般是有條件有條件的。其的。其次次, ,子程序調(diào)用在整個程序執(zhí)行中的子程序調(diào)用在整個程序執(zhí)行中的位置是固定位置是固定的。但對于硬件中斷過程,只要條件滿足,在整的。但對于硬件中斷過程,只要條件滿足,在整個程序執(zhí)行的任意一時間點都有可能發(fā)生從主程個程序執(zhí)行的任意一時間點都有可能發(fā)生從主程序向中斷服務(wù)子程序的轉(zhuǎn)移事件,也就是說硬件序向中斷服務(wù)子程序的轉(zhuǎn)移事件,也就是說硬件中斷產(chǎn)生的調(diào)用過程是中斷產(chǎn)生的調(diào)用過程是隨機的隨機的,不可預(yù)測的。,不可預(yù)測的。 2 2、外部中斷和、外部中斷和 INT n INT n 之間的關(guān)系之間的關(guān)系 結(jié)合中斷指令結(jié)合中斷指令I(lǐng)NT nINT n

40、,我們可以這樣理解外部中,我們可以這樣理解外部中斷:當外部中斷源發(fā)中斷給斷:當外部中斷源發(fā)中斷給CPUCPU時,如果時,如果CPUCPU滿足一滿足一定的條件,處于開中斷狀態(tài),定的條件,處于開中斷狀態(tài),CPUCPU就可以響應(yīng)中斷,就可以響應(yīng)中斷,這時外設(shè)在這時外設(shè)在CPUCPU正在執(zhí)行指令與其下一個指令之間,正在執(zhí)行指令與其下一個指令之間,等效等效“插入插入”了一個了一個INT nINT n指令,這里的指令,這里的n n就是外設(shè)就是外設(shè)提供的中斷類型號。注意這里用提供的中斷類型號。注意這里用“等效等效”兩字表示兩字表示實際過程中是不存在插入實際過程中是不存在插入INT nINT n指令的操作,但指令的操作,但CPUCPU確實完成了類似確實完成了類似INT nINT n指令的功能,實現(xiàn)了主程序指令的功能,實現(xiàn)了主程序向中斷程序的轉(zhuǎn)移。向中斷程序的轉(zhuǎn)移。 8086CPU 8086CPU的中斷管理的中斷管理一、一、8086CPU8086CPU的中斷處理順序的中斷處理順序 8086CPU8086CPU的中斷優(yōu)先權(quán)排列從高到

溫馨提示

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

評論

0/150

提交評論