![第3章中斷與輸入輸出系統(tǒng)_第1頁](http://file4.renrendoc.com/view/9c10538b6187d9e58a3e6e11eec5979b/9c10538b6187d9e58a3e6e11eec5979b1.gif)
![第3章中斷與輸入輸出系統(tǒng)_第2頁](http://file4.renrendoc.com/view/9c10538b6187d9e58a3e6e11eec5979b/9c10538b6187d9e58a3e6e11eec5979b2.gif)
![第3章中斷與輸入輸出系統(tǒng)_第3頁](http://file4.renrendoc.com/view/9c10538b6187d9e58a3e6e11eec5979b/9c10538b6187d9e58a3e6e11eec5979b3.gif)
![第3章中斷與輸入輸出系統(tǒng)_第4頁](http://file4.renrendoc.com/view/9c10538b6187d9e58a3e6e11eec5979b/9c10538b6187d9e58a3e6e11eec5979b4.gif)
![第3章中斷與輸入輸出系統(tǒng)_第5頁](http://file4.renrendoc.com/view/9c10538b6187d9e58a3e6e11eec5979b/9c10538b6187d9e58a3e6e11eec5979b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
中斷是一種在發(fā)生了一個外部的事件(一個急需處理的事件、異常情況或者特殊請求)時調(diào)用相應(yīng)的處理程序的過程。中斷處理過程流程圖。中斷系統(tǒng)
中斷的分類和分級中斷的響應(yīng)和中斷的處理中斷嵌套的原則中斷響應(yīng)次序和中斷處理次序中斷系統(tǒng)的軟硬件功能分配1、中斷和子程序調(diào)用的主要區(qū)別:中斷服務(wù)程序與中斷時CPU正在運(yùn)行的程序是相互獨(dú)立的,它們之間沒有確定的關(guān)系;而子程序調(diào)用時轉(zhuǎn)入的子程序和正在執(zhí)行的程序段是同一個程序的兩部分。中斷和中斷地址一般是由硬件形成的;而子程序的調(diào)用和子程序地址的形成都是由轉(zhuǎn)移指令決定的。中斷過程要保存所有的內(nèi)部狀態(tài)信息(現(xiàn)場);子程序調(diào)用時可以只保存PC的值。中斷程序調(diào)用的過程比子程序調(diào)用復(fù)雜得多。2、中斷為什么要分類?若系統(tǒng)的中斷源個數(shù)很少時,可以用硬件來為每一個中斷源直接形成各中斷服務(wù)程序的入口地址,以便轉(zhuǎn)入中斷服務(wù)程序。但一般的高性能大型多用戶系統(tǒng),系統(tǒng)的中斷源個數(shù)可能多達(dá)數(shù)十甚至數(shù)百個,這時,宜將性質(zhì)接近的中斷源分成類,每一類都各自用硬件形成其中斷服務(wù)程序的總?cè)肟?。在響?yīng)了該類中斷后,再由軟件查詢其中斷類的中斷字寄存器的內(nèi)容來分支轉(zhuǎn)入某個具體的中斷源處理分支程序進(jìn)行處理。因此,中斷源的分類主要是為減少中斷處理程序入口地址的形成的硬件數(shù)量。機(jī)器校驗(yàn)類中斷;管理程序調(diào)用類總斷;程序性中斷;外部中斷;輸入/輸出中斷;重新啟動中斷機(jī)器校驗(yàn)中斷是告訴程序發(fā)生了設(shè)備故障;管理程序調(diào)用中斷是用戶程序需要操作系統(tǒng)介入時,通過執(zhí)行“訪管”指令時發(fā)生的;程序性中斷是包括指令和數(shù)據(jù)的格式錯、程序執(zhí)行中出現(xiàn)異常(非法指令、目態(tài)下使用管態(tài)指令、主存訪問方式保護(hù)、尋址超過主存容量、各種溢出、除數(shù)為“0”、有效位為“0”等)以及程序的事件記錄、監(jiān)督程序?qū)κ录谋O(jiān)測引起的中斷等;外部中斷是來自機(jī)器外部,它包括各種定時器中斷、外部信號中斷及中斷鍵中斷;外部中斷主要用于與其它機(jī)器和系統(tǒng)的聯(lián)系;輸入/輸出中斷在輸入輸出操作完成,I/O通道或設(shè)備發(fā)出故障時發(fā)出,它是CPU與I/O設(shè)備及通道聯(lián)系的工具;重新啟動中斷是為操作員或另一臺CPU要啟動一個程序所用,CPU不能禁止這種中斷3、中斷為什么要分級? 在中斷源分成類之后,對于不同類的中斷,就要根據(jù)中斷類的性質(zhì)、緊迫性、全局性、重要性和軟件處理的方便性等,再將它們分成不同的中斷響應(yīng)優(yōu)先級,讓級別高的中斷類能優(yōu)先得到響應(yīng)。一般在安排中斷類響應(yīng)的優(yōu)先級時,將機(jī)器校驗(yàn)類中斷列為第1級,即具有最高的優(yōu)先級;程序性中斷和管理程序調(diào)用類中斷列為第2級,其后依次是外部中斷,輸入輸出中斷,重新啟動中斷。4、中斷的響應(yīng)和中斷的處理中斷響應(yīng)是允許中斷源能夠中斷CPU現(xiàn)行程序的運(yùn)行,轉(zhuǎn)去對該中斷請求進(jìn)行預(yù)處理,包括保存好斷點(diǎn)和關(guān)鍵性的斷點(diǎn)現(xiàn)場,調(diào)出相應(yīng)的中斷處理程序,準(zhǔn)備對其執(zhí)行。在大多數(shù)機(jī)器中,中斷響應(yīng)是通過采用交換新舊程序狀態(tài)字的辦法來完成的。中斷處理是通過具體執(zhí)行中斷服務(wù)程序來對中斷源進(jìn)行處理的過程。中斷服務(wù)程序內(nèi)部根據(jù)情況還需要保存其它一些斷點(diǎn)現(xiàn)場,并在返回中斷點(diǎn)前加以現(xiàn)場恢復(fù)。5、當(dāng)CPU正在處理一個中斷時,是否還響應(yīng)其他設(shè)備發(fā)出的中斷請求?單重中斷處理方式是中斷結(jié)構(gòu)中最基本的形式,在處理一個中斷請求期間不允許被其它中斷請求打斷。如果在處理一個中斷請求期間允許被其它更為緊急的中斷請求打斷,則構(gòu)成多重中斷處理方式。6、中斷嵌套的原則
由于中斷請求是隨機(jī)發(fā)生的,完全有可能在處理某個中斷服務(wù)程序的過程中,又出現(xiàn)新的中斷請求,這時就可能出現(xiàn)中斷的嵌套。在中斷嵌套時,應(yīng)遵循的原則是:在處理某級中的某個中斷請求時,應(yīng)當(dāng)屏蔽與之同級或低級的中斷請求,只有比其高級的中斷請求才可中斷正在處理的中斷服務(wù)程序。在發(fā)生中斷嵌套時,為保證正確地返回到原中斷點(diǎn),系統(tǒng)中都采用在中斷時,將斷點(diǎn)地址用硬件的方法自動壓進(jìn)堆棧來保存。等中斷返回時,再用硬件的方法將保存的返回地址自動彈出堆棧到程序計數(shù)器中。利用堆棧的后進(jìn)先出工作方式就可實(shí)現(xiàn)從哪兒來回哪兒去。7、中斷的響應(yīng)次序和中斷的處理次序中斷響應(yīng)次序:是靠用中斷響應(yīng)的硬件排隊器事先固定好的。它總是對進(jìn)入了中斷響應(yīng)排隊器的中斷級請求按由高到低的次序響應(yīng)其中一個高優(yōu)先級的中斷級請求,除非某些中斷級請求未進(jìn)入中斷響應(yīng)排隊器排隊。中斷處理次序:中斷處理程序?qū)嶋H執(zhí)行完的次序。為了能動態(tài)地調(diào)節(jié)中斷處理次序,在中斷級請求源與中斷響應(yīng)排隊器的入口端之間又加設(shè)了一個中斷級屏蔽字寄存器和相應(yīng)的電路硬件。中斷級屏蔽字寄存器中的每一個中斷級屏蔽位可以控制讓相應(yīng)等級的中斷請求能否進(jìn)入中斷響應(yīng)排隊器去參加排隊。只有能進(jìn)入中斷響應(yīng)排隊器的中斷請求,總是讓其中級別相對高的優(yōu)先級得到相應(yīng)。注:
操作系統(tǒng)可以通過修改各中斷級處理程序的中斷級屏蔽位的狀況,來使中斷處理(完)的次序符合我們所希望的次序。用戶程序(目態(tài)程序)是不能屏蔽任何中斷的。就是說,用戶程序的現(xiàn)行狀態(tài)字中,中斷級屏蔽位應(yīng)對各級中斷都是開放的。
假設(shè)系統(tǒng)共有4個中斷級,相應(yīng)的每一級中斷處理程序的現(xiàn)行程序狀態(tài)字中都設(shè)有4個中斷級屏蔽位。如果中斷級屏蔽位為“1”,表示對該級的各個中斷請求都開放,允許其進(jìn)入中斷響應(yīng)排隊器排隊;若為“0”,則表示對該級的各個中斷請求都屏蔽,不讓其進(jìn)入中斷響應(yīng)排隊器排隊。各級中斷處理次序和各級中斷響應(yīng)次序都是1→2→3→4各級中斷處理次序?yàn)?→4→3→2中斷處理程序級別中斷級屏蔽位1級2級3級4級1級00002級10003級11004級1110中斷處理程序級別中斷級屏蔽位1級2級3級4級1級00002級10113級10014級1000中斷請求用戶程序中斷處理程序1 2 3 4 各級中斷處理次序?yàn)?→2→3→43、2421中斷請求用戶程序中斷處理程序1 2 3 4 各級中斷處理次序?yàn)?→4→3→23、2421例題1:機(jī)器有4級中斷,中斷響應(yīng)先后次序?yàn)?—2—3—4,現(xiàn)要求中斷處理次序?yàn)?—3—4—2。如果所有的中斷處理都各需3個單位時間,中斷響應(yīng)和中斷返回時間相對中斷處理時間少的很多,當(dāng)機(jī)器正在運(yùn)行用戶程序時,同時發(fā)生第2、3級中斷請求,過兩個單位時間,又同時發(fā)生第1、4級中斷請求,試畫出程序運(yùn)行過程示意圖。中斷請求用戶程序中斷處理程序1 2 3 4 2、31、42、41、3、5中斷請求用戶程序中斷處理程序1 2 3 4 5 例題2:機(jī)器有5級中斷,中斷響應(yīng)次序?yàn)?—2—3—4—5,現(xiàn)要求中斷處理次序?yàn)?—4—5—2—3。若在運(yùn)行用戶程序時,同時發(fā)生4、2級中斷請求,而在2級中斷服務(wù)未完成時,又發(fā)生1、3、5級中斷,請畫出處理機(jī)執(zhí)行程序的全過程示意圖。(標(biāo)出交換PSW的時間)8、中斷系統(tǒng)的軟硬件功能中斷系統(tǒng)的軟硬件功能分配實(shí)際上就是在中斷處理程序軟件和中斷響應(yīng)硬件之間的功能分配。為了加快中斷的響應(yīng)和處理,在滿足性能價格比的前提下,可以在硬件的快速性和軟件的靈活性上進(jìn)行綜合權(quán)衡,可以通過適當(dāng)增加一些硬件或新的指令來加快中斷斷點(diǎn)現(xiàn)場的保存、恢復(fù)和中斷的具體處理。一、通道處理機(jī)進(jìn)行輸入輸出的過程在多用戶應(yīng)用環(huán)境下,應(yīng)用程序要想進(jìn)行一次輸入/輸出,可在目態(tài)程序中安排要求進(jìn)行輸入/輸出的訪管指令,并帶上所用之設(shè)備號、設(shè)備與主存要交換的字節(jié)數(shù)、與主存交換信息的起始地址等參數(shù)。CPU執(zhí)行到訪管指令時,按其提供的入口地址,將管理程序調(diào)出來執(zhí)行。此管理程序的任務(wù)是利用所帶的參數(shù)來編制通道程序。這樣,一次輸入/輸出的過程中,CPU只需要兩次進(jìn)入管態(tài),使之減少了輸入/輸出對目態(tài)程序的干擾,也使CPU和外部設(shè)備及多臺設(shè)備之間可以并行的工作。3.3輸入/輸出系統(tǒng)
在通道程序編好且存入主存中某個通道緩存區(qū)時,就置好相應(yīng)的通道地址字。當(dāng)管理程序執(zhí)行到“啟動I/O”的管態(tài)指令時,就進(jìn)入了“通道開始選擇設(shè)備”期。在“通道開始選擇設(shè)備”期內(nèi),CPU選擇指定的通道、子通道、設(shè)備控制器和設(shè)備后,發(fā)出啟動命令。當(dāng)設(shè)備被成功啟動之后,CPU就退出管態(tài),返回目態(tài)去執(zhí)行其它的用戶程序。此時,通道進(jìn)入了“通道數(shù)據(jù)傳送”期。被啟動的通道開始執(zhí)行存放于通道緩存區(qū)中的通道程序來具體組織I/O操作,直至執(zhí)行到無鏈通道指令,完成了通道程序后,又向CPU發(fā)出I/O中斷請求。通道進(jìn)入“通道數(shù)據(jù)傳送結(jié)束”期。CPU在響應(yīng)I/O中斷請求后,第二次進(jìn)入管態(tài),調(diào)出相應(yīng)的管理程序,進(jìn)行善后登記和處理后,又重新返回目態(tài)。二、通道的分類及相應(yīng)的數(shù)據(jù)寬度在通道的數(shù)據(jù)傳送期內(nèi),根據(jù)信息傳送所采取的方式不同,通道又可被分成字節(jié)多路、數(shù)組多路和選擇通道三種。假設(shè)通道所接p臺設(shè)備都已經(jīng)被啟動,每一臺設(shè)備都要傳送n個字節(jié)的數(shù)據(jù)字節(jié)多路通道適宜掛大量字符類低速設(shè)備,通道的“數(shù)據(jù)寬度”為單字節(jié)。字節(jié)多路通道每選擇好一臺設(shè)備后,設(shè)備與通道只傳送一個字節(jié)就釋放總線,通道以字節(jié)交叉的方式輪流為多臺低速設(shè)備服務(wù)。每臺設(shè)備要想傳送n個字節(jié),就需要經(jīng)n次申請使用通道總線才行?!璗sTd設(shè)備1TsTd設(shè)備2TsTd設(shè)備p各設(shè)備第n個字節(jié)……TsTd設(shè)備1TsTd設(shè)備2TsTd設(shè)備p各設(shè)備第1個字節(jié)np(Ts+Td)數(shù)組多路通道適宜掛多臺高速的磁盤存儲器,通道的“數(shù)據(jù)寬度”為定長塊。數(shù)組多路通道在每選擇好一臺設(shè)備后,要連續(xù)傳送固定k個字節(jié)的成組數(shù)據(jù)后,才釋放總線,通道再去選擇下一臺設(shè)備,再傳送該設(shè)備的k個字節(jié)。如此,以成組方式輪流交叉的為多臺高速設(shè)備服務(wù)。某臺設(shè)備要想傳送n個字節(jié),就需要先后經(jīng)「n/k」次申請使用通道總線才行。TsTd…TdK個設(shè)備1TsTd…TdK個設(shè)備p各設(shè)備第1個定長塊TsTd…TdK個設(shè)備1TsTd…TdK個設(shè)備p各設(shè)備第「n/k」個定長塊「n/k」pk(Ts/k+Td)選擇通道適宜接高優(yōu)先級的高速磁盤設(shè)備,通道的“數(shù)據(jù)寬度”為不定長塊。選擇通道每選擇一臺設(shè)備,就讓該設(shè)備獨(dú)占通道,經(jīng)n個字節(jié)全部傳送完后,才釋放通道總線,又去選擇下一臺設(shè)備,再傳送它的全部字節(jié)數(shù)據(jù)。因此,每臺設(shè)備為傳送n個字節(jié)數(shù)據(jù)只需一次申請使用通道總線。P(Ts+nTd)TsTd…Tdn個設(shè)備1TsTd…Tdn個設(shè)備p三、通道的流量設(shè)計通道流量是指通道在“通道數(shù)據(jù)傳送”期間,單位時間里傳送的字節(jié)數(shù)。假設(shè)所設(shè)計的通道每選擇一次設(shè)備的時間為Ts,每傳送一個字節(jié)的時間為Td,數(shù)組多路通道的定長塊塊的大小為K個字節(jié),選擇通道一次傳送n個字節(jié)。這樣,通道工作時的極限流量分別是:字節(jié)多路通道:fmax.byte=1/(Ts+Td)數(shù)組多路通道:fmax.block=1/(Ts/k+Td)選擇通道: fmax.select=1/(Ts/n+Td)如果通道上所掛p臺設(shè)備都被啟動,則設(shè)備對通道要求的實(shí)際流量分別是:字節(jié)多路通道:所掛p臺設(shè)備的速率之和數(shù)組多路通道:所掛p臺設(shè)備中速率最高者選擇通路:所掛p臺設(shè)備中速率最高者為使通道所掛外部設(shè)備在滿負(fù)荷工作時仍不丟失信息,應(yīng)使設(shè)備要求通道的實(shí)際最大流量不能超過通道的極限流量。因?yàn)樵贗/O系統(tǒng)中,各個通道是并行工作的,所以I/O系統(tǒng)的極限流量應(yīng)當(dāng)是各通道的極限流量之和。通道內(nèi)的多個子通道之間也是可以并行工作的,因此,通道的極限流量應(yīng)當(dāng)?shù)扔诟髯油ǖ赖臉O限流量之和。在考慮通道對設(shè)備所發(fā)出的傳送字節(jié)數(shù)據(jù)請求優(yōu)先響應(yīng)誰的問題時,一般都采取讓設(shè)備速率越高的,其響應(yīng)和處理的優(yōu)先級越高;同一速率的各個設(shè)備,則可由系統(tǒng)指定一個優(yōu)先級,例如,讓設(shè)備號越小的,其響應(yīng)和處理的優(yōu)先級越高。流量設(shè)計的基本要求只能保證通道在宏觀上不丟失設(shè)備的信息。如果設(shè)備要求通道的實(shí)際流量最高值非常接近于通道設(shè)計時所能達(dá)到的極限流量時,通道在工作時的某個局部時刻還有可能丟失信息。由于高速設(shè)備在頻繁地發(fā)出要求傳送數(shù)據(jù)的請求時,總是被優(yōu)先得到響應(yīng)和處理,就
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分包工人合同范本
- 上海工程裝修合同范本
- 倉庫電工維修合同范例
- 單元樓租賃合同范本
- 借款經(jīng)濟(jì)合同范例
- 基坑及邊坡監(jiān)測沉降觀測合同范本
- 2025年度建筑工程資料歸檔與歸檔技術(shù)支持承包合同范本
- 個人住宅租房合同范本
- 企業(yè)金基金審計合同范例
- 全款購房定金合同范本
- 2025年空白離婚協(xié)議書
- 校長在行政會上總結(jié)講話結(jié)合新課標(biāo)精神給學(xué)校管理提出3點(diǎn)建議
- T-CSUS 69-2024 智慧水務(wù)技術(shù)標(biāo)準(zhǔn)
- 2025年護(hù)理質(zhì)量與安全管理工作計劃
- 湖南大學(xué) 嵌入式開發(fā)與應(yīng)用(張自紅)教案
- 地下商業(yè)街的規(guī)劃設(shè)計
- 長安大學(xué)《畫法幾何與機(jī)械制圖一》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024-2030年全球及中國低密度聚乙烯(LDPE)行業(yè)需求動態(tài)及未來發(fā)展趨勢預(yù)測報告
- 醫(yī)院物業(yè)管理制度
- 初中數(shù)學(xué)思維訓(xùn)練雙十字相乘法因式分解練習(xí)100道及答案
- (正式版)QC∕T 625-2024 汽車用涂鍍層和化學(xué)處理層
評論
0/150
提交評論