第4章輸入輸出系統(tǒng)_第1頁(yè)
第4章輸入輸出系統(tǒng)_第2頁(yè)
第4章輸入輸出系統(tǒng)_第3頁(yè)
第4章輸入輸出系統(tǒng)_第4頁(yè)
第4章輸入輸出系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)1輸入輸出系統(tǒng)輸入輸出系統(tǒng) 簡(jiǎn)稱(chēng)I/O系統(tǒng),包括I/O設(shè)備以及I/O設(shè)備與處理機(jī)的連接。 I/O設(shè)備是計(jì)算機(jī)系統(tǒng)中的一個(gè)重要組成部分,負(fù)責(zé)完成計(jì)算機(jī)與外界的信息交換,或者給計(jì)算機(jī)提供大容量的外部存儲(chǔ)器。 掌握重點(diǎn):中斷系統(tǒng)功能的軟硬件分配和中斷屏蔽的原理與方法;輸入輸出通道的功能;通道中數(shù)據(jù)傳輸過(guò)程與流量分析。第四章第四章 輸入輸出系統(tǒng)輸入輸出系統(tǒng) 4.1 輸入輸出原理 4.2 中斷系統(tǒng) 4.3 通道處理機(jī) 4.4 輸入輸出處理機(jī) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)3一些概念一些概念qI/O系統(tǒng)的性能對(duì)CPU的性能有很大的影響,若兩者的性能不匹配,I/O系統(tǒng)就有

2、可能成為整個(gè)系統(tǒng)的瓶頸。q采用系統(tǒng)響應(yīng)時(shí)間作為作為計(jì)算機(jī)系統(tǒng)的衡量指標(biāo)。m從用戶輸入命令開(kāi)始,到得到結(jié)果所花費(fèi)的時(shí)間。m由兩部分構(gòu)成:I/O系統(tǒng)的響應(yīng)時(shí)間與CPU的處理時(shí)間 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)4q對(duì)于分時(shí)操作系統(tǒng)可以使計(jì)算機(jī)內(nèi)部同時(shí)存在多個(gè)進(jìn)程。多進(jìn)程技術(shù)只能夠提高系統(tǒng)吞吐率,并不能夠減少系統(tǒng)響應(yīng)時(shí)間。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)5評(píng)價(jià)評(píng)價(jià)I/O性能的參數(shù)性能的參數(shù)q連接特性(哪些I/O設(shè)備可以和計(jì)算機(jī)系統(tǒng)相連接)qI/O系統(tǒng)的容量(I/O系統(tǒng)可以容納的I/O設(shè)備數(shù))q響應(yīng)時(shí)間和吞吐率等 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)6存儲(chǔ)外設(shè)存儲(chǔ)外設(shè)q磁盤(pán)陣列DA(Disk Array

3、):使用多個(gè)磁盤(pán)(包括驅(qū)動(dòng)器)的組合來(lái)代替一個(gè)大容量的磁盤(pán)。m多個(gè)磁盤(pán)并行工作。m以條帶(strip)為單位把數(shù)據(jù)均勻地分布到多個(gè)磁盤(pán)上。(交叉存放)m條帶存放可以使多個(gè)數(shù)據(jù)讀/寫(xiě)請(qǐng)求并行地被處理,從而提高總的I/O性能。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)7磁盤(pán)陣列中的并行磁盤(pán)陣列中的并行q多個(gè)獨(dú)立的請(qǐng)求可以由多個(gè)盤(pán)來(lái)并行地處理。m 減少了I/O請(qǐng)求的排隊(duì)等待時(shí)間 q如果一個(gè)請(qǐng)求訪問(wèn)多個(gè)塊,就可以由多個(gè)盤(pán)合作來(lái)并行處理。m 提高了單個(gè)請(qǐng)求的數(shù)據(jù)傳輸率qRAIDmRedundant Arrays of Inexpensive DisksmRedundant Arrays of Independe

4、nt Disks 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)8q實(shí)現(xiàn)盤(pán)陣列的方式主要有三種:m軟件方式:陣列管理軟件由主機(jī)來(lái)實(shí)現(xiàn)。p優(yōu)點(diǎn):成本低p缺點(diǎn):過(guò)多地占用主機(jī)時(shí)間,且?guī)捴笜?biāo)上不去。m陣列卡方式:把RAID管理軟件固化在I/O控制卡上,從而可不占用主機(jī)時(shí)間,一般用于工作站和PC機(jī)。m子系統(tǒng)方式:一種基于通用接口總線的開(kāi)放式平臺(tái),可用于各種主機(jī)平臺(tái)和網(wǎng)絡(luò)系統(tǒng)。RAID的實(shí)現(xiàn)與發(fā)展4.1 輸入輸出原理輸入輸出原理4.1.1 輸入輸出系統(tǒng)的特點(diǎn)4.1.2 基本輸入輸出方式 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)10系統(tǒng)操作員處理機(jī)本地或遠(yuǎn)程用戶實(shí)時(shí)輸入輸出輸入輸出設(shè)備虛擬現(xiàn)實(shí)系統(tǒng)其它處理機(jī)本身出錯(cuò)處理程序請(qǐng)

5、求處理機(jī)與外部的關(guān)系處理機(jī)與外部的關(guān)系 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)114.1.1 輸入輸出系統(tǒng)的特點(diǎn)輸入輸出系統(tǒng)的特點(diǎn)q異步性q實(shí)時(shí)性q與設(shè)備無(wú)關(guān)性 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)121 異步性異步性q輸入輸出設(shè)備在很大程度上獨(dú)立于處理機(jī)之外,輸入輸出設(shè)備在很大程度上獨(dú)立于處理機(jī)之外,通常不使用統(tǒng)一的中央時(shí)鐘,通常不使用統(tǒng)一的中央時(shí)鐘,各個(gè)設(shè)備按照自己各個(gè)設(shè)備按照自己的時(shí)鐘工作的時(shí)鐘工作,但又要在某些時(shí)刻接受處理機(jī)的控,但又要在某些時(shí)刻接受處理機(jī)的控制。制。q處理機(jī)與外圍設(shè)備之間,外圍設(shè)備與外圍設(shè)備之處理機(jī)與外圍設(shè)備之間,外圍設(shè)備與外圍設(shè)備之間能并行工作間能并行工作 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)

6、算機(jī)科學(xué)與技術(shù)132 實(shí)時(shí)性實(shí)時(shí)性q對(duì)于一般輸入輸出設(shè)備,如果處理機(jī)提供的服務(wù)不及時(shí),可能丟失數(shù)據(jù),或造成外圍設(shè)備工作的錯(cuò)誤。q對(duì)于實(shí)時(shí)控制計(jì)算機(jī)系統(tǒng),如果處理機(jī)提供的服務(wù)不及時(shí),可能造成巨大的損失,甚至造成人身傷害。q對(duì)于處理機(jī)本身的硬件或軟件錯(cuò)誤:如電源故障、數(shù)據(jù)校驗(yàn)錯(cuò)、頁(yè)面失效、非法指令、地址越界等,處理機(jī)必須及時(shí)處理。q對(duì)不同類(lèi)型的設(shè)備,必須具有與設(shè)備相配合的多種工作方式。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)143 與設(shè)備無(wú)關(guān)性與設(shè)備無(wú)關(guān)性q獨(dú)立于具體設(shè)備的標(biāo)準(zhǔn)接口獨(dú)立于具體設(shè)備的標(biāo)準(zhǔn)接口。例如,串行接口、并行接口、SCSI(Small Computer System Interface

7、)接口等q計(jì)算機(jī)系統(tǒng)的使用者,在需要更換外圍設(shè)備時(shí),各種不同型號(hào),不同生產(chǎn)廠家的設(shè)備都可以直接通過(guò)標(biāo)準(zhǔn)接口通過(guò)標(biāo)準(zhǔn)接口與計(jì)算機(jī)系統(tǒng)連接。q處理機(jī)采用統(tǒng)一的硬件和軟件對(duì)品種繁多的設(shè)備采用統(tǒng)一的硬件和軟件對(duì)品種繁多的設(shè)備進(jìn)行管理。進(jìn)行管理。q即插即用技術(shù)即插即用技術(shù)。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)154.1.2 基本輸入輸出方式基本輸入輸出方式q程序控制方式q中斷方式qDMA方式 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)161 程序控制方式程序控制方式q狀態(tài)驅(qū)動(dòng)輸入輸出方式、應(yīng)答輸入輸出方式、查詢輸入輸出方式、條件驅(qū)動(dòng)輸入輸出方式(1)何時(shí)對(duì)何設(shè)備進(jìn)行輸入輸出操作受何時(shí)對(duì)何設(shè)備進(jìn)行輸入輸出操作受CPU

8、控制控制(2)CPU要通過(guò)指令對(duì)設(shè)備進(jìn)行測(cè)試才能知道設(shè)備的要通過(guò)指令對(duì)設(shè)備進(jìn)行測(cè)試才能知道設(shè)備的工作狀態(tài)。工作狀態(tài)。空閑、準(zhǔn)備就緒、忙碌等(3)數(shù)據(jù)的輸入和輸出都要經(jīng)過(guò)CPU(4)用于連接低速外圍設(shè)備,如終端、打印機(jī)等 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)17m一個(gè)處理機(jī)管理多臺(tái)外圍設(shè)備。處理機(jī)采用輪流循環(huán)測(cè)試方法,分時(shí)為各臺(tái)外圍設(shè)備服務(wù)輸入設(shè)備ID輸出設(shè)備OD處理機(jī)CPU主存儲(chǔ)器MM程序控制方式的數(shù)據(jù)傳送過(guò)程 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)18程序控制方式的特點(diǎn):程序控制方式的特點(diǎn):m程序控制輸入輸出方式的優(yōu)點(diǎn):靈活性很好??梢院苋菀椎馗淖兏髋_(tái)外圍設(shè)備的優(yōu)先級(jí)m程序控制輸入輸出方式的缺點(diǎn):實(shí)現(xiàn)

9、處理機(jī)與外圍設(shè)備并行工作困難 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)192 中斷輸入輸出方式中斷輸入輸出方式q定義:定義:當(dāng)出現(xiàn)來(lái)自系統(tǒng)外部,機(jī)器內(nèi)部,甚至處理機(jī)本身的任何例外的,或者雖然是事先安排的,但出現(xiàn)在現(xiàn)行程序的什么地方是事先不知道的事件時(shí),CPU暫停執(zhí)行現(xiàn)行程序,轉(zhuǎn)去處理這些事件,等處理完成后再返回來(lái)繼續(xù)執(zhí)行原先的程序q特點(diǎn):特點(diǎn): (1)CPU與外圍設(shè)備能夠并行工作。 (2)能夠處理異常事件。 (3)數(shù)據(jù)的輸入和輸出都要經(jīng)過(guò)CPU。 (4)用于連接低速外圍設(shè)備。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)3.直接存儲(chǔ)器訪問(wèn)方式直接存儲(chǔ)器訪問(wèn)方式 直接存儲(chǔ)器訪問(wèn)方式(DMA:Direct Memor

10、y Access),主要用來(lái)連接高速外圍設(shè)備。如磁盤(pán)存儲(chǔ)器,磁帶存儲(chǔ)器、光盤(pán)輔助存儲(chǔ)器,行式打印機(jī)等。輸輸入入設(shè)設(shè)備備I ID D主主存存儲(chǔ)儲(chǔ)器器M MM M存存儲(chǔ)儲(chǔ)器器總總線線處處理理機(jī)機(jī)C CP PU U輸輸出出設(shè)設(shè)備備O OD D I IO O 總總線線D DM MA A 方方式式的的數(shù)數(shù)據(jù)據(jù)傳傳送送過(guò)過(guò)程程 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)21CPU內(nèi)存內(nèi)存外設(shè)外設(shè)數(shù)據(jù)通道數(shù)據(jù)通道數(shù)據(jù)通道數(shù)據(jù)通道非非DMA方式方式(包括程序控制方式和中斷方式包括程序控制方式和中斷方式)DMAC內(nèi)存內(nèi)存外設(shè)外設(shè)數(shù)據(jù)通道數(shù)據(jù)通道DMA方式方式 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)22DMAC具有獨(dú)立的具有獨(dú)立

11、的控制三大總線控制三大總線來(lái)訪問(wèn)存儲(chǔ)器來(lái)訪問(wèn)存儲(chǔ)器和和I/O端口的能力,它能像端口的能力,它能像CPU一樣提供數(shù)據(jù)傳一樣提供數(shù)據(jù)傳送所需的地址信息和讀寫(xiě)控制信息送所需的地址信息和讀寫(xiě)控制信息。DMAC和和CPU都掛在系統(tǒng)總線上,當(dāng)進(jìn)入都掛在系統(tǒng)總線上,當(dāng)進(jìn)入DMA方式時(shí),方式時(shí),DMAC成為成為總線主控總線主控。在總線上,可以控制其他部件的部件稱(chēng)為總線主在總線上,可以控制其他部件的部件稱(chēng)為總線主控或控或主控主控(bus master),被控部件稱(chēng)為,被控部件稱(chēng)為從控從控(slave)。任意時(shí)刻,總線上只有一個(gè)主控。任意時(shí)刻,總線上只有一個(gè)主控。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)23DMA操作之

12、前,應(yīng)先對(duì)操作之前,應(yīng)先對(duì)DMAC編程,把要傳送的編程,把要傳送的數(shù)據(jù)塊長(zhǎng)度、數(shù)據(jù)塊在存儲(chǔ)器中的起始地址,數(shù)數(shù)據(jù)塊長(zhǎng)度、數(shù)據(jù)塊在存儲(chǔ)器中的起始地址,數(shù)據(jù)傳送方向等信息發(fā)送給據(jù)傳送方向等信息發(fā)送給DMACDMA操作過(guò)程包括三個(gè)階段:操作過(guò)程包括三個(gè)階段:DMA請(qǐng)求請(qǐng)求DMA響應(yīng)和數(shù)據(jù)傳送響應(yīng)和數(shù)據(jù)傳送傳送結(jié)束傳送結(jié)束 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)24當(dāng)外設(shè)要求以當(dāng)外設(shè)要求以DMA方式為它服務(wù)時(shí),發(fā)方式為它服務(wù)時(shí),發(fā)DMA請(qǐng)求信請(qǐng)求信號(hào)號(hào)DREQ到到DMACDMAC檢查該信號(hào)是否被屏蔽及其優(yōu)先權(quán),如確認(rèn)該檢查該信號(hào)是否被屏蔽及其優(yōu)先權(quán),如確認(rèn)該信號(hào)有效則向信號(hào)有效則向CPU發(fā)送總線請(qǐng)求信號(hào)發(fā)送

13、總線請(qǐng)求信號(hào)HRQ(連到連到CPU的的HOLD)DMA請(qǐng)求階段請(qǐng)求階段CPUDMACHRQ外設(shè)外設(shè)DREQ地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線存儲(chǔ)器存儲(chǔ)器 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)25每個(gè)總線周期結(jié)束時(shí)每個(gè)總線周期結(jié)束時(shí)CPU檢測(cè)檢測(cè)HOLD,如為高電平,如為高電平,則響應(yīng)則響應(yīng)HOLD請(qǐng)求進(jìn)入保持態(tài),使三態(tài)總線請(qǐng)求進(jìn)入保持態(tài),使三態(tài)總線CPU側(cè)側(cè)呈高阻狀態(tài),并以總線保持響應(yīng)信號(hào)呈高阻狀態(tài),并以總線保持響應(yīng)信號(hào)HLDA通知通知DMACDMAC接管總線,并以接管總線,并以DACK信號(hào)信號(hào)通知外設(shè),使之通知外設(shè),使之成為成為DMA傳送時(shí)被選中的設(shè)備,同時(shí)傳送時(shí)被選中的設(shè)備,同時(shí)DMAC給出給出

14、內(nèi)內(nèi)存地址存地址以及以及I/O讀寫(xiě)讀寫(xiě)和和存儲(chǔ)器讀寫(xiě)存儲(chǔ)器讀寫(xiě)控制信號(hào),在控制信號(hào),在外設(shè)外設(shè)和存儲(chǔ)器之間完成數(shù)據(jù)傳送和存儲(chǔ)器之間完成數(shù)據(jù)傳送DMA響應(yīng)和數(shù)據(jù)傳送階段響應(yīng)和數(shù)據(jù)傳送階段 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)26DMA響應(yīng)和數(shù)據(jù)傳送階段響應(yīng)和數(shù)據(jù)傳送階段CPUDMACHLDA外設(shè)外設(shè)DACK存儲(chǔ)器存儲(chǔ)器地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線IOR/IOWMEMR/MEMW 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)27傳送結(jié)束階段傳送結(jié)束階段傳送完成后,傳送完成后,DMAC放棄總線,撤消總線請(qǐng)求放棄總線,撤消總線請(qǐng)求(HRQ為為低低),CPU檢測(cè)到檢測(cè)到HRQ(HOLD)為低后,撤消為低后,撤消HL

15、DA,CPU重新獲得總線控制權(quán)重新獲得總線控制權(quán)CPUDMACHRQ外設(shè)外設(shè)EOP地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線存儲(chǔ)器存儲(chǔ)器DMA請(qǐng)求和響應(yīng)過(guò)程 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)28DMA方式的特點(diǎn)方式的特點(diǎn) (1)外圍設(shè)備的訪問(wèn)請(qǐng)求直接發(fā)往主存儲(chǔ)器,數(shù)據(jù)的傳送外圍設(shè)備的訪問(wèn)請(qǐng)求直接發(fā)往主存儲(chǔ)器,數(shù)據(jù)的傳送過(guò)程不需要過(guò)程不需要CPUCPU的干預(yù)的干預(yù)。(2)全部用硬件實(shí)現(xiàn),不需要做保存現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)等工全部用硬件實(shí)現(xiàn),不需要做保存現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)等工作。作。(3)DMA控制器復(fù)雜,需要設(shè)置數(shù)據(jù)寄存器、設(shè)備狀態(tài)控制寄存器、主存地址寄存器、設(shè)備地址寄存器和數(shù)據(jù)交換個(gè)數(shù)計(jì)數(shù)器及控制邏輯等。(4)在D

16、MA方式開(kāi)始和結(jié)束時(shí),需要處理機(jī)進(jìn)行管理。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) DMA DMA輸入設(shè)備輸入設(shè)備的工作流程如下:的工作流程如下:1.從設(shè)備讀一個(gè)字節(jié)到DMA控制器中的數(shù)據(jù)緩沖寄存器中。2.若一個(gè)字沒(méi)有裝配滿,則返回到上面;若校驗(yàn)出錯(cuò),則發(fā)中斷申請(qǐng);若一個(gè)字已裝配滿,則將數(shù)據(jù)送主存數(shù)據(jù)寄存器。3.把主存地址送主存地址寄存器,并將主存地址增值。4.把DMA控制器內(nèi)的數(shù)據(jù)交換個(gè)數(shù)計(jì)數(shù)器減。5.若交換個(gè)數(shù)為0,則DMA數(shù)據(jù)傳送過(guò)程結(jié)束,否則回到上面。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) DMADMA輸出設(shè)備輸出設(shè)備的工作流程如下:的工作流程如下:1.把主存地址送入主存地址寄存器,并啟動(dòng)主存儲(chǔ)

17、器,同時(shí)將主存地址增值。2.將主存數(shù)據(jù)寄存器中的數(shù)據(jù)送DMA控制器的數(shù)據(jù)寄存器。3.把數(shù)據(jù)寫(xiě)到輸出介質(zhì)上(可能要逐個(gè)字符輸出)。4.把DMA控制器內(nèi)的數(shù)據(jù)交換個(gè)數(shù)計(jì)數(shù)器中的內(nèi)容減。5.若交換個(gè)數(shù)為0,則DMA數(shù)據(jù)傳送過(guò)程結(jié)束,否則回到上面。4.2 中斷系統(tǒng)中斷系統(tǒng)4.2.1 中斷系統(tǒng)的軟硬件功能分配4.2.2 中斷屏蔽 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)32q從中斷源發(fā)出中斷請(qǐng)求到中斷服務(wù)結(jié)束其過(guò)程很復(fù)雜。其中有些功能必須用硬件實(shí)現(xiàn),有的功能必須用軟件實(shí)現(xiàn),而大部分功能既可以用硬件實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn)。q恰當(dāng)分配中斷系統(tǒng)的軟硬件功能,是中斷系統(tǒng)最恰當(dāng)分配中斷系統(tǒng)的軟硬件功能,是中斷系統(tǒng)最關(guān)鍵問(wèn)

18、題關(guān)鍵問(wèn)題q中斷響應(yīng)時(shí)間:中斷響應(yīng)時(shí)間:中斷響應(yīng)時(shí)間是一個(gè)非常重要的指標(biāo)。q靈活性:靈活性:硬件實(shí)現(xiàn)速度快,靈活性差;軟件實(shí)現(xiàn)正好相反 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)33中斷處理過(guò)程軟硬件功能分配中斷處理過(guò)程軟硬件功能分配l現(xiàn)行指令結(jié)束,且沒(méi)有更緊急的服務(wù)請(qǐng)求現(xiàn)行指令結(jié)束,且沒(méi)有更緊急的服務(wù)請(qǐng)求l關(guān)關(guān)CPUCPU中斷,不再響應(yīng)其它中斷源的請(qǐng)求中斷,不再響應(yīng)其它中斷源的請(qǐng)求l保存斷點(diǎn),主要保存保存斷點(diǎn),主要保存PCPC中的內(nèi)容中的內(nèi)容l撤消中斷源的中斷請(qǐng)求撤消中斷源的中斷請(qǐng)求l保存硬件現(xiàn)場(chǎng),主要是保存硬件現(xiàn)場(chǎng),主要是PSWPSW及及SPSP等等l識(shí)別中斷源識(shí)別中斷源l改變?cè)O(shè)備的屏蔽狀態(tài)改變?cè)O(shè)備

19、的屏蔽狀態(tài)l進(jìn)入中斷服務(wù)程序入口進(jìn)入中斷服務(wù)程序入口 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)34l保存軟件現(xiàn)場(chǎng),在中斷服務(wù)程序中使用的通用寄保存軟件現(xiàn)場(chǎng),在中斷服務(wù)程序中使用的通用寄存器等存器等l開(kāi)開(kāi)CPUCPU中斷,可以響應(yīng)更高級(jí)別的中斷請(qǐng)求中斷,可以響應(yīng)更高級(jí)別的中斷請(qǐng)求l中斷服務(wù),執(zhí)行中斷服務(wù)程序中斷服務(wù),執(zhí)行中斷服務(wù)程序l關(guān)關(guān)CPUCPU中斷中斷l(xiāng)恢復(fù)軟件現(xiàn)場(chǎng)恢復(fù)軟件現(xiàn)場(chǎng)l恢復(fù)屏蔽狀態(tài)恢復(fù)屏蔽狀態(tài)l恢復(fù)硬件現(xiàn)場(chǎng)恢復(fù)硬件現(xiàn)場(chǎng)l開(kāi)開(kāi)CPUCPU中斷中斷l(xiāng)返回到中斷點(diǎn)返回到中斷點(diǎn)必須用硬件實(shí)現(xiàn)的有:必須用硬件實(shí)現(xiàn)的有: 保存中斷點(diǎn)和進(jìn)入中斷服務(wù)程序入口。保存中斷點(diǎn)和進(jìn)入中斷服務(wù)程序入口。這兩個(gè)功能

20、相當(dāng)于執(zhí)行一條轉(zhuǎn)子程序指令,因?yàn)橹袛喟l(fā)生在現(xiàn)行程序的什么地方是不確定的,不能由程序員來(lái)安排。必須用軟件實(shí)現(xiàn)的有:必須用軟件實(shí)現(xiàn)的有: 中斷服務(wù)和返回到中斷點(diǎn)。中斷服務(wù)和返回到中斷點(diǎn)。返回到中斷點(diǎn),通過(guò)執(zhí)行一條中斷返回指令來(lái)實(shí)現(xiàn)。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)364.2.2 中斷屏蔽中斷屏蔽設(shè)置中斷屏蔽有三個(gè)用處:(1)在中斷優(yōu)先級(jí)由硬件確定了的情況下,改變中斷在中斷優(yōu)先級(jí)由硬件確定了的情況下,改變中斷源的中斷服務(wù)順序。源的中斷服務(wù)順序。(2)決定設(shè)備是否采用中斷方式工作。(3)在多處理機(jī)系統(tǒng)中,把外圍設(shè)備的服務(wù)工作分配到不同的處理機(jī)中。中斷屏蔽的實(shí)現(xiàn)方法主要有兩種:方法一:每級(jí)中斷源設(shè)置一

21、個(gè)中斷屏蔽位。方法一:每級(jí)中斷源設(shè)置一個(gè)中斷屏蔽位。方法二:改變處理機(jī)優(yōu)先級(jí)方法二:改變處理機(jī)優(yōu)先級(jí) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)37例例4.34.3:有四個(gè)中斷源D1、D2、D3和D4,它們的中斷優(yōu)先級(jí)從高到低分別是1級(jí)、2級(jí)、3級(jí)和4級(jí)。這些中斷源的正常中斷屏蔽碼和改變后的中斷屏蔽碼見(jiàn)下表。每個(gè)中斷源一位,共4位屏蔽碼。中中斷斷源源名名稱(chēng)稱(chēng)中中斷斷優(yōu)優(yōu)先先級(jí)級(jí)正正常常中中斷斷屏屏蔽蔽碼碼D1 D2 D3 D4改改變變后后的的中中斷斷屏屏蔽蔽碼碼D1 D2 D3 D4D D1 1D D2 2D D3 3D D4 41 12 23 34 41 1 1 1 1 1 1 10 0 1 1 1

22、1 1 10 0 0 0 1 1 1 10 0 0 0 0 0 1 11 1 0 0 0 0 0 01 1 1 1 0 0 0 01 1 1 1 1 1 0 01 1 1 1 1 1 1 1 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)38解:解:q如果4個(gè)中斷源都使用正常的中斷屏蔽碼,處理機(jī)的中斷服務(wù)順序?qū)?yán)格按照中斷源的中斷優(yōu)先級(jí)進(jìn)行。q如果改變中斷屏蔽碼,當(dāng)D1、D2、D3和D4這4個(gè)中斷源同時(shí)請(qǐng)求中斷服務(wù)時(shí),處理機(jī)實(shí)際為各個(gè)中斷源服務(wù)的先后次序就會(huì)改變。q處理機(jī)響應(yīng)的順序是D1、D2、D3、D4q實(shí)際服務(wù)的順序是實(shí)際服務(wù)的順序是D4、D3、D2、D1 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)39中中斷斷請(qǐng)

23、請(qǐng)求求 主主程程序序 中中斷斷服服務(wù)務(wù)程程序序 D D1 1 D D2 2 D D3 3 D D4 4D D1 1, ,D D2 2, ,D D3 3, ,D D4 4時(shí)時(shí)間間 t t按照改變后的中斷屏蔽碼,處理機(jī)響應(yīng)中斷源的中斷服務(wù)按照改變后的中斷屏蔽碼,處理機(jī)響應(yīng)中斷源的中斷服務(wù)請(qǐng)求和實(shí)際中斷服務(wù)的順序請(qǐng)求和實(shí)際中斷服務(wù)的順序 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)40改變處理機(jī)的優(yōu)先級(jí)改變處理機(jī)的優(yōu)先級(jí)q中斷優(yōu)先級(jí)不僅在處理機(jī)響應(yīng)中斷源的中斷服務(wù)請(qǐng)求時(shí)使用,而且為每個(gè)中斷源的中斷服務(wù)程序也賦予同樣的中斷優(yōu)先級(jí)。q若系統(tǒng)中有n個(gè)中斷源,則處理機(jī)的狀態(tài)字需要設(shè)置log2(n+1)位來(lái)表示系統(tǒng)中每個(gè)

24、中斷源的優(yōu)先級(jí)。處理機(jī)本身的優(yōu)先級(jí)最低。q為每一個(gè)中斷源分別設(shè)置處理機(jī)狀態(tài)字,通常將其存放在主存的一個(gè)固定區(qū)域中。中斷源的處理機(jī)狀態(tài)字中有一個(gè)中斷優(yōu)先級(jí)字段,該字段一般都可以由程序員通過(guò)軟件來(lái)修改。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)41q處理機(jī)在響應(yīng)某一個(gè)中斷源的中斷服務(wù)請(qǐng)求之后,就把屬于這個(gè)中斷源的處理機(jī)狀態(tài)字作為當(dāng)前處理機(jī)的狀態(tài)字。q正常工作情況下,在各個(gè)中斷源的處理機(jī)狀態(tài)字中設(shè)置的中斷優(yōu)先級(jí)應(yīng)該與這個(gè)中斷源本身的硬件中斷優(yōu)先級(jí)相同。此時(shí)處理機(jī)響應(yīng)中斷源的中斷服務(wù)請(qǐng)求和完成中斷服務(wù)的過(guò)程將嚴(yán)格按照中斷源的硬件中斷優(yōu)先級(jí)進(jìn)行。q若軟件改變了中斷源處理機(jī)狀態(tài)字中的優(yōu)先級(jí)字段,就會(huì)使處理機(jī)的優(yōu)先

25、級(jí)改變,變成了程序員為這個(gè)中斷源設(shè)置的中斷優(yōu)先級(jí)。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)42例例4.4:某處理機(jī)共有4個(gè)中斷源D1、D2、D3和D4,它們的硬件中斷優(yōu)先級(jí)從低到高分別為1級(jí)、2級(jí)、3級(jí)和4級(jí)。處理機(jī)本身的優(yōu)先級(jí)最低,為0級(jí)。在中斷源D1、D2、D3、D4的中斷向量中,程序員為它們?cè)O(shè)置的優(yōu)先級(jí)分別為4級(jí)、3級(jí)、2級(jí)、1級(jí)。解:解:在處理機(jī)狀態(tài)字中設(shè)置3個(gè)中斷屏蔽位。 000為處理機(jī)本身的優(yōu)先級(jí), 001100分別表示4個(gè)中斷源的中斷優(yōu)先級(jí)。 當(dāng)4個(gè)中斷源同時(shí)請(qǐng)求中斷服務(wù)時(shí),改變處理機(jī)的中斷優(yōu)先級(jí)改變處理機(jī)的中斷優(yōu)先級(jí)解:解:處理機(jī)實(shí)際完成中斷服務(wù)的過(guò)程 是是 D3、D2、D4、D1

26、計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)44(1)(1)兩者使用的概念不同。兩者使用的概念不同。 前者使用中斷屏蔽 后者使用中斷優(yōu)先級(jí)(2)(2)需要屏蔽碼的位數(shù)不同。需要屏蔽碼的位數(shù)不同。 前者所需要的屏蔽位數(shù)比較多 n:log2(n+1)(3)(3)可屏蔽的中斷源數(shù)量和種類(lèi)不同??善帘蔚闹袛嘣磾?shù)量和種類(lèi)不同。 前者可以任意屏蔽掉一個(gè)或幾個(gè)中斷源, 后者只能屏蔽掉比某一個(gè)優(yōu)先級(jí)低的中斷源。兩種方法的不同兩種方法的不同4.3 通道處理機(jī)通道處理機(jī)4.3.1 通道的作用和功能4.3.2 通道的工作過(guò)程4.3.3 通道種類(lèi)4.3.4 通道中的數(shù)據(jù)傳送過(guò)程4.3.5 通道流量分析 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)

27、與技術(shù)464.3.1 通道的作用和功能通道的作用和功能q程序控制、中斷和DMA方式管理外圍設(shè)備會(huì)引起兩個(gè)問(wèn)題:m所有外設(shè)的輸入/輸出工作均由CPUCPU承擔(dān),CPU的計(jì)算工作經(jīng)常被打斷而去處理輸入/輸出的事務(wù),不能充分發(fā)揮CPUCPU的計(jì)算能力。 m大型計(jì)算機(jī)系統(tǒng)的外設(shè)雖然很多,但同時(shí)工作的機(jī)會(huì)不是很多。如果為每一臺(tái)設(shè)備都配置一個(gè)接口,必然是一種浪費(fèi)。特別是DMA接口,它的硬件代價(jià)很高。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)解決問(wèn)題的思路:解決問(wèn)題的思路:q設(shè)置專(zhuān)門(mén)的I/O處理機(jī)處理機(jī)來(lái)分擔(dān)全部或大部分的I/O工作。例如,管理所有低速外圍設(shè)備的I/O工作,對(duì)DMA接口的初始化工作,控制DMA的數(shù)據(jù)

28、傳送、數(shù)據(jù)格式的變換、設(shè)備狀態(tài)的檢測(cè)等。這樣,就能進(jìn)一步提高整個(gè)計(jì)算機(jī)系統(tǒng)功能分散化的程度,充分發(fā)揮CPU的計(jì)算潛力。 47 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)482 通道方式通道方式q通道處理機(jī)通道處理機(jī)能夠負(fù)擔(dān)外圍設(shè)備的大部分輸入輸出工作,包括管理外設(shè)、初始化DMA、設(shè)備故障的檢測(cè)和處理。q通道處理機(jī)不是一臺(tái)具有完整指令系統(tǒng)的處理機(jī),但是可以把它看作是一臺(tái)能夠執(zhí)行有限輸入輸出能夠執(zhí)行有限輸入輸出指令指令,并且能夠被多臺(tái)外圍設(shè)備共享能夠被多臺(tái)外圍設(shè)備共享的小型DMA專(zhuān)用處理機(jī)。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)493 輸入輸出系統(tǒng)的四級(jí)層次結(jié)構(gòu)輸入輸出系統(tǒng)的四級(jí)層次結(jié)構(gòu)q一臺(tái)大型機(jī)系統(tǒng)中由CP

29、U、通道、設(shè)備控制器、外設(shè)構(gòu)成4級(jí)層次結(jié)構(gòu)的輸入/輸出系統(tǒng)。CPU 通道 1 通道 2 通道 i 主存 設(shè)備 控制器 磁盤(pán) 內(nèi)部總線 設(shè)備 控制器 磁盤(pán) 磁盤(pán) 設(shè)備 控制器 設(shè)備 控制器 通道總線 設(shè)備 控制器 設(shè)備 控制器 設(shè)備 設(shè)備 設(shè)備 設(shè)備 設(shè)備 設(shè)備 通道總線 通道總線 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)504 通道的主要功能1 接收接收CPUCPU發(fā)來(lái)的發(fā)來(lái)的I/OI/O指令,并根據(jù)指令要求選擇指指令,并根據(jù)指令要求選擇指定的外設(shè)與通道相連接定的外設(shè)與通道相連接。2 執(zhí)行執(zhí)行CPUCPU為通道組織的通道程序。為通道組織的通道程序。從主存中取出通道指令,對(duì)通道指令進(jìn)行譯碼,并根據(jù)需要向

30、被選中的設(shè)備控制器發(fā)出各種操作命令。3 給出外設(shè)中要進(jìn)行讀給出外設(shè)中要進(jìn)行讀/ /寫(xiě)操作的數(shù)據(jù)所在的地址。寫(xiě)操作的數(shù)據(jù)所在的地址。如磁盤(pán)存儲(chǔ)器的柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)等。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)514、給出主存緩沖區(qū)的首地址。給出主存緩沖區(qū)的首地址。該緩沖區(qū)用來(lái)暫存從外設(shè)輸入的數(shù)據(jù),或者將要輸出到外設(shè)中的數(shù)據(jù)。5、控制外設(shè)與主存緩沖區(qū)之間的數(shù)據(jù)傳送的長(zhǎng)度,控制外設(shè)與主存緩沖區(qū)之間的數(shù)據(jù)傳送的長(zhǎng)度,并判斷傳輸是否結(jié)束。并判斷傳輸是否結(jié)束。6、指定傳送工作結(jié)束時(shí)要進(jìn)行的操作。指定傳送工作結(jié)束時(shí)要進(jìn)行的操作。例如將外設(shè)的中斷請(qǐng)求及通道的中斷請(qǐng)求送往CPU。7、檢查外設(shè)的工作狀態(tài)是否正常,并

31、將該狀態(tài)信息檢查外設(shè)的工作狀態(tài)是否正常,并將該狀態(tài)信息送往主存指定單元保存。送往主存指定單元保存。8、在數(shù)據(jù)傳輸過(guò)程中完成必要的格式變換。在數(shù)據(jù)傳輸過(guò)程中完成必要的格式變換。如字拆為字節(jié)或者字節(jié)裝配為字。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)525 通道的硬件構(gòu)成通道的硬件構(gòu)成q寄存器寄存器m數(shù)據(jù)緩沖寄存器m主存地址計(jì)數(shù)器m傳輸字節(jié)數(shù)計(jì)數(shù)器m通道命令字寄存器m通道狀態(tài)字寄存器q控制邏輯控制邏輯m分時(shí)控制m地址分配m數(shù)據(jù)傳送、裝配和拆分等 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)53q通道與設(shè)備控制器之間一般采用標(biāo)準(zhǔn)的輸入/輸出接口來(lái)連接。q通道通過(guò)標(biāo)準(zhǔn)接口把操作命令送到設(shè)備控制器,設(shè)備控制器解釋并執(zhí)行這些

32、通道命令,完成命令指定的操作。q設(shè)備控制器能夠記錄外設(shè)的狀態(tài),并把狀態(tài)信息送往通道和CPUCPU。6 6 通道對(duì)外設(shè)的控制通過(guò)輸入通道對(duì)外設(shè)的控制通過(guò)輸入/ /輸出接口和設(shè)備輸出接口和設(shè)備控制器進(jìn)行控制器進(jìn)行 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)54通道完成一次數(shù)據(jù)輸入輸出的過(guò)程分為三步:1.在用戶程序中使用訪管指令進(jìn)入管理程序,由CPU通過(guò)管理程序組織一個(gè)通道程序,并啟動(dòng)通道。2.通道處理機(jī)執(zhí)行通道程序,完成指定的數(shù)據(jù)輸入輸出工作。通道處理機(jī)執(zhí)行通道程序與CPU執(zhí)行用戶程序是并行的。 3.通道程序結(jié)束后向CPU發(fā)出中斷請(qǐng)求,CPU響應(yīng)后第二次進(jìn)入操作系統(tǒng),調(diào)用管理程序?qū)斎胼敵稣?qǐng)求進(jìn)行處理。是正

33、常結(jié)束,管理程序進(jìn)行必要的登記等工作;如果是故障、錯(cuò)誤等異常情況,則進(jìn)行異常處理。然后返回用戶程序繼續(xù)執(zhí)行。 每完成一次輸入輸出工作,CPU只需要兩次調(diào)用管理程序。4.3.2 通道的工作過(guò)程通道的工作過(guò)程 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)55q通道完成一次數(shù)據(jù)輸入/輸出的工作過(guò)程1.在用戶程序中使用訪管指令進(jìn)入管理程序,由管理程序生成一個(gè)通道程序,并啟動(dòng)通道。p用戶在目標(biāo)程序中設(shè)置一條廣義指令,通過(guò)調(diào)用操作系統(tǒng)的管理程序來(lái)實(shí)現(xiàn)。p管理程序根據(jù)廣義指令提供的參數(shù)來(lái)編制通道程序。 p啟動(dòng)輸入/輸出設(shè)備指令是一條主要的輸入/輸出指令,屬于特權(quán)指令。4.3.2 通道的工作過(guò)程通道的工作過(guò)程 計(jì)算機(jī)科學(xué)

34、與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)562.通道處理機(jī)執(zhí)行通道程序,完成指定的數(shù)據(jù)輸入/輸出工作。 m通道處理機(jī)執(zhí)行通道程序與CPU執(zhí)行用戶程序是并行的。 3.通道程序結(jié)束后向CPU發(fā)中斷請(qǐng)求。qCPU執(zhí)行程序和通道執(zhí)行通道程序的時(shí)間關(guān)系 通道的工作過(guò)程通道的工作過(guò)程通道處理機(jī)訪管訪管 入口入口 OC 設(shè)備號(hào)設(shè)備號(hào) 交換長(zhǎng)度交換長(zhǎng)度 OC OC 主存起始地址主存起始地址 編寫(xiě)通道程序編寫(xiě)通道程序 入口入口 置通道地址字置通道地址字 啟動(dòng)啟動(dòng) I/O 返回返回 斷開(kāi)通道指令斷開(kāi)通道指令 通道程序通道程序 中斷處理程序中斷處理程序 I/O 中斷請(qǐng)求中斷請(qǐng)求 I/O 中斷響應(yīng)中斷響應(yīng) I/O 中斷返回中斷返回 管

35、理程序管理程序 用戶程序用戶程序 通道程序通道程序 廣義廣義 指令指令 參數(shù)參數(shù) 和和 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)58CPU執(zhí)行程序和通道執(zhí)行通道程序的時(shí)間關(guān)系執(zhí)行程序和通道執(zhí)行通道程序的時(shí)間關(guān)系 CPUCPU 運(yùn)行用戶程序運(yùn)行用戶程序 時(shí)間時(shí)間 請(qǐng)求請(qǐng)求 I/OI/O 訪管指令訪管指令 響應(yīng)響應(yīng) I/OI/O 中斷請(qǐng)求中斷請(qǐng)求 CPUCPU 運(yùn)行運(yùn)行 I/OI/O 管理程序管理程序 通道運(yùn)行存放在主存中的通道程序通道運(yùn)行存放在主存中的通道程序 編制通道程序編制通道程序 啟動(dòng)啟動(dòng) I/OI/O 操作操作 組織組織 I/OI/O 操作操作 向向 CPUCPU 發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求 登記或處

36、理登記或處理 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)59 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)605 通道的硬件構(gòu)成通道的硬件構(gòu)成q寄存器寄存器m數(shù)據(jù)緩沖寄存器m主存地址計(jì)數(shù)器m傳輸字節(jié)數(shù)計(jì)數(shù)器m通道命令字寄存器m通道狀態(tài)字寄存器q控制邏輯控制邏輯m分時(shí)控制m地址分配m數(shù)據(jù)傳送、裝配和拆分等 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)61q通道與設(shè)備控制器之間一般采用標(biāo)準(zhǔn)的輸入/輸出接口來(lái)連接。q通道通過(guò)標(biāo)準(zhǔn)接口把操作命令送到設(shè)備控制器,設(shè)備控制器解釋并執(zhí)行這些通道命令,完成命令指定的操作。q設(shè)備控制器能夠記錄外設(shè)的狀態(tài),并把狀態(tài)信息送往通道和CPUCPU。6 6 通道對(duì)外設(shè)的控制通過(guò)輸入通道對(duì)外設(shè)的控制通過(guò)輸入

37、/ /輸出接口和設(shè)備輸出接口和設(shè)備控制器進(jìn)行控制器進(jìn)行 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)624.3.3 通道的種類(lèi)通道的種類(lèi) 根據(jù)多臺(tái)外圍設(shè)備共享通道的不同情況,將通道分為:q字節(jié)多路通道q選擇通道q數(shù)組多路通道 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)63通道與通道與CPU、設(shè)備控制器和外設(shè)的連接關(guān)系、設(shè)備控制器和外設(shè)的連接關(guān)系CPU 選擇 通道 字節(jié)多 路通道 數(shù)組多 路通道 主存 磁盤(pán) 控制器 磁盤(pán) 內(nèi)部總線 磁盤(pán) 控制器 磁盤(pán) 磁盤(pán) 設(shè)備 控制器 設(shè)備 控制器 通道總線 設(shè)備 控制器 設(shè)備 控制器 設(shè)備 設(shè)備 設(shè)備 設(shè)備 設(shè)備 設(shè)備 通道總線 通道總線 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)641

38、字節(jié)多路通道字節(jié)多路通道q為多臺(tái)低速低速或中速中速的外設(shè)服務(wù)q字節(jié)多路通道采用分時(shí)方式工作,依靠它與CPU之間的高速數(shù)據(jù)通路分時(shí)為多臺(tái)設(shè)備服務(wù)。q字節(jié)多路通道可以包含多個(gè)子通道,每個(gè)子通道連接一臺(tái)設(shè)備控制器。字節(jié)緩沖字節(jié)緩沖狀態(tài)狀態(tài)/控制控制固定地址固定地址子通道子通道1子通道子通道2子通道子通道3數(shù)據(jù)緩沖數(shù)據(jù)緩沖通道控制通道控制字節(jié)多路通道字節(jié)多路通道至主存儲(chǔ)器至主存儲(chǔ)器字節(jié)多路通道的結(jié)構(gòu)字節(jié)多路通道的結(jié)構(gòu) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)662 選擇通道選擇通道q為多臺(tái)高速外圍設(shè)備服務(wù)。 q在一段時(shí)間內(nèi)只為一臺(tái)高速外設(shè)獨(dú)占使用。q選擇通道的只有一套完整的硬件,逐個(gè)為物理上連接的幾臺(tái)高速外設(shè)

39、服務(wù)。 通道控制部分通道控制部分狀態(tài)狀態(tài)/控制控制主存地址主存地址至主存儲(chǔ)器至主存儲(chǔ)器選擇通道的結(jié)構(gòu)選擇通道的結(jié)構(gòu)字節(jié)計(jì)數(shù)字節(jié)計(jì)數(shù)設(shè)備地址設(shè)備地址數(shù)據(jù)緩沖數(shù)據(jù)緩沖數(shù)據(jù)格數(shù)據(jù)格式變換式變換字字字節(jié)字節(jié)至設(shè)備控制器至設(shè)備控制器 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)683 數(shù)組多路通道數(shù)組多路通道m(xù)適用于高速設(shè)備。m每次選擇一個(gè)高速設(shè)備后傳送一個(gè)數(shù)據(jù)塊,輪流為多臺(tái)外圍設(shè)備服務(wù)。m為了充分利用通道,盡量使各臺(tái)高速設(shè)備重疊操作。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)69m以從磁盤(pán)存儲(chǔ)器讀出一個(gè)文件的過(guò)程為例:(1)定位:把讀寫(xiě)磁頭移動(dòng)到記錄該文件的磁道上,這要依靠機(jī)械動(dòng)作來(lái)完成。完成該操作所需的時(shí)間稱(chēng)為定位時(shí)間

40、或?qū)さ罆r(shí)間,一般需要幾十毫秒。(2) 找扇區(qū):等待讀寫(xiě)磁頭轉(zhuǎn)動(dòng)到記錄該文件的起始扇區(qū)位置。完成該操作所需的時(shí)間稱(chēng)為等待時(shí)間。等待時(shí)間的長(zhǎng)短主要與兩個(gè)因素有關(guān),一是磁盤(pán)的轉(zhuǎn)速,二是磁頭定位到所需要的磁道時(shí),磁頭所處位置與記錄該文件的起始扇區(qū)位置的相對(duì)距離。因此,等待時(shí)間的長(zhǎng)短是隨機(jī)的,最長(zhǎng)為磁盤(pán)轉(zhuǎn)一周所需的時(shí)間,最短為零。取平均值,通常稱(chēng)為平均等待時(shí)間。因此,磁盤(pán)存儲(chǔ)器的平均等待時(shí)間一般小于10ms。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)70m以從磁盤(pán)存儲(chǔ)器讀出一個(gè)文件的過(guò)程為例:(3) 讀出數(shù)據(jù)。目前,高速磁盤(pán)存儲(chǔ)器的數(shù)據(jù)傳輸率已經(jīng)達(dá)到33MB/s以上,因此,讀出一個(gè)扇區(qū)(512個(gè)字節(jié))只需要十幾

41、微秒時(shí)間。m 通常把前兩部分時(shí)間加起來(lái)稱(chēng)為磁盤(pán)存儲(chǔ)器的尋盤(pán)存儲(chǔ)器的尋址時(shí)間址時(shí)間,第三部分時(shí)間稱(chēng)為數(shù)據(jù)傳輸時(shí)間數(shù)據(jù)傳輸時(shí)間。從上面的分析可以看出,磁盤(pán)存儲(chǔ)器的尋址時(shí)間一般要比數(shù)據(jù)傳輸時(shí)間長(zhǎng)兩個(gè)數(shù)量級(jí)以上。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)71m因此,像選擇通道那樣,一個(gè)高速通道始終只為一臺(tái)高速外圍設(shè)備服務(wù)存在很大的浪費(fèi),并沒(méi)有能夠充分發(fā)揮高速通道的數(shù)據(jù)傳輸潛力,數(shù)組多路通道正是為了解決這一問(wèn)題而提出來(lái)的。m數(shù)組多路通道在向一臺(tái)高速設(shè)備發(fā)出定位命令后就立即從邏輯上與該設(shè)備斷開(kāi),直到定位完成時(shí)再進(jìn)行連接,發(fā)出找扇區(qū)命令后再一次斷開(kāi),直到開(kāi)始數(shù)據(jù)傳送。m因此,數(shù)組多路通道的實(shí)際工作方式是:通道在為一

42、臺(tái)高速設(shè)備傳送數(shù)據(jù)時(shí),有多臺(tái)高速設(shè)備可以在定位或者在找扇區(qū)。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)724.3.4 通道中的數(shù)據(jù)傳輸過(guò)程與通道流量分析通道中的數(shù)據(jù)傳輸過(guò)程與通道流量分析通道流量m一個(gè)通道在數(shù)據(jù)傳送期間,單位時(shí)間內(nèi)能夠傳送的數(shù)據(jù)量。所用單位一般為B/s。 m又稱(chēng)為通道吞吐率、通道數(shù)據(jù)傳輸率等。m通道最大流量 一個(gè)通道在滿負(fù)荷工作狀態(tài)下的流量 。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)731 字節(jié)多路通道字節(jié)多路通道m(xù)通道每連接一臺(tái)個(gè)外設(shè),只傳送一個(gè)字節(jié),然后又與另一臺(tái)設(shè)備連接,并傳送一個(gè)字節(jié)。mP:在一個(gè)通道上連接的設(shè)備臺(tái)數(shù),且這些設(shè)備在同時(shí)工作mn:每一個(gè)設(shè)備傳輸?shù)淖止?jié)個(gè)數(shù)。假設(shè)每臺(tái)設(shè)備傳

43、送的字節(jié)個(gè)數(shù)相同mDij:連接在通道上的第i臺(tái)設(shè)備傳送的第j個(gè)數(shù)據(jù) TS TD TS TD TS TD D11 D21 Dp1 TBYTE 傳輸各設(shè)備的第傳輸各設(shè)備的第 1 個(gè)字節(jié)個(gè)字節(jié) TS TD TS TD TS TD D12 D22 Dp2 傳輸各設(shè)備的第傳輸各設(shè)備的第 2個(gè)字節(jié)個(gè)字節(jié) TS TD TS TD TS TD D1n D2n Dpn 傳輸各設(shè)備的第傳輸各設(shè)備的第 n 個(gè)字節(jié)個(gè)字節(jié) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)741 字節(jié)多路通道字節(jié)多路通道m(xù)通道每連接一臺(tái)個(gè)外設(shè),只傳送一個(gè)字節(jié),然后又與另一臺(tái)設(shè)備連接,并傳送一個(gè)字節(jié)。mp p臺(tái)設(shè)備每臺(tái)傳送n n個(gè)數(shù)據(jù)總共所需的時(shí)間為T(mén):

44、np)T(TTDSBYTE TS TD TS TD TS TD D11 D21 Dp1 TBYTE 傳輸各設(shè)備的第傳輸各設(shè)備的第 1 個(gè)字節(jié)個(gè)字節(jié) TS TD TS TD TS TD D12 D22 Dp2 傳輸各設(shè)備的第傳輸各設(shè)備的第 2個(gè)字節(jié)個(gè)字節(jié) TS TD TS TD TS TD D1n D2n Dpn 傳輸各設(shè)備的第傳輸各設(shè)備的第 n 個(gè)字節(jié)個(gè)字節(jié) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)75m最大流量m實(shí)際流量是連接在這個(gè)通道上的所有設(shè)備的數(shù)據(jù)傳輸率之和。pfi:第i臺(tái)設(shè)備的實(shí)際數(shù)據(jù)傳輸率 DSDSBYTE-MAXTT1)pnT(Tpnfp1iiBYTEff 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技

45、術(shù)762 選擇通道選擇通道 q在一段時(shí)間內(nèi)只能單獨(dú)為一臺(tái)高速外設(shè)服務(wù),當(dāng)這臺(tái)設(shè)備的數(shù)據(jù)傳送工作全部完成后,通道才能為另一臺(tái)設(shè)備服務(wù)。 其中:D Di i表示通道正在為第i臺(tái)設(shè)備服務(wù) T TDiDi表示通道傳送第i個(gè)數(shù)據(jù)所用的時(shí)間 TS TD1 TD2TDn D1 T TS TD1 TD2TDn D2 TS TD1 TD2TDn Dp np)TnT(TDSSELECTP臺(tái)設(shè)備傳送臺(tái)設(shè)備傳送n個(gè)數(shù)據(jù)需要的時(shí)間:個(gè)數(shù)據(jù)需要的時(shí)間: 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)77mp臺(tái)設(shè)備每臺(tái)傳送n個(gè)數(shù)據(jù)總共所需的時(shí)間 m最大流量m實(shí)際流量 np)TnT(TDSSELECTDSDSSELECT-MAXTnT1)

46、pnTnT(pnfipifMaxfSELETE1 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)783 數(shù)組多路通道數(shù)組多路通道 TS TD1 TD2TDk D1 T TS TD1 TD2TDk D2 TS TDk+1 TD2k D1 TS TDn-k TDn Dp np)TkT(TDSBLOCKk:一個(gè)數(shù)據(jù)塊中的字節(jié)個(gè)數(shù),:一個(gè)數(shù)據(jù)塊中的字節(jié)個(gè)數(shù),kn數(shù)組多路通道每連接一臺(tái)高速設(shè)備,傳送一個(gè)數(shù)據(jù)塊。所以數(shù)組多路通道每連接一臺(tái)高速設(shè)備,傳送一個(gè)數(shù)據(jù)塊。所以在一次設(shè)備尋址時(shí)間在一次設(shè)備尋址時(shí)間Ts之后,又連續(xù)之后,又連續(xù)k個(gè)數(shù)據(jù)傳送時(shí)間個(gè)數(shù)據(jù)傳送時(shí)間TDP臺(tái)外圍設(shè)備,每臺(tái)外設(shè)都傳送臺(tái)外圍設(shè)備,每臺(tái)外設(shè)都傳送n

47、個(gè)字節(jié),需要的總時(shí)間個(gè)字節(jié),需要的總時(shí)間T: 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)79m最大流量m實(shí)際流量DSDSBLOCK-MAXTkT1)pnTkT(pnffiMaxfpiBLOCK1 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)80m各種通道的實(shí)際流量應(yīng)該不大于不大于通道的最大流量p兩邊的差值越小,通道的利用率就越高。p當(dāng)兩邊相等時(shí),通道處于滿負(fù)荷工作狀態(tài)。 BYTEMAXBYTEffBLOCKMAXBLOCKffSELECTMAXSELECTff 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)81例例4.5:一個(gè)字節(jié)多路通道字節(jié)多路通道連接D1、D2、D3、D4、D5共5臺(tái)設(shè)備,這些設(shè)備分別每10us、30us、3

48、0us、50us和75us發(fā)出一次數(shù)據(jù)傳送請(qǐng)求。(1)計(jì)算這個(gè)通道的實(shí)際流量和工作周期。(2)如果這個(gè)字節(jié)多路通道的最大流量正好等于通道最大流量正好等于通道實(shí)際流量實(shí)際流量,并假設(shè)數(shù)據(jù)傳輸率高的設(shè)備,其優(yōu)先級(jí)也高。5臺(tái)設(shè)備在0時(shí)刻同時(shí)向通道發(fā)出第一次傳送數(shù)據(jù)的請(qǐng)求,并在以后的時(shí)間里按照各自的數(shù)據(jù)傳輸率連續(xù)工作。畫(huà)出通道分時(shí)為各臺(tái)設(shè)備服務(wù)的時(shí)間圖,并計(jì)算處理完各設(shè)備的第一次請(qǐng)求的時(shí)刻。 (3)從時(shí)間圖中發(fā)現(xiàn)什么問(wèn)題?如何解決? 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)82解:(1) 通道的實(shí)際流量為: fBYTE(1/10+1/30+1/30+1/50+1/75)MB/S 0.2MB/S 通道的工作周期

49、為: t1/fBYTE 5us 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)83通道處理完各設(shè)備這個(gè)第一次請(qǐng)求的時(shí)間如下:D1: 5us;D2: 10us;D3: 20us;D4: 30us設(shè)備D5的第一次請(qǐng)求沒(méi)有得到響應(yīng),數(shù)據(jù)丟失。設(shè)備D5第一次請(qǐng)求未得到響應(yīng)的原因分析:D1D2D3D4D5ttttt0 10 20 30 40 50 60 70 80 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)84 方法一:增加通道的最大工作流量。方法一:增加通道的最大工作流量。例如,把通道的工作流量增加到0.25MB/S(工作周期為4us)。方法二:動(dòng)態(tài)改變?cè)O(shè)備的優(yōu)先級(jí)。方法二:動(dòng)態(tài)改變?cè)O(shè)備的優(yōu)先級(jí)。例如,在30us至70us之

50、間臨時(shí)提高設(shè)備D5的優(yōu)先級(jí)。方法三:增加緩沖存儲(chǔ)器。方法三:增加緩沖存儲(chǔ)器。例如,只要為設(shè)備D5增加一個(gè)數(shù)據(jù)緩沖寄存器,它的第一次請(qǐng)求可以在第85us處得到響應(yīng),第二次請(qǐng)求可以在第145us處得到響應(yīng)。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)854.4 輸入輸出處理機(jī)輸入輸出處理機(jī)通道處理機(jī)仍依賴CPU來(lái)完成部分工作1. 每調(diào)用一次輸入輸出操作的前處理和后處理仍要CPU來(lái)完成,需要兩次中斷方式中斷CPU的現(xiàn)行程序,調(diào)用操作系統(tǒng)的管理程序?yàn)檩斎胼敵霾僮鞣?wù)。2. 當(dāng)外圍設(shè)備或者通道處理機(jī)出現(xiàn)異常情況時(shí),通道處理機(jī)本身不能處理,需要中斷方式請(qǐng)求CPU來(lái)處理。3. 對(duì)所傳送數(shù)據(jù)的格式轉(zhuǎn)換、碼制轉(zhuǎn)換、數(shù)據(jù)塊

51、整體的正確性檢驗(yàn)工作仍需要CPU完成。4. 文件的管理設(shè)備的管理等操作系統(tǒng)工作,通道處理機(jī)無(wú)法完成,需要CPU來(lái)實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)86q輸入輸出處理機(jī)通常是一個(gè)獨(dú)立的處理機(jī),具有一定的運(yùn)算功能,可以承擔(dān)一般的外圍處理機(jī)的輸入輸出、控制操作和運(yùn)算處理任務(wù)。另外,輸入輸出處理機(jī)可以具有自己的存儲(chǔ)器,不必通過(guò)主存儲(chǔ)器就能完成與外圍設(shè)備的數(shù)據(jù)交換。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)87典型的輸入輸出處理機(jī)典型的輸入輸出處理機(jī) CPU CPU CPU 主主存存 主主存存 內(nèi)內(nèi)部部總總線線 I/O處處理理機(jī)機(jī) I/O處處理理機(jī)機(jī) 設(shè)設(shè) 備備 控控制制器器 設(shè)設(shè) 備備 控控制制器器 設(shè)設(shè)

52、 備備 控控制制器器 設(shè)設(shè) 備備 控控制制器器 設(shè)設(shè) 備備 控控制制器器 設(shè)設(shè)備備 設(shè)設(shè)備備 設(shè)設(shè)備備 設(shè)設(shè)備備 設(shè)設(shè)備備 設(shè)設(shè)備備 設(shè)設(shè)備備 設(shè)設(shè)備備 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)88q除了通道所具備的所有功能,輸入輸出處理機(jī)還具備: (1) 碼制轉(zhuǎn)換。(2)進(jìn)行數(shù)據(jù)傳輸過(guò)程中的數(shù)據(jù)校驗(yàn)和校正。(3)利用自己的算術(shù)邏輯指令來(lái)完成故障處理。(4)代替CPU完成大部分文件管理工作。(5)定時(shí)運(yùn)行診斷程序,可以診斷外圍設(shè)備和輸入輸出處理機(jī)是否正常并顯示系統(tǒng)狀態(tài)。(6) 處理人機(jī)對(duì)話。(7)網(wǎng)絡(luò)或遠(yuǎn)程終端直接連在I/O處理機(jī)上,由輸入輸出處理機(jī)完成遠(yuǎn)程用戶服務(wù)工作。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與

53、技術(shù)89q輸入輸出處理機(jī)可以與中央處理機(jī)共享主存儲(chǔ)器,可以有自己的存儲(chǔ)器。每臺(tái)輸入輸出處理機(jī)可以有自己獨(dú)立的運(yùn)算部件和指令控制部件,也可以由多個(gè)處理機(jī)共享一個(gè)運(yùn)算部件和指令控制部件。 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)90q根據(jù)是否共享主存m共享主存儲(chǔ)器的輸入輸出處理機(jī)。m不共享主存儲(chǔ)器的輸入輸出處理機(jī)。q根據(jù)運(yùn)算部件和指令控制部件是否共享分為:m合用同一個(gè)運(yùn)算部件和指令控制部件。造價(jià)低,控制復(fù)雜。m獨(dú)立運(yùn)算部件和指令控制部件。qP182 CYBER1700大型機(jī)的輸入輸出處理機(jī) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)91q操作系統(tǒng)的作用之一是在多進(jìn)程之間進(jìn)行進(jìn)程保護(hù),這種保護(hù)包括存儲(chǔ)器訪問(wèn)和I/O操作兩個(gè)方面。 qI/O操作主要是在外設(shè)和存儲(chǔ)器之間進(jìn)行,所以操作系統(tǒng)必須保證這些I/O操作的安全性。 I/O與操作系統(tǒng) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù)92I/OI/O與操作系統(tǒng)與操作系統(tǒng)DMA是使用虛擬地址還是物理地址?q使用物理地址進(jìn)行DMA傳輸,存在以下兩個(gè)問(wèn)題:m對(duì)于超過(guò)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論