現代計算機結構:
所有的設備統稱為 外部設備
主機如何與 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