现代计算机结构:
所有的设备统称为 外部设备
主机如何与 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