計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第1頁(yè)
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第2頁(yè)
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第3頁(yè)
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第4頁(yè)
計(jì)算機(jī)組成原理第八章 第3講 程序中斷方式_第5頁(yè)
已閱讀5頁(yè),還剩24頁(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)介

程序中斷方式2021/5/918.3程序中斷方式8.3.1中斷的概念、功能

8.3.2程序中斷方式的基本接口

8.3.3單級(jí)中斷8.3.4多級(jí)中斷8.3.5Pentium中斷機(jī)制2021/5/928.3.1中斷的概念、功能

中斷(Interrupt)是指CPU暫時(shí)中止現(xiàn)行程序,轉(zhuǎn)去處理隨機(jī)發(fā)生的緊急事件,處理完后自動(dòng)返回原程序的功能和技術(shù)。中斷系統(tǒng)是計(jì)算機(jī)實(shí)現(xiàn)中斷功能的軟硬件總稱。一般在CPU中設(shè)置中斷機(jī)構(gòu),在外設(shè)接口中設(shè)置中斷控制器,在軟件上設(shè)置相應(yīng)的中斷服務(wù)程序。2021/5/938.3.1中斷的概念、功能中斷適合于處理隨機(jī)出現(xiàn)的事務(wù)主程序只在設(shè)備就緒時(shí)才與之交互數(shù)據(jù)2021/5/948.3.1中斷的概念、功能中斷系統(tǒng)的功能包括:1)實(shí)現(xiàn)主機(jī)和外設(shè)的并行工作;2)處理故障;3)實(shí)現(xiàn)多道程序的分時(shí)操作;4)實(shí)時(shí)控制;5)實(shí)現(xiàn)人機(jī)聯(lián)系;6)實(shí)現(xiàn)多機(jī)通信。2021/5/958.3.1中斷的概念、功能中斷源:能夠向CPU發(fā)出中斷請(qǐng)求的事件。常見(jiàn)中斷源有:輸入、輸出設(shè)備中斷。如鍵盤(pán)、打印機(jī)等工作過(guò)程中已做好接收或發(fā)送準(zhǔn)備。數(shù)據(jù)通道中斷。如磁盤(pán)、磁帶等要同主機(jī)進(jìn)行數(shù)據(jù)交換等。實(shí)時(shí)時(shí)鐘中斷。故障中斷。例如電源掉電、設(shè)備故障等要求CPU進(jìn)行緊急處理等。系統(tǒng)中斷。如運(yùn)算過(guò)程出現(xiàn)溢出、數(shù)據(jù)格式非法,數(shù)據(jù)傳送過(guò)程出現(xiàn)校驗(yàn)錯(cuò),控制器遇到非法指令等等。為了調(diào)試程序而設(shè)置的中斷。2021/5/968.3.1中斷的概念、功能硬件實(shí)現(xiàn)軟件實(shí)現(xiàn)不再接中斷可再接中斷2021/5/978.3.1中斷的概念、功能中斷處理過(guò)程注意幾個(gè)問(wèn)題:響應(yīng)中斷時(shí)機(jī):外界中斷請(qǐng)求是隨機(jī)的,但CPU只有在當(dāng)前指令執(zhí)行完畢后,才轉(zhuǎn)至公操作斷點(diǎn)保護(hù)問(wèn)題(PC,寄存器內(nèi)容和狀態(tài)的保存)中斷屏蔽:開(kāi)中斷和關(guān)中斷問(wèn)題。中斷是由軟硬件結(jié)合起來(lái)實(shí)現(xiàn)的2021/5/988.3.2程序中斷方式的基本I/O接口數(shù)據(jù)緩沖寄存器BS外設(shè)接口忙(BuSy)標(biāo)志RD外設(shè)準(zhǔn)備就緒(ReaDy)標(biāo)志EI(EnableInterrupt中斷允許觸發(fā)器)IR(InterruptRequest)中斷請(qǐng)求觸發(fā)器IM(InterruptMask)中斷屏蔽觸發(fā)器2021/5/998.3.2程序中斷方式的基本接口①表示由程序啟動(dòng)外設(shè),將該外設(shè)接口的“忙”標(biāo)志BS置“1”,“準(zhǔn)備就緒”標(biāo)志RD清“0”;②表示接口向外設(shè)發(fā)出啟動(dòng)信號(hào);③表示數(shù)據(jù)由外設(shè)傳送到接口的緩沖寄存器;④表示當(dāng)設(shè)備動(dòng)作結(jié)束或緩沖寄存器數(shù)據(jù)填滿時(shí),設(shè)備向接口送出一控制信號(hào),將數(shù)據(jù)“準(zhǔn)備就緒”標(biāo)志RD置“1”;⑤表示允許中斷標(biāo)志EI為“1”時(shí),接口向CPU發(fā)出中斷請(qǐng)求信號(hào);⑥表示在一條指令執(zhí)行末尾CPU檢查中斷請(qǐng)求線,將中斷請(qǐng)求線的請(qǐng)求信號(hào)接收到“中斷請(qǐng)求”標(biāo)志IR;⑦表示如果“中斷屏蔽”標(biāo)志IM為“0”時(shí),CPU在一條指令執(zhí)行結(jié)束后受理外設(shè)的中斷請(qǐng)求,向外設(shè)發(fā)出響應(yīng)中斷信號(hào)并關(guān)閉中斷;⑧表示轉(zhuǎn)向該設(shè)備的中斷服務(wù)程序入口;⑨表示中斷服務(wù)程序通過(guò)輸入指令把接口中數(shù)據(jù)緩沖寄存器的數(shù)據(jù)讀至CPU中的寄存器;(10)表示CPU發(fā)出控制信號(hào)C將接口中的BS和RD標(biāo)志復(fù)位。2021/5/9108.3.3單級(jí)中斷所有中斷源屬于同一級(jí),離CPU越近,優(yōu)先級(jí)越高。要點(diǎn):在執(zhí)行某個(gè)中斷請(qǐng)求的過(guò)程中,不允許其他中斷源再打斷中斷服務(wù)程序。即使其優(yōu)先級(jí)別更高。單級(jí)中斷示意圖8.7類似于第六章的鏈?zhǔn)讲樵兎绞健?021/5/9118.3.3單級(jí)中斷中斷響應(yīng):2021/5/9128.3.3單級(jí)中斷中斷源的識(shí)別:串行排隊(duì)鏈法(菊花鏈查詢方式)IR1,IR2,IR3為中斷請(qǐng)求信號(hào)IS1,IS2,IS3為中斷選中信號(hào)INTI為中斷排隊(duì)輸入INTO為中斷排隊(duì)輸出中斷源識(shí)別之后獲取中斷向量當(dāng)CPU響應(yīng)中斷時(shí),由硬件直接產(chǎn)生一個(gè)固定的地址(即向量地址)由向量地址指出每個(gè)中斷源設(shè)備的中斷服務(wù)程序入口,這種方法通常稱為向量中斷。2021/5/9138.3.4多級(jí)中斷概念:多級(jí)中斷系統(tǒng)是指計(jì)算機(jī)系統(tǒng)中有相當(dāng)多的中斷源,根據(jù)各中斷事件的輕重緩急程度不同而分成若干級(jí)別,每一中斷級(jí)分配給一個(gè)優(yōu)先權(quán)。多級(jí)指的是優(yōu)先權(quán)級(jí)別有多個(gè)每級(jí)有一個(gè)中斷優(yōu)先權(quán)優(yōu)先權(quán)高的中斷級(jí)別級(jí)可以打斷低的級(jí)別如圖8.9示2021/5/9142021/5/9158.3.4多級(jí)中斷-多級(jí)中斷可分為一維多級(jí)中斷和二維多級(jí)中斷一維多級(jí)中斷:每一級(jí)中斷中有一個(gè)中斷源。二維多級(jí)中斷:每一級(jí)中斷中有多個(gè)中斷源-說(shuō)明:中斷響應(yīng)時(shí),確定哪一級(jí)中斷和中斷源采用硬件實(shí)現(xiàn)。采用了獨(dú)立請(qǐng)求方式和鏈?zhǔn)讲樵兎绞较嘟Y(jié)合的方式。多級(jí)中斷可以嵌套,但同一級(jí)的中斷不允許嵌套使用多級(jí)堆棧保存現(xiàn)場(chǎng)(包括IM)一個(gè)系統(tǒng)有n級(jí)中斷,則CPU中有n個(gè)IR,n個(gè)IM,某級(jí)中斷被響應(yīng)后,則關(guān)閉本級(jí)和低于本級(jí)的IM,開(kāi)放更高級(jí)的IM。2021/5/9168.3.4多級(jí)中斷2021/5/9178.3.4多級(jí)中斷多級(jí)中斷源的識(shí)別中斷優(yōu)先排隊(duì)電路中斷向量產(chǎn)生電路2021/5/918舉例例1、參見(jiàn)圖8.9所示的二維中斷系統(tǒng)。請(qǐng)問(wèn):(1)在中斷情況下,CPU和設(shè)備的優(yōu)先級(jí)如何考慮?請(qǐng)按降序排列各設(shè)備的中斷優(yōu)先級(jí)。答:在中斷情況下,CPU的優(yōu)先級(jí)最低。各設(shè)備的優(yōu)先次序是:A→B→C→D→E→F→G→H→I→CPU。2021/5/919(2)若CPU現(xiàn)執(zhí)行設(shè)備B的中斷服務(wù)程序,IM2,IM1,IM0的狀態(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為0112021/5/920(3)每一級(jí)的IM能否對(duì)某個(gè)優(yōu)先級(jí)的個(gè)別設(shè)備單獨(dú)進(jìn)行屏蔽?如果不能,采取什么辦法可達(dá)到目的?答:不能,因?yàn)楣灿肐M。通過(guò)設(shè)置允許中斷觸發(fā)器為0,禁止該設(shè)備發(fā)出中斷,對(duì)其屏蔽。2021/5/921(4)假如設(shè)備C一提出中斷請(qǐng)求,CPU立即進(jìn)行響應(yīng),如何調(diào)整才能滿足此要求?答:增加更高一級(jí)(第3級(jí))的中斷請(qǐng)求邏輯,將C單獨(dú)放置于第3級(jí)中。2021/5/922例2(略):參見(jiàn)例1所示的系統(tǒng),只考慮A,B,C三個(gè)設(shè)備組成的單級(jí)中斷結(jié)構(gòu),它要求CPU在執(zhí)行完當(dāng)前指令時(shí)對(duì)中斷請(qǐng)求進(jìn)行服務(wù)。假設(shè):(1)CPU“中斷批準(zhǔn)”機(jī)構(gòu)在響應(yīng)一個(gè)新的中斷之前,先要讓被中斷的程序的一條指令一定要執(zhí)行完畢;(2)TDC為查詢鏈中每個(gè)設(shè)備的延遲時(shí)間;(3)TA,TB,TC分別為設(shè)備A,B,C的服務(wù)程序所需的執(zhí)行時(shí)間;(4)TS,TR為保存現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)所需的時(shí)間;(5)主存工作周期為T(mén)M。試問(wèn):就這個(gè)中斷請(qǐng)求環(huán)境來(lái)說(shuō),系統(tǒng)在什么情況下達(dá)到中斷飽和?2021/5/9232021/5/924

中斷處理流程,并假設(shè)執(zhí)行一條指令的時(shí)間也為T(mén)M。如果三個(gè)設(shè)備同時(shí)發(fā)出中斷請(qǐng)求,那么依次分別處理設(shè)備A、設(shè)備B、設(shè)備C的時(shí)間如下:tA=2TM+TDC+TS+TA+TRtB=2TM+2TDC+TS+TB+TRtC=2TM+3TDC+TS+TC+TR處理三個(gè)設(shè)備所需的總時(shí)間為:T=tA+tB+tCT是達(dá)到中斷飽和的最小時(shí)間,即中斷極限頻率為:f=1/T訪問(wèn)存儲(chǔ)器Tm訪問(wèn)存儲(chǔ)器Tm0、指令周期1、鏈?zhǔn)讲樵僒dc2、保護(hù)現(xiàn)場(chǎng)Ts3、恢復(fù)現(xiàn)場(chǎng)Tr2021/5/9258.3.5中斷控制器8259中斷控制器是一個(gè)集成電路芯片,它將中斷接口與優(yōu)先級(jí)判斷等功能匯集于一身,常用于微型機(jī)系統(tǒng)。其內(nèi)部結(jié)構(gòu)如圖8.11所示。8位中斷請(qǐng)求寄存器(IR)接受8個(gè)外部設(shè)備送來(lái)的中斷請(qǐng)求,每一位對(duì)應(yīng)一個(gè)設(shè)備。中斷請(qǐng)求寄存器的各位送入優(yōu)先權(quán)判斷器,根據(jù)中斷屏蔽寄存器(IM)各位的狀態(tài)來(lái)決定最高優(yōu)先級(jí)的中斷請(qǐng)求,并將各位的狀態(tài)送入中斷狀態(tài)寄存器IS。IS保存著判優(yōu)結(jié)果。由控制邏輯向CPU發(fā)出中斷請(qǐng)求信號(hào)INT,并接受CPU的中斷響應(yīng)信號(hào)INTA。數(shù)據(jù)緩沖器用于保存CPU內(nèi)部總線與系統(tǒng)數(shù)據(jù)總線之間進(jìn)行傳送的數(shù)據(jù)。讀/寫(xiě)邏輯決定數(shù)據(jù)傳送的方向,其中IOR為讀控制,IOW為寫(xiě)控制,CS為設(shè)備選擇,A0為I/O端口識(shí)別。2021/5/9268.3.5中斷控制器(略)多個(gè)8259進(jìn)行級(jí)聯(lián)以處理多達(dá)64個(gè)中斷請(qǐng)求。在這種情況下允許有一個(gè)主中斷控制器和多個(gè)從中斷控制器,稱為主從系統(tǒng)。優(yōu)先級(jí)選擇方式有四種:①完全嵌套方式:是一種固定優(yōu)先級(jí)方式,連至IR0的設(shè)備優(yōu)先級(jí)最高,IR7的優(yōu)先級(jí)最低。這種固定優(yōu)先級(jí)方式對(duì)級(jí)別低的中斷不利,在有些情況下最低級(jí)別的中斷請(qǐng)求可能一直不能被處理。②輪換優(yōu)先級(jí)方式A:每個(gè)級(jí)別的中斷保證有機(jī)會(huì)被處理,將給定的中斷級(jí)別處理完后,立即把它放到最低級(jí)別的位置上去。③輪換優(yōu)先級(jí)方式B:要求CPU可在任何時(shí)間規(guī)定最優(yōu)優(yōu)先級(jí),然后順序地規(guī)定其他IR線上的優(yōu)先級(jí)。④查詢方式:由CPU訪問(wèn)8259的中斷狀態(tài)寄存器,一個(gè)狀態(tài)字能表示出正在請(qǐng)求中斷的最高優(yōu)先級(jí)IR線,并能表示出中斷請(qǐng)求是否有效。2021/5/9278.3.5中斷控制器8259提供了兩種屏蔽方式:①簡(jiǎn)單屏蔽方式,提供8位屏蔽字,每位對(duì)應(yīng)著各自的IR線。被置位的任一位則禁止了對(duì)應(yīng)IR線上的中斷。②特殊屏蔽方式,允許CPU讓來(lái)自低優(yōu)先級(jí)的外設(shè)中斷請(qǐng)求去中斷高

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論