📕:参考王道课件
目录
一、I/O系统的基本概念
1.什么是“I/O”?
编辑2.主机如何和I/O设备进行交互?
3.I/O控制方式
(1)程序查询方式
(2)程序中断方式
(3)DMA控制方式
(4)通道控制方式
4.I/O系统的基本组成
一、I/O系统的基本概念
1.什么是“I/O”?
“I/O”就是“输入/输出”。
I/O设备就是可以将数据输入到计算机或者可以接收计算机输出数据的外部设备。
常见的外部设备:
2.主机如何和I/O设备进行交互?
主机如何和I/O设备 通过I/O接口 进行交互。
“I/O接口”,又称 I/O控制器、设备控制器,负责协调主机与外部设备之间的数据传输。
I/O控制器多种多样,也会制定相应的标准。
比如:用于控制USB设备的I/O接口,用于控制SATA3.0硬盘的I/O接口。
其实I/O控制器就是一块芯片,常被集成在主板上。
3.I/O控制方式
CPU控制I/O的完成有三种方式,分别为 程序查询方式 、 程序中断方式 、DMA控制方式、通道控制方式。
以 CPU控制键盘I/O的完成为例:
(1)程序查询方式
CPU不断轮询检查I/O控制器中“状态寄存器”,检测到状态为“已完成”之后,再从数据寄存器取出输入数据。
(2)程序中断方式
等待键盘I/O时,CPU可以先去执行其他程序。
键盘I/O完成后,I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据。
以上这两种,是每准备好一个字就给CPU发送一次中断请求 ,这样CPU需要花大量的时间来处理中断服务程序,导致CPU的利用率严重下降。
所以有了下面这一种 DMA控制方式,它适用于高速外设。
(3)DMA控制方式
DMA控制方式:主存与高速I/O设备之间有一条 直接数据通路(DMA总线)。
CPU向DMA接口发出“读/写”命令,并指明主存地址、磁盘地址、读写数据量等参数。
DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写,才向CPU发出一次中断请求。
一整块数据,比如,1KB为一整块。
(4)通道控制方式
通道可以识别并执行一系列通道指令 。通道指令种类、功能通常比较单一。
通道指令执行过程如上图所示。
第一步:CPU向通道发出I/O指令。
指明通道程序在内存中的位置,并指明要操作的是哪个I/O设备,然后CPU就可以去做其他事情了。
第二步:通道执行内存中的通道程序。
通道执行内存中的通道程序,控制I/O设备完成一系列任务。
第三步:发送中断请求
通道执行完规定的任务后,向CPU发出中断请求,之后CPU对中断进行处理。
4.I/O系统的基本组成
I/O系统,一般由 I/O软件 和I/O硬件 两部分组成。
(1)I/O硬件
I/O硬件,包括外部设备、I/O接口、I/O总线等。