• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

            一、輪詢方式
            對(duì)I/O設(shè)備的程序輪詢的方式,是早期的計(jì)算機(jī)系統(tǒng)對(duì)I/O設(shè)備的一種管理方式。它定時(shí)對(duì)各種設(shè)備輪流詢問一遍有無處理要求。輪流詢問之后,有要求的,則加以處理。在處理I/O設(shè)備的要求之后,處理機(jī)返回繼續(xù)工作。
            盡管輪詢需要時(shí)間,但輪詢不比I/O設(shè)備的速度要快得多,所以一般不會(huì)發(fā)生不能及時(shí)處理的問題。
            當(dāng)然,再快的處理機(jī),能處理的輸入輸出設(shè)備的數(shù)量也是有一定限度的。而且,程序輪詢畢竟占據(jù)了CPU相當(dāng)一部分處理時(shí)間,因此程序輪詢是一種效率較低的方式,在現(xiàn)代計(jì)算機(jī)系統(tǒng)中已很少應(yīng)用。

            二、中斷方式
            處理器的高速和輸入輸出設(shè)備的低速是一對(duì)矛盾,是設(shè)備管理要解決的一個(gè)重要問題。為了提高整體效率,減少在程序直接控制方式中CPU之間的數(shù)據(jù)傳送,是很必要的。
            在I/O設(shè)備中斷方式下,中央處理器與I/O設(shè)備之間數(shù)據(jù)的傳輸步驟如下:
            ⑴在某個(gè)進(jìn)程需要數(shù)據(jù)時(shí),發(fā)出指令啟動(dòng)輸入輸出設(shè)備準(zhǔn)備數(shù)據(jù)
            ⑵在進(jìn)程發(fā)出指令啟動(dòng)設(shè)備之后,該進(jìn)程放棄處理器,等待相關(guān)I/O操作完成。此時(shí),進(jìn)程調(diào)度程序會(huì)調(diào)度其他就緒進(jìn)程使用處理器。
            ⑶當(dāng)I/O操作完成時(shí),輸入輸出設(shè)備控制器通過中斷請(qǐng)求線向處理器發(fā)出中斷信號(hào),處理器收到中斷信號(hào)之后,轉(zhuǎn)向預(yù)先設(shè)計(jì)好的中斷處理程序,對(duì)數(shù)據(jù)傳送工作進(jìn)行相應(yīng)的處理。
            ⑷得到了數(shù)據(jù)的進(jìn)程,轉(zhuǎn)入就緒狀態(tài)。在隨后的某個(gè)時(shí)刻,進(jìn)程調(diào)度程序會(huì)選中該進(jìn)程繼續(xù)工作。
            中斷方式的優(yōu)缺點(diǎn)
            I/O設(shè)備中斷方式使處理器的利用率提高,且能支持多道程序和I/O設(shè)備的并行操作。
            不過,中斷方式仍然存在一些問題。首先,現(xiàn)代計(jì)算機(jī)系統(tǒng)通常配置有各種各樣的輸入輸出設(shè)備。如果這些I/O設(shè)備都同過中斷處理方式進(jìn)行并行操作,那么中斷次數(shù)的急劇增加會(huì)造成CPU無法響應(yīng)中斷和出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。
            其次,如果I/O控制器的數(shù)據(jù)緩沖區(qū)比較小,在緩沖區(qū)裝滿數(shù)據(jù)之后將會(huì)發(fā)生中斷。那么,在數(shù)據(jù)傳送過程中,發(fā)生中斷的機(jī)會(huì)較多,這將耗去大量的CPU處理時(shí)間。

            三、直接內(nèi)存存取(DMA)方式
            直接內(nèi)存存取技術(shù)是指,數(shù)據(jù)在內(nèi)存與I/O設(shè)備間直接進(jìn)行成塊傳輸。
            DMA技術(shù)特征
            DMA有兩個(gè)技術(shù)特征,首先是直接傳送,其次是塊傳送。
            所謂直接傳送,即在內(nèi)存與IO設(shè)備間傳送一個(gè)數(shù)據(jù)塊的過程中,不需要CPU的任何中間干涉,只需要CPU在過程開始時(shí)向設(shè)備發(fā)出“傳送塊數(shù)據(jù)”的命令,然后通過中斷來得知過程是否結(jié)束和下次操作是否準(zhǔn)備就緒。
            DMA工作過程
            ⑴當(dāng)進(jìn)程要求設(shè)備輸入數(shù)據(jù)時(shí),CPU把準(zhǔn)備存放輸入數(shù)據(jù)的內(nèi)存起始地址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的內(nèi)存地址寄存器和傳送字節(jié)計(jì)數(shù)器。
            ⑵發(fā)出數(shù)據(jù)傳輸要求的進(jìn)行進(jìn)入等待狀態(tài)。此時(shí)正在執(zhí)行的CPU指令被暫時(shí)掛起。進(jìn)程調(diào)度程序調(diào)度其他進(jìn)程占據(jù)CPU。
            ⑶輸入設(shè)備不斷地竊取CPU工作周期,將數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)源源不斷地寫入內(nèi)存,直到所要求的字節(jié)全部傳送完畢。
            ⑷DMA控制器在傳送完所有字節(jié)時(shí),通過中斷請(qǐng)求線發(fā)出中斷信號(hào)。CPU在接收到中斷信號(hào)后,轉(zhuǎn)入中斷處理程序進(jìn)行后續(xù)處理。
            ⑸中斷處理結(jié)束后,CPU返回到被中斷的進(jìn)程中,或切換到新的進(jìn)程上下文環(huán)境中,繼續(xù)執(zhí)行。
              DMA與中斷的區(qū)別
            ⑴中斷方式是在數(shù)據(jù)緩沖寄存器滿之后發(fā)出中斷,要求CPU進(jìn)行中斷處理,而DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求CPU 進(jìn)行中斷處理。這就大大減少了CPU進(jìn)行中斷處理的次數(shù)。
            ⑵中斷方式的數(shù)據(jù)傳送是在中斷處理時(shí)由CPU控制完成的,而DMA方式則是在DMA控制器的控制下,不經(jīng)過CPU控制完成的。這就排除了CPU因并行設(shè)備過多而來不及處理以及因速度不匹配而造成數(shù)據(jù)丟失等現(xiàn)象。
              DMA方式的優(yōu)缺點(diǎn)
            在DMA方式中,由于I/O設(shè)備直接同內(nèi)存發(fā)生成塊的數(shù)據(jù)交換,因此I/O效率比較高。由于DMA技術(shù)可以提高I/O效率,因此在現(xiàn)代計(jì)算機(jī)系統(tǒng)中, 得到了廣泛的應(yīng)用。許多輸入輸出設(shè)備的控制器,特別是塊設(shè)備的控制器,都支持DMA方式。
            通過上述分析可以看出,DMA控制器功能的強(qiáng)弱,是決定DMA效率的關(guān)鍵因素。DMA控制器需要為每次數(shù)據(jù)傳送做大量的工作,數(shù)據(jù)傳送單位的增大意味著傳送次數(shù)的減少。另外,DMA方式竊取了始終周期,CPU處理效率降低了,要想盡量少地竊取始終周期,就要設(shè)法提高DMA控制器的性能,這樣可以較少地影響CPU出理效率。

            四、通道方式
            輸入/輸出通道是一個(gè)獨(dú)立于CPU的,專門管理I/O的處理機(jī),它控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。它有自己的通道指令,這些通道指令由CPU啟動(dòng),并在操作結(jié)束時(shí)向CPU發(fā)出中斷信號(hào),見圖6-3。
            輸入/輸出通道控制是一種以內(nèi)存為中心,實(shí)現(xiàn)設(shè)備和內(nèi)參內(nèi)直接交換數(shù)據(jù)的控制方式。在通道方式中,數(shù)據(jù)的傳送方向、存放數(shù)據(jù)的內(nèi)存起始地址以及傳送的數(shù)據(jù)塊長度等都由通道來進(jìn)行控制。
            另外,通道控制方式可以做到一個(gè)通道控制多臺(tái)設(shè)備與內(nèi)存進(jìn)行數(shù)據(jù)交換。因而,通道方式進(jìn)一步減輕了CPU的工作負(fù)擔(dān),增加了計(jì)算機(jī)系統(tǒng)的并行工作程度。
              輸入/輸出通道分類
            按照信息交換方式和所連接的設(shè)備種類不同,通道可以分為以下三種類型:
            ⑴字節(jié)多路通道
            它適用于連接打印機(jī)、終端等低速或中速的I/O設(shè)備。這種通道以字節(jié)為單位交叉工作:當(dāng)為一臺(tái)設(shè)備傳送一個(gè)字節(jié)后,立即轉(zhuǎn)去為另一它設(shè)備傳送一個(gè)字節(jié)。
            ⑵選擇通道
            它適用于連接磁盤、磁帶等高速設(shè)備。這種通道以“組方式”工作,每次傳送一批數(shù)據(jù),傳送速率很高,但在一段時(shí)間只能為一臺(tái)設(shè)備服務(wù)。每當(dāng)一個(gè)I/O請(qǐng)求處理完之后,就選擇另一臺(tái)設(shè)備并為其服務(wù)。
            ⑶成組多路通道
            這種通道綜合了字節(jié)多路通道分時(shí)工作和選擇通道傳輸速率高的特點(diǎn),其實(shí)質(zhì)是:對(duì)通道程序采用多道程序設(shè)計(jì)技術(shù),使得與通道連接的設(shè)備可以并行工作。
              通道工作原理
            在通道控制方式中,I/O設(shè)備控制器(常簡稱為I/O控制器)中沒有傳送字節(jié)計(jì)數(shù)器和內(nèi)存地址寄存器,但多了通道設(shè)備控制器和指令執(zhí)行部件。CPU只需發(fā)出啟動(dòng)指令,指出通道相應(yīng)的操作和I/O設(shè)備,該指令就可啟動(dòng)通道并使該通道從內(nèi)存中調(diào)出相應(yīng)的通道指令執(zhí)行。
            一旦CPU發(fā)出啟動(dòng)通道的指令,通道就開始工作。I/O通道控制I/O控制器工作,I/O控制器又控制I/O設(shè)備。這樣,一個(gè)通道可以連接多個(gè)I/O控制器,而一個(gè)I/O控制器又可以連接若干臺(tái)同類型的外部設(shè)備。
              通道的連接
            由于通道和控制器的數(shù)量一般比設(shè)備數(shù)量要少,因此,如果連接不當(dāng),往往會(huì)導(dǎo)致出現(xiàn)“瓶頸”。故一般設(shè)備的連接采用交叉連接,這樣做的好處是:
            ①  提高系統(tǒng)的可靠性:當(dāng)某條通路因控制器或通道故障而斷開時(shí),可使用其他通路。
            ②   提高設(shè)備的并行性:對(duì)于同一個(gè)設(shè)備,當(dāng)與它相連的某一條通路中的控制器或通道被占用時(shí),可以選擇另一條空閑通路,減少了設(shè)備因等待通路所需要花費(fèi)的時(shí)間。
              通道處理機(jī)
            通道相當(dāng)于一個(gè)功能單純的處理機(jī),它具有自己的指令系統(tǒng),包括讀、寫、控制、轉(zhuǎn)移、結(jié)束以及空操作等指令,并可以執(zhí)行由這些指令編寫的通道程序。
            通道的運(yùn)算控制部件包括:
            ① 通道地址字(CAW):記錄下一條通道指令存放的地址,其功能類似于中央處理機(jī)的指令寄存器。
            ② 通道命令字(CCW):記錄正在執(zhí)行的通道指令,其作用相當(dāng)于中央處理機(jī)的指令寄存器。
            ③  通道狀態(tài)字(CSW):記錄通道、控制器、設(shè)備的狀態(tài),包括I/O傳輸完成信息、出錯(cuò)信息、重復(fù)執(zhí)行次數(shù)等。
              通道對(duì)主機(jī)的訪問
            通道一般需要與主機(jī)共享同一個(gè)內(nèi)存,以保存通道程序和交換數(shù)據(jù)。通道訪問內(nèi)存采用“周期竊用”方式。
            采用通道方式后,輸入/輸出的執(zhí)行過程如下:
            CPU在執(zhí)行用戶程序時(shí)遇到I/O請(qǐng)求,根據(jù)用戶的I/O請(qǐng)求生成通道程序(也可以是事先編好的)。放到內(nèi)存中,并把該通道程序首地址放入CAW中。
            然后,CPU執(zhí)行“啟動(dòng)I/O”指令,啟動(dòng)通道工作。通道接收“啟動(dòng)I/O”指令信號(hào),從CAW中取出通道程序首地址,并根據(jù)此地址取出通道程序的第一條指令,放入CCW中;同時(shí)向CU發(fā)回答信號(hào),通知“啟動(dòng)I/O”指令完成完畢,CPU可繼續(xù)執(zhí)行。
            通道開始執(zhí)行通道程序,進(jìn)行物理I/O操作。當(dāng)執(zhí)行完一條指令后,如果還有下一條指令則繼續(xù)執(zhí)行;否則表示傳輸完成,同時(shí)自行停止,通知CPU轉(zhuǎn)去處理通道結(jié)束事件,并從CCW中得到有關(guān)通道狀態(tài)。
            總之,在通道中,I/O運(yùn)用專用的輔助處理器處理I/O操作,從而剪徑了主處理器處理I/O的負(fù)擔(dān)。主處理器只要發(fā)出一個(gè)I/O操作命令,剩下的工作完全由通道負(fù)責(zé)。I/O操作結(jié)束后,I/O通道會(huì)發(fā)出一個(gè)中斷請(qǐng)求,表示相應(yīng)操作已完成。
              通道的發(fā)展
            通道的思想是從早期的大型計(jì)算機(jī)系統(tǒng)中發(fā)展起來的。在早期的大型計(jì)算機(jī)系統(tǒng)中,一般配有大量的I/O設(shè)備。為了把對(duì)I/O設(shè)備的管理從計(jì)算機(jī)主機(jī)中分離出來,形成了I/O通道的概念,并專門設(shè)計(jì)出I/O通道處理機(jī)。
            I/O通道在計(jì)算機(jī)系統(tǒng)中是一個(gè)非常重要的部件,它對(duì)系統(tǒng)整體性能的提高起了相當(dāng)重要的作用。不過,隨著技術(shù)不斷的發(fā)展,處理機(jī)和I/O設(shè)備性能的不斷提高,專用的、獨(dú)立I/O通道處理機(jī)已不容易見到。但是通道的思想又融入了許多新的技術(shù),所以仍在廣泛地應(yīng)用著。由于光纖通道技術(shù)具有數(shù)據(jù)傳輸速率高、數(shù)據(jù)傳輸距離遠(yuǎn)以及可簡化大型存儲(chǔ)系統(tǒng)設(shè)計(jì)的優(yōu)點(diǎn),新的通用光纖通道技術(shù)正在快速發(fā)展。這種通用光纖通道可以在一個(gè)通道上容納多達(dá)127個(gè)的大容量硬盤驅(qū)動(dòng)器。顯然,在大容量高速存儲(chǔ)應(yīng)用領(lǐng)域,通用光纖通道有著廣泛的應(yīng)用前景。

            轉(zhuǎn)自:
            http://blog.chinaunix.net/u2/67780/showart_2063742.html
            posted on 2009-11-10 23:34 chatler 閱讀(950) 評(píng)論(0)  編輯 收藏 引用 所屬分類: OS
            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個(gè)博客還是不錯(cuò),雖然做的東西和我不大相關(guān),覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久国产AVJUST麻豆| 国产69精品久久久久777| 狠狠精品久久久无码中文字幕 | 97久久国产亚洲精品超碰热| 久久av无码专区亚洲av桃花岛| 久久天天躁狠狠躁夜夜96流白浆| 久久r热这里有精品视频| 无码乱码观看精品久久| 激情伊人五月天久久综合| 欧美久久天天综合香蕉伊| 亚洲级αV无码毛片久久精品| 久久精品国产99国产电影网| 亚洲天堂久久久| 国产精品狼人久久久久影院 | 久久精品这里热有精品| 香蕉久久永久视频| 色噜噜狠狠先锋影音久久| 亚洲国产另类久久久精品小说| 久久91这里精品国产2020| 久久久国产乱子伦精品作者| 人人狠狠综合久久亚洲| 久久国产精品久久精品国产| 久久人人爽人人爽人人片AV不| 精品无码久久久久久久动漫| 国产精品久久久福利| 色欲综合久久中文字幕网| 亚洲性久久久影院| 久久久久97国产精华液好用吗| 久久99精品国产| 久久久久久人妻无码| 亚洲中文字幕无码久久2020| 久久久无码精品午夜| 国产精品伊人久久伊人电影| 国产精品女同久久久久电影院 | 国产—久久香蕉国产线看观看| 无码AV中文字幕久久专区| 亚洲午夜久久久久久久久久| 国产毛片欧美毛片久久久| 久久久久久精品免费看SSS| 思思久久精品在热线热| 久久综合鬼色88久久精品综合自在自线噜噜 |