I/O控制器及控制方式,了解一下
1、什么是I/O控制器
由于CPU無法直接控制I/O設備的機械部件,因此I/O設備還要有個電子部件作為CPU和I/O設備機械部件之間的“中介”,用于實現CPU對設備的控制,這個電子部件就是I/O控制器,又稱為設備控制器。
I/O控制器是控制計算機輸入輸出的一個最基本的控制系統,可指揮計算機的各個部件按照指令的功能要求協調工作的部件。它由指令寄存器IR(InstructionRegister)、程序計數器PC(ProgramCounter)和操作控制器OC(OperationController)三個部件組成,對協調整個電腦有序工作極為重要。
下面小編就從功能和控制方式兩個方面帶大家進一步了解I/O控制器,想學習的客戶朋友就一起看下去吧,絕對干貨哦!
2、I/O控制器的功能
● 接收設備CPU指令:CPU的讀寫指令和參數存儲在控制寄存器中
● 向CPU報告設備的狀態:I/O控制器中會有相應的狀態寄存器,用于記錄I/O設備的當前狀態。(比如1代表設備忙碌,0代表設備就緒)
● 數據交換:數據寄存器,暫存CPU發來的數據和設備發來的數據,之后將數據發給控制寄存器或CPU。
● 地址識別:類似于內存的地址,為了區分設備控制器中的各個寄存器,需要給各個寄存器設置一個特定的地址。I/O控制器通過CPU提供的地址來判斷CPU要讀寫的是哪個寄存器。
這里向大家簡單介紹常見的幾種I/O控制方式,包括程序直接控制方式、中斷驅動方式、DMA(直接存儲方式)、通道控制方式。
3、I/O控制方式
①程序直接控制方式
CPU向I/O模塊發出讀寫指令,CPU會從狀態寄存器中讀取I/O設備的狀態,如果是忙碌狀態就繼續輪詢檢查狀態,如果是已就緒,就代表I/O設備已經準備好,可以從中讀取數據到CPU寄存器中,讀到CPU后,CPU還要往存儲器(內存)中寫入數據,寫完后再執行下一套指令。
優點:實現簡單。在讀寫指令之后,加上實現輪詢檢查的一系列指令即可。
缺點:CPU和I/O設備只能串行化工作,CPU需要一直輪詢檢查,長期處于忙等狀態,CPU利用率很低。
②中斷驅動方式
中斷驅動方式的思想是允許I/O設備主動打斷CPU的運行并請求服務,從而“解放”CPU,使得其向I/O控制器發送讀命令后可以繼續做其他有用的工作。I/O控制器從CPU接收一個讀命令,然后從外圍設備讀數據,一旦數據讀入到該I/O控制器的數據寄存器,便通過控制線給CPU發出一個中斷信號,表示數據已準備好,然后等待CPU請求該數據。I/O控制器收到CPU發出的取數據請求后,將數據放到數據總線上,傳到CPU的寄存器中。至此,本次I/O操作完成,I/O控制器又可開始下一次I/O操作。這樣就使得CPU與I/O設備能夠并行工作。
優點:與程序直接控制方式相比,在中斷驅動方式中,I/O控制器會通過中斷信號主動報告I/O已完成,CPU不再需要不停的輪詢。CPU和I/O設備可并行工作,CPU利用率得到明顯提升。
缺點:由于數據中的每個字在存儲器與I/O控制器之間的傳輸都必須經過CPU,這就導致了中斷驅動方式仍然會消耗較多的CPU時間。
③DMA(直接存儲方式)
DMA方式的數據流向是從設備直接放入內存(設備→內存),或者是從內存直接到設備(內存→設備),不再使用CPU作為中間者。CPU在讀寫數據前要指明要讀入多少數據、數據要存放在內存中的什么位置、數據放在外部磁盤的什么位置等問題,然后DMA控制器會根據CPU提出的要求完成數據的讀寫操作。當整塊數據的傳輸完成后,才向CPU發出中斷信號。
優點:數據傳輸效率以“塊”塊為單位,僅僅在傳送一個或多個數據塊的開始和結束時,才需要CPU的干預,CPU的介入性進一步降低。同時。CPU和I/O設備的并行性進一步提升。
缺點:CPU發出一條指令,只能讀或寫一個或多個連續的數據塊。如果讀寫的數據塊不是連續存放的而是離散的,那么CPU要分別發出多條I/O指令,進行多次中斷處理才能完成。
④通道控制方式
通道是一種硬件,可以理解為“低配版的CPU”。通道與CPU相比的話,CPU能夠處理的指令種類比較多,而通道只能執行單一指令。使用這種控制方式,CPU干涉頻率極低,通道會根據CPU的指令執行響應程序,只有完成一組數據塊的讀寫后才需要發出中斷信號讓CPU干預。
優點:CPU、 通道、I/O設備可并行工作,資源利用率極高。
缺點:實現復雜,需要專門的通道硬件支持。
懵逼了的小伙伴快看這里!貼心小編為你奉上總結表格,一目了然呢!

提交
應用案例丨宇泰工業通信產品應用于車載充電機老化測試系統
喜報 | 走“專精特新”之路,看宇泰科技如何變身“小巨人”
應用案例丨宇泰產品應用于風光柴儲充一體機項目
應用案例丨宇泰串口服務器應用于云南黑馬井風電項目
應用案例丨宇泰科技串口服務器應用于智慧醫藥項目