IO系統(tǒng)組織課件_第1頁
IO系統(tǒng)組織課件_第2頁
IO系統(tǒng)組織課件_第3頁
IO系統(tǒng)組織課件_第4頁
IO系統(tǒng)組織課件_第5頁
已閱讀5頁,還剩207頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

IO系統(tǒng)組織課件本章學(xué)習(xí)內(nèi)容I/O系統(tǒng)的功能接口的功能中斷的基本概念DMA的基本概念通道的基本概念6/7/202529.1I/O系統(tǒng)概述I/O系統(tǒng)的基本功能①為數(shù)據(jù)傳輸操作選擇輸入/輸出設(shè)備。②控制被選的輸入/輸出設(shè)備與主機之間的信息交換。6/7/20253I/O系統(tǒng)需解決的主要問題解決主機與外部設(shè)備間的信息通訊問題,提供主機與外設(shè)間的信息通路,使外圍設(shè)備與主機能夠協(xié)調(diào)一致地工作。①使處理機與外部設(shè)備在數(shù)據(jù)處理的速度上能夠相互匹配。

解決方法:緩沖技術(shù)②使處理機與外部設(shè)備能夠并行工作,以提高整個計算機系統(tǒng)的工作效率。

解決方法:減少處理機對外部設(shè)備的直接控制,乃至處理機不再干預(yù)外部設(shè)備的控制,而交由專門的硬件裝置去實現(xiàn)對外部設(shè)備的管理與監(jiān)督。6/7/202549.1.2I/O系統(tǒng)的組成典型計算機系統(tǒng)中I/O系統(tǒng)的組成:系統(tǒng)總線、I/O設(shè)備接口控制器、I/O設(shè)備、相關(guān)控制軟件。6/7/20255現(xiàn)代計算機系統(tǒng)中I/O系統(tǒng)的組成:擴展總線、I/O設(shè)備接口控制器、I/O設(shè)備、相關(guān)控制軟件。6/7/20256擴展總線及I/O接口控制器的作用:①分流CPU和內(nèi)存之間以及外設(shè)和內(nèi)存之間的數(shù)據(jù)流現(xiàn)代計算機系統(tǒng)的主機與外設(shè)工作速度相差很大,需要分流CPU和內(nèi)存之間以及外設(shè)和內(nèi)存之間的數(shù)據(jù)流,因此需要引入擴展總線。②便于系統(tǒng)實現(xiàn)標(biāo)準(zhǔn)化、模塊化。系統(tǒng)總線(也包括擴展總線)中的控制總線通常定義為通用或標(biāo)準(zhǔn)的信號,而具體的I/O設(shè)備設(shè)置的是專用的控制信號,因此需要I/O接口控制器進行信號的轉(zhuǎn)換。6/7/20257I/O設(shè)備控制接口的發(fā)展趨勢在現(xiàn)代計算機系統(tǒng)中,許多I/O設(shè)備的控制器中(比如磁盤控制器、激光打印機)往往會采用專用的微處理器對有關(guān)設(shè)備進行控制,使用相應(yīng)的設(shè)備控制程序。因此傳統(tǒng)的單純由硬件電路實現(xiàn)的I/O設(shè)備控制接口,逐漸演變?yōu)橛绍洝⒂布嗷ヅ浜系腎/O設(shè)備控制接口。6/7/202589.1.3主機與外設(shè)間的連接方式與組織管理主機與外圍設(shè)備的連接方式大致可分為:總線方式通道方式I/O處理機方式(IOP方式)6/7/202591.總線型連接方式CPU通過系統(tǒng)總線與主存儲器,I/O控制器,I/O接口電路相連接,通過I/O接口電路進一步實現(xiàn)對外設(shè)的控制。系統(tǒng)總線包括地址總線,數(shù)據(jù)總線和控制總線,分別用于傳送地址信號,數(shù)據(jù)信號和控制信號(如讀/寫信號、中斷申請及應(yīng)答信號等)。6/7/2025106/7/202511總線型連接方式的優(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è)備的連接方式。6/7/202512多用戶接口適配器終端終端…總線6/7/2025132.通道控制連接方式通道控制方式由通道控制器執(zhí)行專門的通道程序,通過I/O總線控制接口與外設(shè)。通道控制連接方式主要用于連接外設(shè)數(shù)量多,外設(shè)類型多,外設(shè)速度差異大的大型主機系統(tǒng)。6/7/2025146/7/202515通道控制器是專門負責(zé)I/O操作的控制器,它執(zhí)行一種專門的通道程序,可與CPU并行工作。通道控制器通過執(zhí)行通道程序或采用DMA方式實現(xiàn)存儲器與外部設(shè)備之間的直接數(shù)據(jù)傳輸,減少CPU對I/O處理工作的控制。通道控制器6/7/202516從連接角度看,主機一般通過單獨的數(shù)據(jù)通路分別連接數(shù)目有限的通道,各通道再通過I/O總線連接I/O接口,再與外設(shè)連接。通道的四級連接方式:主機→通道→I/O接口(設(shè)備控制器)→外設(shè)6/7/202517通道的四級連接方式6/7/2025183.I/O處理機控制連接方式(IOP方式)I/O處理機(IOP)一種具有比I/O通道更強獨立性的專用CPU。IOP有自己的指令系統(tǒng),可編程控制,適應(yīng)性強、通用性好。其程序的執(zhí)行可與CPU并行,可使CPU徹底擺脫對I/O的控制處理。IOP可大可小,大的如在巨型機系統(tǒng)中,IOP可為一臺通用的小型機或中型計算機,稱為前端處理機;小的則為一塊大規(guī)模集成電路芯片,如Intel公司為其微處理器(CPU)8086配套的IOP—8089。6/7/2025199.1.4I/O信息傳送的控制方式I/O數(shù)據(jù)傳送控制方式也稱I/O信息交換方式。I/O數(shù)據(jù)傳送控制方式與主機和外設(shè)之間的連接方式有很大的關(guān)系,各種方式有不同的適用對象和應(yīng)用場合,需要相應(yīng)的硬件來支持。

6/7/202520按I/O控制組織的演變順序和外設(shè)與主機并行工作程度以及數(shù)據(jù)傳送的控制方式,對I/O數(shù)據(jù)傳送控制分類如下:直接程序控制方式:

程序中斷方式:

DMA方式:通道方式I/O處理機方式由專有硬件控制的數(shù)據(jù)傳送由程序控制的數(shù)據(jù)傳送采用輔助硬件實現(xiàn)適合快速外設(shè)快、慢設(shè)備均適用適合于大、中型機適合慢速外設(shè)適合于小微型機6/7/202521(1)由程序控制的數(shù)據(jù)傳送這種控制方式是指在主機和設(shè)備之間的I/O數(shù)據(jù)傳送,需要通過處理機執(zhí)行具體的I/O指令來完成。即由處理機執(zhí)行所謂的I/O程序,實現(xiàn)對整個I/O數(shù)據(jù)傳送過程的全程監(jiān)督與管理。程序控制方式一般在總線型連接方式中采用。由程序控制的數(shù)據(jù)傳送可進一步分為直接程序控制方式和程序中斷傳送方式。

6/7/202522(2)由專有硬件控制的數(shù)據(jù)傳送這種控制方式需要在系統(tǒng)中設(shè)置專門用于控制I/O數(shù)據(jù)傳輸?shù)挠布b置,處理機只要啟動這些裝置,就會在它們的控制下完成I/O數(shù)據(jù)傳輸,因此具體的I/O數(shù)據(jù)傳輸過程無需處理機的控制。由專有硬件控制的數(shù)據(jù)傳送可具體分為:直接存儲器存?。―MA)方式通道控制方式I/O處理機控制方式6/7/2025239.2I/O接口接口:通常指設(shè)備(硬件)之間的界面。I/O接口:主機(系統(tǒng)總線)與外部設(shè)備或其它外部系統(tǒng)之間的接口邏輯。6/7/2025249.2.1I/O接口的基本功能⑴實現(xiàn)數(shù)據(jù)的傳送、緩沖、隔離和鎖存。⑵實現(xiàn)信號形式和數(shù)據(jù)格式轉(zhuǎn)換。⑶控制主機與外設(shè)之間的通信聯(lián)絡(luò),實現(xiàn)控制命令和狀態(tài)信息的交換,保證時序協(xié)調(diào)。⑷尋址,即識別設(shè)備地址,選擇指定的設(shè)備和I/O端口。6/7/202525CPU和外設(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è)。6/7/202526③

開關(guān)量開關(guān)量有兩個狀態(tài):如開關(guān)的閉合和斷開、設(shè)備的啟動和停止等,可以“0”和“1”表示。6/7/202527⑵狀態(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。

6/7/202528⑶控制信息在外設(shè)的工作過程中,CPU需要通過控制信息控制外設(shè)的工作,如對外設(shè)的啟動和停止等。不同外設(shè)所需的控制信息各不相同,因此CPU需要通過接口將控制信息傳送給外設(shè)。6/7/202529I/O信息的傳送數(shù)據(jù)信息、狀態(tài)信息和控制信息各不相同,應(yīng)該分別傳送。為了便于處理,將狀態(tài)信息、控制信息也廣義地看成數(shù)據(jù)信息,通過數(shù)據(jù)總線來傳送。為了區(qū)別這三種信息,在接口線路中將它們分別送入不同的寄存器(I/O端口)。CPU同外設(shè)之間的信息傳送實質(zhì)上是對相應(yīng)的寄存器進行“讀”或“寫”操作。端口(Port或I/O端口):接口中可以由CPU進行讀或?qū)懙募拇嫫鳌?/7/202530I/O端口的尋址方式對I/O設(shè)備的尋址實質(zhì)上就是對I/O端口的尋址。⑴

I/O端口與主存統(tǒng)一編址將一個I/O端口作為存儲器中的一個單元對待,每一個I/O端口占用一個存儲器單元地址。編址時將I/O端口與存儲器單元一起進行編址。又稱為存儲器對應(yīng)的輸入輸出方式或存儲器映象編址方式。6/7/202531I/O端口與主存統(tǒng)一編址內(nèi)存I/O端口內(nèi)存6/7/202532I/O端口與主存統(tǒng)一編址方式的優(yōu)點:①CPU可使用所有存儲器操作指令對I/O端口中數(shù)據(jù)進行操作,十分靈活和方便。②不需要用專門的指令及控制信號區(qū)分是存儲器還是I/O操作。使得系統(tǒng)相對簡單。I/O端口與主存統(tǒng)一編址方式存在的缺點:①I/O端口占用了內(nèi)存單元的部分地址空間,使內(nèi)存容量減小。②由于在程序中不易分清指令訪問的是存儲器還是I/O端口,所以采用這種方式編制的程序不易閱讀。6/7/202533⑵I/O端口獨立編址將I/O端口與存儲器單元分別獨立進行編址,CPU訪問外設(shè)時,需使用專門的I/O指令,并需要有與接口電路聯(lián)系的單獨的控制信號。也稱為I/O端口尋址輸入輸出方式。存儲器I/O端口FFFFH0000HFFFH000H6/7/202534IBMPC中I/O地址的分配

輸入/輸出設(shè)備占用地址數(shù)地址(16進制)硬盤控制器16320~32F軟盤控制器83F0~3F7彩色圖形顯示適配器163D0~3DF異步通訊控制器83F8~3FF6/7/202535I/O端口獨立編址方式的優(yōu)點:①I/O端口具有獨立的地址空間,不占用內(nèi)存空間。②I/O指令中的地址字段的長度較短,可以節(jié)省指令存儲空間和指令執(zhí)行時間。③由于訪問存儲器和訪問I/O端口使用不同的指令,因此編制的程序比較清晰易讀。I/O端口獨立編址方式的缺點:I/O操作指令的種類通常沒有存儲器操作指令豐富,設(shè)計程序時不夠方便。6/7/2025369.2.2接口的基本組成6/7/202537⑴設(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控制邏輯以及各類特殊部件。6/7/2025389.2.3I/O接口的分類1.按數(shù)據(jù)傳送格式分串行接口:接口與設(shè)備之間的信息傳送是逐位串行進行的。并行接口:接口與設(shè)備之間的信息傳送是將一個字或一個字節(jié)的所有位同時并行地進行傳送的。6/7/2025396/7/202540主機串行接口外設(shè)TxDRxDDn-1~0主機并行接口外設(shè)Dn-1~0I/On-1~06/7/2025412.按時序的控制方式分同步接口:一般與同步總線相連,接口與總線采用統(tǒng)一時鐘信號,無論CPU與I/O設(shè)備,還是存儲器與I/O設(shè)備交換信息,都與總線同步時鐘脈沖同步。異步接口:與異步總線相連,接口與系統(tǒng)總線之間采用異步應(yīng)答方式。6/7/2025423.按信息傳送交換的控制方式分程序控制I/O接口:采用直接程序控制方式進行信息交換的接口。程序中斷I/O接口:主機與外設(shè)以程序中斷方式進行信息交換控制的接口。直接存儲器存取I/O接口:以直接存儲器存取(DMA)方式控制信息傳送的接口。6/7/202543程序控制方式的特點:數(shù)據(jù)傳輸操作通過在處理機上執(zhí)行的I/O指令來實現(xiàn)。程序控制方式下數(shù)據(jù)傳輸?shù)倪^程:⑴輸入數(shù)據(jù)①CPU執(zhí)行I/O輸入指令,啟動輸入操作總線周期,將I/O接口數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)取到CPU中的累加器中。②CPU執(zhí)行寫存儲器指令,啟動寫存儲器總線周期,將累加器中存放的輸入數(shù)據(jù)寫到內(nèi)存某個單元中。9.3程序控制方式6/7/202544⑵輸出數(shù)據(jù)①CPU執(zhí)行讀存儲器指令,啟動讀存儲器總線周期,將內(nèi)存某個單元中存放的待輸出數(shù)據(jù)取到CPU的累加器中。②CPU執(zhí)行I/O輸出指令,啟動輸出操作總線周期,將累加器中存放的待輸出數(shù)據(jù)寫到設(shè)備接口的數(shù)據(jù)緩沖寄存器中。在程序控制方式下,內(nèi)存與外設(shè)交換一個數(shù)據(jù)需要使用兩次總線,即需要執(zhí)行一個訪問存儲單元的總線周期和一個訪問I/O的總線周期。

6/7/2025459.3.1直接程序控制方式

直接程序控制方式完全通過程序來控制主機與外設(shè)之間信息傳送。通常是在用戶程序中安排一段由I/O指令和其它指令組成的I/O程序,通過執(zhí)行I/O程序?qū)崿F(xiàn)對外設(shè)的直接控制。6/7/2025461.直接數(shù)據(jù)傳送方式CPU在控制與外設(shè)之間的數(shù)據(jù)傳送之前,不需了解外設(shè)的工作狀態(tài),也不需考慮同步問題,即可直接執(zhí)行I/0指令,實現(xiàn)數(shù)據(jù)傳送。在采用直接數(shù)據(jù)傳送方式進行數(shù)據(jù)傳輸?shù)慕涌谥?,不需設(shè)置狀態(tài)寄存器及相關(guān)邏輯。直接數(shù)據(jù)傳送方式也稱為無條件傳送方式,是I/O數(shù)據(jù)傳送控制最簡單的一種,多用于I/0操作時間固定且已知的情況下。6/7/202547next: movdx,8000h ;DX指向數(shù)據(jù)端口 inal,dx ;從輸入端口讀開關(guān)狀態(tài) notal ;反相 outdx,al ;送輸出端口顯示 calldelay ;調(diào)子程序延時 jmpnext ;重復(fù)6/7/2025482.程序查詢數(shù)據(jù)傳送控制方式CPU在進行輸入/輸出操作之前,先查詢外設(shè)的狀態(tài),只有當(dāng)外設(shè)準(zhǔn)備就緒時,才進行數(shù)據(jù)傳送。也稱為條件傳送方式。當(dāng)有關(guān)操作的時間未知或不定時,往往采用程序查詢方式進行同步控制。6/7/202549程序查詢方式I/0程序的操作步驟6/7/202550movdx,8000h ;DX指向狀態(tài)端口status: inal,dx ;讀狀態(tài)端口 testal,01h ;測試標(biāo)志位D0 jzstatus ;D=0,未就緒,繼續(xù)查詢0 incdx ;D=1,就緒,DX改指向數(shù)據(jù)端口0 inal,dx ;從數(shù)據(jù)端口輸入數(shù)據(jù)6/7/202551在程序查詢方式中,為了提供程序查詢依據(jù),通常需要設(shè)置狀態(tài)寄存器,占用一個I/O端口地址。6/7/202552直接程序控制方式適用于下述場合:①CPU速度不高②CPU工作效率問題不是很重要③需要調(diào)試或診斷I/O接口及設(shè)備的時候直接程序控制方式的缺點:①CPU與外圍設(shè)備無法并行工作,CPU效率很低。②無法發(fā)現(xiàn)和處理異常情況,不能響應(yīng)來自外部的隨機請求。6/7/2025539.3.2程序中斷傳送方式程序中斷方式簡稱為中斷方式,它是目前幾乎所有計算機系統(tǒng)都具備的一種重要工作機制。中斷不僅用在輸入輸出過程控制中,而且在多道程序、分時操作、實時處理、人機聯(lián)系、故障處理、程序的監(jiān)視與跟蹤、目態(tài)程序和操作系統(tǒng)的聯(lián)系以及多處理機系統(tǒng)中各機間聯(lián)系方面都起著十分重要的作用。6/7/2025549.3.2.1中斷的基本概念1.中斷中斷是指處理機暫時中止執(zhí)行現(xiàn)行程序而轉(zhuǎn)去執(zhí)行處理更加緊迫事件的服務(wù)程序,待處理完畢后,再自動返回執(zhí)行原來的程序的過程。相對于在CPU上運行的程序,中斷具有隨機性(不可預(yù)測性)、異步性和不可再現(xiàn)性。6/7/2025552.實現(xiàn)中斷應(yīng)考慮的問題⑴保護現(xiàn)場中斷過程實質(zhì)上是一種程序切換過程,因此必須處理好保存舊現(xiàn)場、建立新現(xiàn)場的問題。⑵及時獲得中斷請求信號中斷具有隨機性(程序自愿中斷除外)。因此必須及時檢測中斷請求信號,以便及時處理。6/7/2025563.中斷的作用(1)解決主機與外設(shè)的速度匹配問題,實現(xiàn)CPU與I/O設(shè)備并行工作。CPU打印機執(zhí)行主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行主程序空閑啟動準(zhǔn)備發(fā)中斷請求接收數(shù)據(jù)打印發(fā)中斷請求接收數(shù)據(jù)啟動打印機傳送數(shù)據(jù)傳送數(shù)據(jù)響應(yīng)中斷響應(yīng)中斷打印中斷返回中斷返回6/7/202557(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)系6/7/2025584.中斷處理的過程6/7/202559中斷源以硬件信號形式通過中斷控制線路向CPU提出中斷請求。中斷源:引起中斷事件的原因。中斷源可以是外部的硬件設(shè)備,如鍵盤、打印機等輸入/輸出設(shè)備和各種控制設(shè)備;也可以是軟件指令,如中斷指令;還可能是由各種故障和出錯引起的中斷,如計算溢出等。⑴中斷請求6/7/202560⑵中斷判優(yōu)及響應(yīng)根據(jù)中斷優(yōu)先權(quán)進行判斷,擇優(yōu)予以響應(yīng)。⑶保護現(xiàn)場保護主程序的運行現(xiàn)狀,如PC值、PSW、寄存器和內(nèi)存中的重要數(shù)據(jù)。⑷中斷服務(wù)按中斷源的工作要求,執(zhí)行相應(yīng)的中斷服務(wù)程序,進行特定的數(shù)據(jù)傳送或控制處理。6/7/202561⑸恢復(fù)現(xiàn)場為了正確返回原程序,需要進行恢復(fù)現(xiàn)場的工作,即將前面保存的寄存器的內(nèi)容送回原寄存器。⑹中斷返回返回被中斷的程序,繼續(xù)執(zhí)行。6/7/2025625.中斷的分類⑴按中斷源來分內(nèi)中斷外中斷強迫中斷自愿中斷:程序中預(yù)先安排的中斷硬件故障軟件故障外設(shè)請求中斷控制臺中斷6/7/202563⑵按中斷服務(wù)程序入口的獲取方式分

向量中斷:由中斷系統(tǒng)硬件,直接向主機提供被響應(yīng)

中斷的中斷向量地址。非向量中斷:通過軟件查詢方式識別中斷源,轉(zhuǎn)

入相應(yīng)的中斷服務(wù)程序入口地址。⑶按是否可屏蔽分

可屏蔽中斷:CPU可以禁止響應(yīng)的外部中斷。不可屏蔽中斷:CPU必須響應(yīng)的外部中斷。

6/7/2025646.中斷系統(tǒng)的設(shè)計要求⑴保證中斷請求信號的建立及保持的準(zhǔn)確性,保證中斷在未被響應(yīng)時,中斷請求信號不能隨便被丟失。⑵保證各類中斷都能及時得到響應(yīng),不應(yīng)出現(xiàn)某些中斷由于某種原因長時間得不到響應(yīng)的情況。⑶必須防止在處理某個中斷過程中,又去響應(yīng)同樣的中斷。⑷保證中斷處理過程的正確性,在中斷處理過程結(jié)束后能夠正確返回被中斷的程序使之繼續(xù)執(zhí)行。6/7/202565⑸高級中斷應(yīng)能中斷低級中斷的處理,即要允許中斷嵌套。⑹中斷優(yōu)先級的設(shè)置應(yīng)具備方便性及靈活性,允許動態(tài)改變一個中斷的優(yōu)先級別。6/7/2025669.3.2.2中斷請求信號的建立與傳送1.中斷請求信號的建立與中斷屏蔽中斷請求信號的建立,基于中斷源有請求中斷的需要。例如,當(dāng)外設(shè)已“準(zhǔn)備就緒”或“完成一次操作”,可以用這類狀態(tài)信號作為中斷請求信號建立的原始信號,使中斷請求觸發(fā)器的狀態(tài)置“1”,表明已有中斷請求。設(shè)備中通常有三種狀態(tài):空閑、就緒、忙6/7/202567空閑忙就緒Busy=0Ready=0Busy=0Ready=1產(chǎn)生中斷請求Busy=1Ready=0啟動清除準(zhǔn)備好再啟動清除6/7/202568外設(shè)發(fā)出請求中斷信號的條件①外設(shè)準(zhǔn)備就緒(Ready=1)②外設(shè)的中斷請求沒有被屏蔽6/7/202569中斷請求信號是否能夠傳送給CPU,要看中斷源是否被屏蔽。中斷屏蔽6/7/202570中斷屏蔽:中斷源的中斷請求不能向CPU發(fā)出??梢愿鶕?jù)需要對中斷請求信號予以屏蔽。①先屏蔽方式:在中斷請求觸發(fā)器IRQ的D端進行屏蔽。②后屏蔽方式:在中斷請求觸發(fā)器IRQ的輸出端進行屏蔽。③集中屏蔽方式:即在公共接口邏輯中設(shè)置一個中斷控制器,內(nèi)含一個屏蔽字寄存器,CPU將屏蔽字送入其中。在各中斷源的接口不另設(shè)屏蔽觸發(fā)器。將各個請求信號匯集到中斷控制器,并與屏蔽字比較,若未被屏蔽,則中斷控制器送出一個公共的中斷請求信號INT,送往CPU。6/7/202571TD:狀態(tài)信號,TD=1,需要請求中斷TM:中斷屏蔽信號,TM=1,屏蔽中斷請求QIRQCPDIRQ&TDTMQIRQCPD1TDTMIRQ6/7/2025728259A的內(nèi)部結(jié)構(gòu)和引腳6/7/2025732.中斷請求信號的傳送一臺計算機系統(tǒng)中有多個中斷源,可能產(chǎn)生多個中斷請求信號,因此需要解決多個中斷請求信號如何傳送給CPU的問題。⑴獨立請求線方式(多線單級結(jié)構(gòu))各中斷源單獨設(shè)置自己的中斷請求線,多根請求線直接送往CPU。當(dāng)CPU接到中斷請求信號后,立即知道請求源是誰,并予以相應(yīng)的處理。這種方法有利于實現(xiàn)向量中斷,因為可以通過編碼電路形成向量地址。但因為CPU所能連接的中斷請求線數(shù)目有限,所以中斷源數(shù)目難以擴充。6/7/202574獨立請求線方式CPUINTR0INTR1INTRn-1┇6/7/202575⑵公共請求線方式(單線多級結(jié)構(gòu))各中斷源的請求信號通過三態(tài)門匯集到一根公共請求線,CPU只需接收一根中斷請求線的請求信號。這種方法節(jié)省引腳,但CPU響應(yīng)中斷后,還需要通過一定邏輯來識別是哪個中斷源發(fā)出的中斷請求,所以響應(yīng)速度慢一些。CPUINTR0INTR1INTRn-1I/OI/OI/O…INT6/7/202576⑶兩維結(jié)構(gòu)(多線多級結(jié)構(gòu))CPU設(shè)置數(shù)根中斷請求輸入線,它們體現(xiàn)不同的優(yōu)先級別,稱為主優(yōu)先級。再將主優(yōu)先級相同的中斷請求源匯集到同一公共請求線上。這種方法綜合了前兩種模式的優(yōu)點,既可以在主優(yōu)先級層次迅速判明中斷源,又能隨意擴充中斷源數(shù)目。6/7/202577兩維結(jié)構(gòu)CPUINTR0INTR1I/O…INT0INTRk-1I/OI/OINTR0INTR1I/O…INTRn-1I/OI/OINTn-1INTR0INTR1I/O…INT1INTRl-1I/OI/O┇6/7/202578⑷獨立請求線與公共請求線兼有方式將要求快速響應(yīng)的中斷請求,采取獨立請求線方式,以便快速識別。將其余響應(yīng)速度允許相對低些的中斷請求,匯集為一根公共請求線。有些微處理器由于引腳數(shù)有限,就采取這種模式。CPUINTRINTRINTRI/OI/OI/O…I/OI/OINTR0INTR1INTRm-16/7/2025799.3.2.3中斷排隊與判優(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)次序。6/7/202580中斷排隊的原則①內(nèi)部中斷優(yōu)先于外部中斷②故障中斷優(yōu)先于設(shè)備請求中斷③非屏蔽中斷優(yōu)先于可屏蔽中斷④輸入操作的中斷請求優(yōu)先于輸出操作的中斷請求⑤數(shù)據(jù)有效時間短的中斷優(yōu)先于數(shù)據(jù)有效時間長的中斷具體設(shè)計時,中斷優(yōu)先級可以是固定的,也可以是動態(tài)變化的??梢圆捎糜布蜍浖M行中斷排隊和判優(yōu)。6/7/2025812.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)中斷。6/7/202582CPU現(xiàn)行程序與中斷請求的判優(yōu)方法⑴通過設(shè)置CPU內(nèi)部的“中斷允許”狀態(tài)進行判優(yōu)在CPU內(nèi)部設(shè)置“允許中斷”觸發(fā)器IEN(或在PSR中設(shè)置相應(yīng)位P231),指令系統(tǒng)提供開中斷與關(guān)中斷功能(特權(quán)指令)。開中斷操作使TIEN=1,關(guān)中斷使TIEN=0。如果CPU處于關(guān)中斷狀態(tài),則表示所有外部中斷請求要求的服務(wù)都沒有現(xiàn)行程序的任務(wù)重要,CPU不響應(yīng)外部中斷請求。如果CPU處于開中斷狀態(tài),則可以響應(yīng)外部中斷請求。6/7/2025836/7/202584⑵在現(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)整。6/7/202585例:某計算機內(nèi)部程序與外部中斷請求優(yōu)先級和PSW的規(guī)定為:處理機0級處理機1級處理機7級外部請求0級外部請求1級外部請求7級765PSW內(nèi)部優(yōu)先級6/7/2025862.中斷請求之間的排隊與判優(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ā)出中斷請求。6/7/2025876/7/202588軟件查詢方法適用于低速和中速設(shè)備,多用于公共請求線方式。優(yōu)點:中斷條件標(biāo)志的優(yōu)先級可用程序任意改變,靈活性好。缺點:設(shè)備多時,響應(yīng)速度太慢。6/7/202589(2)并行優(yōu)先排隊邏輯采用硬件并行優(yōu)先排隊邏輯對具有獨立中斷請求線的中斷請求進行判優(yōu)。并行排優(yōu)邏輯適于具有多請求線的系統(tǒng),速度較快,硬件代價較高。6/7/2025906/7/202591采用硬件優(yōu)先鏈電路判斷中斷優(yōu)先級,判優(yōu)結(jié)果可用不同的設(shè)備碼或用中斷源類型碼來表示。鏈?zhǔn)絻?yōu)先排隊邏輯多用于采用公共請求線的系統(tǒng)。(3)鏈?zhǔn)絻?yōu)先排隊邏輯6/7/202592INTI中斷排隊輸入INTR1INTR2INTR3INTR4INTO中斷排隊輸出INTA中斷回答INTR1INTR2INTR3INTR4453210送CPU0CH0FH12H0EH6/7/202593設(shè)CPU可以接受n+1根中斷請求線,每根請求線的優(yōu)先級稱作主優(yōu)先級,在CPU內(nèi)部有一個相應(yīng)的判優(yōu)電路,以首先響應(yīng)優(yōu)先級最高的請求。如果程序狀態(tài)字中有CPU現(xiàn)行程序的優(yōu)先級編碼,這個判優(yōu)電路同時擔(dān)負CPU與請求之間的判優(yōu)問題。將有關(guān)外設(shè)分成n+1組,每組的請求匯集到同一根請求線上,占有同一個主優(yōu)先級。在一個小組內(nèi),各設(shè)備又作進一步的優(yōu)先級劃分,稱為次優(yōu)先級。通常在小組內(nèi)采取菊花鏈?zhǔn)降膬?yōu)先鏈結(jié)構(gòu)。(4)二維結(jié)構(gòu)的優(yōu)先排隊6/7/202594二維結(jié)構(gòu)的優(yōu)先排隊6/7/202595(5)采用中斷控制器集成芯片的優(yōu)先邏輯在微型計算機中,廣泛使用中斷控制器集成芯片,如Intel8259A。中斷控制器將中斷請求信號的寄存、匯集、屏蔽、排優(yōu)、編碼等邏輯,集成在一塊芯片之中。6/7/202596可編程中斷控制器Intel8259A6/7/2025979.3.2.4中斷響應(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é)束。6/7/202598一般情況下,CPU響應(yīng)中斷的時間是在一條指令執(zhí)行結(jié)束。但某些特殊的中斷,例如指令執(zhí)行過程中,取數(shù)時所需數(shù)據(jù)不在主存,這時不及時處理,指令就無法執(zhí)行下去,這就要求在指令執(zhí)行過程中響應(yīng)中斷。6/7/202599中斷響應(yīng)流程取指令停機停機指令執(zhí)行指令電源故障YN中斷請求N中斷處理YYN6/7/20251002.中斷響應(yīng)過程中應(yīng)完成的操作(1)關(guān)中斷以便在保存現(xiàn)場過程中不允許響應(yīng)新的中斷請求,確?,F(xiàn)場保存的正確性。(2)保存斷點地址和程序狀態(tài)字(3)轉(zhuǎn)入中斷服務(wù)程序入口,以便執(zhí)行相應(yīng)的中斷服務(wù)程序,完成中斷處理任務(wù)中斷響應(yīng)周期的操作流程中的操作不是在程序中安排的,而是直接由硬件完成的。通常把這種操作稱為執(zhí)行中斷隱指令。6/7/2025101第六章模型機中斷周期操作流程6/7/2025102.5中斷服務(wù)程序入口地址的獲取方式1.軟件查詢方法CPU響應(yīng)中斷請求后,先轉(zhuǎn)入中斷查詢程序,按優(yōu)先順序依次識別中斷源,并轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序入口。例:某機器各接口將中斷請求存放在狀態(tài)端口的狀態(tài)字寄存器STR中,CPU響應(yīng)中斷請求后,轉(zhuǎn)入查詢程序。3INTR=1ReadySTR6/7/2025103

INAL,STRATESTAL,08HJNZA入口INAL,STRBTESTAL,08HJNZB入口┇6/7/20251042.通過硬件排隊與編碼電路獲得優(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兩種方法也稱為非向量中斷6/7/20251053.向量中斷中斷向量:每個中斷源對應(yīng)的中斷服務(wù)程序的入口地址及其程序狀態(tài)字PSW。中斷向量存放在特定的存儲區(qū)中,有些計算機沒有完整的程序狀態(tài)字,則中斷向量僅指中斷服務(wù)程序入口地址。中斷向量表:存放中斷向量的表。所有的中斷服務(wù)程序入口地址(或包括服務(wù)程序的狀態(tài)字)組織成一個一維的表格,存放在一段連續(xù)的存儲區(qū)中。中斷向量地址:訪問中斷向量表的地址碼,即讀取中斷向量所需的地址,也稱為中斷指針。6/7/2025106中斷向量地址1入口地址1程序狀態(tài)字1中斷向量地址2入口地址2程序狀態(tài)字2︰︰中斷向量地址n入口地址n程序狀態(tài)字n中斷向量表中斷向量6/7/2025107向量中斷:將各個中斷服務(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ù)程序?,F(xiàn)代計算機基本上都具有向量中斷功能。6/7/2025108IBMPC機的中斷向量表6/7/2025109向量中斷的工作過程⑴中斷源提出中斷請求。⑵若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。6/7/2025110主存0級入口0級PSW1級入口1級PSW┇7級入口7級PSWVARINTR0INTR1INTR7堆棧PSWPC××優(yōu)先級編碼電路PCPSRCPUINTRINTA⑤③①②④⑦⑥中斷服務(wù)⑥中斷服務(wù)6/7/20251119.3.2.6多重中斷與中斷屏蔽1.多重中斷(中斷嵌套)CPU在處理某一級中斷過程中.又遇到了新的中斷請求,CPU暫停原中斷的處理,而轉(zhuǎn)入處理新的中斷,待處理完畢,再恢復(fù)原來中斷的處理,這種中斷稱為多重中斷,也稱中斷嵌套。2.多重中斷的處理原則⑴若新的中斷的優(yōu)先級高于原來中斷的優(yōu)先級,則響應(yīng)新的中斷請求;⑵若新的中斷優(yōu)先級同于或低于原來中斷的優(yōu)先級,則不予響應(yīng),必須待原來中斷處理完,返回原程序后,再響應(yīng)新的中斷。6/7/2025112中斷嵌套主程序K:K+1:服務(wù)程序1服務(wù)程序2N1:M1:L:L+1:中斷返回中斷返回響應(yīng)1響應(yīng)26/7/20251133.實現(xiàn)多重中斷處理的方法采用中斷屏蔽技術(shù)。中斷屏蔽:當(dāng)產(chǎn)生中斷請求后,用程序有選擇地封鎖部分中斷,而允許其余部分中斷仍得到響應(yīng)。4.中斷屏蔽的實現(xiàn)方法為每一個可屏蔽的中斷源設(shè)一個中斷屏蔽觸發(fā)器來屏蔽該中斷源的中斷請求。為了實現(xiàn)多重中斷的處理原則,當(dāng)CPU響應(yīng)某個中斷請求后,送出一個新的屏蔽字,屏蔽同級和低級中斷,只允許響應(yīng)更高級中斷。6/7/2025114可編程中斷控制器Intel8259A6/7/2025115例某計算機的中斷系統(tǒng)有五級中斷,優(yōu)先次序為1>2>3>4>5若CPU在執(zhí)行正常程序時,有下列事件發(fā)生:(1)中斷1,2,4提出請求;(2)在處理中斷4過程中,又有中斷3提出請求;(3)在處理中斷3時,又出現(xiàn)1,5中斷請求。請畫出CPU對所有事件的處理過程圖。6/7/2025116中斷源用戶程序中斷服務(wù)程序12345

1,2,4time31,56/7/20251175.中斷屏蔽技術(shù)用于調(diào)整中斷優(yōu)先級利用硬件排隊判優(yōu)所分配的優(yōu)先級是固定的,但有時需要動態(tài)地修改優(yōu)先次序。例如,有些設(shè)備的優(yōu)先級低,經(jīng)常得不到響應(yīng)的機會,在適當(dāng)?shù)臅r段中就需讓它升級,使各設(shè)備得到的響應(yīng)機會均衡、合理一些。中斷升級:在一段時間內(nèi),利用屏蔽技術(shù)將原來優(yōu)先級高的設(shè)備暫時屏蔽,而使優(yōu)先級低的設(shè)備的優(yōu)先級相對提高。過一段時間再調(diào)整屏蔽字,或者復(fù)原,或者按一定規(guī)律修改屏蔽字,以適應(yīng)程序的需要。6/7/2025118例:優(yōu)先級順序為1>2>3>4>5時的屏蔽碼6/7/2025119優(yōu)先級順序修改為1>4>3>2>5時的屏蔽碼6/7/2025120作業(yè)P4109.89.96/7/20251219.3.2.7中斷服務(wù)(中斷處理)取得中斷服務(wù)程序的入口地址后,CPU開始執(zhí)行中斷服務(wù)程序,完成規(guī)定的中斷處理任務(wù)。中斷服務(wù)程序一般由起始、主體、結(jié)尾三部分組成。6/7/20251221.起始部分①判明中斷原因,識別中斷源,對于不同中斷源轉(zhuǎn)入不同的服務(wù)程序。對于向量中斷,直接由硬件判明中斷源并給出中斷向量地址,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序。對于非向量中斷,需通過執(zhí)行一段程序判明中斷源,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序。②設(shè)置屏蔽字,封鎖同級與低級中斷。6/7/2025123③保存中斷現(xiàn)場除了PSW外,還要保存一些在執(zhí)行中斷服務(wù)程序過程中可能被改變的寄存器的內(nèi)容。④開中斷以便在本次中斷處理過程中,允許響應(yīng)更高級的中斷請求。這是因為在中斷響應(yīng)時,為避免影響保護現(xiàn)場,進行了關(guān)中斷操作。6/7/20251242.主體部分執(zhí)行具體的為中斷源服務(wù)的程序。6/7/20251253.結(jié)尾部分①關(guān)中斷,以便在恢復(fù)現(xiàn)場過程中不允許響應(yīng)新的中斷。②恢復(fù)中斷現(xiàn)場,將原來保存的寄存器內(nèi)容送回原寄存器。③清中斷請求信號,表示本次中斷處理結(jié)束。④清屏蔽字,開放同級與低級中斷。⑤開中斷,以便響應(yīng)新的中斷請求。⑥恢復(fù)PSW、PC,返回被中斷的程序。6/7/2025126例:輸出設(shè)備的程序中斷過程①CPU執(zhí)行程序設(shè)置內(nèi)存存儲區(qū)域的首地址和需要進行數(shù)據(jù)傳輸?shù)淖止?jié)數(shù)。②設(shè)置中斷向量③發(fā)送設(shè)備地址,啟動被選設(shè)備④外設(shè)準(zhǔn)備好,發(fā)送中斷請求,并被響應(yīng)⑤執(zhí)行中斷服務(wù)程序⑥中斷返回6/7/20251279.3.2.7中斷響應(yīng)的及時性要求

中斷延遲時間CPU執(zhí)行中斷響應(yīng)隱指令的開銷。即中斷源提出中斷申請后到中斷處理程序的第一條指令開始執(zhí)行之間的時間。

6/7/2025128影響延遲時間的因素⑴指令的執(zhí)行時間如果指令系統(tǒng)中有執(zhí)行時間較長的指令,則需要考慮提供在指令執(zhí)行過程中也可以對外部中斷請求予以響應(yīng)的能力。⑵程序執(zhí)行環(huán)境的轉(zhuǎn)換開銷即保護斷點、現(xiàn)場和恢復(fù)斷點、現(xiàn)場時CPU的開銷??梢栽贑PU內(nèi)部采用多組寄存器“窗口”,使得環(huán)境轉(zhuǎn)換得以加快。6/7/2025129⑶中斷服務(wù)程序入口地址的確定方式可采用固定地址對應(yīng)的方法,即某個中斷源的中斷服務(wù)程序的第一條指令,放在固定的內(nèi)存單元中,這樣CPU在響應(yīng)這個中斷時,可直接轉(zhuǎn)入中斷服務(wù)程序。可考慮將中斷向量表安排在CPU內(nèi)部的Cache中,以加快入口地址的確定時間。6/7/2025130中斷處理程序的處理時間中斷處理程序最好安排在Cache中,以便加快中斷處理的速度。6/7/2025131例:某計算機的CPU的主頻為500MHz,所連接的某外設(shè)的最大數(shù)據(jù)傳輸率是20kBps,該外設(shè)接口中有一個16位的數(shù)據(jù)緩沖器,相應(yīng)的中斷服務(wù)程序的執(zhí)行時間為500個時鐘周期。請回答:⑴是否可以用中斷方式進行該外設(shè)的輸入輸出?若能,在該設(shè)備持續(xù)工作期間,CPU用于控制該設(shè)備進行I/O操作的時間占整個CPU時間的百分比大約是多少?⑵若該設(shè)備的最大數(shù)據(jù)傳輸率改為20MBps,是否可以用中斷方式進行該外設(shè)的輸入輸出?

6/7/2025132解:該外設(shè)接口中有一個16位的數(shù)據(jù)緩沖器,若采用中斷方式進行I/O操作,可以每16位進行一次中斷請求,因此,中斷請求的時間間隔為:2B/20kBps×106=100μs中斷服務(wù)程序的執(zhí)行時間為:

500/500MHz×106=1μs中斷響應(yīng)時間相對于中斷服務(wù)程序的執(zhí)行時間可以忽略不計,故整個中斷響應(yīng)加中斷服務(wù)的時間約為1μs多一點,遠遠小于中斷請求的時間間隔。因此可以用中斷方式進行該外設(shè)的輸入輸出。采用中斷方式控制該設(shè)備進行I/O操作的時間占整個CPU時間的百分比大約為1/101=1%6/7/2025133若該設(shè)備的最大數(shù)據(jù)傳輸率是20MBps,則中斷請求的時間間隔為:

2B/20MBps×106=1μs而整個中斷響應(yīng)加中斷服務(wù)的時間約為1μs多一點,即一次中斷處理未完,新的請求就會來到,所以,不可以用中斷方式控制該設(shè)備進行I/O操作。此時最好采用DMA方式,直接進行數(shù)據(jù)傳送,無需執(zhí)行程序。6/7/2025134中斷處理的全過程①中斷請求;②擇優(yōu)響應(yīng);③保護現(xiàn)場;④中斷服務(wù);⑤恢復(fù)現(xiàn)場;⑥中斷返回;在中斷處理的過程中,有些是由硬件完成的,有些是由軟件完成的,因此中斷是一種軟、硬件結(jié)合的技術(shù)手段。不同的機器,軟、硬件功能分配的比例有所不同。6/7/20251359.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ù)地址直接訪問存儲器。6/7/20251366/7/2025137DMA方式CPU主存接口設(shè)備DMA控制器程序控制DMA控制6/7/2025138

9.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ù)雜的情況。6/7/20251392.DMA方式的應(yīng)用DMA方式一般應(yīng)用于主存與高速I/O設(shè)備間的簡單數(shù)據(jù)傳送(高速I/O設(shè)備如磁盤、磁帶、光盤等外存儲器),以及其它帶有局部存儲器的外圍設(shè)備、通信設(shè)備等。如:⑴磁盤與主存的成塊數(shù)據(jù)傳送⑵通信設(shè)備的批量數(shù)據(jù)傳送⑶動態(tài)存儲器的刷新⑷大批量數(shù)據(jù)采集系統(tǒng)6/7/2025140DMA傳送是直接依靠硬件實現(xiàn)的,可用于快速的數(shù)據(jù)直傳。但DMA方式本身不能處理復(fù)雜事態(tài)。因此,在某些場合常綜合應(yīng)用DMA方式與程序中斷方式,二者互為補充。典型的例子是磁盤調(diào)用,磁盤讀寫采用DMA方式進行數(shù)據(jù)傳送,而對尋道是否正確的判別處理、批量傳送結(jié)束后的善后處理,則采用程序中斷方式。6/7/20251419.4.2DMA的傳送方式1.CPU停機方式用CPU停機方式實現(xiàn)DMA傳送時,CPU停止工作,讓出對總線的控制權(quán),而由DMAC接管總線,進行數(shù)據(jù)傳送。數(shù)據(jù)傳送結(jié)束后,再將總線交還給CPU。6/7/20251426/7/2025143CPU停機方式的特點優(yōu)點:控制簡單,比較容易實現(xiàn),是最常用、最簡單的一種DMA實現(xiàn)方式,大部分DMAC都采用這種方式。缺點:由于在采用這種方式進行的DMA傳送期間,使CPU處于空閑等待狀態(tài),降低了CPU的利用率,并且可能會影響到某些實時性很強的操作,如中斷響應(yīng)和對動態(tài)RAM的刷新等。6/7/20251442.周期挪用(周期竊取)方式當(dāng)I/O設(shè)備無DMA傳送請求時,CPU正常訪問主存。當(dāng)I/O設(shè)備需要使用總線傳送數(shù)據(jù)時,產(chǎn)生DMA請求,DMAC把總線請求發(fā)給CPU。①若CPU本身無使用總線的要求,CPU就把總線交給DMAC,由DMAC控制I/O設(shè)備使用總線②如果此時CPU也要使用總線,則CPU自身進入一個或幾個“空閑總線周期”狀態(tài),即CPU讓出一個或幾個總線周期給DMAC(也稱DMAC“挪用”一個總線周期),DMAC利用此總線周期控制傳送一個數(shù)據(jù)字后,再把總線交還給CPU,以便CPU可以繼續(xù)執(zhí)行總線操作。6/7/2025145周期挪用6/7/2025146采用周期挪用方式時,外設(shè)要求DMA傳送的三種情況:⑴外設(shè)要求DMA傳送時,CPU不需要訪問主存(如CPU正在執(zhí)行乘法指令,由于乘法指令執(zhí)行時間較長,此時CPU不需訪問主存),故外設(shè)訪存與CPU不發(fā)生沖突。⑵外設(shè)要求DMA傳送時,CPU正在訪存,此時必須等CPU存取周期結(jié)束后,CPU才能讓出總線控制權(quán)。⑶外設(shè)要求訪存時,CPU也要求訪存,這就出現(xiàn)了訪存沖突。此時要求外設(shè)訪存優(yōu)先于CPU訪存。因為外設(shè)不立即訪存就可能丟失數(shù)據(jù),這時DMAC要竊取一、二個存取周期,使CPU延緩一、二個存取周期再訪存。6/7/2025147周期挪用方式的優(yōu)點與CPU暫停訪存的方式相比,周期挪用方式既實現(xiàn)了I/O傳送,又較好地發(fā)揮了主存與CPU的效率,是一種廣泛采用的方法。6/7/2025148周期挪用方式的缺點每傳送一個數(shù)據(jù),DMA都要產(chǎn)生訪問請求,待到CPU響應(yīng)后才能傳送,因此判優(yōu)操作及總線切換操作非常頻繁,其花費的時間開銷較大。往往在傳輸一個數(shù)據(jù)塊時,需要DMA控制器多次申請使用總線,這影響了DMA的數(shù)據(jù)傳輸速度。6/7/2025149周期挪用方式適用于I/O設(shè)備接口控制器中數(shù)據(jù)緩沖器容量不大的場合,例如在接口控制器中僅設(shè)置一個數(shù)據(jù)寄存器的情形,對具有較大容量數(shù)據(jù)緩沖存儲器的高速外設(shè)來說是不合適的。6/7/20251503.DMA與CPU交替訪問內(nèi)存方式

將一個CPU周期分為兩個分周期,與DMA分別使用。其中一個專供DMA訪存,另一個專供CPU訪存。這種方式不需要總線使用權(quán)的申請建立和歸還過程,總線使用權(quán)是通過不同的周期分別控制的。在這種工作方式下,CPU既不停止主程序的運行也不進入等待狀態(tài),在CPU不知不覺中完成了DMA的數(shù)據(jù)傳送,故又有“透明的DMA”方式之稱,當(dāng)然周期擴展方式會使CPU的處理速度減慢,其相應(yīng)的硬件邏輯也變得更為復(fù)雜。6/7/20251516/7/20251529.4.3DMA系統(tǒng)的硬件組織

在目前的計算機系統(tǒng)中,通常專門設(shè)置了DMA控制器,并且較多采取DMA控制器與DMA接口相分離的方式。1.DMA控制器(DMAC)DMAC負責(zé)申請、接管總線的控制權(quán)、發(fā)送地址和操作命令以及控制DMA傳送過程的起始與終止。DMA控制器獨立于具體I/O設(shè)備,可以為多個設(shè)備通用。6/7/2025153

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ù)正常工作。6/7/20251542.DMA接口用于實現(xiàn)與設(shè)備的連接和數(shù)據(jù)緩沖,反映設(shè)備的特定要求。6/7/20251559.4.4DMA控制器的組成1.DMAC的基本組成為了實現(xiàn)DMAC的功能,DMAC內(nèi)部除需要有接受和發(fā)送DMA請求和響應(yīng)信號的能力外,還應(yīng)具有地址寄存和計數(shù)功能,以便控制對存儲器的尋址;具有傳輸量計數(shù)器,能夠?qū)魉偷臄?shù)據(jù)個數(shù)進行計數(shù)。6/7/2025156DMAC的基本組成6/7/2025157(1)主存地址寄存器MAR用于存放主存中需要交換數(shù)據(jù)的地址。在DMA傳送前,CPU通過執(zhí)行程序?qū)?shù)據(jù)在主存中的首地址送到主存地址寄存器。在DMA傳送過程中,每交換一次數(shù)據(jù),將地址寄存器內(nèi)容加/減1,指向下一單元,直到一批數(shù)據(jù)傳送完畢為止。(2)傳輸量計數(shù)器WC用于記錄傳送數(shù)據(jù)的總字?jǐn)?shù)。傳輸量計數(shù)器一般采用補碼(負數(shù))表示要傳送的數(shù)據(jù)量。在DMA傳送過程中,每傳送一個字(或字節(jié)),計數(shù)器自動加1,當(dāng)WC內(nèi)容為零時,表示數(shù)據(jù)已全部傳送完畢,DMAC發(fā)出DMA傳送結(jié)束信號。6/7/2025158(3)數(shù)據(jù)緩沖寄存器DBR用于暫存每次傳送的數(shù)據(jù)。通常DMA接口與主存之間采用字傳送,而DMA與設(shè)備之間可能是字節(jié)或位傳送。因此DMA接口中還可能包括有裝配或拆卸字信息的硬件邏輯,如數(shù)據(jù)移位緩沖寄存器、字節(jié)計數(shù)器等。有的系統(tǒng)采用外設(shè)控制器上的數(shù)據(jù)緩沖器與內(nèi)存單元之間通過數(shù)據(jù)總線直傳的方法,這樣就可以不用數(shù)據(jù)緩沖寄存器。(4)設(shè)備地址寄存器DAR存放I/O設(shè)備的設(shè)備碼或表示設(shè)備信息存儲區(qū)的尋址信息。如磁盤數(shù)據(jù)所在的柱面號、盤面號和扇區(qū)號。具體內(nèi)容取決于設(shè)備的數(shù)據(jù)格式和編址方式。6/7/2025159(5)控制/狀態(tài)寄存器CSR存放有關(guān)控制和狀態(tài)信息,如傳送方式、讀/寫狀態(tài)、傳送完畢與否等。也可使用多個寄存器,分別存放控制字和狀態(tài)字。(6)DMA控制邏輯DMA控制邏輯負責(zé)完成DMA的預(yù)處理(初始化各類寄存器)、接收設(shè)備控制器送來的DMA請求信號、向設(shè)備控制器回答DMA允許(應(yīng)答)信號、向系統(tǒng)申請總線以及控制總線實現(xiàn)DMA傳輸控制等工作。6/7/2025160(7)DMA中斷控制邏輯DMA中斷控制邏輯負責(zé)在DMA操作完成后向CPU發(fā)出中斷請求,申請CPU對DMA操作進行后處理或進行下一次DMA傳送的預(yù)處理。注意:DMA傳送過程中的中斷與I/O中斷的技術(shù)相同,但中斷的目的不同。I/O中斷是為了數(shù)據(jù)的輸入或輸出,DMA傳送過程中的中斷是為了報告一批數(shù)據(jù)傳送結(jié)束。它們是I/O系統(tǒng)中不同的中斷事件。6/7/2025161(8)數(shù)據(jù)線、地址線和控制信號線

DMA控制器中設(shè)置了與主機和I/O設(shè)備兩個方向的數(shù)據(jù)線、地址線和控制信號線以及有關(guān)收發(fā)與驅(qū)動電路。

6/7/20251629.4.5DMA控制方式下的數(shù)據(jù)傳送過程1.預(yù)處理在DMAC開始工作之前,CPU通過執(zhí)行輸入輸出程序完成下面工作:①在控制寄存器中寫入DMA操作命令。給DMA控制邏輯指明數(shù)據(jù)傳送方向是輸入(主存寫)還是輸出(主存讀)。②向DMA設(shè)備地址寄存器送入設(shè)備號,并啟動設(shè)備。③向DMA主存地址寄存器送入交換數(shù)據(jù)的主存起始地址。④向傳輸量計數(shù)器送入交換數(shù)據(jù)的個數(shù)。6/7/2025163預(yù)處理工作由CPU執(zhí)行幾條輸入輸出指令完成,稱為初始化工作。初始化工作完成后,CPU繼續(xù)執(zhí)行原來的程序。當(dāng)外部設(shè)備準(zhǔn)備好發(fā)送的數(shù)據(jù)(輸入)或上次接受的數(shù)據(jù)已經(jīng)處理完畢(輸出)時,它便通過DMA接口向CPU提出占用總線的申請,若有多個DMA同時申請,則按輕重緩急由硬件排隊判優(yōu)邏輯決定優(yōu)先等級。待設(shè)備得到主存總線的控制權(quán)后,數(shù)據(jù)的傳送便由該DMAC進行管理。6/7/20251642.?dāng)?shù)據(jù)交換操作

DMAC獲得總線后,即可按規(guī)定的傳送方式,進行數(shù)據(jù)的輸入或輸出操作,直到將所有數(shù)據(jù)傳輸完畢,DMAC將總線交還給CPU。需要時還向CPU發(fā)出中斷請求。6/7/2025165CPU響應(yīng)中斷后,為DMA傳送作結(jié)束處理工作。①校驗送入主存的數(shù)據(jù)是否正確②決定是否繼續(xù)用DMA方式傳送,還是結(jié)束傳送③測試在傳送過程中是否發(fā)生了錯誤④判斷傳送工作是否正常結(jié)束3.DMA后處理6/7/20251666/7/20251676/7/2025168例:DMA數(shù)據(jù)輸入過程(DMA寫)①從設(shè)備讀入一個字到DMA的數(shù)據(jù)緩沖寄存器DBR中,表示數(shù)據(jù)緩沖寄存器“滿”;②外設(shè)向DMAC發(fā)請求(DREQ);③DMAC向CPU申請總線控制權(quán)(HRQ);④CPU發(fā)回HLDA信號,表示允許將總線控制權(quán)交給DMAC;⑤將DMA主存地址寄存器中的主存地址送地址總線;⑥通知設(shè)備已被授予一個DMA周期(DACK),并為交換下一個字做準(zhǔn)備;6/7/2025169⑦將DMA數(shù)據(jù)緩沖寄存器的內(nèi)容送數(shù)據(jù)總線;⑧向存儲器發(fā)寫命令:⑨修改主存地址和字計數(shù)值;⑩判斷數(shù)據(jù)塊是否傳送結(jié)束,若未結(jié)束,則繼續(xù)傳送;若已結(jié)束,(字計數(shù)器計數(shù)為0),則向CPU申請程序中斷,標(biāo)志數(shù)據(jù)塊傳送結(jié)束。6/7/2025170例: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)備:6/7/2025171⑦主存將相應(yīng)地址單元的內(nèi)容通過數(shù)據(jù)總線讀入到DMA的數(shù)據(jù)緩沖寄存器中;⑧將DMA數(shù)據(jù)緩沖寄存器的內(nèi)容送到輸出設(shè)備;⑨修改主存地址和字計數(shù)值:⑩判斷數(shù)據(jù)塊是否已傳送完畢,若未完,繼續(xù)傳送;若已送完,則向CPU申請程序中斷。6/7/2025172DMA方式與程序中斷的比較程序中斷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ù)傳送6/7/2025173總結(jié)直接程序控制(無條件傳送和查詢式傳送):外設(shè)與主機工作完全串行。程序中斷:外設(shè)與主機工作大部分并行。DMA方式:外設(shè)與主機工作幾乎完全并行,系統(tǒng)開銷很小。隨著I/O系統(tǒng)的日益復(fù)雜,僅靠中斷和DMA方式已不能滿足要求。因為程序中斷的系統(tǒng)開銷較大;DMAC可帶的設(shè)備少,功能簡單,且系統(tǒng)中多個DMAC容易造成訪存沖突,所以又出現(xiàn)了通道和I/O處理機方式,從而可以更好地控制I/O系統(tǒng)的工作。6/7/20251749.5I/O通道方式

9.5.1概述

在計算機系統(tǒng)中,通道作為一個獨立的I/O控制部件,能執(zhí)行有限的I/O通道指令,代替CPU管理和控制外設(shè)。通道使主機與I/O設(shè)備之間能夠達到更高的并行程度。通道能夠被多臺外圍設(shè)備共享。I/O通道的任務(wù)控制、管理輸入/輸出操作,為I/O設(shè)備提供傳送數(shù)據(jù)的通道。6/7/20251751.I/O通道的特點⑴I/O通道有自己的指令系統(tǒng),能夠獨立執(zhí)行用通道命令編寫的輸入輸出控制程序,控制設(shè)備工作。⑵I/O通道可根據(jù)需要控制多種不同的設(shè)備。⑶每個I/O通道可以連接多個外部設(shè)備,每個外設(shè)對應(yīng)一個子通道。⑷I/O通道通過系統(tǒng)中的數(shù)據(jù)通路與設(shè)備的控制器進行通信。6/7/20251762.I/O通道與DMA方式的異同⑴相同點I/O通道與DMA方式都是在主存與I/O設(shè)備之間建立數(shù)據(jù)通路,用專用的控制器控制數(shù)據(jù)的直接傳送。⑵不同點DMA方式通過硬件控制主存與設(shè)備之間的信息傳送。I/O通道通過執(zhí)行通道程序控制主存與設(shè)備之間的信息傳送。DMA方式只能控制少量的同類設(shè)備,只能傳送數(shù)據(jù)。I/O通道可控制多種不同的設(shè)備,除傳送數(shù)據(jù)外,還可以完成接口的初始化、故障診斷與處理等工作。6/7/20251773.I/O通道與程序中斷方式的異同⑴相同點I/O通道與程序中斷方式都是通過執(zhí)行程序去管理I/O操作,因而靈活性較強,都可以通過擴展程序的功能來擴展處理能力。⑵不同點程序中斷方式在數(shù)據(jù)傳輸時需要CPU執(zhí)行程序控制數(shù)據(jù)的傳輸,要占用CPU的時間;I/O通道在被CPU啟動后,由通道執(zhí)行程序控制數(shù)據(jù)傳輸,使CPU可以從大部分I/O管理中解脫出來。6/7/20251784.帶有I/O通道的I/O系統(tǒng)結(jié)構(gòu)主機—通道—設(shè)備控制器—設(shè)備四級連接方式。

6/7/2025179⑴CPU的任務(wù)執(zhí)行I/O指令。啟動/關(guān)閉通道與設(shè)備。處理來自通道的中斷,如數(shù)據(jù)傳輸中斷、故障中斷等。通道執(zhí)行的通道程序由操作系統(tǒng)提供。6/7/2025180⑵I/O通道的任務(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ù)據(jù)量;指定傳送工作結(jié)束時要進行的操作,根據(jù)對傳送數(shù)據(jù)的計數(shù)判斷數(shù)據(jù)傳送工作是否結(jié)束。6/7/2025181④在數(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)。6/7/2025182⑶設(shè)備控制器的任務(wù)①從通道接受通道指令,控制外部設(shè)備完成指定的操作。如控制外設(shè)的啟/停,向設(shè)備發(fā)出各種設(shè)備專有的控制信號等。②向通道提供外部設(shè)備的狀態(tài)。如設(shè)備的忙、閑、出錯信息等。③將各種外部設(shè)備的不同信號轉(zhuǎn)換成通道能夠識別的標(biāo)準(zhǔn)信號。④控制輔助操作。如磁帶的進帶、倒帶等操作。6/7/20251839.5.2通道的類型根據(jù)多臺外設(shè)共享通道的不同情況,可將通道分為三種類型。1.字節(jié)多路通道字節(jié)多路通道是一種簡單的共享通道,可以依靠通道與CPU之間的高速數(shù)據(jù)通路分時地為多臺設(shè)備服務(wù)。在字節(jié)多路通道中,一個通道含有多個子通道,使用公共的控制部分。每個子通道連接一個設(shè)備控制器,一個設(shè)備控制器可連接多臺設(shè)備,設(shè)備可以采用字節(jié)交叉模式分時交替地使用通道進行數(shù)據(jù)傳送。6/7/2025184字節(jié)交叉模式:連接在通道上的各個設(shè)備輪流占用一個很短的時間片傳輸一個字節(jié)。字節(jié)多路通道要求每種設(shè)備分時占用通道一個很短的時間段,不同的設(shè)備在各自分得的時間段內(nèi)與通道建立傳輸連接,實現(xiàn)數(shù)據(jù)的傳送。

6/7/2025185字節(jié)多路通道的結(jié)構(gòu)6/7/2025186字節(jié)多路通道的信息傳送方式A1A2A3A4A5A6B1B2B3B4B5B6C1C2C3C4C5C6通道控制A1B1C1A2B2C2Ai、Bi、Ci分別為傳送的字節(jié)信息6/7/20251872.選擇通道選擇通道只有一套完整的硬件,以獨占的方式工作,逐個輪流地為物理上連接的幾臺高速外設(shè)服務(wù)。選擇通道在一段時間內(nèi)單獨為一臺外設(shè)服務(wù),但在不同的時間內(nèi)可以選擇不同的設(shè)備。選擇通道一旦選中某一設(shè)備,通道就進入“忙”狀態(tài)直到該設(shè)備的數(shù)據(jù)傳輸工作全部結(jié)束為止。選擇通道傳送的數(shù)據(jù)寬度是可變的,它為一臺外設(shè)傳送完數(shù)據(jù)后才轉(zhuǎn)去處理其他外設(shè)。6/7/2025188選擇通道的結(jié)構(gòu)6/7/2025189選擇通道的信息傳送方式A1A2A3…An通道A1…AnB1…BnC1…CnB1B2B3…BnC1C2C3…CnA1…An、B1…Bn、

C1…Cn分別為成組數(shù)據(jù)6/7/20251903.?dāng)?shù)組多路通道數(shù)組多路通道將字節(jié)多路通道和選擇通道的特性結(jié)合起來。一個通道可帶有多個子通道,各子通道以成組交叉模式輪流使用通道。成組交叉模式:利用通道傳送完一組數(shù)據(jù)(數(shù)據(jù)塊)后讓出通道。數(shù)組多路通道適用于以數(shù)組為單位的高速外設(shè)。數(shù)組多路通道選擇一個高速設(shè)備后,先向其發(fā)出一個尋找的命令,然后在這個設(shè)備尋找期間可以為其他設(shè)備服務(wù)。在設(shè)備尋找完成后再與其真正建立數(shù)據(jù)連接,并一

溫馨提示

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

評論

0/150

提交評論