i/o

計算機介面

I/O(英語:Input/Output),即輸入/輸出,通常指數據在內部存儲器和外部存儲器或其他周邊設備之間的輸入和輸出。

輸入/出(英文:Input/Output,簡寫為I/O)是信息處理系統(例如計算器)與外部世界(可能是人類或另一信息處理系統)之間的通信。輸入是系統接收的信號或數據,輸出則是從其發送的信號或數據。該術語也可以用作行動的一部分;到“運行I/O”是運行輸入或輸出的操作。

輸入/出設備是硬體中由人(或其他系統)使用與計算器進行通信的部件。例如,鍵盤或滑鼠是計算器的輸入設備,而監視器和印表機是輸出設備。計算器之間的通信設備(如電信數據機和網卡)通常運行輸入和輸出操作。

它的功能是負責實現CPU通過系統匯流排把I/O電路和外圍設備聯繫在一起,各個I/O設備都有自己的定時控制電路,以自己的速度傳輸數據。

介面分類


I/O介面的功能是負責實現CPU通過系統匯流排把I/O電路和外圍設備聯繫在一起,按照電路和設備的複雜程度,I/O介面的硬體主要分為兩大類:
(1)I/O介面晶元
這些晶元大都是集成電路,通過CPU輸入不同的命令和參數,並控制相關的I/O電路和簡單的外設作相應的操作,常見的介面晶元如定時計數器、中斷控制器、DMA控制器、并行介面等。
(2)I/O介面控制卡
由若干個集成電路按一定的邏輯組成為一個部件,或者直接與CPU同在主板上,或是一個插件插在系統匯流排插槽上。
按照介面的連接對象來分,又可以將他們分為串列介面、并行介面、鍵盤介面和磁碟介面等。

CPU瓶頸


i/o
i/o
在CPU性能受限制的大型機環境里,i/o進程會影響到工作負載。在cpu受到限制的系統中,批處理進程會使i/o的性能變得更糟。通常在系統優先順序最低的情況下,當CPU受到瓶頸時,批處理進程因為要和在線進程進行資源爭奪而勉強運行i/o。每一次i/o,一個進程開始釋放CPU資源,並由更高優先權的進程接管。但即使i/o進程很快的完成,批處理進程也需要去爭奪已經完成任務的進程資源,並接受CPU的線程調度。在線進程通常可以獲得必要的CPU資源。i/o進程不會減緩客戶信息控制系統(CICS)或信息管理系統(IMS)的工作負荷,因為每個i/o並不同步。然而,一些特別的進程與批處理一樣都受到CPU瓶頸的影響。在CICS,一旦i/o完成的事務處理,在i/o繼續工作前,i/o已經越過CICS的鏈式調度程序。在CICS工作負載中尤其明顯的是i/o有深調度隊列。IMS事務中運行消息處理區域(MPR’S)採取不同的路徑,但都是異曲同工。一旦資料庫i/o完成,IMS在它處理更多工作前會通知在和伺服器爭奪資源的MPR。最快的i/o是不能實現的。因此,儘可能利用數據輸入內存預防在cpu受限的環境中的瓶頸。i/o輸入內存的數據包括緩衝池,參考表,數據緩存空間和其他方法。

介面功能


由於計算機的外圍設備品種繁多,幾乎都採用了機電傳動設備,因此,CPU在與I/O設備進行數據交換時存在以下問題:
速度不匹配:I/O設備的工作速度要比CPU慢許多,而且由於種類的不同,他們之間的速度差異也很大,例如硬碟的傳輸速度就要比印表機快出很多。
時序不匹配:各個I/O設備都有自己的定時控制電路,以自己的速度傳輸數據,無法與CPU的時序取得統一。
信息格式不匹配:不同的I/O設備存儲和處理信息的格式不同,例如可以分為串列和并行兩種;也可以分為二進位格式、ASCII編碼和BCD編碼等。
信息類型不匹配:不同I/O設備採用的信號類型不同,有些是數字信號,而有些是模擬信號,因此所採用的處理方式也不同。
基於以上原因,CPU與外設之間的數據交換必須通過介面來完成,通常介面有以下一些功能:
(1)設置數據的寄存、緩衝邏輯,以適應CPU與外設之間的速度差異,介面通常由一些寄存器或RAM晶元組成,如果晶元足夠大還可以實現批量數據的傳輸;
(2)能夠進行信息格式的轉換,例如串列和并行的轉換;
(3)能夠協調CPU和外設兩者在信息的類型和電平的差異,如電平轉換驅動器、數模或模數轉換器等;
(4)協調時序差異;
(5)地址解碼和設備選擇功能;
(6)設置中斷和DMA控制邏輯,以保證在中斷和DMA允許的情況下產生中斷和DMA請求信號,並在接受到中斷和DMA應答之後完成中斷處理和DMA傳輸。

控制方式


CPU通過介面對外設進行控制的方式有以下幾種:
(1)程序查詢方式
這種方式下,CPU通過I/O指令詢問指定外設當前的狀態,如果外設準備就緒,則進行數據的輸入或輸出,否則CPU等待,循環查詢。
(2)中斷處理方式
在這種方式下,CPU不再被動等待,而是可以執行其他程序,一旦外設為數據交換準備就緒,可以向CPU提出服務請求,CPU如果響應該請求,便暫時停止當前程序的執行,轉去執行與該請求對應的服務程序,完成後,再繼續執行原來被中斷的程序。
中斷處理方式的優點是顯而易見的,它不但為CPU省去了查詢外設狀態和等待外設就緒所花費的時間,提高了CPU的工作效率,還滿足了外設的實時要求。但需要為每個I/O設備分配一個中斷請求號和相應的中斷服務程序,此外還需要一個中斷控制器(I/O介面晶元)管理I/O設備提出的中斷請求,例如設置中斷屏蔽、中斷請求優先順序等。
此外,中斷處理方式的缺點是每傳送一個字元都要進行中斷,啟動中斷控制器,還要保留和恢復現場以便能繼續原程序的執行,花費的工作量很大,這樣如果需要大量數據交換,系統的性能會很低。
(3)DMA(直接存儲器存取)傳送方式
DMA最明顯的一個特點是它不是用軟體而是採用一個專門的控制器來控制內存與外設之間的數據交流,無須CPU介入,大大提高CPU的工作效率。
在進行DMA數據傳送之前,DMA控制器會向CPU申請匯流排控制權,CPU如果允許,則將控制權交出,因此,在數據交換時,匯流排控制權由DMA控制器掌握,在傳輸結束后,DMA控制器將匯流排控制權交還給CPU。
(4)通道方式設備故障
計算機中的I/O設備
故障表現主要有以下三個方面:
I/O設備就無法正常使用了,包括各類外接介面、筆記本的鍵盤打不出字、觸控屏不靈等現象。
電腦維修工具:主板診斷卡插在主板上進行跑碼會顯示FF代碼、00代碼、DD代碼或無代碼及反覆跑C1~C5代碼的現象。
I/O設備短路等故障還會導致計算機連接外部設備的時候可能會受到靜電的衝擊或干擾以至於損壞其他電容、二極體等元器件。從而導致設備無法開機的嚴重後果。
防範I/O設備故障:I/O設備屬於精密的電子產品,使用過程中對環境要求嚴格,切莫在高溫,潮濕的環境下使用。