五.输入输出系统

一. 输入输出系统的发展概况

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执行过程图
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设备并行工作
  • 硬件故障处理
  • 实现人机联系
  • 实现躲到程序和分时操作
  • 实现实时处理
  • 实现应用程序和操作系统的联系
  • 多处理机系统各处理机之间的联系

猜你喜欢

转载自blog.csdn.net/m0_45210226/article/details/108622920