![第-9-章-IO系統(tǒng)組織N課件_第1頁](http://file4.renrendoc.com/view/6a1f6c26ff62fedae3698e24efe35e9c/6a1f6c26ff62fedae3698e24efe35e9c1.gif)
![第-9-章-IO系統(tǒng)組織N課件_第2頁](http://file4.renrendoc.com/view/6a1f6c26ff62fedae3698e24efe35e9c/6a1f6c26ff62fedae3698e24efe35e9c2.gif)
![第-9-章-IO系統(tǒng)組織N課件_第3頁](http://file4.renrendoc.com/view/6a1f6c26ff62fedae3698e24efe35e9c/6a1f6c26ff62fedae3698e24efe35e9c3.gif)
![第-9-章-IO系統(tǒng)組織N課件_第4頁](http://file4.renrendoc.com/view/6a1f6c26ff62fedae3698e24efe35e9c/6a1f6c26ff62fedae3698e24efe35e9c4.gif)
![第-9-章-IO系統(tǒng)組織N課件_第5頁](http://file4.renrendoc.com/view/6a1f6c26ff62fedae3698e24efe35e9c/6a1f6c26ff62fedae3698e24efe35e9c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第9章I/O系統(tǒng)組織12/23/20221
南京工業(yè)大學(xué)第9章I/O系統(tǒng)組織12/20/20221南京工業(yè)本章學(xué)習(xí)內(nèi)容I/O系統(tǒng)的功能接口的功能中斷的基本概念DMA的基本概念通道的基本概念12/23/20222NJUT本章學(xué)習(xí)內(nèi)容I/O系統(tǒng)的功能12/20/20222NJUT9.1I/O系統(tǒng)概述9.1.1需解決的主要問題計算機系統(tǒng)中的I/O系統(tǒng),主要用于解決主機與外部設(shè)備間的信息通訊,提供信息通路,使外圍設(shè)備與主機能夠協(xié)調(diào)一致地工作。I/O系統(tǒng)的基本功能:①為數(shù)據(jù)傳輸操作選擇輸入/輸出設(shè)備②控制被選的輸入/輸出設(shè)備與主機之間的信息交換。12/23/20223NJUT9.1I/O系統(tǒng)概述9.1.1需解決的主要問題12/209.1.2I/O系統(tǒng)的組成硬件方面:系統(tǒng)總線、I/0接口、I/O設(shè)備及設(shè)備控制器軟件方面:用戶的I/O程序、設(shè)備驅(qū)動程序、設(shè)備控制程序系統(tǒng)總線:連接CPU,主存儲器、外圍設(shè)備的公共信息通路。I/O接口:用于連接系統(tǒng)總線與外圍設(shè)備。設(shè)備控制器:用于控制設(shè)備的具體操作12/23/20224NJUT9.1.2I/O系統(tǒng)的組成硬件方面:系統(tǒng)總線、I/0接口、12/23/20225NJUT12/20/20225NJUT9.1.3主機與外設(shè)間的連接模式與組織管理主機與外圍設(shè)備的連接方式大致可分為:總線型、通道型和輸入/輸出處理機方式(IOP方式)。1.總線型連接方式CPU通過系統(tǒng)總線與主存儲器,I/O控制器,I/O接口電路相連接,通過I/O接口電路進一步實現(xiàn)對外設(shè)的控制。系統(tǒng)總線可分為地址總線,數(shù)據(jù)總線和控制總線三大類,分別用于傳送地址信號,數(shù)據(jù)信號和控制信號(如讀/寫信號、中斷申請及應(yīng)答信號等)。12/23/20226NJUT9.1.3主機與外設(shè)間的連接模式與組織管理主機與外圍設(shè)備總線型連接方式優(yōu)點:系統(tǒng)模塊化程度較高,I/O接口擴充方便??偩€型連接方式的缺點:系統(tǒng)中部件之間的信息交換,均依賴于總線,總線成為系統(tǒng)中的速度瓶頸,因而不適于系統(tǒng)需配備有大量外設(shè)的場合。實際設(shè)備中,一種I/O接口適配器也可以控制多臺I/O設(shè)備。如多用戶卡,一塊多用戶I/O適配器,可以控制多臺終端的工作,這種方式稱之為現(xiàn)代星型I/O設(shè)備的連接方式。12/23/20227NJUT總線型連接方式優(yōu)點:系統(tǒng)模塊化程度較高,I/O接口擴充方便。12/23/20228NJUT12/20/20228NJUT2.通道控制連接方式通道控制連接方式主要用于大型主機(Mainframe)系統(tǒng)中,一般用在所連接外設(shè)數(shù)量多、類型多以及速度差異大的系統(tǒng)中。12/23/20229NJUT2.通道控制連接方式通道控制連接方式主要用于大型主機(Ma12/23/202210NJUT12/20/202210NJUT通道控制器是一種專門負(fù)責(zé)I/O操作控制的控制器,它通過執(zhí)行由專門的通道指令編制的并存放在內(nèi)存之中的通道程序?qū)崿F(xiàn)對外設(shè)的控制。在這種I/O控制方式下,由通道控制器控制實現(xiàn)主存儲器與外部設(shè)備之間的直接數(shù)據(jù)交換,CPU不再負(fù)責(zé)具體的I/O控制,實現(xiàn)了處理機與通道控制器和外設(shè)的并行工作。
12/23/202211NJUT通道控制器是一種專門負(fù)責(zé)I/O操作控制的控制器,它通過執(zhí)行由9.2I/O接口接口:通常指設(shè)備(硬件)之間的界面。I/O接口:主機(系統(tǒng)總線)與外部設(shè)備或其它外部系統(tǒng)之間的接口邏輯。9.2.1接口的基本功能⑴識別設(shè)備地址,選擇指定的設(shè)備⑵實現(xiàn)數(shù)據(jù)的傳送與緩沖⑶控制主機與外設(shè)之間的通信聯(lián)絡(luò),實現(xiàn)控制命令和狀態(tài)信息的交換,保證時序協(xié)調(diào)。⑷實現(xiàn)信號形式和數(shù)據(jù)格式轉(zhuǎn)換12/23/202212NJUT9.2I/O接口接口:通常指設(shè)備(硬件)之間的界面。12CPU和外設(shè)之間傳送的信息⑴數(shù)據(jù)信息①數(shù)字量數(shù)字量是指用二進制碼形式提供的信息,如用二進制形式表示的數(shù)據(jù)、以ASCII碼形式表示的字符等。通常有8位、16位和32位數(shù)據(jù)。②模擬量
模擬量是指連續(xù)變化的物理量,如溫度、濕度、位移、壓力、流量等。計算機無法直接接收和處理模擬量,要經(jīng)過A/D變換將模擬量變成數(shù)字量,才能送入計算機;同樣,計算機輸出的數(shù)字量要經(jīng)過D/A變換將數(shù)字量變成模擬量,才能送入使用模擬量的外設(shè)。12/23/202213NJUTCPU和外設(shè)之間傳送的信息⑴數(shù)據(jù)信息12/20/20221③
開關(guān)量開關(guān)量有兩個狀態(tài):“0”和“1”,可以用1位二進制數(shù)表示。具有兩種狀態(tài)的量,如開關(guān)的閉合和斷開、設(shè)備的啟動和停止等,均可用開關(guān)量表示。數(shù)據(jù)輸入:指外設(shè)的數(shù)據(jù)信息通過外設(shè)與接口之間的數(shù)據(jù)線進入接口,再經(jīng)由接口送到系統(tǒng)的數(shù)據(jù)總線。數(shù)據(jù)輸出:指系統(tǒng)的數(shù)據(jù)信息經(jīng)過系統(tǒng)數(shù)據(jù)總線進入接口,再通過接口送到外設(shè)。12/23/202214NJUT③開關(guān)量12/20/202214NJUT⑵狀態(tài)信息狀態(tài)信息就是反映當(dāng)前外設(shè)所處的工作狀態(tài)的信息。在與外設(shè)進行數(shù)據(jù)信息的交換時,CPU需要通過狀態(tài)信息了解外設(shè)的工作狀態(tài)。通常外設(shè)用準(zhǔn)備好(READY)信號來表明是否準(zhǔn)備就緒;用忙(BUSY)信號表示是否處于空閑狀態(tài)。例如,當(dāng)輸入設(shè)備準(zhǔn)備好向系統(tǒng)輸入的數(shù)據(jù)信息時,就用READY信號通知CPU讀入數(shù)據(jù);輸出設(shè)備只有處于空閑狀態(tài)(不忙)時,才可以接收CPU送來的信息。外設(shè)的狀態(tài)信息通過接口送往CPU。
12/23/202215NJUT⑵狀態(tài)信息12/20/202215NJUT⑶控制信息在外設(shè)的工作過程中,CPU需要通過控制信息控制外設(shè)的工作,如對外設(shè)的啟動和停止等。不同外設(shè)所需的控制信息各不相同,因此CPU需要通過接口將控制信息傳送給外設(shè)。數(shù)據(jù)信息、狀態(tài)信息和控制信息各不相同,應(yīng)該分別傳送。為了便于處理,將狀態(tài)信息、控制信息也廣義地看成數(shù)據(jù)信息,通過數(shù)據(jù)總線來傳送。為了區(qū)別這三種信息,在接口線路中將它們分別送入不同的寄存器。CPU同外設(shè)之間的信息傳送實質(zhì)上是對相應(yīng)的寄存器進行“讀”或“寫”操作。接口中這些可以由CPU進行讀或?qū)懙募拇嫫鞅环Q為“端口”(Port)或I/O端口。
12/23/202216NJUT⑶控制信息12/20/202216NJUT接口的基本組成12/23/202217NJUT接口的基本組成12/20/202217NJUT⑴設(shè)備選擇電路用于接收總線傳來的地址信息,經(jīng)譯碼后,決定選擇哪個設(shè)備或I/O接口內(nèi)部的部件。⑵數(shù)據(jù)緩沖寄存器(數(shù)據(jù)端口)用于存放主機與外設(shè)之間要傳遞的數(shù)據(jù)信息。⑶命令寄存器(控制端口)用于存放主機向外設(shè)發(fā)送的控制命令。⑷狀態(tài)寄存器(狀態(tài)端口)用于存放外設(shè)或接口的工作狀態(tài)。⑸其它有關(guān)部件如中斷控制邏輯、DMA控制邏輯以及各類特殊部件。12/23/202218NJUT⑴設(shè)備選擇電路12/20/202218NJUTI/O端口的尋址方式對I/O設(shè)備的尋址實質(zhì)上就是對I/O端口的尋址。⑴
I/O端口與主存統(tǒng)一編址將一個I/O端口作為存儲器中的一個單元對待,每一個I/O端口占用一個存儲器單元地址。編址時將I/O端口與存儲器單元一起進行編址。由于編址時I/O端口與存儲器單元不加區(qū)分,因此CPU可以用所有訪問存儲器的方法訪問I/O端口,即所有訪問存儲器的指令均可用來訪問I/O端口。這種方式又稱為存儲器對應(yīng)的輸入輸出方式或存儲器映象編址方式。12/23/202219NJUTI/O端口的尋址方式對I/O設(shè)備的尋址實質(zhì)上就是對I/O端I/O端口與主存統(tǒng)一編址方式的優(yōu)點:①CPU可使用所有存儲器操作指令對I/O端口中數(shù)據(jù)進行操作,十分靈活和方便。②不需要用專門的指令及控制信號區(qū)分是存儲器還是I/O操作。使得系統(tǒng)相對簡單。這種方式存在的問題是:①I/O端口占用了內(nèi)存單元的部分地址空間,使內(nèi)存容量減小。②由于在程序中不易分清指令訪問的是存儲器還是I/O端口,所以采用這種方式編制的程序不易閱讀。12/23/202220NJUTI/O端口與主存統(tǒng)一編址方式的優(yōu)點:12/20/20222012/23/202221NJUT12/20/202221NJUT⑵I/O端口獨立編址將I/O端口與存儲器單元分別獨立進行編址,CPU訪問外設(shè)時,需使用專門的I/O指令,并需要有與接口電路聯(lián)系的單獨的控制信號。也稱為I/O端口尋址輸入輸出方式。I/O端口獨立編址方式的優(yōu)點:①I/O端口具有獨立的地址空間,不占用內(nèi)存空間。②I/O指令中的地址字段的長度較短,可以節(jié)省指令存儲空間和指令執(zhí)行時間。③由于訪問存儲器和訪問I/O端口使用不同的指令,因此編制的程序比較清晰易讀。12/23/202222NJUT⑵I/O端口獨立編址12/20/202222NJUTI/O端口獨立編址方式的缺點:I/O操作指令的種類通常沒有存儲器操作指令豐富,設(shè)計程序時不夠方便。(3)IBM/PC的I/O地址(P376)12/23/202223NJUTI/O端口獨立編址方式的缺點:12/20/202223NJU9.2.2I/O接口的分類(1)按數(shù)據(jù)傳送格式分串行接口:接口與設(shè)備之間的信息傳送是逐位串行進行的。并行接口:接口與設(shè)備之間的信息傳送是將一個字或一個字節(jié)的所有位同時并行地進行傳送的。12/23/202224NJUT9.2.2I/O接口的分類(1)按數(shù)據(jù)傳送格式分12/2主機串行接口外設(shè)TxDRxDDn-1~0主機并行接口外設(shè)Dn-1~0I/On-1~012/23/202225NJUT主機串行接口外設(shè)TxDRxDDn-1~0主機并行接口外設(shè)Dn(2)按時序的控制方式分同步接口:一般與同步總線相連,接口與總線采用統(tǒng)一時鐘信號,無論CPU與I/O設(shè)備,還是存儲器與I/O設(shè)備交換信息,都與總線同步時鐘脈沖同步。同步接口的控制簡單,但要求I/O設(shè)備與CPU和主存在速度上必須能夠很好的匹配,這在某種程度上限制了使用I/O設(shè)備的種類與型號。因此,在實際應(yīng)用中,從靈活性考慮,一般允許不同的I/O操作的總線周期的脈沖個數(shù)可以在一定范圍內(nèi)變化。12/23/202226NJUT(2)按時序的控制方式分12/20/202226NJUT異步接口:與異步總線相連,接口與系統(tǒng)總線之間采用異步應(yīng)答方式。通常把交換信息的兩個設(shè)備分成主設(shè)備和從設(shè)備。主設(shè)備提出交換信息的“請求”信號,經(jīng)總線和接口傳遞到從設(shè)備,從設(shè)備完成主設(shè)備指定的操作后,又通過接口和總線向主設(shè)備發(fā)出“回答”信號。整個信息交換過程總是這樣“請求”、“回答”地進行著,而從“請求”到“回答”的時間是由操作的實際時間決定,而非系統(tǒng)定時節(jié)拍的硬性規(guī)定。12/23/202227NJUT異步接口:與異步總線相連,接口與系統(tǒng)總線之間采用異步應(yīng)答方式(a)不互鎖請求與回答信號都有一定的時間寬度12/23/202228NJUT(a)不互鎖12/20/202228NJUT(b)半互鎖請求信號接到回答信號后再撤消12/23/202229NJUT(b)半互鎖12/20/202229NJUT(c)全互鎖請求信號接到回答信號后撤消,請求的撤消又導(dǎo)致回答信號的撤消12/23/202230NJUT(c)全互鎖12/20/202230NJUT(3)按交換控制方式來分直接程序控制方式程序中斷傳送方式直接存儲器存儲方式通道方式I/O處理機方式12/23/202231NJUT(3)按交換控制方式來分直接程序控制方式12/20/20229.3程序控制方式
I/O信息交換方式就是數(shù)據(jù)傳送控制方式,經(jīng)歷了由簡單到復(fù)雜,由低級到高級,由集中控制管理到各部件分散控制管理的發(fā)展過程。各種方式都有其不同的適用對象和應(yīng)用場合,不同的控制方式也有不同的系統(tǒng)結(jié)構(gòu)和硬件組成。按I/O控制組織的演變順序和外設(shè)與主機并行工作程度,以及數(shù)據(jù)傳送控制方式,一般把I/O控制分為五種方式。12/23/202232NJUT9.3程序控制方式I/O信息交換方式就是數(shù)據(jù)傳送控制方直接程序控制方式:完全由軟件實現(xiàn)程序中斷方式:軟硬結(jié)合,以軟件為主。DMA方式:通道方式I/O處理機方式適用于慢速外設(shè)采用輔助硬件實現(xiàn)適合快速外設(shè)快慢設(shè)備均適用適合于大、中型機適合于小微型機12/23/202233NJUT適用于慢速采用輔助硬件實現(xiàn)適合快速外設(shè)快慢設(shè)備均適用適合于小直接程序控制方式:指CPU直接利用I/O指令編程,實現(xiàn)數(shù)據(jù)輸入輸出。直接程序控制方式可分為兩種傳送方式。1.直接傳送方式直接傳送方式:CPU在控制與外設(shè)之間的數(shù)據(jù)傳送之前,不需了解外設(shè)的工作狀態(tài),即可直接執(zhí)行I/0指令,實現(xiàn)數(shù)據(jù)傳送。直接傳送方式無需查詢設(shè)備的任何狀態(tài),也無需考慮同步問題。也稱為無條件傳送方式。多用于I/0操作時間固定且已知的情況下。9.3.1直接程序控制方式12/23/202234NJUT直接程序控制方式:指CPU直接利用I/O指令編程,實現(xiàn)數(shù)據(jù)輸2.程序查詢方式程序查詢方式:CPU在進行輸入/輸出操作之前,先查詢外設(shè)的狀態(tài),只有當(dāng)外設(shè)準(zhǔn)備就緒時,才進行數(shù)據(jù)傳送。也稱為條件傳送方式。當(dāng)有關(guān)操作的時間未知或不定時,往往采用程序查詢方式進行同步控制。(1)程序查詢的基本流程(步驟)①向I/O設(shè)備發(fā)啟動命令;②查詢設(shè)備狀態(tài);③I/O設(shè)備未好,回②;12/23/202235NJUT2.程序查詢方式程序查詢方式:CPU在進行輸入/輸出操作之④I/O準(zhǔn)備好,執(zhí)行I/O,傳送數(shù)據(jù);⑤結(jié)束否,若未結(jié)束,則轉(zhuǎn)②;⑥流程結(jié)束.(見下一頁圖)12/23/202236NJUT④I/O準(zhǔn)備好,執(zhí)行I/O,傳送數(shù)據(jù);12/20/20223程序查詢方式I/0程序的操作步驟12/23/202237NJUT程序查詢方式I/0程序的操作步驟12/20/202237NJ(2)多個設(shè)備的查詢主程序查詢子程序#1準(zhǔn)備好?#1設(shè)備處理程序#2準(zhǔn)備好?#N準(zhǔn)備好?#2設(shè)備處理程序#N設(shè)備處理程序兩種不同風(fēng)格12/23/202238NJUT(2)多個設(shè)備的查詢#1準(zhǔn)備好?#1設(shè)備處理程序#2準(zhǔn)備好?在程序查詢方式中,為了提供程序查詢依據(jù),通常需要設(shè)置狀態(tài)寄存器,占用一個I/O地址。12/23/202239NJUT在程序查詢方式中,為了提供程序查詢依據(jù),通常需要設(shè)置狀態(tài)寄存直接程序控制方式適用于下述場合:①CPU速度不高②CPU工作效率問題不是很重要③需要調(diào)試或診斷I/O接口及設(shè)備的時候這種方式的缺點是:①CPU與外圍設(shè)備無法并行工作,CPU效率很低。②無法發(fā)現(xiàn)和處理異常情況,不能響應(yīng)來自外部的隨機請求。12/23/202240NJUT直接程序控制方式適用于下述場合:12/20/202240NJ9.3.2程序中斷傳送方式程序中斷方式簡稱為中斷方式,它是目前幾乎所有計算機系統(tǒng)都具備的一種重要工作機制。中斷不僅用在輸入輸出過程控制中,而且在多道程序、分時操作、實時處理、人機聯(lián)系、故障處理、程序的監(jiān)視與跟蹤、目態(tài)程序和操作系統(tǒng)的聯(lián)系以及多處理機系統(tǒng)中各機間聯(lián)系方面都起著十分重要的作用。12/23/202241NJUT9.3.2程序中斷傳送方式程序中斷方式簡稱為中斷方式,1中斷的基本概念1)中斷中斷是指處理機暫時中止執(zhí)行現(xiàn)行程序而轉(zhuǎn)去執(zhí)行處理更加緊迫事件的服務(wù)程序,待處理完畢后,再自動返回執(zhí)行原來的程序的過程。2)實現(xiàn)中斷應(yīng)考慮的問題⑴保存現(xiàn)場中斷過程實質(zhì)上是一種程序切換過程,因此必須處理好保存舊現(xiàn)場、建立新現(xiàn)場的問題。⑵及時獲得中斷請求信號中斷具有隨機性(程序自愿中斷除外)。因此必須及時檢測中斷請求信號,以便及時處理。12/23/202242NJUT1中斷的基本概念1)中斷12/20/202242NJUT3)中斷的作用(1)解決主機與外設(shè)的速度匹配問題,實現(xiàn)CPU與I/O設(shè)備并行工作。空閑啟動12/23/202243NJUT3)中斷的作用(1)解決主機與外設(shè)的速度匹配問題,實現(xiàn)CP(2)及時處理異常情況,提高機器的可靠性。(3)便于實現(xiàn)人—機聯(lián)系(4)便于實現(xiàn)多道程序運行(5)便于實現(xiàn)多臺設(shè)備并行工作(6)便于實現(xiàn)實時控制(7)便于實現(xiàn)目態(tài)程序和操作系統(tǒng)的聯(lián)系(8)便于實現(xiàn)多處理機系統(tǒng)中各處理機間的聯(lián)系12/23/202244NJUT(2)及時處理異常情況,提高機器的可靠性。12/20/204)中斷處理的過程12/23/202245NJUT4)中斷處理的過程12/20/202245NJUT中斷源以硬件信號形式通過中斷控制線路向CPU提出中斷請求。中斷源:引起中斷的事件或原因。中斷源可以是外部的硬件設(shè)備,如鍵盤、打印機等輸入/輸出設(shè)備和各種控制設(shè)備;也可以是軟件指令,如中斷指令;還可能是由各種故障和出錯引起的中斷,如計算溢出等。⑴中斷請求12/23/202246NJUT中斷源以硬件信號形式通過中斷控制線路向CPU提出中斷請求。⑴⑵中斷判優(yōu)及響應(yīng)根據(jù)中斷優(yōu)先權(quán)進行判斷,擇優(yōu)予以響應(yīng)。⑶保護現(xiàn)場保護主程序的運行現(xiàn)狀,如PC值、PSW、寄存器和內(nèi)存中的重要數(shù)據(jù)。⑷中斷服務(wù)按中斷源的工作要求,進行各類特定的數(shù)據(jù)傳送或控制處理。中斷服務(wù)程序:完成中斷服務(wù)的程序12/23/202247NJUT⑵中斷判優(yōu)及響應(yīng)12/20/202247NJUT⑸恢復(fù)現(xiàn)場為了正確返回原程序,需要進行恢復(fù)現(xiàn)場的工作,即將前面保存的寄存器的內(nèi)容送回原寄存器。⑹中斷返回返回被中斷的程序,繼續(xù)執(zhí)行。12/23/202248NJUT⑸恢復(fù)現(xiàn)場12/20/202248NJUT5)中斷的分類⑴按中斷來源分內(nèi)中斷外中斷強迫中斷自愿中斷:程序中預(yù)先安排的中斷硬件故障軟件故障外設(shè)請求中斷控制臺中斷12/23/202249NJUT5)中斷的分類⑴按中斷來源分內(nèi)中斷外中斷強迫中斷自愿中斷:⑵按中斷服務(wù)程序入口的獲取方式分向量中斷:由中斷系統(tǒng)硬件,直接向主機提供被
響應(yīng)中斷的中斷向量地址。非向量中斷:通過軟件查詢方式識別中斷源,轉(zhuǎn)
入相應(yīng)的中斷服務(wù)程序入口地址。⑶按是否可屏蔽分可屏蔽中斷:CPU可以禁止響應(yīng)的外部中斷。不可屏蔽中斷:CPU必須響應(yīng)的外部中斷。12/23/202250NJUT⑵按中斷服務(wù)程序入口的獲取方式分12/20/202250N6)中斷系統(tǒng)的設(shè)計要求⑴高級中斷應(yīng)能中斷低級中斷的處理,即要允許中斷嵌套。⑵能夠方便、靈活地設(shè)置中斷優(yōu)先級。⑶不允許在處理某個中斷過程中,又去響應(yīng)同樣的中斷。⑷保證中斷請求信號的建立及保持的準(zhǔn)確性,保證中斷在未被響應(yīng)時,中斷請求信號不能隨便被丟失。⑸保證各類中斷都能及時得到響應(yīng),不應(yīng)出現(xiàn)某些中斷由于某種原因長時間得不到響應(yīng)的情況。12/23/202251NJUT6)中斷系統(tǒng)的設(shè)計要求⑴高級中斷應(yīng)能中斷低級中斷的處理,即2.中斷請求信號的建立與傳送1)中斷請求信號的建立與中斷屏蔽中斷請求信號的建立,基于中斷源有請求中斷的需要。例如,當(dāng)外設(shè)已“準(zhǔn)備就緒”或“完成一次操作”,可以用這類狀態(tài)信號作為中斷請求信號建立的原始信號,使中斷請求觸發(fā)器的狀態(tài)置“1”,表明已有中斷請求。設(shè)備中通常有三種狀態(tài):空閑、就緒、忙12/23/202252NJUT2.中斷請求信號的建立與傳送1)中斷請求信號的建立與中斷空閑忙就緒Busy=0Ready=0Busy=0Ready=1產(chǎn)生中斷請求Busy=1Ready=0啟動清除準(zhǔn)備好再啟動清除12/23/202253NJUT空閑忙就緒Busy=0Busy=0Busy=1啟動清除準(zhǔn)備好外設(shè)發(fā)出請求中斷信號的條件①外設(shè)準(zhǔn)備就緒(Ready=1)②外設(shè)的中斷請求沒有被屏蔽12/23/202254NJUT外設(shè)發(fā)出請求中斷信號的條件①外設(shè)準(zhǔn)備就緒(Ready=1)中斷請求信號是否能夠傳送給CPU,要看當(dāng)時占有CPU進程的程序的優(yōu)先級。如程序的優(yōu)先級高于或等于當(dāng)前中斷請求的優(yōu)先級,則不應(yīng)將中斷請求信號傳給CPU,即需進行中斷屏蔽。如占有CPU進程的優(yōu)先級低于請求中斷的優(yōu)先級,則不應(yīng)屏蔽這個中斷,而使CPU能夠響應(yīng)這個中斷。中斷屏蔽12/23/202255NJUT中斷請求信號是否能夠傳送給CPU,要看當(dāng)時占有CPU進程的程中斷屏蔽:中斷源的中斷請求不能向CPU發(fā)出。可以根據(jù)需要對中斷請求信號予以屏蔽。①先屏蔽方式(D端屏蔽):在中斷請求觸發(fā)器IRQ的D端進行屏蔽。②后屏蔽方式(Q端屏蔽):在中斷請求觸發(fā)器IRQ的輸出端進行屏蔽。③集中屏蔽方式:即在公共接口邏輯中設(shè)置一個中斷控制器,內(nèi)含一個屏蔽字寄存器,CPU將屏蔽字送入其中。在各中斷源的接口不另設(shè)屏蔽觸發(fā)器。將各個請求信號匯集到中斷控制器,并與屏蔽字比較,若未被屏蔽,則中斷控制器送出一個公共的中斷請求信號INT,送往CPU。12/23/202256NJUT中斷屏蔽:中斷源的中斷請求不能向CPU發(fā)出。12/20/20TD:狀態(tài)信號,TD=1,需要請求中斷TM:中斷屏蔽信號,TM=1,屏蔽中斷請求QIRQCPDIRQ&TDTMQIRQCPD1TDTMIRQ12/23/202257NJUTTD:狀態(tài)信號,TD=1,需要請求中斷集中屏蔽方式中斷屏蔽寄存器……中斷請求信號INTIRQ7中斷控制器IRQ012/23/202258NJUT集中屏蔽方式中斷屏蔽寄存器……中斷請求信號IRQ7中斷控制器2)中斷請求信號的傳送一臺計算機系統(tǒng)中有多個中斷源,可能產(chǎn)生多個中斷請求信號,因此需要解決多個中斷請求信號如何傳送給CPU的問題。⑴獨立請求線方式(多線單級結(jié)構(gòu))各中斷源單獨設(shè)置自己的中斷請求線,多根請求線直接送往CPU。當(dāng)CPU接到中斷請求信號后,立即知道請求源是誰,并予以相應(yīng)的處理。這種方法有利于實現(xiàn)向量中斷,因為可以通過編碼電路形成向量地址。但因為CPU所能連接的中斷請求線數(shù)目有限,所以中斷源數(shù)目難以擴充。12/23/202259NJUT2)中斷請求信號的傳送一臺計算機系統(tǒng)中有多個中斷源,可能產(chǎn)獨立請求線方式CPUINTR0INTR1INTRn-1┇12/23/202260NJUT獨立請求線方式CPUINTR0INTR1INTRn-1┇12⑵公共請求線方式(單線多級結(jié)構(gòu))各中斷源的請求信號通過三態(tài)門匯集到一根公共請求線,CPU只需接收一根中斷請求線的請求信號。這種方法節(jié)省引腳,但CPU響應(yīng)中斷后,還需要通過一定邏輯來識別是哪個中斷源發(fā)出的中斷請求,所以響應(yīng)速度慢一些。CPUINTR0INTR1INTRn-1I/OI/OI/O…INT12/23/202261NJUT⑵公共請求線方式(單線多級結(jié)構(gòu))各中斷源的請求信號通過三態(tài)(3)采用二維結(jié)構(gòu)①CPU設(shè)置若干根中斷請求輸入線,體現(xiàn)不同的優(yōu)先級;(主優(yōu)先級)②每根線掛接若干個I/O設(shè)備,以中斷方式向CPU發(fā)請求。(此時,該線為公共請求線,又存在優(yōu)先級問題,稱為次優(yōu)先級)CPUI/OI/OI/OI/OI/OI/O12/23/202262NJUT(3)采用二維結(jié)構(gòu)①CPU設(shè)置若干根中斷請求輸入線,體現(xiàn)不同(4)兼有公共請求線與獨立請求線有些微機中采用此模式CPUI/OI/OI/OI/OI/OI/OI/OI/O12/23/202263NJUT(4)兼有公共請求線與獨立請求線有些微機中采用此模式CPUI3.中斷排隊與判優(yōu)1)有關(guān)概念中斷排隊:中斷系統(tǒng)設(shè)計人員對中斷請求的響應(yīng)次序作出安排。中斷判優(yōu):系統(tǒng)運行過程中,當(dāng)有多個中斷源同時請求中斷時,根據(jù)中斷排隊事先規(guī)定的次序判斷中斷請求的響應(yīng)優(yōu)先次序。中斷優(yōu)先級(中斷優(yōu)先權(quán)):根據(jù)中斷源中斷任務(wù)的緊迫程度,給各中斷請求安排的響應(yīng)次序。12/23/202264NJUT3.中斷排隊與判優(yōu)1)有關(guān)概念12/20/202264中斷排隊的原則①內(nèi)部中斷優(yōu)先于外部中斷②故障中斷優(yōu)先于設(shè)備請求中斷③非屏蔽中斷優(yōu)先于可屏蔽中斷④輸入操作的中斷請求優(yōu)先于輸出操作的中斷請求⑤數(shù)據(jù)有效時間短的中斷優(yōu)先于數(shù)據(jù)有效時間長的中斷具體設(shè)計時,中斷優(yōu)先級可以是固定的,也可以是動態(tài)變化的。可以采用硬件或軟件進行中斷排隊和判優(yōu)。12/23/202265NJUT中斷排隊的原則①內(nèi)部中斷優(yōu)先于外部中斷12/20/20222)CPU與中斷請求間的判優(yōu)CPU是否響應(yīng)中斷請求,要看當(dāng)時占有CPU進程的程序的優(yōu)先級。如程序的優(yōu)先級高于或等于當(dāng)前中斷請求的優(yōu)先級,則CPU可以不響應(yīng)這個中斷,或說CPU不允許被中斷、中斷被禁止。如占有CPU進程的優(yōu)先級低于請求中斷的優(yōu)先級,則不應(yīng)禁止這個中斷,而使CPU能夠響應(yīng)這個中斷,或說CPU允許中斷。中斷禁止:在一定條件下,CPU不允許響應(yīng)中斷。中斷允許:在一定條件下,CPU允許響應(yīng)中斷。12/23/202266NJUT2)CPU與中斷請求間的判優(yōu)CPU是否響應(yīng)中斷請求,要看當(dāng)CPU現(xiàn)行程序與中斷請求的判優(yōu)方法⑴通過設(shè)置CPU內(nèi)部的“中斷允許”狀態(tài)進行判優(yōu)在CPU內(nèi)部設(shè)置“允許中斷”觸發(fā)器IEN,指令系統(tǒng)提供開中斷與關(guān)中斷功能。開中斷操作使TIEN=1,關(guān)中斷使TIEN=0。如果CPU處于關(guān)中斷狀態(tài),則表示所有外部中斷請求要求的服務(wù)都沒有現(xiàn)行程序的任務(wù)重要,CPU不響應(yīng)外部中斷請求。如果CPU處于開中斷狀態(tài),則可以響應(yīng)外部中斷請求。12/23/202267NJUTCPU現(xiàn)行程序與中斷請求的判優(yōu)方法⑴通過設(shè)置CPU內(nèi)部的“12/23/202268NJUT12/20/202268NJUT⑵在現(xiàn)行程序的程序狀態(tài)字(PSW)中設(shè)置現(xiàn)行程序的優(yōu)先級,若中斷請求的優(yōu)先級高于現(xiàn)行程序的優(yōu)先級,則予以響應(yīng)。CPU內(nèi)部有一個優(yōu)先級比較邏輯,對PSW中給定的優(yōu)先級與中斷請求的優(yōu)先級進行比較,決定是否需要暫?,F(xiàn)行程序去響應(yīng)中斷請求。操作系統(tǒng)可以根據(jù)實際情況動態(tài)地對PSW中的優(yōu)先級進行調(diào)整。12/23/202269NJUT⑵在現(xiàn)行程序的程序狀態(tài)字(PSW)中設(shè)置現(xiàn)行程序的優(yōu)先級,例:某計算機內(nèi)部程序與外部中斷請求優(yōu)先級和PSW的規(guī)定為:處理機0級處理機1級處理機7級外部請求0級外部請求1級外部請求7級765PSW內(nèi)部優(yōu)先級12/23/202270NJUT例:某計算機內(nèi)部程序與外部中斷請求優(yōu)先級和PSW的規(guī)定為:處2)中斷請求之間的排隊與判優(yōu)(1)軟件查詢響應(yīng)中斷請求后,先轉(zhuǎn)入中斷查詢程序,按優(yōu)先順序依次詢問各中斷源是否提出請求。如果是,則轉(zhuǎn)入相應(yīng)的服務(wù)處理程序。如果沒有,則繼續(xù)往下查詢。查詢的順序體現(xiàn)了優(yōu)先級別的高低,改變查詢順序也就修改了優(yōu)先級。在硬件上,每一個中斷源都附帶一個標(biāo)志,用于代表相應(yīng)的中斷源是否請求中斷。CPU用測試指令按一定優(yōu)先次序檢查這些標(biāo)志,即可確定中斷源是否發(fā)出中斷請求。12/23/202271NJUT2)中斷請求之間的排隊與判優(yōu)(1)軟件查詢12/20/212/23/202272NJUT12/20/202272NJUT軟件查詢方法適用于低速和中速設(shè)備,多用于公共請求線方式。優(yōu)點:中斷條件標(biāo)志的優(yōu)先級可用程序任意改變,靈活性好。缺點:設(shè)備多時,響應(yīng)速度太慢。12/23/202273NJUT軟件查詢方法適用于低速和中速設(shè)備,多用于公共請求線方式。12(2)并行優(yōu)先排隊邏輯采用硬件并行優(yōu)先排隊邏輯對具有獨立中斷請求線的中斷請求進行判優(yōu)。并行排優(yōu)邏輯適于具有多請求線的系統(tǒng),速度較快,硬件代價較高。12/23/202274NJUT(2)并行優(yōu)先排隊邏輯采用硬件并行優(yōu)先排隊邏輯對具有獨立中12/23/202275NJUT12/20/202275NJUT采用硬件優(yōu)先鏈電路判斷中斷優(yōu)先級,判優(yōu)結(jié)果可用不同的設(shè)備碼或用中斷源類型碼來表示。用于采用公共請求線的系統(tǒng)。串行方式(3)鏈?zhǔn)絻?yōu)先排隊邏輯12/23/202276NJUT采用硬件優(yōu)先鏈電路判斷中斷優(yōu)先級,判優(yōu)結(jié)果可用不同的設(shè)備碼或INTI中斷排隊輸入INTR1INTR2INTR3INTR4INTO中斷排隊輸出INTA中斷回答INTR1INTR2INTR3INTR4453210送CPU0CH0FH12H0EH12/23/202277NJUTINTI中斷排隊輸入INTR1INTR2INTR3INTR4(4)二維結(jié)構(gòu)的優(yōu)先排隊①n+1根主優(yōu)先(CPU有n+1根響應(yīng)),CPU內(nèi)部有判優(yōu)電路;②PSW有CPU現(xiàn)行程序的優(yōu)先級編碼,則判優(yōu)電路同時負(fù)責(zé)CPU與中斷請求之間的判優(yōu);③次優(yōu)先的判定可采用上述的菊花鏈結(jié)構(gòu);④需要時,DMA也可納入二維結(jié)構(gòu)中。12/23/202278NJUT(4)二維結(jié)構(gòu)的優(yōu)先排隊①n+1根主優(yōu)先(CPU有n+1根12/23/202279NJUT12/20/202279NJUT(5)采用中斷控制器集成芯片的優(yōu)先邏輯在微型計算機中,廣泛使用中斷控制器集成芯片,如Intel8259A。中斷控制器將中斷請求信號的寄存、匯集、屏蔽、排優(yōu)、編碼等邏輯,集成在一塊芯片之中。(見下圖)Intel8259A可以多個級連,用于更多的中斷請求信號。12/23/202280NJUT(5)采用中斷控制器集成芯片的優(yōu)先邏輯在微型計算機中,廣泛使12/23/202281NJUT12/20/202281NJUT4.中斷響應(yīng)CPU接到中斷請求信號后,若滿足響應(yīng)中斷的條件,即暫?,F(xiàn)行程序的執(zhí)行,而轉(zhuǎn)入中斷處理,將這一過程稱為中斷響應(yīng)。1)CPU響應(yīng)中斷應(yīng)具備的條件:(1)
有中斷源請求中斷。(2)
CPU允許響應(yīng)中斷,即處于開中斷狀態(tài)。(3)
現(xiàn)行指令不是停機指令(4)
一條指令執(zhí)行結(jié)束。12/23/202282NJUT4.中斷響應(yīng)CPU接到中斷請求信號后,若滿足響應(yīng)中斷的條一般情況下,CPU響應(yīng)中斷的時間是在一條指令執(zhí)行結(jié)束。但某些特殊的中斷,例如指令執(zhí)行過程中,取數(shù)時所需數(shù)據(jù)不在主存,這時不及時處理,指令就無法執(zhí)行下去,這就要求在指令執(zhí)行過程中響應(yīng)中斷(OS缺頁處理)。12/23/202283NJUT一般情況下,CPU響應(yīng)中斷的時間是在一條指令執(zhí)行結(jié)束。但某些中斷響應(yīng)流程取指令停機停機指令執(zhí)行指令電源故障YN中斷請求N中斷處理YYN12/23/202284NJUT中斷響應(yīng)流程取指令停機停機指令執(zhí)行指令電源故障YN中斷請求N2)中斷響應(yīng)過程中應(yīng)完成的操作(1)關(guān)中斷
以便在保存現(xiàn)場過程中不允許響應(yīng)新的中斷請求,確?,F(xiàn)場保存的正確性;(2)保存斷點地址-PC和程序狀態(tài)字PSW;(3)轉(zhuǎn)入中斷服務(wù)程序入口,以便執(zhí)行相應(yīng)的中斷服務(wù)程序,完成中斷處理任務(wù)。中斷響應(yīng)周期的操作流程中的操作不是在程序中安排的,而是直接由硬件完成的。通常把這種操作稱為執(zhí)行中斷隱指令。(中斷周期的任務(wù))12/23/202285NJUT2)中斷響應(yīng)過程中應(yīng)完成的操作(1)關(guān)中斷12/20/12/23/202286NJUT12/20/202286NJUT5.中斷服務(wù)程序入口地址的獲取方式1)軟件查詢方法CPU響應(yīng)中斷請求時,產(chǎn)生1固定地址,先轉(zhuǎn)入中斷查詢程序,按優(yōu)先順序依次識別中斷源,并轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序入口。(DJS-130機的1號內(nèi)存單元為中斷查詢程序入口地址,斷點放在0號單元)例:某機器各接口將中斷請求存放在狀態(tài)端口的狀態(tài)字寄存器STR中,CPU響應(yīng)中斷請求后,轉(zhuǎn)入查詢程序。(中斷服務(wù)總程序)3INTR=1ReadySTR12/23/202287NJUT5.中斷服務(wù)程序入口地址的獲取方式1)軟件查詢方法3I2)通過硬件排隊與編碼電路獲得優(yōu)先級最高的中斷源的設(shè)備碼,并轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序入口。例:響應(yīng)中斷后,執(zhí)行程序:INTAAC;發(fā)中斷回答信號INTA,將設(shè)
備碼讀入累加器AC中JMPAC+100H;轉(zhuǎn)入(AC)+100H處執(zhí)行斷點可約定另一寄存器存放。1、2兩種方法也稱為非向量中斷12/23/202288NJUT2)通過硬件排隊與編碼電路獲得優(yōu)先級最高的中斷源的設(shè)備碼,3)向量中斷中斷向量:所有中斷源對應(yīng)的中斷服務(wù)程序的入口地址及其程序狀態(tài)字PSW的有序集合。中斷向量存放在特定的存儲區(qū)中,有些計算機沒有完整的程序狀態(tài)字,則中斷向量僅指服務(wù)程序入口地址。中斷向量表:存放中斷向量的表。所有的中斷服務(wù)程序入口地址(或包括服務(wù)程序的狀態(tài)字)組織成一個一維的表格,存放在一段連續(xù)的存儲區(qū)中。中斷向量地址:訪問中斷向量表的地址碼,即讀取中斷向量所需的地址,也稱為中斷指針。12/23/202289NJUT3)向量中斷中斷向量:所有中斷源對應(yīng)的中斷服務(wù)程序的入口地中斷向量地址1入口地址1程序狀態(tài)字1中斷向量地址2入口地址2程序狀態(tài)字2︰︰中斷向量地址n入口地址n程序狀態(tài)字n中斷向量表12/23/202290NJUT中斷向量地址1入口地址1程序狀態(tài)字1中斷向量地址2入口地址2向量中斷:將各個中斷服務(wù)程序的入口地址(或包括狀態(tài)字)組織成中斷向量表;響應(yīng)中斷時,由硬件直接產(chǎn)生對應(yīng)于中斷源的向量地址;據(jù)此訪問中斷向量表,從中讀取服務(wù)程序入口地址,由此轉(zhuǎn)向中斷服務(wù)程序。向量中斷的響應(yīng)工作一般在中斷周期中由硬件直接實現(xiàn)。向量中斷的特點是能夠根據(jù)中斷請求信號快速、直接地轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序。因此現(xiàn)代計算機基本上都具有向量中斷功能。12/23/202291NJUT向量中斷:將各個中斷服務(wù)程序的入口地址(或包括狀態(tài)字)組織成IBMPC機的中斷向量表12/23/202292NJUTIBMPC機的中斷向量表12/20/202292NJUT向量中斷的工作過程⑴中斷源提出中斷請求。⑵若CPU允許中斷,則發(fā)出中斷回答信號。⑶優(yōu)先級編碼電路形成優(yōu)先級最高的中斷請求的中斷向量地址存入中斷向量地址寄存器VAR。⑷保護斷點和現(xiàn)場,PC、PSW入棧。⑸根據(jù)中斷向量地址,將對應(yīng)的中斷服務(wù)程序入口地址和PSW送入PC和PSR。⑹轉(zhuǎn)入中斷服務(wù)程序,進行中斷服務(wù)。中斷返回,將保存的PC和PSW彈回PC和PSR。12/23/202293NJUT向量中斷的工作過程⑴中斷源提出中斷請求。12/20/202主存0級入口0級PSW1級入口1級PSW┇7級入口7級PSWVARINTR0INTR1INTR7堆棧PSWPC××優(yōu)先級編碼電路PCPSRCPUINTRINTA⑤③①②④⑦⑥中斷服務(wù)12/23/202294NJUT主存0級入口0級PSW1級入口1級PSW┇7級入口7級PSW6.多重中斷與中斷屏蔽多重中斷中斷嵌套一.多重中斷原則1)若新產(chǎn)生的中斷源高于現(xiàn)中斷的優(yōu)先級,則予以響應(yīng);2)若新產(chǎn)生的中斷源同于或低于現(xiàn)中斷的優(yōu)先級,則不予以響應(yīng).等現(xiàn)中斷處理結(jié)束后,再處理新中斷.中斷嵌套需要堆棧支持12/23/202295NJUT6.多重中斷與中斷屏蔽多重中斷中斷嵌套12/20/20舉例某計算機的中斷系統(tǒng)有五級中斷,優(yōu)先次序為12345若CPU在執(zhí)行正常程序時,有下列事件發(fā)生:(1)中斷1,2,4提出請求;(2)在處理中斷4過程中,又有中斷3提出請求;(3)在處理中斷3時,又出現(xiàn)1,5中斷請求.請畫出CPU對所有事件的處理過程圖.12/23/202296NJUT舉例某計算機的中斷系統(tǒng)有五級中斷,優(yōu)先次序為12/20/20中斷源用戶程序中斷服務(wù)程序1,2,412345time31,512/23/202297NJUT中斷源用戶程序中斷服務(wù)程序二.中斷屏蔽技術(shù)1)作用:封鎖部分中斷;中斷升級(高優(yōu)先的被屏蔽,低優(yōu)先此時“最優(yōu)”)2)例子在上例中,我們可以得到如下所示的中斷屏蔽碼.(1屏蔽;0開放)注意:本級不允許相互干擾12/23/202298NJUT二.中斷屏蔽技術(shù)1)作用:封鎖部分中斷;12/20/級別屏蔽碼1234511111120111130011140001150000112/23/202299NJUT級別屏蔽若改成14325次序,則屏蔽碼如下:級別屏蔽碼1234511111120100130110140111150000112/23/2022100NJUT若改成14325次序,則屏蔽碼如下:級別7.中斷服務(wù)(中斷處理)取得中斷服務(wù)程序的入口地址后,CPU開始執(zhí)行中斷服務(wù)程序,完成規(guī)定的中斷處理任務(wù)。中斷服務(wù)程序一般由起始、主體、結(jié)尾三部分組成。1)起始部分(先行段)①判明中斷原因,識別中斷源,對于不同中斷源轉(zhuǎn)入不同的服務(wù)程序。對于向量中斷,直接由硬件判明中斷源并給出中斷向量地址,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序。對于非向量中斷,需通過執(zhí)行一段程序判明中斷源,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序。12/23/2022101NJUT7.中斷服務(wù)(中斷處理)取得中斷服務(wù)程序的入口地址后,C②設(shè)置屏蔽字,封鎖同級與低級中斷。③保存中斷現(xiàn)場。除了PSW外,還要保存一些在執(zhí)行中斷服務(wù)程序過程中可能被改變的寄存器的內(nèi)容。④開中斷,以便在本次中斷處理過程中,允許響應(yīng)更高級的中斷請求。這是因為在中斷響應(yīng)時,為避免影響保護現(xiàn)場,進行了關(guān)中斷操作。2)主體部分執(zhí)行具體的為中斷源服務(wù)的程序12/23/2022102NJUT②設(shè)置屏蔽字,封鎖同級與低級中斷。12/20/2022103)結(jié)尾部分(恢復(fù)段)①關(guān)中斷,以便在恢復(fù)現(xiàn)場過程中不允許響應(yīng)新的中斷。②恢復(fù)中斷現(xiàn)場,將原來保存的寄存器內(nèi)容送回原寄存器。③清中斷請求信號,表示本次中斷處理結(jié)束。④清屏蔽字,開放同級與低級中斷。⑤開中斷,以便響應(yīng)新的中斷請求。⑥恢復(fù)PSW、PC,返回被中斷的程序。12/23/2022103NJUT3)結(jié)尾部分(恢復(fù)段)12/20/2022103NJUT中斷服務(wù)子程序進入中斷周期,執(zhí)行隱指令,關(guān)中斷中斷響應(yīng)保護現(xiàn)場和屏蔽字設(shè)置新屏蔽字開中斷服務(wù)程序(主體)關(guān)中斷恢復(fù)現(xiàn)場和屏蔽字開中斷中斷返回先行段恢復(fù)段12/23/2022104NJUT中斷服務(wù)子程序進入中斷周期,執(zhí)中斷響應(yīng)保護現(xiàn)場和屏蔽字設(shè)置新中斷處理的全過程①中斷請求;②擇優(yōu)響應(yīng);③保護現(xiàn)場;④中斷服務(wù);⑤恢復(fù)現(xiàn)場;⑥中斷返回;在中斷處理的過程中,有些是由硬件完成的,有些是由軟件完成的,因此中斷是一種軟、硬件結(jié)合的技術(shù)手段。不同的機器,軟、硬件功能分配的比例有所不同。12/23/2022105NJUT中斷處理的全過程①中斷請求;12/20/2022105NJ中斷堆棧的變化XXPCPSWAXPCPSWCXSPPushAXPushCXPopAXPopCXXXPCPSWAXPCPSWCXSP用戶程序中斷程序1保護現(xiàn)場中斷程序2恢復(fù)現(xiàn)場12/23/2022106NJUT中斷堆棧的變化XXPCPSWAXPCPSWCXSPPush8.中斷響應(yīng)的及時性(1)長時間指令引起的延遲問題X86的MOVS指令(2)程序執(zhí)行環(huán)境轉(zhuǎn)換的開銷保護斷點、現(xiàn)場恢復(fù)斷點、現(xiàn)場
改進:RISC的計算機采用寄存器“窗口”中斷向量表安排在Cache中,中斷處理程序安排到Cache里。放在堆棧12/23/2022107NJUT8.中斷響應(yīng)的及時性(1)長時間指令引起的延遲問題放在堆9.4直接存儲器存取(DMA)直接存儲器存取方式(DirectMemoryAccess)簡稱DMA方式。DMA方式:以主存為中心,采用硬件手段在主存與I/O設(shè)備之間建立直接的數(shù)據(jù)傳送通路,由DMA控制器(DMAC)取得總線控制權(quán),控制主存與I/O設(shè)備之間的數(shù)據(jù)傳送,在傳送過程中不需要CPU的程序干預(yù)的數(shù)據(jù)傳送控制方式。DMA方式主要用于高速外設(shè)按照連續(xù)地址直接訪問存儲器。12/23/2022108NJUT9.4直接存儲器存取(DMA)直接存儲器存取方式(DirDMA方式CPU主存接口設(shè)備DMA控制器程序控制DMA控制12/23/2022109NJUTDMA方式CPU主存接口設(shè)備DMA程序控制DMA控制12/29.4.1DMA方式的特點與應(yīng)用場合1.DMA方式的特點⑴以響應(yīng)隨機請求的方式,實現(xiàn)主存與I/O設(shè)備間的快速數(shù)據(jù)傳送。⑵采用DMA方式控制數(shù)據(jù)傳送時,僅需占用系統(tǒng)總線,不切換程序,不存在保存斷點、保護現(xiàn)場、恢復(fù)現(xiàn)場、恢復(fù)斷點等操作。因此DMA傳送的插入不影響CPU的程序執(zhí)行狀態(tài),除了訪問主存的沖突外,CPU可以繼續(xù)執(zhí)行自己的程序,提高了CPU的利用率。⑶DMA方式只能處理簡單的數(shù)據(jù)傳送,難以識別與處理復(fù)雜的情況。12/23/2022110NJUT9.4.1DMA方式的特點與應(yīng)用場合1.DMA方式的2.DMA方式的應(yīng)用DMA方式一般應(yīng)用于主存與高速I/O設(shè)備間的簡單數(shù)據(jù)傳送(高速I/O設(shè)備如磁盤、磁帶、光盤等外存儲器),以及其它帶有局部存儲器的外圍設(shè)備、通信設(shè)備等。如:⑴磁盤與主存的成塊數(shù)據(jù)傳送⑵通信設(shè)備的批量數(shù)據(jù)傳送⑶動態(tài)存儲器的刷新12/23/2022111NJUT2.DMA方式的應(yīng)用12/20/2022111NJUTDMA傳送是直接依靠硬件實現(xiàn)的,可用于快速的數(shù)據(jù)直傳。但DMA方式本身不能處理復(fù)雜事態(tài)。因此,在某些場合常綜合應(yīng)用DMA方式與程序中斷方式,二者互為補充。典型的例子是磁盤調(diào)用,磁盤讀寫采用DMA方式進行數(shù)據(jù)傳送,而對尋道是否正確的判別處理、批量傳送結(jié)束后的善后處理,則采用程序中斷方式。12/23/2022112NJUTDMA傳送是直接依靠硬件實現(xiàn)的,可用于快速的數(shù)據(jù)直傳。但DM
9.4.2DMA的傳送方式1.CPU停機方式用CPU停機方式實現(xiàn)DMA傳送時,CPU停止工作,讓出對總線的控制權(quán),而由DMAC接管總線,進行數(shù)據(jù)傳送。數(shù)據(jù)傳送結(jié)束后,再將總線交還給CPU。CPU停機方式控制簡單,比較容易實現(xiàn),是最常用、最簡單的一種DMA實現(xiàn)方式,大部分DMAC都采用這種方式。但在采用這種方式進行的DMA傳送期間,由于使CPU處于空閑等待狀態(tài),降低了CPU的利用率,并且可能會影響到某些實時性很強的操作,如中斷響應(yīng)和對動態(tài)RAM的刷新等。12/23/2022113NJUT9.4.2DMA的傳送方式1.CPU停機方式12/212/23/2022114NJUT12/20/2022114NJUT2.周期挪用(周期竊取)方式周期挪用:每當(dāng)外設(shè)發(fā)出DMA請求時,DMAC便挪用或竊取總線控制權(quán)一個或幾個主存周期,而外設(shè)不發(fā)出DMA請求時,CPU仍繼續(xù)訪問主存。采用周期挪用方式時,外設(shè)要求DMA傳送的三種情況⑴外設(shè)要求DMA傳送時,CPU不需訪問主存(如CPU正在執(zhí)行乘法指令,由于乘法指令執(zhí)行時間較長,此時CPU不需訪問主存),故外設(shè)訪存與CPU不發(fā)生沖突。12/23/2022115NJUT2.周期挪用(周期竊取)方式周期挪用:每當(dāng)外設(shè)發(fā)出DMA請⑵外設(shè)要求DMA傳送時,CPU正在訪存,此時必須等存取周期結(jié)束后,CPU才能讓出總線控制權(quán)。⑶外設(shè)要求訪存時,CPU也要求訪存,這就出現(xiàn)了訪存沖突。此時要求外設(shè)訪存優(yōu)先于CPU訪存。因為外設(shè)不立即訪存就可能丟失數(shù)據(jù),這時DMAC要竊取一、二個存取周期,使CPU延緩一、二個存取周期再訪存。與CPU暫停訪存的方式相比,周期挪用方式既實現(xiàn)了I/O傳送,又較好地發(fā)揮了主存與CPU的效率,是一種廣泛采用的方法。12/23/2022116NJUT⑵外設(shè)要求DMA傳送時,CPU正在訪存,此時必須等存取周期周期挪用12/23/2022117NJUT周期挪用12/20/2022117NJUT3.DMA與CPU交替訪問將一個CPU周期分為兩個分周期,與DMA分別使用。其中一個專供DMA訪存,另一個專供CPU訪存。這種方式不需要總線使用權(quán)的申請建立和歸還過程,總線使用權(quán)是通過不同的周期分別控制的。在這種工作方式下,CPU既不停止主程序的運行也不進入等待狀態(tài),在CPU不知不覺中完成了DMA的數(shù)據(jù)傳送,故又有“透明的DMA”方式之稱,當(dāng)然周期擴展方式會使CPU的處理速度減慢,其相應(yīng)的硬件邏輯也變得更為復(fù)雜。12/23/2022118NJUT3.DMA與CPU交替訪問將一個CPU周期分為兩個分周期,12/23/2022119NJUT12/20/2022119NJUT9.4.3DMA的硬件組織
在目前的計算機系統(tǒng)中,大多專門設(shè)置了DMA控制器,而且較多采取DMA控制器與DMA接口相分離的方式。DMA控制器只負(fù)責(zé)申請、接管總線的控制權(quán)、發(fā)送地址和操作命令以及控制DMA傳送過程的起始與終止,因而可以為各個設(shè)備通用,獨立于具體I/O設(shè)備。DMA接口用于實現(xiàn)與設(shè)備的連接和數(shù)據(jù)緩沖,反映設(shè)備的特定要求。12/23/2022120NJUT9.4.3DMA的硬件組織在目前的計算機系統(tǒng)中,大多專9.4.4DMA控制器(DMAC)的組成1.DMAC的功能①
接收外設(shè)的DMA請求,向CPU發(fā)出總線請求信號。請求CPU讓出總線。②
當(dāng)CPU發(fā)出DMA響應(yīng)信號之后,接管對總線的控制,進入DMA方式。③
對存儲器尋址,輸出和修改地址信息。
④
向存儲器和外設(shè)發(fā)出相應(yīng)的讀/寫控制信號。
⑤
控制傳送的字節(jié)數(shù),判斷DMA傳送是否結(jié)束。
⑥
在DMA傳送結(jié)束以后,向CPU發(fā)出結(jié)束DMA請求信號,釋放總線,使CPU恢復(fù)對總線的控制,繼續(xù)正常工作。12/23/2022121NJUT9.4.4DMA控制器(DMAC)的組成1.DMAC的功能2.DMAC的基本組成為了實現(xiàn)DMAC的功能,DMAC內(nèi)部除需要有接受和發(fā)送DMA請求和響應(yīng)信號的能力外,還應(yīng)具有地址寄存和計數(shù)功能,以便控制對存儲器的尋址;具有字節(jié)計數(shù)器,能夠?qū)魉偷臄?shù)據(jù)個數(shù)進行計數(shù)。12/23/2022122NJUT2.DMAC的基本組成為了實現(xiàn)DMAC的功能,DMAC內(nèi)部除12/23/2022123NJUT12/20/2022123NJUT(1)主存地址寄存器AR用于存放主存中需要交換數(shù)據(jù)的地址。在DMA傳送前,須通過程序?qū)?shù)據(jù)在主存中的首地址送到主存地址寄存器。在DMA傳送過程中,每交換一次數(shù)據(jù),將地址寄存器內(nèi)容加/減1,指向下一單元,直到一批數(shù)據(jù)傳送完畢為止。(2)字計數(shù)器WC用于記錄傳送數(shù)據(jù)的總字?jǐn)?shù)。在DMA傳送過程中,每傳送一個字,字計數(shù)器減1,直到計數(shù)器為0,即最高位產(chǎn)生進位時,表示該批數(shù)據(jù)傳送完畢,DMAC發(fā)出DMA傳送結(jié)束信號。12/23/2022124NJUT(1)主存地址寄存器AR12/20/2022124NJUT(3)數(shù)據(jù)緩沖寄存器BR用于暫存每次傳送的數(shù)據(jù)。通常DMA接口與主存之間采用字傳送,而DMA與設(shè)備之間可能是字節(jié)或位傳送。因此DMA接口中還可能包括有裝配或拆卸字信息的硬件邏輯,如數(shù)據(jù)移位緩沖寄存器、字節(jié)計數(shù)器等。(4)設(shè)備地址寄存器DAR存放I/O設(shè)備的設(shè)備碼或表示設(shè)備信息存儲區(qū)的尋址信息。如磁盤數(shù)據(jù)所在的區(qū)號、盤面號和柱面號。具體內(nèi)容取決于設(shè)備的數(shù)據(jù)格式和地址的編址方式。12/23/2022125NJUT(3)數(shù)據(jù)緩沖寄存器BR12/20/2022125NJUT(5)DMA控制邏輯用于負(fù)責(zé)管理DMA的傳送過程,由控制電路、時序電路及命令狀態(tài)控制寄存器等組成。每當(dāng)設(shè)備準(zhǔn)備好一個數(shù)據(jù)字(或一個字傳送結(jié)束),就向DMA接口提出申請(DREQ),DMA控制邏輯便向CPU請求DMA服務(wù),發(fā)出總線使用權(quán)的請求信號(HRQ)。待收到CPU發(fā)出的響應(yīng)信號HLDA后,DMA控制邏輯便開始負(fù)責(zé)管理DMA傳送的全過程,包括對主存地址寄存器和字計數(shù)器的修改、識別總線地址、指定傳送類型(輸入或輸出)以及通知設(shè)備DMA請求已經(jīng)被響應(yīng)(DACK)等。12/23/2022126NJUT(5)DMA控制邏輯12/20/2022126NJUT(6)中斷機構(gòu)當(dāng)字計數(shù)器計數(shù)到全“0”時,表示一批數(shù)據(jù)交換完畢,由計數(shù)結(jié)束信號通過中斷機構(gòu)向CPU提出中斷請求,請求CPU作DMA操作的后處理。必須注意,這里的中斷與前面介紹的I/O中斷的技術(shù)相同,但中斷的目的不同,前面是為了數(shù)據(jù)的輸入或輸出,而這里是為了報告一批數(shù)據(jù)傳送結(jié)束。它們是I/O系統(tǒng)中不同的中斷事件。(7)控制/狀態(tài)寄存器STR存放有關(guān)控制和狀態(tài)信息,如傳送方式、讀/寫狀態(tài)、傳送完畢與否等。12/23/2022127NJUT(6)中斷機構(gòu)12/20/2022127NJUT9.4.5DMA數(shù)據(jù)傳輸過程
一.過程1.預(yù)處理在DMAC開始工作之前,CPU必須給它預(yù)置如下信息:①給DMA控制邏輯指明數(shù)據(jù)傳送方向是輸入(主存寫)還是輸出(主存讀)。②向DMA設(shè)備地址寄存器送設(shè)備號,并啟動設(shè)備。③向DMA主存地址寄存器送入交換數(shù)據(jù)的主存起始地址。12/23/2022128NJUT9.4.5DMA數(shù)據(jù)傳輸過程一.過程12/20/2022④向字計數(shù)器送入交換數(shù)據(jù)的個數(shù)。上述工作由CPU執(zhí)行幾條輸入輸出指令完成,即程序的初始化階段。這些工作完成后,CPU繼續(xù)執(zhí)行原來的程序。當(dāng)外部設(shè)備準(zhǔn)備好發(fā)送的數(shù)據(jù)(輸入)或上次接受的數(shù)據(jù)已經(jīng)處理完畢(輸出)時,它便通過DMA接口向CPU提出占用總線的申請,若有多個DMA同時申請,則按輕重緩急由硬件排隊判優(yōu)邏輯決定優(yōu)先等級。12/23/2022129NJUT④向字計數(shù)器送入交換數(shù)據(jù)的個數(shù)。12/20/2022129待設(shè)備得到主存總線的控制權(quán)后,數(shù)據(jù)的傳送便由該DMAC進行管理。2.數(shù)據(jù)傳送DMAC獲得總線后,即可按規(guī)定的傳送方式,進行數(shù)據(jù)的輸入或輸出操作,直到將所有數(shù)據(jù)傳輸完畢,DMAC將總線交還給CPU。需要時還向CPU發(fā)出中斷請求。12/23/2022130NJUT待設(shè)備得到主存總線的控制權(quán)后,數(shù)據(jù)的傳送便由該DMAC進行管3.DMA后處理CPU響應(yīng)中斷后,為DMA傳送作結(jié)束處理工作。①校驗送入主存的數(shù)據(jù)是否正確②決定是否繼續(xù)用DMA方式傳送,還是結(jié)束傳送③測試在傳送過程中是否發(fā)生了錯誤④判斷是否正常結(jié)束12/23/2022131NJUT3.DMA后處理12/20/2022131NJUT12/23/2022132NJUT12/20/2022132NJUT例1:DMA數(shù)據(jù)輸入過程(DMA寫)①從設(shè)備讀入一個字到DMA的數(shù)據(jù)緩沖寄存器BR中,表示數(shù)據(jù)緩沖寄存器“滿”;②外設(shè)向DMAC發(fā)請求(DREQ);③DMAC向CPU申請總線控制權(quán)(HRQ);④CPU發(fā)回HLDA信號,表示允許將總線控制權(quán)交給DMAC;⑤將DMA主存地址送地址總線;⑥通知設(shè)備已被授予一個DMA周期(DACK),并為交換下一個字做準(zhǔn)備;二.舉例12/23/2022133NJUT例1:DMA數(shù)據(jù)輸入過程(DMA寫)二.舉例12/20/⑦將DMA數(shù)據(jù)緩沖寄存器的內(nèi)容送數(shù)據(jù)總線;⑧向存儲器發(fā)寫命令:⑨修改主存地址和字計數(shù)值;⑩判斷數(shù)據(jù)塊是否傳送結(jié)束,若未結(jié)束,則繼續(xù)傳送;若已結(jié)束,(字計數(shù)器計數(shù)為0),則向CPU申請程序中斷,標(biāo)志數(shù)據(jù)塊傳送結(jié)束。12/23/2022134NJUT⑦將DMA數(shù)據(jù)緩沖寄存器的內(nèi)容送數(shù)據(jù)總線;12/20/20例2:DMA數(shù)據(jù)輸出過程(DMA讀)①當(dāng)DMA數(shù)據(jù)緩沖寄存器已將輸出數(shù)據(jù)送至I/O設(shè)備后,表示數(shù)據(jù)緩沖寄存器已“空”;②外設(shè)向DMAC發(fā)請求(DREQ);③DMAC向CPU申請總線控制權(quán)(HRQ);④CPU發(fā)回HLDA信號,表示允許將總線控制權(quán)交給DMAC使用;⑤將DMA主存地址寄存器中的主存地址送地址總線,并發(fā)存儲器讀命令;⑥通知設(shè)備已被授予一個DMA周期(DACK),并為交換下一個字做準(zhǔn)備:12/23/2022135NJUT例2:DMA數(shù)據(jù)輸出過程(DMA讀)12/20/20221⑦主存將相應(yīng)地址單元的內(nèi)容通過數(shù)據(jù)總線讀入到DMA的數(shù)據(jù)緩沖寄存器中;⑧將DMA數(shù)據(jù)緩沖寄存器的內(nèi)容送到輸出設(shè)備;⑨修改主存地址和字計數(shù)值:⑩判斷數(shù)據(jù)塊是否已傳送完畢,若未完,繼續(xù)傳送;若已送完,則向CPU申請程序中斷。12/23/2022136NJUT⑦主存將相應(yīng)地址單元的內(nèi)容通過數(shù)據(jù)總線讀入到DMA的數(shù)據(jù)緩例3:設(shè)磁盤、磁帶、打印機同時工作。磁盤、磁帶、打印機分別每隔30μs、45μs、150μs向DMA接口發(fā)DMA請求,磁盤的優(yōu)先級高于磁帶,磁帶的優(yōu)先級高于打印機。假設(shè)DMA接口完成一次DMA數(shù)據(jù)傳送需5μs,打印機先請求DMA服務(wù),稍后磁盤和磁帶同時提出請求。請描繪DMA處理過程。打印機首先發(fā)請求,故DMA接口首先為打印機服務(wù)(T1),接著磁盤、磁帶同時又有DMA請求,DMA接口按優(yōu)先級別,先響應(yīng)磁盤請求(T2),再響應(yīng)磁帶請求(T3),每次DMA傳送都是一個字節(jié)。這樣,在90多μs的時間里,DMA接口為打印機服務(wù)一次(T1),為磁盤服務(wù)四次(T2、T4、T6、T7)為磁帶服務(wù)三次(T3、T5、T8)??梢奃MA接口還有很多空閑時間,可再容納更多的外部設(shè)備。12/23/2022137NJUT例3:設(shè)磁盤、磁帶、打印機同時工作。磁盤、磁帶、打印機分別12/23/2022138NJUT12/20/2022138NJUTDMA方式與程序中斷的比較程序中斷DMA方式以CPU為中心,采用軟硬結(jié)合,以軟件為主的方式,控制設(shè)備與主機之間的數(shù)據(jù)傳送。以主存為中心,采用硬件手段,控制設(shè)備與主存間直接進行數(shù)據(jù)傳送。因為需要程序切換,所以需要保護與恢復(fù)現(xiàn)場。由DMA控制器直接控制數(shù)據(jù)傳送。在數(shù)據(jù)傳送期間,不需要CPU干預(yù),不需保護與恢復(fù)現(xiàn)場。適合于慢速外設(shè)。適合于快速外設(shè)。必須在一條指令執(zhí)行結(jié)束后才能響應(yīng)。在一個訪存周期結(jié)束后即可響應(yīng)??蓪崿F(xiàn)多種處理功能僅用于數(shù)據(jù)傳送12/23/2022139NJUTDMA方式與程序中斷的比較程序中斷DMA方式以CPU為中心,9.5輸入/輸出通道在大型計算機系統(tǒng)中,外圍設(shè)備的臺數(shù)一般比較多,設(shè)備的種類、工作方式和工作速度的差別也比較大。如果僅采用程序查詢、中斷和DMA方式來管理外設(shè),將會引起下列問題:⑴所有外設(shè)的I/O工作全部都要由CPU來承擔(dān),CPU的I/O負(fù)擔(dān)很重,不能專心于用戶程序的計算。⑵如果為每一臺設(shè)備都配置一個接口,則接口過多,硬件浪費大、代價高。為了把對外圍設(shè)備的管理工作從CPU中分離出來,采用了通道處理機技術(shù)。12/23/2022140NJUT9.5輸入/輸出通道在大型計算機系統(tǒng)中,外圍設(shè)備的臺數(shù)一9.5.1通道的基本概念1.通道處理機(簡稱通道)通道處理機可以看作是一臺能夠執(zhí)行有限I/O指令,并且能夠被多臺外圍設(shè)備共享的小型DMA專用處理機。通道有自己的指令系統(tǒng),能夠獨立執(zhí)行用通道命令編寫的輸入輸出控制程序,產(chǎn)生相應(yīng)的控制信號控制設(shè)備的工作。通道可根據(jù)需要控制多種不同的設(shè)備。每個通道可以連接多個外部設(shè)備,每個外設(shè)對應(yīng)一個子通道。通道通過數(shù)據(jù)通道與設(shè)備的控制器進行通信。12/23/2022141NJUT9.5.1通道的基本概念1.通道處理機(簡稱通道)設(shè)備控制器如同I/O接口,用于接收通道控制器的命令并向設(shè)備發(fā)出控制命令。一個設(shè)備控制器可控制多個同類的設(shè)備,只要這些設(shè)備是輪流工作的。2.設(shè)備控制器12/23/2022142NJUT設(shè)備控制器如同I/O接口,用于接收通道控制器的命令并向設(shè)備發(fā)3.通道與DMA方式的異同⑴相同點通道與DMA方式都是在主存與I/O設(shè)備之間建立數(shù)據(jù)通道,用控制器控制傳送。⑵不同點DMA方式通道DMA控制器利用硬件控制主存與設(shè)備之間的信息傳送。通道處理機執(zhí)行通道程序控制主存與設(shè)備之間的信息傳送。只能控制少量的同類設(shè)備,只能傳送數(shù)據(jù)??煽刂贫喾N不同的設(shè)備,除可傳送數(shù)據(jù)外,還可以接口的初始化、故障診斷與處理等工作。12/23/2022143NJUT3.通道與DMA方式的異同⑴相同點DMA方式通道DMA控4.帶有通道的I/O的系統(tǒng)結(jié)構(gòu)帶有通道的典型的的I/O系統(tǒng)結(jié)構(gòu)
采用主機—通道—設(shè)備控制器—設(shè)備四級連接方式。12/23/2022144NJUT4.帶有通道的I/O的系統(tǒng)結(jié)構(gòu)帶有通道的典型的的I/O系統(tǒng)12/23/2022145NJUT12/20/2022145NJUT⑴CPU的任務(wù)執(zhí)行I/O指令。啟動/關(guān)閉通道與設(shè)備。處理來自通道的中斷,如數(shù)據(jù)傳輸中斷、故障中斷等。通道的管理任務(wù)由操作系統(tǒng)完成。12/23/2022146NJUT⑴CPU的任務(wù)執(zhí)行I/O指令。12/20/2022146N⑵通道的任務(wù)①接受CPU發(fā)來的I/O指令,與指定的設(shè)備連接,訪問指定的設(shè)備。②執(zhí)行CPU為通道組織的通道程序。從通道緩沖區(qū)中讀取通道指令,經(jīng)譯碼分析,向指定的設(shè)備控制器或設(shè)備發(fā)出各種操作控制命令。③組織和控制數(shù)據(jù)在內(nèi)存與外設(shè)之間的信息傳送操作。根據(jù)需要提供數(shù)據(jù)緩存空間以及數(shù)據(jù)存入內(nèi)存或從內(nèi)存中讀取的地址;提供外設(shè)的有關(guān)地址;控制傳送的數(shù)量;指定傳送工作結(jié)束時要進行的操作,根據(jù)對傳送數(shù)據(jù)的計數(shù)判斷數(shù)據(jù)傳送工作是否結(jié)束。12/23/2022147NJUT⑵通道的任務(wù)①接受CPU發(fā)來的I/O指令,與指定的設(shè)備連④在數(shù)據(jù)傳輸過程中完成必要的格式變換,例如,把字拆卸為字節(jié),或者把字節(jié)裝配成字等。⑤讀取和接收外設(shè)的狀態(tài)信息,檢查外圍設(shè)備的工作狀態(tài)是正常還是故障,形成通道狀態(tài)信息,并根據(jù)需要將設(shè)備的狀態(tài)信息送往主存指定單元保存。⑥向CPU發(fā)出I/O中斷請求。對來自外設(shè)及通道的中斷請求按優(yōu)先次序進行排隊后報告CPU。通道使用通道指令控制設(shè)備進行數(shù)據(jù)傳送操作,并以通道狀態(tài)字的形式接收設(shè)備控制器提供的外部設(shè)備的狀態(tài)。12/23/2022148NJUT④在數(shù)據(jù)傳輸過程中完成必要的格式變換,例如,把字拆卸為字節(jié)⑶設(shè)備控制器的任務(wù)①從通道接受通道指令,控制外部設(shè)備完成指定的操作。如控制外設(shè)的啟/停,向設(shè)備發(fā)出各種非標(biāo)準(zhǔn)的控制信號等。②向通道提供外部設(shè)備的狀態(tài)。如設(shè)備的忙、閑、出錯信息等。③將各種外部設(shè)備的不同信號轉(zhuǎn)換成通道能夠識別的標(biāo)準(zhǔn)信號。④控制輔助操作。如磁帶的進帶、倒帶等操作。12/23/2022149NJUT⑶設(shè)備控制器的任務(wù)①從通道接受通道指令,控制外部設(shè)備完成9.5.2通道的基本結(jié)構(gòu)通道的主要硬件包括寄存器部分和控制部分。⑴寄存器部分?jǐn)?shù)據(jù)緩沖寄存器(DBR)、主存地址計數(shù)器、傳輸字節(jié)數(shù)計數(shù)器(WCNT)、通道命令字寄存器(CCWR)、通道地址寄存器(CAR),通道狀態(tài)字寄存器(STR)。⑵控制部分包括數(shù)據(jù)裝配和拆卸控制、數(shù)據(jù)傳送控制、地址分配控制、分時控制等控制邏輯。12/23/2022150NJUT9.5.2通道的基本結(jié)構(gòu)通道的主要硬件包括寄存器部分和控12/23/2022151NJUT12/20/2022151NJUT在具有通道的計算機中,CPU的輸入輸出指令不直接實現(xiàn)輸入輸出的數(shù)據(jù)傳送,而是由通道指令實現(xiàn)這種傳送,CPU用輸入輸出指令啟動通道執(zhí)行通道指令。CPU的通道輸入輸出指令的基本功能主要是啟動、停止I/O過程,了解通道和設(shè)備的狀態(tài)以及控制通道的其他一些操作。12/23/2022152NJUT在具有通道的計算機中,CPU的輸入輸出指令不直接實現(xiàn)輸入輸出9.5.3通道的工作過程在具有通道的計算機中,用戶程序通常通過調(diào)用通道程序來完成數(shù)據(jù)輸入輸出的過程。其中CPU執(zhí)行用戶程序和管理程序,通道處理機執(zhí)行通道程序。1.在用戶程序中使用廣義指令進入管理程序,由CPU通過管理程序組織一個通道程序,并啟動通道。2.通道進行設(shè)備選擇3.通道執(zhí)行通道程序,控制主存—通道—設(shè)備之間的信息傳送,直至完成指定的I/O工作。4.通道信息傳送結(jié)束12/23/2022153NJUT9.5.3通道的工作過程在具有通道的計算機中,用戶程序通12/23/2022154NJUT12/20/2022154NJUT12/23/2022155NJUT12/20/2022155NJUT在通道與設(shè)備之間的數(shù)據(jù)傳送過程中①如果一個通道只管理一臺高速設(shè)備,完成一次數(shù)據(jù)傳送過程只需要做一次設(shè)備選擇工作。②如果在同一個通道中有多臺設(shè)備同時工作則要反復(fù)重新選擇設(shè)備,即找出當(dāng)前要傳送數(shù)據(jù)的是哪一臺設(shè)備。對于低速設(shè)備,每傳送完一字節(jié)就要重新選擇設(shè)備;對于高速設(shè)備,通常每傳送完一個數(shù)據(jù)塊后需要重新選擇設(shè)備。12/23/2022156NJUT在通道與設(shè)備之間的數(shù)據(jù)傳送過程中12/20/2022156N9.5.4通道類型根據(jù)多臺外圍設(shè)備共享通道的不同情況,可將通道分為三種類型。1.字節(jié)多路通
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit2 My schoolbag (Part C)(說課稿)-2024-2025學(xué)年人教PEP版英語四年級上冊
- Unit 1 Life Choices Lesson 3 Your Life Is What You Make It 說課稿-2024-2025學(xué)年高中英語北師大版(2019)必修第一冊
- 2025宅基地的買賣合同協(xié)議書
- 2024六年級英語上冊 Unit 3 My weekend plan課時3 Let's try Let's talk說課稿 人教PEP
- 2024-2025學(xué)年高中數(shù)學(xué) 開學(xué)第一周 第一章 集合與函數(shù)概念 1.1.1 集合的含義與表示 第一課時 集合的含義說課稿 新人教A版必修1
- 26手術(shù)臺就是陣地 (說課稿)-2024-2025學(xué)年三年級上冊語文統(tǒng)編版
- 2025冷庫銷售合同范本
- 影視企業(yè)簽訂業(yè)績承諾協(xié)議的財務(wù)風(fēng)險控制研究
- Unit 1 Let's be friends!(說課稿)-2024-2025學(xué)年外研版(三起)(2024)英語三年級上冊
- 水景池維修施工方案
- 2025至2030年中國減肥肽數(shù)據(jù)監(jiān)測研究報告
- 2024內(nèi)蒙古公務(wù)員省直行測、行政執(zhí)法、省考行測考試真題(5套)
- 2025年安徽馬鞍山市兩山綠色生態(tài)環(huán)境建設(shè)有限公司招聘筆試參考題庫附帶答案詳解
- 山東省濱州市濱城區(qū)2024-2025學(xué)年九年級上學(xué)期期末考試化學(xué)試題
- 期末試卷:安徽省宣城市2021-2022學(xué)年七年級上學(xué)期期末歷史試題(解析版)
- 幼兒教師新年規(guī)劃
- 2024年湖南省公務(wù)員錄用考試《行測》真題及答案解析
- 2024新版(北京版)三年級英語上冊單詞帶音標(biāo)
- 第21課 活動課 從考古發(fā)現(xiàn)看中華文明的起源 教學(xué)課件
- 部編版《道德與法治》四年級下冊教材解讀與分析文檔
- PP、PVC-風(fēng)管制作安裝施工作業(yè)指導(dǎo)書
評論
0/150
提交評論