• <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

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

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

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

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

            轉(zhuǎn)自:
            http://blog.chinaunix.net/u2/67780/showart_2063742.html
            posted on 2009-11-10 23:34 chatler 閱讀(950) 評論(0)  編輯 收藏 引用 所屬分類: OS
            <2010年6月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

            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

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            大伊人青草狠狠久久| 91精品国产色综合久久| 久久国产亚洲精品麻豆| 久久精品中文无码资源站| 中文国产成人精品久久亚洲精品AⅤ无码精品| 国产亚洲精品自在久久| 久久精品夜夜夜夜夜久久| 久久久久久亚洲精品成人| 日韩精品无码久久久久久| 无码人妻少妇久久中文字幕蜜桃| 国产精品久久久久久久人人看| 久久精品国产72国产精福利| 欧美激情精品久久久久久| 看全色黄大色大片免费久久久 | 久久夜色精品国产噜噜噜亚洲AV | 老司机国内精品久久久久| 成人国内精品久久久久影院| 69国产成人综合久久精品| 久久亚洲综合色一区二区三区| 2020最新久久久视精品爱| 狠狠精品干练久久久无码中文字幕| 国产激情久久久久影院小草| 久久涩综合| 久久精品国产亚洲AV电影| 久久精品嫩草影院| 久久青青草原精品国产软件| 一本色道久久88精品综合 | 欧美久久久久久精选9999| 99久久做夜夜爱天天做精品| 99久久人妻无码精品系列| 久久久久99精品成人片| 亚洲午夜无码久久久久| 99久久国产综合精品网成人影院| 欧美日韩精品久久久免费观看| 久久综合亚洲欧美成人| 久久国产成人亚洲精品影院| 中文字幕日本人妻久久久免费| 99久久精品免费| 无码精品久久久久久人妻中字| 久久久久黑人强伦姧人妻| 久久久久亚洲精品无码蜜桃|