基本功能
· 向CPU提供I/O設備的狀態信息和進行命令解碼。
· 進行定時和相應時序控制。
· 對傳送數據提供緩衝,以消除計算機與外設在“定時”或數據處理速度上的差異。
· 提供計算機與外設間有關信息格式的相容性變換。提供有關電氣的適配
· 還可以中斷方式實現CPU與外設之間信息的交換。
接口組成
包括硬體電路和軟體編程兩部分 硬體電路包括基本邏輯電路,連線埠解碼電路和供選電路等。軟體編程包括初始化程式段,傳送方式處理程式段,主控程式段程式終止與退出程式段及輔助程式段等.
接口分類
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設備存儲和
處理信息的格式不同,例如可以分為串列和並行兩種;也可以分為二進制格式、ACSII編碼和BCD編碼等。
信息類型不匹配:不同I/O設備採用的信號類型不同,有些是數位訊號,而 有些是
模擬信號,因此所採用的處理方式也不同。
基於以上原因,CPU與外設之間的數據交換必須通過接口來完成,通常接口有以下一些功能:
(1)設定數據的暫存、緩衝邏輯,以適應CPU與外設之間的速度差異,接口通常由一些
暫存器或RAM晶片組成,如果晶片足夠大還可以實現批量數據的傳輸;
(2)能夠進行信息格式的轉換,例如串列和並行的轉換;
(3)能夠協調CPU和外設兩者在信息的類型和電平的差異,如電平轉換
驅動器、數/模或模/數
轉換器等;
(4)協調時序差異;
(5)地址解碼和設備選擇功能;
(6)設定中斷和DMA控制邏輯,以保證在中斷和DMA允許的情況下產生中斷和DMA請求信號,並在接受到中斷和DMA應答之後完成
中斷處理和DMA傳輸。
控制方式
這種方式下,CPU通過I/O指令詢問指定外設當前的狀態,如果外設準備就緒,則進行數據的輸入或輸出,否則CPU等待,循環查詢。
這種方式的優點是結構簡單,只需要少量的硬體電路即可,缺點是由於CPU的速度遠遠高於外設,因此通常處於等待狀態,工作效率很低
在這種方式下,CPU不再被動等待,而是可以執行其他程式,一旦外設為數據交換準備就緒,可以向CPU提出服務請求,CPU如果回響該請求,便暫時停止當前程式的執行,轉去執行與該請求對應的服務程式,完成後,再繼續執行原來被中斷的程式。
中斷處理方式的優點是顯而易見的,它不但為CPU省去了查詢外設狀態和等待外設就緒所花費的時間,提高了CPU的工作效率,還滿足了外設的實時要求。但需要為每個I/O設備分配一個
中斷請求號和相應的
中斷服務程式,此外還需要一個中斷控制器(I/O接口晶片)管理I/O設備提出的中斷請求,例如設定
中斷禁止、中斷請求優先權等。
此外,
中斷處理方式的缺點是每傳送一個字元都要進行中斷,啟動中斷控制器,還要保留和恢復現場以便能繼續原程式的執行,花費的工作量很大,這樣如果需要大量數據交換,系統的性能會很低。
DMA最明顯的一個特點是它不是用軟體而是採用一個專門的控制器來控制記憶體與外設之間的數據交流,無須CPU介入,大大提高CPU的工作效率。
在進行DMA
數據傳送之前,DMA控制器會向CPU申請匯流排控制 權,CPU如果允許,則將控制權交出,因此,在數據交換時,匯流排控制權由DMA控制器掌握,在傳輸結束後,DMA控制器將匯流排控制權交還給CPU。
(4)無條件傳送方式
(5)I/O通道方式
(6)I/O處理機方式