第8章-輸入輸出系統(tǒng)教材課件_第1頁
第8章-輸入輸出系統(tǒng)教材課件_第2頁
第8章-輸入輸出系統(tǒng)教材課件_第3頁
第8章-輸入輸出系統(tǒng)教材課件_第4頁
第8章-輸入輸出系統(tǒng)教材課件_第5頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章輸入輸出系統(tǒng)23七月20232目錄8.1外圍設(shè)備的速度分級與信息交換方式

——了解8.2程序查詢方式

——理解8.3程序中斷方式

——掌握8.4DMA方式

——掌握8.5通道方式

——了解8.6通用I/O標準接口

——了解23七月20233計算機的輸入/輸出系統(tǒng)輸入輸出系統(tǒng)的基本組成適配器電路適配器電路及其相應(yīng)的程序稱為接口接口管理程序?qū)⒂脩艟幹频某绦颍ɑ驍?shù)據(jù))輸入主機內(nèi)將運算結(jié)果返回給用戶實現(xiàn)I/O系統(tǒng)與主機之間協(xié)調(diào)地工作輸入/輸出設(shè)備23七月20234外存設(shè)備接口顯示/聲音設(shè)備接口工業(yè)控制接口通信設(shè)備接口輸入設(shè)備控制器輸出設(shè)備控制器CPU和主存硬盤、磁盤、磁帶、光盤顯示器、音箱數(shù)/模、模/數(shù)轉(zhuǎn)換器調(diào)制解調(diào)器、網(wǎng)卡鍵盤、鼠標、光筆激光打印機、針式打印機計算機I/O系統(tǒng)結(jié)構(gòu)圖23七月202358.1外圍設(shè)備的速度分級與信息交換方式8.1.1外圍設(shè)備的速度分級8.1.2信息交換方式23七月202368.1.1外圍設(shè)備的速度分級根據(jù)外設(shè)的工作速度,CPU與外設(shè)的定時方式有以下3種:速度極慢或簡單的外圍設(shè)備CPU直接接收或發(fā)送數(shù)據(jù)。慢速或中速的外圍設(shè)備采用異步定時方式,或稱為應(yīng)答式數(shù)據(jù)交換;CPU與外設(shè)之間通過兩個相互的聯(lián)絡(luò)信號來決定開始數(shù)據(jù)傳送的時間。高速的外圍設(shè)備采用同步定時方式;CPU以等間隔的速率執(zhí)行輸入/輸出指令。詢問信號應(yīng)答信號由時鐘脈沖控制如何使CPU與外設(shè)同步工作如:機械開關(guān)、發(fā)光二極管如:鍵盤、顯示器如:主存、輔存23七月202378.1.2外設(shè)信息交換方式程序查詢方式早期計算機中使用的一種方式,效率低。程序中斷方式適用于隨機出現(xiàn)的服務(wù)。直接內(nèi)存訪問(DMA)方式適用于內(nèi)存和高速外圍設(shè)備之間大批數(shù)據(jù)交換的場合。通道方式增加一個具有特殊功能的處理器——通道,將CPU的輸入輸出權(quán)力下放。外圍處理機方式(PPU)是通道方式的進一步發(fā)展。動畫演示:

IO傳送控制方式.swf23七月20238圖8.1外圍設(shè)備的輸入/輸出控制方式23七月20239程序查詢方式工作過程CPU傳送數(shù)據(jù)之前先檢查外設(shè)的狀態(tài),若沒有準備好,則繼續(xù)查詢等待,直至外設(shè)就緒即進行數(shù)據(jù)傳送。硬件要求只需接口電路的狀態(tài)、數(shù)據(jù)口,不需增加其他控制電路。特點CPU主動查詢,程序控制數(shù)據(jù)傳送過程,簡單易行;每次查詢之后只能傳送一個字或一個字節(jié)的數(shù)據(jù),數(shù)據(jù)傳輸率不高,CPU時間浪費較多。適用場合CPU不太忙且對傳送速度要求不高的系統(tǒng)。23七月202310設(shè)備編碼的方法統(tǒng)一編址用主存的低地址中256個字節(jié)作為設(shè)備訪問的地址,采用一般的訪存指令LDA,STA就可以實現(xiàn)對設(shè)備的訪問特點占用一部分存儲空間,減少了用戶使用主存的范圍不需要專用的I/O指令I(lǐng)/O獨立編址主存的地址和I/O的地址是分開的,需要專門的指令進行訪問,如IN,OUT特點不占用主存空間但需要專用的I/O指令23七月202311工作過程CPU有傳送要求時,啟動外設(shè)后可處理其他事件,當外設(shè)準就緒后,通過中斷的方式和CPU完成數(shù)據(jù)傳送工作。硬件要求需要附加的中斷控制電路。特點外界中斷請求是隨機的。一定程度上實現(xiàn)了CPU和外設(shè)的并行工作;而程序查詢方式是串行工作。中斷操作過程增加了軟硬件的開銷,且每次數(shù)據(jù)傳送只能傳送一個字或一個字節(jié)的數(shù)據(jù),數(shù)據(jù)傳送效率低。適用場合CPU與慢速外設(shè)之間的數(shù)據(jù)傳送。程序中斷方式23七月202312工作過程CPU分配總線使用權(quán)之后,在硬件DMA控制器(DMAC)的控制下直接完成存儲器與高速外設(shè)之間的大量數(shù)據(jù)的傳送。硬件要求需要相應(yīng)的DMA控制器及數(shù)據(jù)通路,電路結(jié)構(gòu)復(fù)雜,硬件開銷大。特點數(shù)據(jù)傳送不需要經(jīng)過CPU,直接由硬件控制;外設(shè)與存儲器之間的數(shù)據(jù)傳送量大。適用場合包含有高速外設(shè)的系統(tǒng)中。存儲器與外設(shè)之間數(shù)據(jù)交換時使用直接內(nèi)存訪問(DMA)方式23七月202313通道方式工作過程CPU將IO控制的權(quán)利下放給通道,由通道統(tǒng)一管理所有的輸入輸出操作。硬件要求需要IO通道(也稱IO處理器,IOP);通道是一個具有特殊功能的處理器。特點硬件代價較高;IO傳送的效率高,并且減輕了CPU的工作負擔。適用場合高性能要求的系統(tǒng)中。23七月2023148.2程序查詢方式CPUINAL,DX數(shù)據(jù)總線地址總線/RD/WR/MIOIO0地址信息0數(shù)據(jù)OUTDX,AL00地址信息數(shù)據(jù)數(shù)據(jù)的輸入輸出完全由程序控制!23七月202315CPU寫命令字啟動外設(shè)程序查詢方式的流程CPU讀外設(shè)的狀態(tài)字N外設(shè)就緒?YCPU與外設(shè)進行數(shù)據(jù)傳送INAL,DXTESTAL,01HJZAGAINAGAIN:OUTDX,AL程序查詢方式是CPU主動工作的一種IO傳送方式;外設(shè)控制、狀態(tài)查詢、數(shù)據(jù)傳送等操作都由CPU執(zhí)行IO指令進行;單個外設(shè)的查詢基本流程通過接口啟動外設(shè);讀接口中的狀態(tài)字;測試狀態(tài);就緒則傳送數(shù)據(jù)。23七月202316程序查詢方式的接口CPU向接口寫入控制字;接口啟動外設(shè);外設(shè)開始準備數(shù)據(jù),并提供到外部數(shù)據(jù)總線;外設(shè)工作完成后,發(fā)回響應(yīng)信號給接口;接口接收數(shù)據(jù)到內(nèi)部,并設(shè)置就緒狀態(tài);CPU讀到就緒狀態(tài),執(zhí)行輸入指令,讀入數(shù)據(jù);①②③④⑤⑥23七月202317多設(shè)備的程序查詢流程CPU需要傳送數(shù)據(jù)時逐次查詢各設(shè)備的狀態(tài)字;若就緒,則執(zhí)行相應(yīng)的傳送程序;若未就緒,則查詢下一設(shè)備;不循環(huán)等待某一設(shè)備;重復(fù)檢查完所有設(shè)備,返回。特點優(yōu)先權(quán)控制靈活;改變查詢順序修改設(shè)備的優(yōu)先權(quán);CPU工作效率低;23七月2023188.3程序中斷方式8.3.1中斷的基本概念8.3.2程序中斷方式的基本IO接口8.3.3單級中斷8.3.4多級中斷8.3.5中斷控制器8.3.6Pentium中斷機制23七月2023198.3.1中斷的基本概念定義:中斷是指CPU正常運行程序時,由系統(tǒng)內(nèi)/外部非預(yù)期事件或程序中預(yù)先安排好的指令性事件引起的,CPU暫停當前程序的執(zhí)行,轉(zhuǎn)去為該事件服務(wù)的程序中執(zhí)行,服務(wù)完畢后,再返回原程序繼續(xù)執(zhí)行的過程。注意:中斷是一個CPU執(zhí)行程序的變化過程;所有能引起中斷的事件均稱為中斷源;處理中斷事件的中斷服務(wù)程序是預(yù)先設(shè)置好的;結(jié)束中斷返回原程序時,要以原狀態(tài)返回暫停處繼續(xù)執(zhí)行。動畫演示:

中斷示意.swf23七月2023208.3.1中斷的基本概念

中斷服務(wù)程序與中斷時CPU正在運行的程序是相互獨立的,相互不傳遞數(shù)據(jù)。23七月202321有關(guān)中斷中斷處理過程是由硬件和軟件結(jié)合來完成的。為什么要使用中斷?解決速度問題,使CPU和I/O并行工作;對意外情況(如磁盤損壞、運算溢出等)能夠及時處理。在實時控制領(lǐng)域中,及時響應(yīng)外來信號的請求。中斷系統(tǒng)需要解決的問題各中斷源如何向CPU發(fā)出中斷請求;有多個中斷源時,如何確定優(yōu)先級;CPU在什么條件、什么時候、以什么方式響應(yīng)中斷;如何保護/恢復(fù)現(xiàn)場、如何轉(zhuǎn)入中斷服務(wù)程序的入口地址;如何處理多重中斷。23七月202322必須用硬件實現(xiàn)的有:保存中斷點和進入中斷服務(wù)程序入口。這兩個功能相當于執(zhí)行一條轉(zhuǎn)子程序指令,因為中斷發(fā)生在現(xiàn)行程序的什么地方是不確定的,不能由程序員來安排。必須用軟件實現(xiàn)的有:中斷服務(wù)和返回到中斷點。返回到中斷點,通過執(zhí)行一條中斷返回指令來實現(xiàn), 中斷服務(wù)必須用軟件實現(xiàn),因為是“程序中斷方式”。23七月202323

中斷請求CPU在結(jié)束一個指令周期后,檢測中斷請求信號;中斷響應(yīng)關(guān)中斷;保護斷點現(xiàn)場;判斷中斷源,獲取中斷向量;根據(jù)中斷向量轉(zhuǎn)入中斷服務(wù)程序執(zhí)行;中斷服務(wù)保護CPU現(xiàn)場;執(zhí)行中斷服務(wù)程序;恢復(fù)CPU現(xiàn)場;開中斷;中斷返回恢復(fù)斷點現(xiàn)場,返回主程序繼續(xù)執(zhí)行;由硬件自動完成CPU的中斷處理流程由軟件完成第一個問題:CPU公操作時檢測保存中斷請求信號的寄存器對CPU內(nèi)部寄存器的保護與恢復(fù)第三個問題:避免再次中斷影響當前中斷響應(yīng),屏蔽中斷源;可實現(xiàn)中斷優(yōu)先權(quán)管理第四個問題:中斷處理過程由軟硬件結(jié)合完成由軟硬件共同完成第二個問題:為保證CPU能夠正常返回主程序23七月202324中斷向量中斷向量:中斷服務(wù)程序的入口地址,包括段地址和段內(nèi)偏移地址,共4個字節(jié)的內(nèi)容;CPU響應(yīng)中斷時,將中斷源對應(yīng)的中斷向量送入CS、IP寄存器中,以跟蹤中斷服務(wù)程序的執(zhí)行。中斷向量表:集中存放系統(tǒng)中所有中斷向量的存儲區(qū)。8086PC機中,將存儲器物理地址為0~3FFH的1024個單元作為中斷向量表,每個向量占用4個字節(jié),可容納256個中斷向量。23七月202325

…………

…………中斷向量表0000:00000000:00010000:00020000:0003…………0000:00200000:00210000:00220000:0023…………0000:03FC0000:03FD0000:03FE0000:03FF類型號0類型號8類型號255偏移地址段地址偏移地址段地址偏移地址段地址每個中斷向量在中斷向量表中的序號,值為0-255。中斷類型號23七月202326用中斷向量賦值CS、IP中斷類型號與中斷向量

中斷類型號(n)4=中斷向量在表中的偏移地址

如:n=8,則應(yīng)從向量表20H~23H中取出中斷向量中斷源提供中斷類型號n4中斷向量地址查表中斷向量CPU轉(zhuǎn)向中斷服務(wù)程序執(zhí)行CPU使用向量中斷的過程:23七月202327…服務(wù)程序入口1服務(wù)程序入口2服務(wù)程序入口3…打印機服務(wù)程序聲卡服務(wù)程序…鍵盤服務(wù)程序…向量地址1向量地址2向量地址3服務(wù)程序入口1服務(wù)程序入口2服務(wù)程序入口3通過向量地址尋找入口地址23七月202328中斷處理流程動畫演示:

中斷處理流程.swf由中斷隱指令執(zhí)行在進入中斷處理之前,需插入一條沒有操作碼,不能供編程使用的指令(中斷隱指令)的執(zhí)行過程,將PC及程序狀態(tài)字入棧保存。23七月202329中斷處理過程中的問題第一個問題CPU只有在一條指令執(zhí)行完畢轉(zhuǎn)入公操作時時,才能處理外設(shè)的中斷請求。第二個問題為了保證中斷服務(wù)程序執(zhí)行完畢后,能夠正確地返回到原斷點位置,則必須保存PC和當前CPU的狀態(tài)到堆棧中。第三個問題CPU在中斷響應(yīng)期間,還可能有新的中斷請求。為了不致于造成混亂,中斷管理部件中必須有中斷屏蔽觸發(fā)器,在中斷響應(yīng)期間屏蔽其他中斷源。第四個問題中斷處理過程是由硬件和軟件結(jié)合來完成的;中斷周期由硬件實現(xiàn),中斷處理程序由機器指令序列實現(xiàn)。中斷返回時再恢復(fù)斷點狀態(tài)對中斷源的優(yōu)先權(quán)管理23七月202330必須用硬件實現(xiàn)的有:保存中斷點和進入中斷服務(wù)程序入口。 這兩個功能相當于執(zhí)行一條轉(zhuǎn)子程序指令,因為中斷發(fā)生在現(xiàn)行程序的什么地方是不確定的,不能由程序員來安排。必須用軟件實現(xiàn)的有:中斷服務(wù)和返回到中斷點。 返回到中斷點,通過執(zhí)行一條中斷返回指令來實現(xiàn), 中斷服務(wù)必須用軟件實現(xiàn),因為是“程序中斷方式”。23七月2023318.3.2程序中斷方式的基本I/O接口接口內(nèi)部組成數(shù)據(jù)緩沖寄存器;就緒觸發(fā)器RD、忙狀態(tài)觸發(fā)器BS、允許中斷觸發(fā)器EI;中斷向量產(chǎn)生邏輯;CPU的相應(yīng)部件中斷請求觸發(fā)器IR、中斷屏蔽觸發(fā)器IM;程序中斷的數(shù)據(jù)傳送過程:

CPU啟動外設(shè)

外設(shè)準備就緒后,向CPU請求中斷 CPU接受請求,完成數(shù)據(jù)傳送23七月202332程序中斷由外設(shè)接口的狀態(tài)和CPU兩方面來控制:

在接口方面,有決定是否向CPU發(fā)出中斷請求的機構(gòu),主要是接口中的“準備就緒”標志(RD),和“允許中斷”標志(EI)兩個觸發(fā)器;RD簡稱中斷觸發(fā)器,EI運行中斷觸發(fā)器,RD、EI為1有效

在CPU方面,有決定是否受理中斷請求的機構(gòu),主要是“中斷請求”標志(IR)和“中斷屏蔽”標志(IM)兩個觸發(fā)器。IR為1表示設(shè)備發(fā)出了中斷請求,IM為0表示CPU可以受理外界的中斷請求。23七月202333程序中斷方式數(shù)據(jù)傳送示意就緒觸發(fā)器允許觸發(fā)器忙狀態(tài)觸發(fā)器中斷請求觸發(fā)器中斷屏蔽觸發(fā)器①⑩②③

數(shù)據(jù)④⑤⑥一條指令結(jié)束⑦⑦⑧⑨

數(shù)據(jù)10110IF=0001動畫演示:

程序中斷傳送方式.swf23七月202334中斷處理的策略根據(jù)計算機系統(tǒng)對中斷處理的策略的不同,可分為:單級中斷系統(tǒng)

所有的中斷源都屬于同一個級別,不允許有中斷嵌套;多級中斷系統(tǒng)

中斷源分為不同的級別,可以發(fā)生中斷嵌套,高優(yōu)先權(quán)的中斷源請求可以打斷低優(yōu)先權(quán)的中斷服務(wù);實現(xiàn)方法進入中斷服務(wù)時的中斷屏蔽設(shè)置;23七月2023358.3.3單級中斷單級中斷中,所有中斷源屬于同一個級別,不允許中斷嵌套。中斷請求信號優(yōu)先權(quán)高優(yōu)先權(quán)低中斷響應(yīng)信號動畫演示:

單級中斷結(jié)構(gòu).swf23七月2023362、單級中斷源的識別——串行排隊鏈法動畫演示:

串行排隊鏈的原理.swf排隊鏈中斷響應(yīng)信號中斷排隊輸入信號;由高優(yōu)先權(quán)中斷得到中斷排隊輸出信號選中信號中斷源的中斷請求信號23七月202337中斷向量的產(chǎn)生向量中斷由硬件直接產(chǎn)生一個與該中斷源對應(yīng)的中斷向量;特點:速度快,但靈活性不好;在硬件設(shè)計時考慮所有中斷源的向量地址。位移量中斷由硬件直接產(chǎn)生一個位移量;該位移量加上某個基地址,得到中斷處理程序的入口地址。向量地址轉(zhuǎn)移由硬件直接產(chǎn)生一個該中斷源對應(yīng)的固定地址碼,該地址碼中存放可轉(zhuǎn)入中斷服務(wù)程序的入口地址。23七月2023388.3.4多級中斷當CPU正在執(zhí)行某個中斷服務(wù)程序時,另一個中斷源又提出了新的中斷請求,而CPU再次響應(yīng)這一新的請求;暫停當前的中斷服務(wù)程序,轉(zhuǎn)去執(zhí)行新的中斷服務(wù)程序。多級中斷中需要進行優(yōu)先權(quán)的控制和判斷。23七月202339一維多級中斷結(jié)構(gòu)每級僅有一個中斷源;中斷屏蔽觸發(fā)器IM其狀態(tài)決定對應(yīng)級別的中斷源是否能夠被響應(yīng);中斷優(yōu)先權(quán)控制當某中斷源的請求被響應(yīng)時,將同時設(shè)置低級中斷源的IM=1,高級中斷源的IM=0,可以發(fā)生中斷嵌套。一維多級中斷結(jié)構(gòu)23七月202340二維多級中斷結(jié)構(gòu)二維多級中斷結(jié)構(gòu)每級包含多個中斷源;同級中斷源不能嵌套;若設(shè)備E、F、H同時請求;則先響應(yīng)設(shè)備E;此時,若設(shè)備D請求中斷;則不響應(yīng);若設(shè)備B請求中斷;則暫停設(shè)備E的中斷服務(wù),嵌套響應(yīng)設(shè)備B;動畫演示:8-9.swf23七月202341中斷請求/屏蔽寄存器對于每一個中斷源,都會有一個中斷請求觸發(fā)器和一個中斷屏蔽觸發(fā)器,用于管理當前該中斷源的狀態(tài);中斷請求觸發(fā)器:1——有請求;0——無請求;中斷屏蔽觸發(fā)器:1——被屏蔽;0——未被屏蔽;若系統(tǒng)中共有n級中斷,則分別有n個中斷請求寄存器和n個中斷屏蔽寄存器;CPU響應(yīng)中斷時,系統(tǒng)需要進行優(yōu)先權(quán)控制,實現(xiàn)正常的中斷嵌套;置“1”(關(guān)閉)本級和低級的中斷屏蔽觸發(fā)器;清“0”(開放)更高級的中斷屏蔽觸發(fā)器;23七月202342單重中斷和多重中斷的服務(wù)程序流程中斷否?保護現(xiàn)場設(shè)備服務(wù)恢復(fù)現(xiàn)場

開中斷中斷返回取指令執(zhí)行指令中斷服務(wù)程序

中斷響應(yīng)程序斷點進棧關(guān)中斷向量地址PC中斷周期是中斷返回保護現(xiàn)場設(shè)備服務(wù)恢復(fù)現(xiàn)場開中斷開中斷開中斷中斷隱指令中斷隱指令否取指令執(zhí)行指令中斷否?否

中斷響應(yīng)程序斷點進棧關(guān)中斷向量地址PC中斷周期是中斷服務(wù)程序單重多重23七月2023432、多級中斷源的識別獨立請求方式的中斷優(yōu)先級排隊與中斷向量產(chǎn)生邏輯;23七月202344課本P249【例1】

如圖8.9的二維中斷系統(tǒng)中。問:在中斷情況下,CPU和設(shè)備的優(yōu)先級如何考慮?請按降序排列各設(shè)備的中斷優(yōu)先級。在中斷情況下,CPU的優(yōu)先級最低;各設(shè)備的優(yōu)先次序為

(ABC)(DEF)(GHI)CPU **括號中的為同級中斷源,不可進行中斷嵌套,但同時請求時,由連接順序決定響應(yīng)優(yōu)先權(quán);23七月202345課本P249【例1】

如圖8.9的二維中斷系統(tǒng)中。問:若CPU現(xiàn)執(zhí)行設(shè)備B的中斷服務(wù)程序,則IM2、IM1、IM0的狀態(tài)是什么?如果CPU執(zhí)行設(shè)備D的中斷服務(wù)程序,則IM2、IM1、IM0的狀態(tài)又是什么?由于設(shè)備B的優(yōu)先權(quán)最高,則在執(zhí)行設(shè)備B的中斷服務(wù)時要禁止同級和低級所有中斷源的請求,因此IM2IM1IM0=111;若執(zhí)行設(shè)備D的中斷服務(wù),則設(shè)備A、B、C均可發(fā)生中斷嵌套,因此IM2IM1IM0=011;23七月202346課本P249【例1】

如圖8.9的二維中斷系統(tǒng)中。問:每一級的IM能否對某個優(yōu)先級的個別設(shè)備單獨進行屏蔽?如果不能,采取什么措施可以實現(xiàn)?每一級的IM只能對同級所有設(shè)備進行屏蔽,無法實現(xiàn)對個別設(shè)備的單獨屏蔽;若要單獨屏蔽個別設(shè)備,則可在該設(shè)備的接口中實現(xiàn),將接口內(nèi)的EI(中斷允許標志)清0;若要使設(shè)備C一提出中斷請求,CPU立即響應(yīng),則應(yīng)如何調(diào)整?使設(shè)備C的優(yōu)先權(quán)最高,即可滿足題目要求;可將設(shè)備C單獨設(shè)置為第3級中斷,并令I(lǐng)M3=0即可。23七月202347多級中斷的中斷屏蔽技術(shù)關(guān)中斷即使存在中斷請求,但CPU因某種條件存在而不會響應(yīng)任何中斷;CPU關(guān)中斷:置IF=0(STI)僅對可屏蔽中斷源而言;中斷屏蔽用程序方式有選擇地封鎖某些中斷源,而允許另一些中斷響應(yīng)。實現(xiàn)多級中斷的條件提前設(shè)置“開中斷”指令。優(yōu)先級高的中斷請求有權(quán)中斷優(yōu)先級低的中斷服務(wù)。由屏蔽字決定是否有權(quán)中斷23七月202348多級中斷的中斷屏蔽技術(shù)中斷屏蔽的實現(xiàn)方法:設(shè)優(yōu)先級從高到低依次為:7、6、5、4、3、2、1、0;則當響應(yīng)第3級中斷時 中斷屏蔽字設(shè)為:00001111改變優(yōu)先級的方法:修改屏蔽字欲使第2級中斷的優(yōu)先權(quán)高于第3級;則可設(shè)置第3級中的屏蔽字設(shè)為:00001011

第2級中的屏蔽字設(shè)為:0000111123七月202349中斷屏蔽技術(shù)舉例例:某機有5個中斷源L0~L4,按中斷響應(yīng)優(yōu)先級從高到低為L0→L1→L2→L3→L4,現(xiàn)要求將中斷處理次序改為L1→L3→L4→L0→L2,請寫出各中斷源的屏蔽字。中斷源屏蔽字(L0L1L2L3L4)L0L1L2L3L4101001111100100101111010123七月2023508.3.5中斷控制器23七月2023518.3.6

Pentium中斷機制中斷類型中斷異常不可屏蔽中斷NMI可屏蔽中斷INTR執(zhí)行異常中斷指令除法錯單步斷點溢出由執(zhí)行指令引起的中斷。由隨機的硬件信號引起的中斷;動畫演示:

向量中斷方式.swf23七月2023528.4DMA方式8.4.1 DMA的基本概念8.4.2 DMA傳送方式8.4.3 DMA控制器8.4.4 DMAC的類型23七月2023538.4.1DMA的基本概念1、DMA傳送方式的特點2、DMA傳送的實質(zhì)3、DMA控制器的兩種狀態(tài)4、DMA傳送過程23七月2023541、DMA傳送方式的特點DMA(直接內(nèi)存訪問)方式完全由硬件控制的直接數(shù)據(jù)傳送方式;DMAC(DMA控制器)取代CPU,接管系統(tǒng)總線的控制權(quán),負責DMA傳送的全過程;主存和外設(shè)之間直接利用系統(tǒng)總線傳送數(shù)據(jù),所交換的數(shù)據(jù)不經(jīng)過CPU(CPU不再取指、取數(shù)等操作)。DMA特點以增加硬件的復(fù)雜性和成本為代價來提高數(shù)據(jù)傳送效率的;速度快,但硬件復(fù)雜度高。適用場合:適用于需要高速大批量數(shù)據(jù)傳送的系統(tǒng)中;磁盤與主存之間的數(shù)據(jù)傳送23七月2023552、DMA傳送的實質(zhì)DMAC(只負責)對數(shù)據(jù)傳送的控制是建立在掌握系統(tǒng)總線的使用權(quán)基礎(chǔ)上的。正常工作下,系統(tǒng)總線的使用權(quán)歸CPU所有;DMAC要控制DMA傳送,首先要從CPU得到總線使用權(quán)。CPUDMAC存儲器外設(shè)系統(tǒng)總線23七月2023563、DMAC的兩種工作狀態(tài)被動態(tài)當DMAC沒有獲取總線控制權(quán)時,DMAC和系統(tǒng)中其他設(shè)備一樣,也要接受CPU對它的控制,是系統(tǒng)的受控者。被動態(tài)下,CPU對DMAC的操作:在DMA傳送之前,CPU要對DMAC進行初始化編程;在DMA傳送之后,CPU要讀取DMAC的狀態(tài)。主動態(tài)在DMA傳送期間,DMAC取代CPU,獲得系統(tǒng)總線的使用權(quán),成為系統(tǒng)的主控者,使用系統(tǒng)總線控制存儲器、外設(shè)之間的數(shù)據(jù)傳送。DMA只負責對數(shù)據(jù)的傳送,前期的準備工作和結(jié)束后的工作都有專門的管理程序來完成。23七月2023574、DMA傳送的過程總線申請階段DMA傳送之前,DMAC向CPU申請總線使用權(quán);總線響應(yīng)階段總線建立階段——CPU將總線使用權(quán)轉(zhuǎn)讓給DAMC;數(shù)據(jù)傳送階段DMAC利用系統(tǒng)總線控制數(shù)據(jù)傳送;傳送結(jié)束階段DMA傳送結(jié)束,DMAC歸還系統(tǒng)總線使用權(quán);23七月202358①總線申請階段申請第一步外設(shè)向DMAC申請DMA服務(wù);需要DMA傳送的外部設(shè)備向DMAC發(fā)出DMA請求信號DREQ;申請第二步DMAC向CPU申請總線使用權(quán);若DMAC允許該請求,則向CPU發(fā)出總線請求信號HRQ,申請總線的使用權(quán)。23七月202359②響應(yīng)階段總線申請的響應(yīng)時間CPU在每個總線周期結(jié)束時檢測HRQ(總線請求信號);總線申請的響應(yīng)條件總線鎖定信號LOCK#無效;中斷響應(yīng)周期內(nèi),LOCK#信號有效,不允許轉(zhuǎn)讓總線;當CPU檢測到有總線請求信號HRQ,且允許響應(yīng)時,CPU進入總線保持狀態(tài);CPU一側(cè)的總線浮空;向DMAC發(fā)回總線保持響應(yīng)信號HLDA;DMAC收到HLDA信號,占用總線,準備DMA傳送。23七月202360③數(shù)據(jù)傳送階段DMAC尋址DMA傳送的設(shè)備通知外設(shè)

DMAC通過發(fā)回響應(yīng)信號通知外設(shè);啟動存儲器

DMAC使用系統(tǒng)總線,向存儲器發(fā)出地址及控制信號;開始數(shù)據(jù)傳送

DMAC按照初始化所確定的工作方式,利用系統(tǒng)總線,控制外設(shè)與存儲器之間直接的數(shù)據(jù)傳送。23七月202361④傳送結(jié)束階段傳送結(jié)束控制由DMAC完成;DMAC只傳送初始化設(shè)定的字節(jié)數(shù);數(shù)據(jù)塊傳送完畢后DMAC產(chǎn)生過程結(jié)束的EOP#信號,發(fā)送至外設(shè);外設(shè)收到此信號,撤銷DREQ信號;DMAC撤銷發(fā)給CPU的請求信號HRQ;CPU發(fā)回DMAC的響應(yīng)信號HLDA相繼無效;DMAC釋放總線,CPU重新恢復(fù)對總線的控制權(quán)。23七月202362DMA傳送過程演示CPUDMAC存儲器外設(shè)DREQHRQHLDADMACKEOPLOCK#1存儲單元地址信息數(shù)據(jù)傳送HLDAHOLD

23七月202363DMA方式和中斷控制方式的區(qū)別數(shù)據(jù)傳送的實現(xiàn)方式中斷——程序傳送;DMA——硬件實現(xiàn);CPU響應(yīng)請求的時間中斷——一個指令周期結(jié)束;DMA——一個總線周期結(jié)束;請求的目的中斷——CPU的服務(wù);DMA——總線的使用權(quán);是否需要保護現(xiàn)場中斷——需要;DMA——不需要(CPU不參與數(shù)據(jù)傳送);對于不需要訪存的現(xiàn)行程序的影響中斷——延遲現(xiàn)行程序的執(zhí)行;DMA——無影響;DMA的優(yōu)先權(quán)高于中斷的優(yōu)先權(quán)。23七月2023648.4.2DMA傳送方式DMA傳送時,CPU不能使用總線,會影響CPU的工作效率;當CPU需要訪存,或者訪問外設(shè)時,程序會阻塞;可使DMAC與CPU分時復(fù)用總線;常用的DMA傳送方式停止CPU訪問方式(連續(xù)方式)早期使用的一種方式;周期挪用方式(單字節(jié)方式)適用于外設(shè)讀寫周期大于主存的存取周期的系統(tǒng)中;DMA與CPU交替訪問方式(透明DMA方式)適用于CPU周期大于主存存取周期的系統(tǒng)中;每次挪用的一個總線周期,對于DMAC來說需要2-5個周期,用于總線控制權(quán)的申請、建立和歸還。23七月202365停止CPU訪問方式

工作過程DMA傳送期間,由DMAC長期占用總線,CPU不能訪存,只有DMA傳送結(jié)束時才將總線歸還給CPU使用;特點控制簡單,適于高速外設(shè)的數(shù)據(jù)成組傳送;DMA期間,CPU不能訪存,影響其工作效率。23七月202366周期挪用方式工作過程每次DMA傳送,都是通過外設(shè)挪用一個或幾個主存周期,分別完成數(shù)據(jù)的成塊傳送。特點:主存使用效率較高,常用;CPU和外設(shè)訪存沖突時,外設(shè)優(yōu)先訪問。每次DMA傳送需要重新申請、建立、歸還總線;23七月202367DMA與CPU交替訪存方式工作過程將CPU的工作周期一分為二,分別用于DMA和CPU訪存;特點:對主存的訪問時間不會發(fā)生沖突,也不需要總線控制權(quán)的申請建立和歸還過程;透明DMA方式DMA傳送不影響CPU的工作;23七月2023688.4.3DMA控制器DMAC的工作:接受外設(shè)的DMA請求,并提交給CPU;接管總線的控制權(quán),控制主存和外設(shè)之間的數(shù)據(jù)傳送;完成數(shù)據(jù)傳送后,交還總線使用權(quán)。23七月202369DMAC的組成部件地址寄存器和字節(jié)計數(shù)器初始化時,寫入初值,用于DMA傳送時,發(fā)出訪存地址,控制DMA傳送的長度;數(shù)據(jù)暫存器外設(shè)與主存交換數(shù)據(jù)時,直接通過數(shù)據(jù)總線傳送;主存與主存交換數(shù)據(jù)時,需要將數(shù)據(jù)在DMAC內(nèi)部中轉(zhuǎn);DMA請求標志記錄DMA傳送外設(shè)的請求信號;中斷機制控制DMA傳送結(jié)束時的EOP信號的產(chǎn)生。23七月2023708.4.4DMAC的類型

選擇型DMAC特點物理上,可以連接

多個設(shè)備;邏輯上,只允許連

接一個設(shè)備;選擇型DMAC相當于一個

邏輯開關(guān);只增加少量硬件,

可實現(xiàn)為多個設(shè)備服務(wù)的目的;適用于數(shù)據(jù)傳輸率很高的設(shè)備;23七月2023712.多路型DMAC特點物理上,可以連接多個設(shè)備;邏輯上,也允許多個設(shè)備同時工作;各設(shè)備以字節(jié)交叉方式進行數(shù)據(jù)傳送;DMAC內(nèi)部需要多組寄存器;設(shè)備對DMAC的請求可采用鏈式,或獨立請求方式;23七月2023

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論