一. 输入输出系统的发展概况
1. 早期
外部设备与主机分散连接,每个设备都有专门的控制线路。CPU和I/O设备串行工作,CPU和外部设备采用程序查询方式
2. 接口模块和DMA阶段
DMA:直接内存存取
采用总线连接,一个总线可以连接多个设备。CPU和I/O设备并行工作,出现了中断方式和DMA方式
3.具有通道结构的阶段
通道可以看作是一种简单的处理器或者是一种小型的更强的DMA控制器,通过执行通道程序,I/O设备可以和主机之间直接进行信息传输
4. 具有I/O处理机的阶段
有的大型系统可以使用微处理器作为I/O处理机来用,控制I/O设备。
5.总结
随着输入输出系统的发展,数据的输入输出操作逐渐的从CPU当中分离出来,外部设备的独立性更强。
二、输入输出系统的组成
1. I/O软件
(1)I/O指令
CPU指令的一部分
格式:
(2)通道指令
通达有自己的控制器,通道可以执行由通道指令组成的通道程序。
2. I/O硬件
设备通过接口连接在I/O接口或者通道
三、主机与I/O设备的联系方式
1. I/O设备编制方式
(1)统一编制
把I/O设备地址看作是内存地址的一部分,如果访存指令落入I/O地址部分,那就是I/O设备的读写。
没有单独的I/O指令
(2)单独编制
在内存地址空间之外,单独设置地址空间。为了区分指令的操作对象,在单独编制的计算机中,就不能用原有的取数和存数指令,有专用的I/O指令。
2. 设备选址
用设备选择电路 识别是否被选中
3. 数据传送方式
(1) 串行
数据一位一位的传输,适合远距离传输
(2)并行
数据多位一起传输,需要多跟数据线,适合近距离传输。
4. 联络方式
(1)立即响应
对于简单的外部设备是立即响应.
(2) 异步工作采用应答信号
-
并行
-
串行
-
同步工作采用同步时标
5. I/O设备与主机的连接方式
- 辐射式连接
不便于增删设备。
- 总线连接
便于增删设备
四、I/O设备与主机信息传送的控制方式
1. 程序查询方式
在I/O设备的数据准备状态中,CPU一直在等待,并没有进行工作。CPU效率非常低。
2. 程序中断方式
对程序查询方式的一种改进,CPU被一定程度的从数据的输入和输出中解放出来。
在程序查询方式中,在I/O工作中的自身准备和与主机交换信息中,CPU都需要等待。
在程序中断方式中,在I/O的自身准备中,CPU不查询,与主机交换信息时才暂停现行程序。
CPU执行主程序,在执行过程中遇到I/O设备的指令,执行I/O指令,发出启动I/O设备的指令以后,CPU继续执行原来的程序,外部设备接受到了命令,就开始进行状态准备。当外部设备状态准备好之后,就会向CPU提出中断请求,请求CPU中断当前程序去和I/O设备进行数据交换。CPU接受中断请求之后,判断是否可以执行,可以执行的话就将现执行程序的现场保存,设置断点,跳转到中断服务程序,通过执行中断服务程序来完成数据的输入和输出操作。完毕后,恢复相关寄存器的内容继续执行。
CPU和I/O设备部分的并行工作
程序中断方式流程:(以读操作为例)
3. DMA方式
主存和I/O之间有一条直接数据通道,不需要中断现行程序的执行。采用周期挪用(周期窃取)。
CPU读取到启动I/O的指令之后,CPU发出启动I/O
的指令,外部设备在DMA控制器的控制下完成数据的准备。当准备完成要进行数据传输时,由DMA控制器发出控制请求,占用总线的使用权,占用一个或多个存取周期,利用这一个或多个存储周期完成外部设备和内存之间的数据交换,在这个周期中,CPU不能使用总线,不能对内存进行访问,但是CPU可以执行已经缓冲好的指令。在存取周期中,CPU和I/O也可以并行工作。
五、程序中断输入输出方式
1. 中断的含义
中断是由I/O设备或其他非预期的急需处理的时间引起的,它使CPU暂时中断现在正在执行的程序,而转到另一服务程序去处理这些事件。处理完毕后再返回原程序。
2. 中断的作用
- CPU和I/O设备并行工作
- 硬件故障处理
- 实现人机联系
- 实现躲到程序和分时操作
- 实现实时处理
- 实现应用程序和操作系统的联系
- 多处理机系统各处理机之间的联系