io系統相對於處理機是非同步工作的
外設通常只要開始和結束時需要處理機干預
解決方法:
自治控制----即將處理機和外設功能剝離
對於不同外設需要完成的功能不同,處理機需要對不同速度,不同傳輸方式(乙個字元,多個字元)的外設進行多種相應。
如果錯過服務時間,則可能丟失資料
因此需要多種方式響應。
解決方法:
將裝置按工作方式和工作速度分類,cpu可以通過不同控制對各種裝置進行操作。
什麼叫裝置無關?
計算機系統的輸入輸出裝置種類、型號、規格繁多,所以必須遮蔽裝置的物理特性,向使用者提供乙個統
一、簡便的使用介面
序列介面、並行介面
針對3種特性提出3種設計:
非同步 ------- 自治控制
實時 ------- 層次結構()
與裝置無關 --------- 分類處理(字元裝置/ 塊裝置)
只要一啟動裝置,cpu不斷通過程式查詢io裝置準備好了沒,這個過程中,cpu「原地踏步」,一般不能與外設並行工作。if裝置未準備好則繼續查詢;if查詢得到裝置已經準備好,則將資料從io介面送至cpu,再由cpu送到主存。
該方式有4個特點:
(1)何時對何裝置進行輸入輸出操作受cpu控制。
(2)cpu要通過指令對裝置進行測試才能知道裝置的工作狀態。
如:閒、準備就緒、忙碌等
(3)資料的輸入和輸出都要經過cpu。
(4)用於連線低速外圍裝置,如終端、印表機等
缺點:time-consuming 效率不高
cpu wait
if要管理多台裝置時:
cpu在啟動io裝置之後,不查詢裝置是否已經就緒,繼續執行自身程式,當io裝置準備好的時候並給cpu發出中斷請求(io interrupt when ready),再給予響應。
特點:(1)cpu與外圍裝置能夠並行工作。
(2)能夠處理例外事件。
(3)資料的輸入和輸出都要經過cpu。
(4)用於連線低速外圍裝置。
雖然中斷方式能夠提高效率,但是仍然需要占用cpu的暫存器,如果io裝置能直接與主存交換資訊不占用cpu暫存器,可進一步提高cpu的效率。
主存(dram)工作速度應與高速裝置進行匹配,通過dma建立資料通路。因此dma的方式以主存為中心。
dma的特點:
外圍裝置的訪問請求直接發往主儲存器,資料的傳送過程不需要cpu的干預。主存將外圍裝置的訪問設定最高優先順序。
全部用硬體實現,不需要做儲存現場和恢復現場等工作。
dma控制器複雜,需要設定資料暫存器、裝置狀態控制暫存器、主存位址暫存器、裝置位址暫存器和資料交換個數計數器及控制邏輯等。
在dma方式開始和結束時,需要處理機進行管理。
(1)週期竊取方式:
所以主存和io裝置之間有一條通路,如果出現dma和cpu同時訪問主存,cpu總是將匯流排佔有權讓給dma,這也稱為dma竊取。而竊取的時間為乙個訪問週期,因此dma竊取=週期竊取。
在每一條指令執行結束時,cpu測試有沒有dma服務申請。
借用cpu完成dma工作流程。包括資料和主存位址的傳送,交換個數計數器減1,主存位址的增值及一些測試判斷等。
(2)直接訪問方式:
整個工作流程全部用硬體完成。
優點與缺點正好與週期竊取方式相反。
(3)資料塊傳送方式:
在裝置控制器中設定乙個比較大的資料緩衝儲存器。裝置控制器與主儲存器之間的資料交換以資料塊為單位,並採用程式中斷方式進行。
採用資料塊傳送方式的外圍裝置有軟盤驅動器、行式印表機、雷射印表機、卡片閱讀機、繪圖儀等。
c語言 基本輸入輸出方式
題目是很簡單的 a b 的和 1.一組輸入一組輸出 include intmain 2.多組輸入多組輸出 include intmain return0 3.指定資料量 有時會在資料的第一行要求提供資料量大小,要求輸入n,則表示有n組資料。include intmain return0 4.以特定元...
2 10黑盒測試 常見輸入輸出方式
單點測試 一組通過就有分數,最後看分數之和。多點測試 全部資料通過才算通過。1.常用的輸入方式 1 while.eof型 如果題目沒有給定輸入的結束條件,那麼就預設讀取到檔案末尾。對黑盒測試來說,所有輸入資料都是放在乙個檔案裡的,系統會讓程式去讀取這個檔案裡的輸入資料,然後執行 程式並輸出結果。那麼...
ACM中常用的輸入輸出方式
不論是在acm icpc這樣型別的比賽中,還是在做專案中,對於輸入輸出的格式尤為重要,不可以想當然的按自己那一套走,我們需要根據題目要求進行操作,對於第一次接觸這方面比賽的小白,最為常見的現象便是類似於下面這行 1 printf 請輸入一組資料 2 cout 倘若題目沒有要求你,千萬不要有多餘的輸出...