計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第1頁
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第2頁
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第3頁
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第4頁
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、程序中斷方式,8.3 程序中斷方式,8.3.1中斷的概念、功能 8.3.2程序中斷方式的基本接口 8.3.3單級中斷 8.3.4多級中斷 8.3.5Pentium中斷機(jī)制,8.3.1中斷的概念、功能,中斷(Interrupt)是指CPU暫時中止現(xiàn)行程序,轉(zhuǎn)去處理隨機(jī)發(fā)生的緊急事件,處理完后自動返回原程序的功能和技術(shù)。 中斷系統(tǒng)是計(jì)算機(jī)實(shí)現(xiàn)中斷功能的軟硬件總稱。一般在CPU中設(shè)置中斷機(jī)構(gòu),在外設(shè)接口中設(shè)置中斷控制器,在軟件上設(shè)置相應(yīng)的中斷服務(wù)程序。,8.3.1中斷的概念、功能,中斷適合于處理隨機(jī)出現(xiàn)的事務(wù) 主程序只在設(shè)備就緒時才與之交互數(shù)據(jù),8.3.1中斷的概念、功能,中斷系統(tǒng)的功能包括: 1)

2、實(shí)現(xiàn)主機(jī)和外設(shè)的并行工作; 2)處理故障; 3)實(shí)現(xiàn)多道程序的分時操作; 4)實(shí)時控制; 5)實(shí)現(xiàn)人機(jī)聯(lián)系; 6)實(shí)現(xiàn)多機(jī)通信。,8.3.1中斷的概念、功能,中斷源:能夠向CPU發(fā)出中斷請求的事件。 常見中斷源有: 輸入、輸出設(shè)備中斷。如鍵盤、打印機(jī)等工作過程中已做好接收或發(fā)送準(zhǔn)備。 數(shù)據(jù)通道中斷。如磁盤、磁帶等要同主機(jī)進(jìn)行數(shù)據(jù)交換等。 實(shí)時時鐘中斷。 故障中斷。例如電源掉電、設(shè)備故障等要求CPU進(jìn)行緊急處理等。 系統(tǒng)中斷。如運(yùn)算過程出現(xiàn)溢出、數(shù)據(jù)格式非法,數(shù)據(jù)傳送過程出現(xiàn)校驗(yàn)錯,控制器遇到非法指令等等。 為了調(diào)試程序而設(shè)置的中斷。,8.3.1中斷的概念、功能,硬件實(shí)現(xiàn),軟件實(shí)現(xiàn),不再接中斷,

3、可再接中斷,8.3.1中斷的概念、功能,中斷處理過程注意幾個問題: 響應(yīng)中斷時機(jī):外界中斷請求是隨機(jī)的,但CPU只有在當(dāng)前指令執(zhí)行完畢后,才轉(zhuǎn)至公操作 斷點(diǎn)保護(hù)問題(PC,寄存器內(nèi)容和狀態(tài)的保存) 中斷屏蔽:開中斷和關(guān)中斷問題。 中斷是由軟硬件結(jié)合起來實(shí)現(xiàn)的,8.3.2程序中斷方式的基本I/O接口,數(shù)據(jù)緩沖寄存器 BS外設(shè)接口忙(BuSy)標(biāo)志 RD外設(shè)準(zhǔn)備就緒(ReaDy)標(biāo)志 EI(Enable Interrupt中斷允許觸發(fā)器) IR(Interrupt Request)中斷請求觸發(fā)器 IM(Interrupt Mask)中斷屏蔽觸發(fā)器,8.3.2程序中斷方式的基本接口,表示由程序啟動外

4、設(shè),將該外設(shè)接口的“忙”標(biāo)志BS置“1”,“準(zhǔn)備就緒”標(biāo)志RD清“0”;,表示接口向外設(shè)發(fā)出啟動信號;,表示數(shù)據(jù)由外設(shè)傳送到接口的緩沖寄存器;,表示當(dāng)設(shè)備動作結(jié)束或緩沖寄存器數(shù)據(jù)填滿時,設(shè)備向接口送出一 控制信號,將數(shù)據(jù)“準(zhǔn)備就緒”標(biāo)志RD置“1”;,表示允許中斷標(biāo)志EI為“1”時,接口向CPU發(fā)出中斷請求信號;,表示在一條指令執(zhí)行末尾CPU檢查中斷請求線, 將中斷請求線的請求信號接收到“中斷請求”標(biāo)志IR;,表示如果“中斷屏蔽”標(biāo)志IM為“0”時,CPU在一條指令執(zhí)行結(jié)束 后受理外設(shè)的中斷請求,向外設(shè)發(fā)出響應(yīng)中斷信號并關(guān)閉中斷;,表示轉(zhuǎn)向該設(shè)備的中斷服務(wù)程序入口;,表示中斷服務(wù)程序通過輸入指

5、令把接口中數(shù)據(jù)緩沖寄存器的數(shù)據(jù)讀至CPU中的寄存器;,(10)表示CPU發(fā)出控制信號C將接口中的BS和RD標(biāo)志復(fù)位。,8.3.3單級中斷,所有中斷源屬于同一級,離CPU越近,優(yōu)先級越高。 要點(diǎn):在執(zhí)行某個中斷請求的過程中,不允許其他中斷源再打斷中斷服務(wù)程序。即使其優(yōu)先級別更高。 單級中斷示意圖8.7類似于第六章的鏈?zhǔn)讲樵兎绞健?8.3.3單級中斷,中斷響應(yīng):,8.3.3單級中斷,中斷源的識別:串行排隊(duì)鏈法(菊花鏈查詢方式) IR1,IR2,IR3為中斷請求信號 IS1,IS2,IS3為中斷選中信號 INTI為中斷排隊(duì)輸入 INTO為中斷排隊(duì)輸出 中斷源識別之后獲取中斷向量 當(dāng)CPU響應(yīng)中斷時,

6、由硬件直接產(chǎn)生一個固定的地址(即向量地址) 由向量地址指出每個中斷源設(shè)備的中斷服務(wù)程序入口,這種方法通常稱為向量中斷。,8.3.4多級中斷,概念:多級中斷系統(tǒng)是指計(jì)算機(jī)系統(tǒng)中有相當(dāng)多的中斷源,根據(jù)各中斷事件的輕重緩急程度不同而分成若干級別,每一中斷級分配給一個優(yōu)先權(quán)。 多級指的是優(yōu)先權(quán)級別有多個 每級有一個中斷優(yōu)先權(quán) 優(yōu)先權(quán)高的中斷級別級可以打斷低的級別 如圖8.9示,8.3.4多級中斷,-多級中斷可分為一維多級中斷和二維多級中斷 一維多級中斷:每一級中斷中有一個中斷源。 二維多級中斷:每一級中斷中有多個中斷源 -說明: 中斷響應(yīng)時,確定哪一級中斷和中斷源采用硬件實(shí)現(xiàn)。采用了獨(dú)立請求方式和鏈?zhǔn)?/p>

7、查詢方式相結(jié)合的方式。多級中斷可以嵌套,但同一級的中斷不允許嵌套 使用多級堆棧保存現(xiàn)場(包括IM) 一個系統(tǒng)有n級中斷,則CPU中有n個IR,n個IM,某級中斷被響應(yīng)后,則關(guān)閉本級和低于本級的IM,開放更高級的IM。,8.3.4多級中斷,8.3.4多級中斷,多級中斷源的識別 中斷優(yōu)先排隊(duì)電路 中斷向量產(chǎn)生電路,舉例,例1、參見圖8.9所示的二維中斷系統(tǒng)。請問: (1)在中斷情況下,CPU和設(shè)備的優(yōu)先級如何考慮?請按降序排列各設(shè)備的中斷優(yōu)先級。 答:在中斷情況下,CPU的優(yōu)先級最低。各設(shè)備的優(yōu)先次序是:ABCDEFGHICPU。,(2)若CPU現(xiàn)執(zhí)行設(shè)備B的中斷服務(wù)程序,IM2,IM1,IM0的

8、狀態(tài)是什么?如果CPU執(zhí)行設(shè) 備D的中斷服務(wù)程序,IM2,IM1,IM0的狀態(tài)又是什么? 答:當(dāng)前執(zhí)行B的中斷: IM2,IM1,IM0為111 當(dāng)前執(zhí)行D的中斷: IM2,IM1,IM0為011,(3)每一級的IM能否對某個優(yōu)先級的個別設(shè)備單獨(dú)進(jìn)行屏蔽?如果不能,采取什么辦法可達(dá)到目的? 答:不能,因?yàn)楣灿肐M。 通過設(shè)置允許中斷觸發(fā)器為0,禁止該設(shè)備發(fā)出中斷,對其屏蔽。,(4)假如設(shè)備C一提出中斷請求,CPU立即進(jìn)行響應(yīng),如何調(diào)整才能滿足此要求? 答:增加更高一級(第3級)的中斷請求邏輯,將C單獨(dú)放置于第3級中。,例2(略):參見例1所示的系統(tǒng),只考慮A,B,C三個設(shè)備組成的單級中斷結(jié)構(gòu),

9、它要求CPU在執(zhí)行完當(dāng)前指令時對中斷請求進(jìn)行服務(wù)。假設(shè):(1)CPU“中斷批準(zhǔn)”機(jī)構(gòu)在響應(yīng)一個新的中斷之前,先要讓被中斷的程序的一條指令一定要執(zhí)行完畢;(2)TDC為查詢鏈中每個設(shè)備的延遲時間;(3)TA,TB,TC分別為設(shè)備A,B,C的服務(wù)程序所需的執(zhí)行時間; (4)TS,TR為保存現(xiàn)場和恢復(fù)現(xiàn)場所需的時間;(5)主存工作周期為TM。 試問:就這個中斷請求環(huán)境來說,系統(tǒng)在什么情況下達(dá)到中斷飽和?,中斷處理流程,并假設(shè)執(zhí)行一條指令的時間也為TM。如果三個設(shè)備同時發(fā)出中斷請求,那么依次分別處理設(shè)備A、設(shè)備B、設(shè)備C的時間如下: tA = 2TM + TDC + TS + TA + TR tB =

10、 2TM + 2TDC + TS + TB + TR tC = 2TM + 3TDC + TS + TC + TR 處理三個設(shè)備所需的總時間為:T=tA+tB+tC T是達(dá)到中斷飽和的最小時間,即中斷極限頻率為:f=1/T,訪問存儲器Tm,訪問存儲器Tm,0、指令周期 1、鏈?zhǔn)讲樵僒dc 2、保護(hù)現(xiàn)場Ts 3、恢復(fù)現(xiàn)場Tr,8.3.5中斷控制器,8259中斷控制器是一個集成電路芯片,它將中斷接口與優(yōu)先級判斷等功能匯集于一身,常用于微型機(jī)系統(tǒng)。其內(nèi)部結(jié)構(gòu)如圖8.11所示。 8位中斷請求寄存器(IR)接受8個外部設(shè)備送來的中斷請求,每一位對應(yīng)一個設(shè)備。 中斷請求寄存器的各位送入優(yōu)先權(quán)判斷器,根據(jù)中

11、斷屏蔽寄存器(IM)各位的狀態(tài)來決定最高優(yōu)先級的中斷請求,并將各位的狀態(tài)送入中斷狀態(tài)寄存器IS。IS保存著判優(yōu)結(jié)果。由控制邏輯向CPU發(fā)出中斷請求信號INT,并接受CPU的中斷響應(yīng)信號INTA。 數(shù)據(jù)緩沖器用于保存CPU內(nèi)部總線與系統(tǒng)數(shù)據(jù)總線之間進(jìn)行傳送的數(shù)據(jù)。 讀/寫邏輯決定數(shù)據(jù)傳送的方向,其中IOR為讀控制,IOW為寫控制,CS為設(shè)備選擇,A0為I/O端口識別。,8.3.5中斷控制器(略),多個8259進(jìn)行級聯(lián)以處理多達(dá)64個中斷請求。在這種情況下允許有一個主中斷控制器和多個從中斷控制器,稱為主從系統(tǒng)。 優(yōu)先級選擇方式有四種: 完全嵌套方式:是一種固定優(yōu)先級方式,連至IR0的設(shè)備優(yōu)先級最高

12、,IR7的優(yōu)先級最低。這種固定優(yōu)先級方式對級別低的中斷不利,在有些情況下最低級別的中斷請求可能一直不能被處理。 輪換優(yōu)先級方式A:每個級別的中斷保證有機(jī)會被處理,將給定的中斷級別處理完后,立即把它放到最低級別的位置上去。 輪換優(yōu)先級方式B:要求CPU可在任何時間規(guī)定最優(yōu)優(yōu)先級,然后順序地規(guī)定其他IR線上的優(yōu)先級。 查詢方式:由CPU訪問8259的中斷狀態(tài)寄存器,一個狀態(tài)字能表示出正在請求中斷的最高優(yōu)先級IR線,并能表示出中斷請求是否有效。,8.3.5中斷控制器,8259提供了兩種屏蔽方式: 簡單屏蔽方式,提供8位屏蔽字,每位對應(yīng)著各自的IR線。被置位的任一位則禁止了對應(yīng)IR線上的中斷。 特殊屏蔽方式,允許CPU讓來自低優(yōu)先級的外設(shè)中斷請

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論