版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第8章輸入輸出系統(tǒng)5/13/20241本章學習內(nèi)容I/O系統(tǒng)的功能接口的功能中斷的根本概念DMA的根本概念通道的根本概念5/13/202428.1I/O系統(tǒng)概述8.1.1需解決的主要問題計算機系統(tǒng)中的I/O系統(tǒng),主要用于解決主機與外部設備間的信息通訊,提供信息通路,使外圍設備與主機能夠協(xié)調一致地工作。I/O系統(tǒng)的根本功能:①為數(shù)據(jù)傳輸操作選擇輸入/輸出設備②控制被選的輸入/輸出設備與主機之間的信息交換。識記5/13/202438.1.2I/O系統(tǒng)的組成硬件方面:系統(tǒng)總線、I/0接口、I/O設備及設備控制器軟件方面:用戶的I/O程序、設備驅動程序、設備控制程序系統(tǒng)總線:連接CPU,主存儲器、外圍設備的公共信息通路。I/O接口:用于連接系統(tǒng)總線與外圍設備。設備控制器:用于控制設備的具體操作5/13/202445/13/202458.2I/O接口接口:通常指設備(硬件)之間的界面。I/O接口:主機(系統(tǒng)總線)與外部設備或其它外部系統(tǒng)之間的接口邏輯。5/13/202468.2.1接口的根本功能⑴識別設備地址,選擇指定的設備⑵實現(xiàn)數(shù)據(jù)的傳送與緩沖⑶控制主機與外設之間的通信聯(lián)絡,實現(xiàn)控制命令和狀態(tài)信息的交換,保證時序協(xié)調。⑷實現(xiàn)信號形式和數(shù)據(jù)格式轉換5/13/202478.2.2I/O接口的分類(1)按數(shù)據(jù)傳送格式分串行接口:接口與設備之間的信息傳送是逐位串行進行的。并行接口:接口與設備之間的信息傳送是將一個字或一個字節(jié)的所有位同時并行地進行傳送的。5/13/20248(2)按時序的控制方式分同步接口:一般與同步總線相連,接口與總線采用統(tǒng)一時鐘信號,無論CPU與I/O設備,還是存儲器與I/O設備交換信息,都與總線同步時鐘脈沖同步。異步接口:與異步總線相連,接口與系統(tǒng)總線之間采用異步應答方式。5/13/20249(3)按交換控制方式來分直接程序控制方式程序中斷傳送方式直接存儲器存儲方式通道方式I/O處理機方式識記5/13/2024108.3程序控制方式I/O信息交換方式就是數(shù)據(jù)傳送控制方式,經(jīng)歷了由簡單到復雜,由低級到高級,由集中控制管理到各部件分散控制管理的開展過程。各種方式都有其不同的適用對象和應用場合,不同的控制方式也有不同的系統(tǒng)結構和硬件組成。按I/O控制組織的演變順序和外設與主機并行工作程度,以及數(shù)據(jù)傳送控制方式,一般把I/O控制分為五種方式。5/13/202411直接程序控制方式:完全由軟件實現(xiàn)程序中斷方式:軟硬結合,以軟件為主。DMA方式:通道方式I/O處理機方式適用于慢速外設采用輔助硬件實現(xiàn)適合快速外設快慢設備均適用適合于大、中型機適合于小微型機5/13/202412直接程序控制方式:指CPU直接利用I/O指令編程,實現(xiàn)數(shù)據(jù)輸入輸出。直接程序控制方式可分為兩種傳送方式:直接傳送方式和程序查詢方式。1.直接傳送方式直接傳送方式:CPU在控制與外設之間的數(shù)據(jù)傳送之前,不需了解外設的工作狀態(tài),即可直接執(zhí)行I/0指令,實現(xiàn)數(shù)據(jù)傳送。直接傳送方式無需查詢設備的任何狀態(tài),也無需考慮同步問題。也稱為無條件傳送方式。多用于I/0操作時間固定且的情況下。8.3.1直接程序控制方式5/13/2024132.程序查詢方式程序查詢方式:CPU在進行輸入/輸出操作之前,先查詢外設的狀態(tài),只有當外設準備就緒時,才進行數(shù)據(jù)傳送。也稱為條件傳送方式。當有關操作的時間未知或不定時,往往采用程序查詢方式進行同步控制。(1)程序查詢的根本流程(步驟)5/13/202414(1)程序查詢的根本流程(步驟)①向I/O設備發(fā)啟動命令;②查詢設備狀態(tài);③I/O設備未好,回②;④I/O準備好,執(zhí)行I/O,傳送數(shù)據(jù);⑤結束否,假設未結束,那么轉②;⑥流程結束.5/13/202415直接程序控制方式適用于下述場合:①CPU速度不高②CPU工作效率問題不是很重要③需要調試或診斷I/O接口及設備的時候這種方式的缺點是:①CPU與外圍設備無法并行工作,CPU效率很低。②無法發(fā)現(xiàn)和處理異常情況,不能響應來自外部的隨機請求。5/13/2024168.3.2程序中斷傳送方式程序中斷方式簡稱為中斷方式,它是目前幾乎所有計算機系統(tǒng)都具備的一種重要工作機制。中斷不僅用在輸入輸出過程控制中,而且在多道程序、分時操作、實時處理、人機聯(lián)系、故障處理、程序的監(jiān)視與跟蹤、目態(tài)程序和操作系統(tǒng)的聯(lián)系以及多處理機系統(tǒng)中各機間聯(lián)系方面都起著十分重要的作用。5/13/2024171中斷的根本概念
舉個例子,蓮蓮和唐唐在下象棋,眼看蓮蓮就快招架不住了,正當此緊要關頭,唐唐的女友來了,非要唐唐陪她上街買衣服不,于是唐唐不得不同蓮蓮商量,先把棋盤封了,待買完衣服后繼續(xù)戰(zhàn)斗。掌燈時分,唐唐帶著滿臉疲憊回到了棋盤前,結果蓮蓮不費吹灰只力便反敗為勝。這就是整個中斷過程。我們來看看中斷過程是如何發(fā)生的:
1)中斷請求:唐唐的女友要他逛街
2)中斷響應:唐唐準備放下棋局陪女友逛街
3)現(xiàn)場保護:先把棋盤封了
4)中斷處理:唐唐陪女友逛街買衣服
5)恢復現(xiàn)場:把棋盤解封
6)中斷返回:繼續(xù)戰(zhàn)斗
5/13/2024181中斷的根本概念1〕中斷中斷是指處理機暫時中止執(zhí)行現(xiàn)行程序而轉去執(zhí)行處理更加緊迫事件的效勞程序,待處理完畢后,再自動返回執(zhí)行原來的程序的過程。2〕實現(xiàn)中斷應考慮的問題⑴保存現(xiàn)場中斷過程實質上是一種程序切換過程,因此必須處理好保存舊現(xiàn)場、建立新現(xiàn)場的問題。⑵及時獲得中斷請求信號中斷具有隨機性(程序自愿中斷除外)。因此必須及時檢測中斷請求信號,以便及時處理。識記5/13/2024193〕中斷的作用(1)解決主機與外設的速度匹配問題,實現(xiàn)CPU與I/O設備并行工作。(2)及時處理異常情況,提高機器的可靠性。(3)便于實現(xiàn)人—機聯(lián)系(4)便于實現(xiàn)多道程序運行(5)便于實現(xiàn)多臺設備并行工作(6)便于實現(xiàn)實時控制(7)便于實現(xiàn)目態(tài)程序和操作系統(tǒng)的聯(lián)系(8)便于實現(xiàn)多處理機系統(tǒng)中各處理機間的聯(lián)系管態(tài)識記5/13/2024204〕中斷處理的過程〔6個〕識記5/13/202421中斷源以硬件信號形式通過中斷控制線路向CPU提出中斷請求。中斷源:引起中斷的事件或原因。中斷源可以是外部的硬件設備,如鍵盤、打印機等輸入/輸出設備和各種控制設備;也可以是軟件指令,如中斷指令;還可能是由各種故障和出錯引起的中斷,如計算溢出等。⑴中斷請求5/13/202422⑵中斷判優(yōu)及響應根據(jù)中斷優(yōu)先權進行判斷,擇優(yōu)予以響應。⑶保護現(xiàn)場保護主程序的運行現(xiàn)狀,如PC值、PSW、存放器和內(nèi)存中的重要數(shù)據(jù)。⑷中斷效勞按中斷源的工作要求,進行各類特定的數(shù)據(jù)傳送或控制處理。中斷效勞程序:完成中斷效勞的程序5/13/202423⑸恢復現(xiàn)場為了正確返回原程序,需要進行恢復現(xiàn)場的工作,即將前面保存的存放器的內(nèi)容送回原存放器。⑹中斷返回返回被中斷的程序,繼續(xù)執(zhí)行。5/13/2024245〕中斷的分類〔3類〕⑴按中斷來源分內(nèi)中斷外中斷強迫中斷自愿中斷:程序中預先安排的中斷硬件故障軟件故障外設請求中斷控制臺中斷5/13/202425⑵按中斷效勞程序入口的獲取方式分向量中斷:由中斷系統(tǒng)硬件,直接向主機提供被響應中斷的中斷向量地址。非向量中斷:通過軟件查詢方式識別中斷源,轉入相應的中斷效勞程序入口地址。⑶按是否可屏蔽分可屏蔽中斷:CPU可以禁止響應的外部中斷。不可屏蔽中斷:CPU必須響應的外部中斷。5/13/2024262.中斷請求信號的建立與傳送1)中斷請求信號的建立與中斷屏蔽中斷請求信號的建立,基于中斷源有請求中斷的需要。例如,當外設已“準備就緒”或“完成一次操作”,可以用這類狀態(tài)信號作為中斷請求信號建立的原始信號,使中斷請求觸發(fā)器的狀態(tài)置“1”,說明已有中斷請求。設備中通常有三種狀態(tài):空閑、就緒、忙5/13/202427空閑忙就緒Busy=0Ready=0Busy=0Ready=1產(chǎn)生中斷請求Busy=1Ready=0啟動去除準備好再啟動去除5/13/202428中斷請求信號是否能夠傳送給CPU,要看當時占有CPU進程的程序的優(yōu)先級。如程序的優(yōu)先級高于或等于當前中斷請求的優(yōu)先級,那么不應將中斷請求信號傳給CPU,即需進行中斷屏蔽。如占有CPU進程的優(yōu)先級低于請求中斷的優(yōu)先級,那么不應屏蔽這個中斷,而使CPU能夠響應這個中斷。中斷屏蔽5/13/202429中斷屏蔽
舉個例子,蓮蓮和唐唐在下象棋,眼看蓮蓮就快招架不住了,正當此緊要關頭,唐唐的女友來了,非要唐唐陪她上街買衣服不,于是唐唐不得不同蓮蓮商量,先把棋盤封了,待買完衣服后繼續(xù)戰(zhàn)斗。掌燈時分,唐唐帶著滿臉疲憊回到了棋盤前,結果蓮蓮不費吹灰只力便反敗為勝。這就是整個中斷過程。我們來看看中斷過程是如何發(fā)生的:
1)中斷請求:唐唐的女友要他逛街
2)中斷響應:唐唐準備放下棋局陪女友逛街
3)現(xiàn)場保護:先把棋盤封了
4)中斷處理:唐唐陪女友逛街買衣服
5)恢復現(xiàn)場:把棋盤解封
6)中斷返回:繼續(xù)戰(zhàn)斗
如果唐唐把棋移到密室中下,不讓他的女友打攪,這就叫“中斷屏蔽”。5/13/202430中斷屏蔽:中斷源的中斷請求不能向CPU發(fā)出。可以根據(jù)需要對中斷請求信號予以屏蔽。①先屏蔽方式(D端屏蔽):在中斷請求觸發(fā)器IRQ的D端進行屏蔽。②后屏蔽方式(Q端屏蔽):在中斷請求觸發(fā)器IRQ的輸出端進行屏蔽。③集中屏蔽方式:即在公共接口邏輯中設置一個中斷控制器,內(nèi)含一個屏蔽字存放器,CPU將屏蔽字送入其中。在各中斷源的接口不另設屏蔽觸發(fā)器。將各個請求信號聚集到中斷控制器,并與屏蔽字比較,假設未被屏蔽,那么中斷控制器送出一個公共的中斷請求信號INT,送往CPU。5/13/2024313.中斷排隊與判優(yōu)1)有關概念中斷排隊:中斷系統(tǒng)設計人員對中斷請求的響應次序作出安排。中斷判優(yōu):系統(tǒng)運行過程中,當有多個中斷源同時請求中斷時,根據(jù)中斷排隊事先規(guī)定的次序判斷中斷請求的響應優(yōu)先次序。中斷優(yōu)先級〔中斷優(yōu)先權〕:根據(jù)中斷源中斷任務的緊迫程度,給各中斷請求安排的響應次序。5/13/202432中斷排隊的原那么〔5原那么〕①內(nèi)部中斷優(yōu)先于外部中斷②故障中斷優(yōu)先于設備請求中斷③非屏蔽中斷優(yōu)先于可屏蔽中斷④輸入操作的中斷請求優(yōu)先于輸出操作的中斷請求⑤數(shù)據(jù)有效時間短的中斷優(yōu)先于數(shù)據(jù)有效時間長的中斷具體設計時,中斷優(yōu)先級可以是固定的,也可以是動態(tài)變化的。可以采用硬件或軟件進行中斷排隊和判優(yōu)。5/13/2024334.中斷響應CPU接到中斷請求信號后,假設滿足響應中斷的條件,即暫?,F(xiàn)行程序的執(zhí)行,而轉入中斷處理,將這一過程稱為中斷響應。1)CPU響應中斷應具備的條件:(1)有中斷源請求中斷。(2)CPU允許響應中斷,即處于開中斷狀態(tài)。(3)現(xiàn)行指令不是停機指令(4)一條指令執(zhí)行結束。識記5/13/202434一般情況下,CPU響應中斷的時間是在一條指令執(zhí)行結束。但某些特殊的中斷,例如指令執(zhí)行過程中,取數(shù)時所需數(shù)據(jù)不在主存,這時不及時處理,指令就無法執(zhí)行下去,這就要求在指令執(zhí)行過程中響應中斷〔OS缺頁處理〕。5/13/202435中斷響應流程取指令停機停機指令執(zhí)行指令電源故障YN中斷請求N中斷處理YYN5/13/2024362)中斷響應過程中應完成的操作〔3步〕(1)關中斷以便在保存現(xiàn)場過程中不允許響應新的中斷請求,確?,F(xiàn)場保存的正確性;(2)保存斷點地址-PC和程序狀態(tài)字PSW;(3)轉入中斷效勞程序入口,以便執(zhí)行相應的中斷效勞程序,完成中斷處理任務。中斷響應周期的操作流程中的操作不是在程序中安排的,而是直接由硬件完成的。通常把這種操作稱為執(zhí)行中斷隱指令。(中斷周期的任務〕5/13/2024375.中斷效勞程序入口地址的獲取方式1)軟件查詢方法CPU響應中斷請求時,產(chǎn)生1固定地址,先轉入中斷查詢程序,按優(yōu)先順序依次識別中斷源,并轉入相應的中斷效勞程序入口?!睤JS-130機的1號內(nèi)存單元為中斷查詢程序入口地址,斷點放在0號單元〕2)通過硬件排隊與編碼電路獲得優(yōu)先級最高的中斷源的設備碼,并轉入相應的中斷效勞程序入口。5/13/2024383)向量中斷中斷向量:所有中斷源對應的中斷效勞程序的入口地址及其程序狀態(tài)字PSW的有序集合。中斷向量存放在特定的存儲區(qū)中,有些計算機沒有完整的程序狀態(tài)字,那么中斷向量僅指效勞程序入口地址。中斷向量表:存放中斷向量的表。所有的中斷效勞程序入口地址(或包括效勞程序的狀態(tài)字)組織成一個一維的表格,存放在一段連續(xù)的存儲區(qū)中。中斷向量地址:訪問中斷向量表的地址碼,即讀取中斷向量所需的地址,也稱為中斷指針。識記5/13/202439中斷向量地址1入口地址1程序狀態(tài)字1中斷向量地址2入口地址2程序狀態(tài)字2︰︰中斷向量地址n入口地址n程序狀態(tài)字n中斷向量表5/13/202440向量中斷:將各個中斷效勞程序的入口地址(或包括狀態(tài)字)組織成中斷向量表;響應中斷時,由硬件直接產(chǎn)生對應于中斷源的向量地址;據(jù)此訪問中斷向量表,從中讀取效勞程序入口地址,由此轉向中斷效勞程序。向量中斷的響應工作一般在中斷周期中由硬件直接實現(xiàn)。向量中斷的特點是能夠根據(jù)中斷請求信號快速、直接地轉向對應的中斷效勞程序。因此現(xiàn)代計算機根本上都具有向量中斷功能。識記:向量中斷與中斷向量5/13/202441向量中斷的工作過程〔6步〕⑴中斷源提出中斷請求。⑵假設CPU允許中斷,那么發(fā)出中斷答復信號。⑶優(yōu)先級編碼電路形成優(yōu)先級最高的中斷請求的中斷向量地址存入中斷向量地址存放器VAR。⑷保護斷點和現(xiàn)場,PC、PSW入棧。⑸根據(jù)中斷向量地址,將對應的中斷效勞程序入口地址和PSW送入PC和PSR。⑹轉入中斷效勞程序,進行中斷效勞。中斷返回,將保存的PC和PSW彈回PC和PSR。5/13/2024426.多重中斷與中斷屏蔽多重中斷中斷嵌套一.多重中斷原那么1)假設新產(chǎn)生的中斷源高于現(xiàn)中斷的優(yōu)先級,那么予以響應;2)假設新產(chǎn)生的中斷源同于或低于現(xiàn)中斷的優(yōu)先級,那么不予以響應.等現(xiàn)中斷處理結束后,再處理新中斷.中斷嵌套需要堆棧支持5/13/202443二.中斷屏蔽技術按照是否可以被屏蔽,可將中斷分為兩大類:不可屏蔽中斷(又叫非屏蔽中斷)和可屏蔽中斷。1)作用:封鎖局部中斷;中斷升級(高優(yōu)先的被屏蔽,低優(yōu)先,此時“最優(yōu)”)5/13/2024447.中斷效勞(中斷處理)取得中斷效勞程序的入口地址后,CPU開始執(zhí)行中斷效勞程序,完成規(guī)定的中斷處理任務。中斷效勞程序一般由起始、主體、結尾三局部組成。1)起始局部〔先行段〕〔4步〕①判明中斷原因,識別中斷源,對于不同中斷源轉入不同的效勞程序。對于向量中斷,直接由硬件判明中斷源并給出中斷向量地址,轉入相應中斷效勞程序。對于非向量中斷,需通過執(zhí)行一段程序判明中斷源,轉入相應中斷效勞程序。5/13/202445②設置屏蔽字,封鎖同級與低級中斷。③保存中斷現(xiàn)場。除了PSW外,還要保存一些在執(zhí)行中斷效勞程序過程中可能被改變的存放器的內(nèi)容。④開中斷,以便在本次中斷處理過程中,允許響應更高級的中斷請求。這是因為在中斷響應時,為防止影響保護現(xiàn)場,進行了關中斷操作。2)主體局部執(zhí)行具體的為中斷源效勞的程序5/13/2024463)結尾局部〔恢復段〕〔6步〕①關中斷,以便在恢復現(xiàn)場過程中不允許響應新的中斷。②恢復中斷現(xiàn)場,將原來保存的存放器內(nèi)容送回原存放器。③清中斷請求信號,表示本次中斷處理結束。④清屏蔽字,開放同級與低級中斷。⑤開中斷,以便響應新的中斷請求。⑥恢復PSW、PC,返回被中斷的程序。5/13/202447中斷處理的全過程〔6步〕①中斷請求;②擇優(yōu)響應;③保護現(xiàn)場;④中斷效勞;⑤恢復現(xiàn)場;⑥中斷返回;在中斷處理的過程中,有些是由硬件完成的,有些是由軟件完成的,因此中斷是一種軟、硬件結合的技術手段。不同的機器,軟、硬件功能分配的比例有所不同。5/13/2024488.中斷響應的及時性(1)長時間指令引起的延遲問題X86的MOVS指令(2)程序執(zhí)行環(huán)境轉換的開銷保護斷點、現(xiàn)場恢復斷點、現(xiàn)場改進:RISC的計算機采用存放器“窗口”中斷向量表安排在Cache中,中斷處理程序安排到Cache里。放在堆棧5/13/2024498.4直接存儲器存取(DMA)直接存儲器存取方式(DirectMemoryAccess)簡稱DMA方式。DMA方式:以主存為中心,采用硬件手段在主存與I/O設備之間建立直接的數(shù)據(jù)傳送通路,由DMA控制器〔DMAC〕取得總線控制權,控制主存與I/O設備之間的數(shù)據(jù)傳送,在傳送過程中不需要CPU的程序干預的數(shù)據(jù)傳送控制方式。DMA方式主要用于高速外設按照連續(xù)地址直接訪問存儲器。識記5/13/202450DMA方式CPU主存接口設備DMA控制器程序控制DMA控制5/13/202451
8.4.1DMA方式的特點與應用場合1.DMA方式的特點⑴以響應隨機請求的方式,實現(xiàn)主存與I/O設備間的快速數(shù)據(jù)傳送。⑵采用DMA方式控制數(shù)據(jù)傳送時,僅需占用系統(tǒng)總線,不切換程序,不存在保存斷點、保護現(xiàn)場、恢復現(xiàn)場、恢復斷點等操作。因此DMA傳送的插入不影響CPU的程序執(zhí)行狀態(tài),除了訪問主存的沖突外,CPU可以繼續(xù)執(zhí)行自己的程序,提高了CPU的利用率。⑶DMA方式只能處理簡單的數(shù)據(jù)傳送,難以識別與處理復雜的情況。
識記5/13/2024522.DMA方式的應用DMA方式一般應用于主存與高速I/O設備間的簡單數(shù)據(jù)傳送(高速I/O設備如磁盤、磁帶、光盤等外存儲器),以及其它帶有局部存儲器的外圍設備、通信設備等。如:⑴磁盤與主存的成塊數(shù)據(jù)傳送⑵通信設備的批量數(shù)據(jù)傳送⑶動態(tài)存儲器的刷新5/13/202453DMA傳送是直接依靠硬件實現(xiàn)的,可用于快速的數(shù)據(jù)直傳。但DMA方式本身不能處理復雜事態(tài)。因此,在某些場合常綜合應用DMA方式與程序中斷方式,二者互為補充。典型的例子是磁盤調用,磁盤讀寫采用DMA方式進行數(shù)據(jù)傳送,而對尋道是否正確的判別處理、批量傳送結束后的善后處理,那么采用程序中斷方式。5/13/202454
8.4.2DMA的傳送方式1.CPU停機方式用CPU停機方式實現(xiàn)DMA傳送時,CPU停止工作,讓出對總線的控制權,而由DMAC接管總線,進行數(shù)據(jù)傳送。數(shù)據(jù)傳送結束后,再將總線交還給CPU。CPU停機方式控制簡單,比較容易實現(xiàn),是最常用、最簡單的一種DMA實現(xiàn)方式,大局部DMAC都采用這種方式。但在采用這種方式進行的DMA傳送期間,由于使CPU處于空閑等待狀態(tài),降低了CPU的利用率,并且可能會影響到某些實時性很強的操作,如中斷響應和對動態(tài)RAM的刷新等。5/13/2024555/13/2024562.周期挪用(周期竊取)方式周期挪用:每當外設發(fā)出DMA請求時,DMAC便挪用或竊取總線控制權一個或幾個主存周期,而外設不發(fā)出DMA請求時,CPU仍繼續(xù)訪問主存。5/13/2024573.DMA與CPU交替訪問將一個CPU周期分為兩個分周期,與DMA分別使用。其中一個專供DMA訪存,另一個專供CPU訪存。這種方式不需要總線使用權的申請建立和歸還過程,總線使用權是通過不同的周期分別控制的。在這種工作方式下,CPU既不停止主程序的運行也不進入等待狀態(tài),在CPU不知不覺中完成了DMA的數(shù)據(jù)傳送,故又有“透明的DMA”方式之稱,當然周期擴展方式會使CPU的處理速度減慢,其相應的硬件邏輯也變得更為復雜。5/13/2024588.4.3DMA的硬件組織
在目前的計算機系統(tǒng)中,大多專門設置了DMA控制器,而且較多采取DMA控制器與DMA接口相別離的方式。DMA控制器只負責申請、接管總線的控制權、發(fā)送地址和操作命令以及控制DMA傳送過程的起始與終止,因而可以為各個設備通用,獨立于具體I/O設備。DMA接口用于實現(xiàn)與設備的連接和數(shù)據(jù)緩沖,反映設備的特定要求。5/13/2024598.4.4DMA控制器〔DMAC〕的組成1.DMAC的功能〔6個〕①接收外設的DMA請求,向CPU發(fā)出總線請求信號。請求CPU讓出總線。②當CPU發(fā)出DMA響應信號之后,接管對總線的控制,進入DMA方式。③對存儲器尋址,輸出和修改地址信息。④向存儲器和外設發(fā)出相應的讀/寫控制信號。⑤控制傳送的字節(jié)數(shù),判斷DMA傳送是否結束。⑥在DMA傳送結束以后,向CPU發(fā)出結束DMA請求信號,釋放總線,使CPU恢復對總線的控制,繼續(xù)正常工作。5/13/2024602.DMAC的根本組成〔7局部〕為了實現(xiàn)DMAC的功能,DMAC內(nèi)部除需要有接受和發(fā)送DMA請求和響應信號的能力外,還應具有地址存放和計數(shù)功能,以便控制對存儲器的尋址;具有字節(jié)計數(shù)器,能夠對傳送的數(shù)據(jù)個數(shù)進行計數(shù)。5/13/2024615/13/202462(1)主存地址存放器AR用于存放主存中需要交換數(shù)據(jù)的地址。在DMA傳送前,須通過程序將數(shù)據(jù)在主存中的首地址送到主存地址存放器。在DMA傳送過程中,每交換一次數(shù)據(jù),將地址存放器內(nèi)容加/減1,指向下一單元,直到一批數(shù)據(jù)傳送完畢為止。(2)字計數(shù)器WC用于記錄傳送數(shù)據(jù)的總字數(shù)。在DMA傳送過程中,每傳送一個字,字計數(shù)器減1,直到計數(shù)器為0,即最高位產(chǎn)生進位時,表示該批數(shù)據(jù)傳送完畢,DMAC發(fā)出DMA傳送結束信號。5/13/202463(3)數(shù)據(jù)緩沖存放器BR用于暫存每次傳送的數(shù)據(jù)。通常DMA接口與主存之間采用字傳送,而DMA與設備之間可能是字節(jié)或位傳送。因此DMA接口中還可能包括有裝配或拆卸字信息的硬件邏輯,如數(shù)據(jù)移位緩沖存放器、字節(jié)計數(shù)器等。(4)設備地址存放器DAR存放I/O設備的設備碼或表示設備信息存儲區(qū)的尋址信息。如磁盤數(shù)據(jù)所在的區(qū)號、盤面號和柱面號。具體內(nèi)容取決于設備的數(shù)據(jù)格式和地址的編址方式。5/13/202464(5)DMA控制邏輯用于負責管理DMA的傳送過程,由控制電路、時序電路及命令狀態(tài)控制存放器等組成。每當設備準備好一個數(shù)據(jù)字(或一個字傳送結束),就向DMA接口提出申請(DREQ),DMA控制邏輯便向CPU請求DMA效勞,發(fā)出總線使用權的請求信號(HRQ)。待收到CPU發(fā)出的響應信號HLDA后,DMA控制邏輯便開始負責管理DMA傳送的全過程,包括對主存地址存放器和字計數(shù)器的修改、識別總線地址、指定傳送類型(輸入或輸出)以及通知設備DMA請求已經(jīng)被響應(DACK)等。5/13/202465(6)中斷機構當字計數(shù)器計數(shù)到全“0”時,表示一批數(shù)據(jù)交換完畢,由計數(shù)結束信號通過中斷機構向CPU提出中斷請求,請求CPU作DMA操作的后處理。必須注意,這里的中斷與前面介紹的I/O中斷的技術相同,但中斷的目的不同,前面是為了數(shù)據(jù)的輸入或輸出,而這里是為了報告一批數(shù)據(jù)傳送結束。它們是I/O系統(tǒng)中不同的中斷事件。(7)控制/狀態(tài)存放器STR存放有關控制和狀態(tài)信息,如傳送方式、讀/寫狀態(tài)、傳送完畢與否等。5/13/2024668.4.5DMA數(shù)據(jù)傳輸過程一.過程1.預處理在DMAC開始工作之前,CPU必須給它預置如下信息:①給DMA控制邏輯指明數(shù)據(jù)傳送方向是輸入(主存寫)還是輸出(主存讀)。②向DMA設備地址存放器送設備號,并啟動設備。③向DMA主存地址存放器送入交換數(shù)據(jù)的主存起始地址。理解掌握5/13/202467④向字計數(shù)器送入交換數(shù)據(jù)的個數(shù)。上述工作由CPU執(zhí)行幾條輸入輸出指令完成,即程序的初始化階段。這些工作完成后,CPU繼續(xù)執(zhí)行原來的程序。當外部設備準備好發(fā)送的數(shù)據(jù)(輸入)或上次接受的數(shù)據(jù)已經(jīng)處理完畢(輸出)時,它便通過DMA接口向CPU提出占用總線的申請,假設有多個DMA同時申請,那么按輕重緩急由硬件排隊判優(yōu)邏輯決定優(yōu)先等級。5/13/202468待設備得到主存總線的控制權后,數(shù)據(jù)的傳送便由該DMAC進行管理。2.數(shù)據(jù)傳送DMAC獲得總線后,即可按規(guī)定的傳送方式,進行數(shù)據(jù)的輸入或輸出操作,直到將所有數(shù)據(jù)傳輸完畢,DMAC將總線交還給CPU。需要時還向CPU發(fā)出中斷請求。5/13/2024693.DMA后處理CPU響應中斷后,為DMA傳送作結束處理工作。①校驗送入主存的數(shù)據(jù)是否正確②決定是否繼續(xù)用DMA方式傳送,還是結束傳送③測試在傳送過程中是否發(fā)生了錯誤④判斷是否正常結束5/13/2024705/13/202471DMA方式與程序中斷的比較程序中斷DMA方式以CPU為中心,采用軟硬結合,以軟件為主的方式,控制設備與主機之間的數(shù)據(jù)傳送。以主存為中心,采用硬件手段,控制設備與主存間直接進行數(shù)據(jù)傳送。因為需要程序切換,所以需要保護與恢復現(xiàn)場。由DMA控制器直接控制數(shù)據(jù)傳送。在數(shù)據(jù)傳送期間,不需要CPU干預,不需保護與恢復現(xiàn)場。適合于慢速外設。適合于快速外設。必須在一條指令執(zhí)行結束后才能響應。在一個訪存周期結束后即可響應。可實現(xiàn)多種處理功能僅用于數(shù)據(jù)傳送理解掌握5/13/202472程序中斷DMA方式以CPU為中心,采用軟硬結合,以軟件為主的方式,控制設備與主機之間的數(shù)據(jù)傳送。以主存為中心,采用硬件手段,控制設備與主存間直接進行數(shù)據(jù)傳送。因為需要程序切換,所以需要保護與恢復現(xiàn)場。由DMA控制器直接控制數(shù)據(jù)傳送。在數(shù)據(jù)傳送期間,不需要CPU干預,不需保護與恢復現(xiàn)場。適合于慢速外設。適合于快速外設。必須在一條指令執(zhí)行結束后才能響應。在一個訪存周期結束后即可響應??蓪崿F(xiàn)多種處理功能僅用于數(shù)據(jù)傳送5/13/2024738.5輸入/輸出通道在大型計算機系統(tǒng)中,外圍設備的臺數(shù)一般比較多,設備的種類、工作方式和工作速度的差異也比較大。如果僅采用程序查詢、中斷和DMA方式來管理外設,將會引起以下問題:⑴所有外設的I/O工作全部都要由CPU來承擔,CPU的I/O負擔很重,不能專心于用戶程序的計算。⑵如果為每一臺設備都配置一個接口,那么接口過多,硬件浪費大、代價高。為了把對外圍設備的管理工作從CPU中別離出來,采用了通道處理機技術。5/13/2024748.5.1通道的根本概念1.通道處理機〔簡稱通道〕通道處理機可以看作是一臺能夠執(zhí)行有限I/O指令,并且能夠被多臺外圍設備共享的小型DMA專用處理機。通道有自己的指令系統(tǒng),能夠獨立執(zhí)行用通道命令編寫的輸入輸出控制程序,產(chǎn)生相應的控制信號控制設備的工作。通道可根據(jù)需要控制多種不同的設備。每個通道可以連接多個外部設備,每個外設對應一個子通道。通道通過數(shù)據(jù)通道與設備的控制器進行通信。識記5/13/202475設備控制器如同I/O接口,用于接收通道控制器的命令并向設備發(fā)出控制命令。一個設備控制器可控制多個同類的設備,只要這些設備是輪流工作的。2.設備控制器5/13/2024763.通道與DMA方式的異同⑴相同點通道與DMA方式都是在主存與I/O設備之間建立數(shù)據(jù)通道,用控制器控制傳送。⑵不同點DMA方式通道DMA控制器利用硬件控制主存與設備之間的信息傳送。通道處理機執(zhí)行通道程序控制主存與設備之間的信息傳送。只能控制少量的同類設備,只能傳送數(shù)據(jù)??煽刂贫喾N不同的設備,除可傳送數(shù)據(jù)外,還可以接口的初始化、故障診斷與處理等工作。理解掌握5/13/202477DMA方式通道DMA控制器利用硬件控制主存與設備之間的信息傳送。通道處理機執(zhí)行通道程序控制主存與設備之間的信息傳送。只能控制少量的同類設備,只能傳送數(shù)據(jù)??煽刂贫喾N不同的設備,除可傳送數(shù)據(jù)外,還可以接口的初始化、故障診斷與處理等工作。5/13/2024784.帶有通道的I/O的系統(tǒng)結構帶有通道的典型的的I/O系統(tǒng)結構
采用主機—通道—設備控制器—設備四級連接方式。5/13/2024795/13/202480⑴CPU的任務執(zhí)行I/O指令。啟動/關閉通道與設備。處理來自通道的中斷,如數(shù)據(jù)傳輸中斷、故障中斷等。通道的管理任務由操作系統(tǒng)完成。5/13/202481⑵通道的任務〔6個〕①接受CPU發(fā)來的I/O指令,與指定的設備連接,訪問指定的設備。②執(zhí)行CPU為通道組織的通道程序。從通道緩沖區(qū)中讀取通道指令,經(jīng)譯碼分析,向指定的設備控制器或設備發(fā)出各種操作控制命令。③組織和控制數(shù)據(jù)在內(nèi)存與外設之間的信息傳送操作。根據(jù)需要提供數(shù)據(jù)緩存空間以及數(shù)據(jù)存入內(nèi)存或從內(nèi)存中讀取的地址;提供外設的有關地址;控制傳送的數(shù)量;指定傳送工作結束時要進行的操作,根據(jù)對傳送數(shù)據(jù)的計數(shù)判斷數(shù)據(jù)傳送工作是否結束。5/13/202482④在數(shù)據(jù)傳輸過程中完成必要的格式變換,例如,把字拆卸為字節(jié),或者把字節(jié)裝配成字等。⑤讀取和接收外設的狀態(tài)信息,檢查外圍設備的工作狀態(tài)是正常還是故障,形成通道狀態(tài)信息,并根據(jù)需要將設備的狀態(tài)信息送往主存指定單元保存。⑥向CPU發(fā)出I/O中斷請求。對來自外設及通道的中斷請求按優(yōu)先次序進行排隊后報告CPU。通道使用通道指令控制設備進行數(shù)據(jù)傳送操作,并以通道狀態(tài)字的形式接收設備控制器提供的外部設備的狀態(tài)。5/13/202483⑶設備控制器的任務〔4個〕①從通道接受通道指令,控制外部設備完成指定的操作。如控制外設的啟/停,向設備發(fā)出各種非標準的控制信號等。②向通道提供外部設備的狀態(tài)。如設備的忙、閑、出錯信息等。③將各種外部設備的不同信號轉換成通道能夠識別的標準信號。④控制輔助操作。如磁帶的進帶、倒帶等操作。5/13/2024848.5.2通道的根本結構通道的主要硬件包括存放器局部和控制局部。⑴存放器局部數(shù)據(jù)緩沖存放器(DBR)、主存地址計數(shù)器、傳輸字節(jié)數(shù)計數(shù)器(WCNT)、通道命令字存放器(CCWR)、通道地址存放器(CAR),通道狀態(tài)字存放器(STR)。⑵控制局部包括數(shù)據(jù)裝配和拆卸控制、數(shù)據(jù)傳送控制、地址分配控制、分時控制等控制邏輯。5/13/2024855/13/202486在具有通道的計算機中,CPU的輸入輸出指令不直接實現(xiàn)輸入輸出的數(shù)據(jù)傳送,而是由通道指令實現(xiàn)這種傳送,CPU用輸入輸出指令啟動通道執(zhí)行通道指令。CPU的通道輸入輸出指令的根本功能主要是啟動、停止I/O過程,了解通道和設備的狀態(tài)以及控制通道的其他一些操作。5/13/2024878.5.3通道的工作過程在具有通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店預訂系統(tǒng)優(yōu)化與智能化管理方案設計
- 2024漫畫作品版權海外授權合作協(xié)議3篇
- 2024消防設施安全檢測與整改服務合同3篇
- 2024深圳房屋租賃合同參考范本及押金管理規(guī)范3篇
- 2024年酒店消防安全管理專項責任合同范本版B版
- 2024版品牌廣告合作協(xié)議細則版B版
- 2024年軟件開發(fā)與維護合同軟件功能描述與技術要求
- 電商項目運營合作協(xié)議書
- 2024網(wǎng)絡安全審查與合規(guī)咨詢服務合同
- 二零二五年度共享經(jīng)濟半股出租車轉讓服務協(xié)議書3篇
- 2023年六安霍邱合高現(xiàn)代產(chǎn)業(yè)園投資有限公司招聘筆試題庫含答案解析
- 代縣雁門光伏升壓站~寧遠220kV線路工程環(huán)評報告
- 承諾函(支付寶)
- 危險化學品目錄2023
- GB/T 24123-2009電容器用金屬化薄膜
- 艾滋病梅毒乙肝實驗室檢測
- 國鐵橋梁人行道支架制作及安裝施工要點課件
- 領導科學全套精講課件
- 粵教版地理七年級下冊全冊課件
- 小學科學蘇教版六年級上冊全冊精華知識點(2022新版)
- 萎縮性胃炎共識解讀
評論
0/150
提交評論