等待設備

等待設備

外圍設備即計算機系統中除主機外的其他設備。由於硬體設備執行I/O操作的速度比CPU慢得多,所以CPU要等待硬體設備完成I/O操作。等待設備是指CPU等待外圍設備完成I/O操作,主要由於CPU運行速度和外圍設備速度不匹配造成的,還與設備進行I/O操作時間是未知或不定有關。

基本介紹

  • 中文名:等待設備
  • 外文名:Wait for the device
  • 學科:計算機
  • 定義:CPU等待外圍設備完成I/O操作
  • 有關術語:外圍設備
  • 領域:計算機系統
簡介,外圍設備,基本組成,分類,程式 I/O 方式,中斷驅動 I/O 控制方式,直接存儲器訪問(DMA)I/O 控制方式,DMA(Direct Memory Access)控制方式的引入,特點,I/O 通道控制方式,

簡介

等待設備是指CPU等待外圍設備完成I/O操作,主要原因有CPU與外圍設備速度的不匹配以設備I/O操作時間不確定性。為解決等待設備問題,在早期的計算機系統中,是採用程式 I/O 方式;當在系統中引入中斷機制後,I/O 方式便發展為中斷驅動方式;此後,隨著 DMA 控制器的出現,又使 I/O 方式在傳輸單位上發生了變化,即從以位元組為單位的傳輸擴大到以數據塊為單位進行轉輸,從而大大地改善了塊設備的 I/O 性能;而通道的引入,又使對 I/O 操作的組織和數據的傳送都能獨立地進行而無需 CPU 干預。

外圍設備

計算機系統中,除處理機(運算器、控制器和記憶體儲器等)以外的設備。它主要完成信息的輸入、輸出和成批存儲的任務,是計算機和外界(包括人)實現聯繫的設備。

基本組成

(1)存儲介質,它具有保存信息的物理特徵。
(3)控制電路,它向存儲介質傳送數據或從存儲介質接受數據。

分類

外圍設備根據其在計算機系統中的作用,可分輸入輸出設備、輔助存儲器、終端設備和脫機設備四類。
輸入輸出設備輸入設備是把程式、原始信息以及操作命令送入處理機內進行處理的設備;輸出設備則是將處理機處理信息的中間結果和最終結果,以人們可以識別的數字、字元、圖形等形式表現出來的設備。輸入輸出設備包括印表機、繪圖機、顯示器、光學識別設備、圖形輸入設備、漢字輸入設備和語音輸入輸出設備等。
輔助存儲器又稱外存儲器,是相對處理機內的主存儲器而言的。它不直接與中央處理器交換信息,而是通過外部控制部件把所需的信息和程式隨時成批地送到主存儲器,並可把運算中的結果存儲起來。外存儲器主要有磁碟(軟碟和硬碟)、磁帶和光碟等。
終端設備通過通信線路和處理機相連的通用或專用設備。
脫機設備指不經處理機控制,能在脫機狀態下完成數據製備、媒體轉換的設備。常見的脫機設備有數據準備設備(如數據錄入設備)和脫機列印設備。

程式 I/O 方式

早期的計算機系統中,由於無中斷機構,處理機對 I/O 設備的控制採取程式I/O(Programmed I/O)方式,或稱為忙—等待方式,即在處理機向控制器發出一條 I/O 指令啟動輸入設備輸入數據時,要同時把狀態暫存器中的忙/閒標誌 busy 置為 1,然後便不斷地循環測試 busy。當 busy=1 時,表示輸入機尚未輸完一個字(符),處理機應繼續對該標誌進行測試,直至 busy=0,表明輸入機已將輸入數據送入控制器的數據暫存器中。於是處理機將數據暫存器中的數據取出,送入記憶體指定單元中,這樣便完成了一個字(符)的 I/O。接著再去啟動讀下一個數據,並置 busy=1。
在程式 I/O 方式中,由於 CPU 的高速性和 I/O 設備的低速性,致使 CPU 的絕大部分時間都處於等待 I/O 設備完成數據 I/O 的循環測試中,造成對CPU 的極大浪費。在該方式中,CPU 之所以要不斷地測試 I/O 設備的狀態,就是因為在 CPU 中無中斷機構,使 I/O 設備無法向 CPU 報告它已完成了一個字元的輸入操作。

中斷驅動 I/O 控制方式

現代計算機系統中,都毫無例外地引入了中斷機構,致使對 I/O 設備的控制,廣泛採用中斷驅動(Interrupt Driven)方式,即當某進程要啟動某個 I/O 設備工作時,便由 CPU 向相應的設備控制器發出一條 I/O 命令, 然後立即返回繼續執行原來的任務。 設備控制器於是按照該命令的要求去控制指定 I/O 設備。此時,CPU 與 I/O 設備並行操作。例如,在輸入時,當設備控制器收到 CPU 發來的讀命令後,便去控制相應的輸入設備讀數據。一旦數據進入數據暫存器, 控制器便通過控制線向 CPU 傳送一中斷信號, 由 CPU 檢查輸入過程中是否出錯,若無錯,便向控制器傳送取走數據的信號,然後再通過控制器及數據線將數據寫入記憶體指定單元中。
在 I/O 設備輸入每個數據的過程中,由於無需 CPU 干預,因而可使 CPU 與 I/O 設備並行工作。僅當輸完一個數據時,才需 CPU 花費極短的時間去做些中斷處理。可見,這樣可使 CPU 和 I/O 設備都處於忙碌狀態,從而提高了整個系統的資源利用率及吞吐量。例如,從終端輸入一個字元的時間約為 100 ms,而將字元送入終端緩衝區的時間小於 0.1 ms。若採用程式 I/O 方式,CPU 約有 99.9 ms 的時間處於忙—等待的過程中。但採用中斷驅動方式後,CPU 可利用這 99.9 ms 的時間去做其它的事情,而僅用 0.1 ms 的時間來處理由控制器發來的中斷請求。可見,中斷驅動方式可以成百倍地提高 CPU 的利用率。

直接存儲器訪問(DMA)I/O 控制方式

DMA(Direct Memory Access)控制方式的引入

雖然中斷驅動 I/O 比程式 I/O 方式更有效,但須注意,它仍是以字(節)為單位進行 I/O的,每當完成一個字(節)的 I/O 時,控制器便要向 CPU 請求一次中斷。換言之,採用中斷驅動 I/O 方式時的 CPU 是以字(節)為單位進行干預的。如果將這種方式用於塊設備的 I/O,顯然是極其低效的。例如,為了從磁碟中讀出 1 KB 的數據塊,需要中斷 CPU 1K 次。為了進一步減少 CPU 對 I/O 的干預而引入了直接存儲器訪問方式,見圖 5-7(c)所示。該方式的

特點

(1) 數據傳輸的基本單位是數據塊,即在 CPU 與 I/O 設備之間,每次傳送至少一個數據塊;
(2) 所傳送的數據是從設備直接送入記憶體的,或者相反;
(3) 僅在傳送一個或多個數據塊的開始和結束時,才需 CPU 干預,整塊數據的傳送是在控制器的控制下完成的。
可見,DMA 方式較之中斷驅動方式,又是成百倍地減少了 CPU 對 I/O 的干預,進一步提高了 CPU 與 I/O 設備的並行操作程度。

I/O 通道控制方式

雖然 DMA 方式比起中斷方式來已經顯著地減少了 CPU 的干預,即已由以字(節)為單位的干預減少到以數據塊為單位的干預,但 CPU 每發出一條 I/O 指令,也只能去讀(或寫)一個連續的數據塊。而當我們需要一次去讀多個數據塊且將它們分別傳送到不同的記憶體區域,或者相反時,則須由 CPU 分別發出多條 I/O 指令及進行多次中斷處理才能完成。I/O 通道方式是 DMA 方式的發展, 它可進一步減少 CPU 的干預, 即把對一個數據塊的讀(或寫)為單位的干預減少為對一組數據塊的讀(或寫)及有關的控制和管理為單位的干預。同時,又可實現 CPU、通道和 I/O 設備三者的並行操作,從而更有效地提高整個系統的資源利用率。例如,當 CPU 要完成一組相關的讀(或寫)操作及有關控制時,只需向 I/O 通道傳送一條 I/O 指令,以給出其所要執行的通道程式的首址和要訪問的 I/O 設備,通道接到該指令後,通過執行通道程式便可完成 CPU 指定的 I/O 任務。

相關詞條

熱門詞條

聯絡我們