IO控制方式

2021-10-09 11:12:01 字數 1246 閱讀 2277

程式直接控制方式

cpu干預程度:非常的頻繁,io操作開始前,完成後均需要cpu介入,並且在等待io完成的過程中cpu需要不斷的介入進行輪詢檢查,實際上是忙輪詢,極大的浪費了cpu的資源,本質原因還是io裝置與cpu速度差異造成的矛盾,其次的原因是沒有中斷機制,io裝置無法向cpu報告自己的狀態

資料流向: 讀 io裝置->cpu->記憶體 寫 記憶體->cpu->io裝置

傳輸單位: 乙個字

缺點:cpu與io裝置只能序列工作,忙等io完成,極大的浪費cpu資源,cpu利用率很低。

優點:簡單易於實現。

中斷驅動方式

由於中斷機制的產生,cpu不需要忙輪詢檢查io裝置是否完成io,而是被動的等待io裝置向自己通知,cpu的利用率得到提高。

cpu干預程度:每次io操作開始之前,完成之後需要cpu的介入。

資料流向:

傳輸單位: 乙個字

缺點:1.雖然引入中斷,進一步的解放了cpu,提高了cpu的使用率。但是中斷處理的過程需要保護現場,恢復現場,這是需要一定時間開銷,如果頻繁的觸發中斷,也會降低系統的效能,甚至得不償失。2.由於傳輸資料的每個字都在io控制器和儲存器之間的傳輸都會經過cpu,這會導致中斷驅動方式任然會消耗較多的cpu時間。

優點:cpu利用率得到提高

dma方式 direct memort access

cpu干預程度:僅在傳送乙個或多個連續的資料塊的開始和結束時,才需要cpu的干涉。

資料流向: 記憶體->io裝置 io裝置->記憶體

傳輸單位: 資料塊

缺點:cpu每發出一條io指令,只能讀/寫一塊或多塊連續的資料塊。

優點:1.相對有中斷驅動方式,dma方式減少了中斷cpu的次數,僅在所要求傳送的一批資料全部傳送結束時才會中斷cpu。2.資料傳送是在dma控制器控制下完成,而中斷驅動方式的資料傳送是在cpu的控制下完成的。總結:1.減少中斷cpu的次數 2.資料傳送的過程交由dma控制器控制。

通道方式

通道方式進一步降低了cpu對於io裝置的控制,將對於io控制的權力下放到通道,由通道負責cpu制定的io任務,當完成資料傳送後才向cpu傳送中斷請求。

cpu干預程度:

資料流向:

傳輸單位:

缺點:實現複雜,需要通道硬體支援。

優點:可以實現io裝置,cpu,通道三者的並行工作,資源利用率高,整個系統效能好。

I O 控制方式

裝置管理的主要任務之一是控制裝置和記憶體或處理機之間的資料傳送。外圍裝置和記憶體之間的輸入 輸出控制方式有四種,下面分別介紹 1.程式直接控制方式 計算機從外部裝置讀取資料到儲存器,每次讀到乙個字的資料。對讀入的每個字,cpu 需要對外設狀態進行迴圈檢查,直到確定該字已經在 i o 控制器的 資料暫...

sysfs方式控制IO

一 配置核心 make menuconfig 勾選device drivers gpio support sys class gpio sysfs inte ce 選項以開啟sysfs功能 二 測試 echo 976 sys class gpio export 匯出引腳 echo out sys c...

5 1 2 I O控制方式

裝置管理的主要任務之一是控制裝置和記憶體或處理器之間的資料傳送,外圍裝置和記憶體之間的輸入輸出控制方式有四種。1 程式直接控制方式 計算機從外部裝置讀取資料到儲存器,每次讀乙個字的資料。對讀入的每乙個字,cpu需要對外設狀態進行迴圈檢查,直到確定該字已經在i o控制器的資料暫存器中。在程式直接控制方...