對I O裝置的控制方式

2021-10-08 11:21:54 字數 1243 閱讀 9227

在i/o控制方式的整個發展中,始終貫穿的宗旨是:儘量減少主機對i/o控制的干預,把主機從繁雜的i/o控制事務中解放出來,以便更多地完成資料處理任務

採用輪訓的可程式設計方式

在程式i/o方式中,cpu的絕大部分處理時間都處於等待i/o裝置完成資料i/o的迴圈測試,對cpu造成了極大的浪費,在該方式中,cpu要不停地測試i/o裝置的狀態,因為cpu中無中斷結構,使i/o裝置無法向cpu報告已完成了乙個字元的輸入操作

採用中斷的可程式設計方式

當前,對i/o裝置控制,廣泛採用可中斷的i/o程式設計方式。

當某程序要啟動某個裝置工作時,便由cpu向相應的裝置控制器發出一條i/o命令,然後立即返回執行原來的任務。裝置控制器於是按照命令的要求去控制指定的i/o裝置。此時,cpu與i/o並行操作。

在輸入時,裝置控制器接收從cpu發來的讀命令,便去控制相應的裝置讀資料。一旦資料傳入資料暫存器,控制器便通過控制匯流排向cpu傳送中斷訊號,由cpu檢查輸入過程是否出錯,若無措,便向控制器傳送取走資料的訊號,再通過控制器及資料線,將資料寫入指定單元。

在i/o裝置輸入每個資料的過程中,可使cpu與i/o裝置並行工作。僅當輸完乙個資料時,才需cpu花費極短的時間去做中斷處理

直接儲存器訪問方式

雖然中斷驅動i/o比程式i/o方式更有效,但它仍然以位元組為傳輸單位進行i/o的,每當完成乙個位元組的i/o時,控制器便向cpu請求一次中斷。

如果將這種方式運用於塊裝置的i/o,效率極低。例如:為了從磁碟中讀出1kb的資料塊,需要中斷cpu1k次。

直接儲存器訪問方式:

資料傳輸的基本單位是資料塊,即在cpu與i/o裝置之間,每次至少傳輸乙個資料塊。

所傳送的資料,都是從裝置直接送入記憶體的,或者相反。

僅在傳送乙個或多個資料塊的開始和結束,才需要cpu的干預,資料塊的傳送是在控制器的干預下完成的

所以dma方式較中斷方式,又進一步提高了cpu與i/o裝置的並行速度

i/o通道控制方式

雖然dma方式比起中斷方式,已經減少了cpu的干預(以位元組為單位的干預減少到了以資料塊為單位的干預),但cpu每發出一條i/o指令,也只能去讀或寫一組連續的資料塊。

當我們需要一次去讀多個資料塊且它們分別位於不同的記憶體區,則需要由cpu分別發出多條i/o指令及中斷處理才能完成。

i/o通道方式是dma方式的發展,把對乙個資料塊的讀或寫為單位的干預,減少為對一組資料塊的讀或寫以及有關的控制和管理為單位的干預。

可實現cpu、通道、i/o裝置三者的並行操作

I O 控制方式

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

IO控制方式

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

常見的I O控制方式

1 程式直接訪問方式跟迴圈檢測 io方式,應該是乙個意思吧,是最古老的方式。cpu和 io序列,每讀乙個位元組 或字 cpu都需要不斷檢測狀態暫存器的 busy 標誌,當 busy 1 時,表示 io還沒完成 當 busy 0 時,表示 io完成。此時讀取乙個字的過程才結束,接著讀取下乙個字。2 中...