現代計算機結構:
所有的設備統稱為 外部設備
主機如何與 I/O 設備進行交互
I/O接口:又稱I/O控製器(I/O Controller)𓀜、設備控製器🧑🏽💼,負責協調主機與外部設備之間的數據傳輸。
在總線文章中有如下的單總線結構:
I/O控製器多種多樣🧱,也會製定相應的標準👥,如:用於控製usB設備的IO接口🤜🏽、用於控製SATA 3.0硬盤的IO接口等⇨。
I/O 控製方式簡介
程序查詢方式📣:CPU不斷輪詢檢查 I/O控製器中的“狀態寄存器”,檢測到狀態為“已完成”之後🪜🏂🏻,再從數據寄存器取出輸入數據。
程序中斷方式:等待鍵盤I/O時 CPU可以先去執行其他程序,鍵盤I/O完成後I/O控製器向CPU發出中斷請求✒️,CPU響應中斷請求,並取走輸入數據。
DMA控製方式:主存與高速V/g設備之間有一條直接數據通路(DMA總線)🤶。CPU向DMA接口發出“讀/寫”命令🥨,並指明主存地址、磁盤地址、讀寫數據量等參數。
DMA控製器自動控製磁盤與主存的數據讀寫🧴,每完成一整塊數據讀寫(如1KB為一整塊)🤵🏻♂️,才向CPU發出一次中斷請求。
通道控製方式
通道:可以理解為是“弱雞版的CPU”。通道可以識別並執行一系列通道指令🧣,通道指令種類、功能通常比較單一
I/O 系統基本組成
一般來說,/o系統由I/O軟件和I/O硬件兩部分構成。
I/O硬件包括外部設備、I/O接口💆🏿♂️☝️、I/O總線等🦻🏼。
2.I/O軟件
包括驅動程序、用戶程序🎭、管理程序、升級補丁等。通常采用IO指令和通道指令實現主機和IO設備的信息交換。
I/O接口:又稱I/O控製器(I/O Controller)、設備控製器🉑🎃,負責協調主機與外部設備之間的數據傳輸👩🏼🏭👩🎨。
I/O控製器多種多樣,也會製定相應的標準,如:用於控製USB設備的IO接口、用於控製SATA 3.0硬盤的IO接口等
(I/O控製器就是一塊芯片,常被集成在主板上)
數據流🐪:鍵盤àIO接口的數據寄存器à數據總線àCPU某寄存器à主存(變量i的對應位置)
CPU如何控製鍵盤I/O的完成🚿?
1)程序查詢方式🛟:CPU不斷輪詢檢查I/O控製器中的
“狀態寄存器”,檢測到狀態為“已完成”之後,再從數據寄存器取出輸入數據
2)程序中斷方式:等待鍵盤I/O時CPU可以先去執行
其他程序㊙️,鍵盤I/O完成後I/O控製器向CPU發出中斷
請求🦇,CPU響應中斷請求,並取走輸入數據
鏈接👧🏼:https://blog.csdn.net/weixin_43848614/article/details/127173221
作者🥪:何為xl