現代計算機結構:



所有的設備統稱為 外部設備
主機如何與 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