I/O系统基本概念
基本概念
I/O硬件
现代计算机的结构
“I/O”就是"输入/输出"
IO设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备。
常见的IO设备
主机如何与I/O设备进行交互?
I/O接口:又称I/O控制器(I/O Controller)、设备控制器,负责协调主机与外部设备之间的数据传输
I/O硬件包括外部设备、I/O接口、I/O总线等。
I/O软件
I/O软件包括驱动程序、用户程序、管理程序、升级补丁等。
通常采用I/O指令和通道指令实现主机和I/O设备的信息交换。
(1)I/O指令 CPU指令的一部分
注:I/O指令与普通指令格式略有不同,操作码指明了CPU要对IO接口做什么,命令码指明了IO接口要对设备做什么
(2)通道指令 通道能识别的指令
通道程序提前编制好放在主存中
在含有通道的计算机中,CPU执行I/O指令对通道发出命令,由通道执行一系列通道指令,代替CPU对I/O设备进行管理
I/O控制方式
CPU如何控制键盘I/O的完成?通过下面四种方式
程序查询方式
CPU不断轮询检查I/O控制器中的“状态寄存器”,检测到状态为“”已完成之后,再从数据寄存器取出输入数据
这种方式CPU等待的时间较长,利用率太低。
程序中断方式
等待键盘 I/O时CPU可以先去执行其他程序,键盘I/O完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据。
这种方式如果对于快速 I/O设备,如“磁盘”,每准备好一个字就给CPU发送一次中断请求,会导致CPU需要花大量的时间来处理中断服务程序,CPU利用率严重下降。
DMA控制方式
DMA控制方式:主存与高速I/O设备之间有一条直接数据通路(DMA总线) 。CPU向DMA接口发出“读/写”命令,并指明主存地址、磁盘地址、读写数据量等参数。
DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写(如1KB为一整块),才向CPU发出一次中断请求。
通道控制方式
有的商用中型机、大型机可能会接上超多的I/0设备,如果都让CPU来管理,那么CPU就太累了..这时就引入了通道控制方式。
通道:可以理解为是“弱鸡版的CPU”。通道可以识别并执行一系列通道指令,通道指令种类、功能通常比较单一
通道方式:通过IO指令启动通道,通道执行通道指令序列,通道程序放在主存中