输入输出系统


输入输出系统的发展概况

  • 早期:分散连接,每个I/O设备与主机都有单独的线来连接,CPU和I/O设备串行工作,I/O进行输入输出时,CPU必须运行相应的程序或处于“停等”状态

  • 接口模块和DMA阶段:总线连接,I/O设备通过接口连接在总线上,总线另一端连在CPU,CPU和I/O设备并行工作,信息交换传输控制方式分为中断方式和DMA方式,但采用这两种方式,CPU仍要参加部分信息传输的处理工作。

  • 具有通道结构的阶段:通道用来负责管理I/O设备以及实现主存与I/O设备之间的信息交换部分,是具有特殊功能的处理器,通道有专门的的通道指令,这种情况下,CPU不直接参与数据的传输过程。

    通道不是完全独立的处理器,它受CPU的控制,是从属与CPU的一个专用处理器

  • 具有I/O处理机的阶段:与通道不同的是,I/O处理机基本独立于主机工作,即可完成通道能完成的I/O控制,还可完成诸如格式处理、数据检错、纠错等操作,这种情况下,I/O系统与CPU工作的并行性更高

输入输出系统的组成

输入输出系统由I/O软件和I/O硬件两部分组成。

I/O软件

1.I/O指令

I/O指令是CPU指令的一部分,其格式如下图所示:

操作码可作为I/O指令与其他类的指令的判别代码;命令码用来体现I/O的具体操作;设备码是作为对多台I/O设备的选择码,相当于设备的地址。

2.通道指令

通道指令是对具有通道的I/O系统专门设置的指令,这类指令一般用以指明参与传送的(写入或读出)的数据组在主存中的首地址、传送数据的长度、操作命令。

I/O硬件

在带有接口的I/O系统中,一般包括接口模块及I/O设备两大部分。如果带有通道的话,设备连接的是设备控制器,再连接通道。

I/O设备与主机的联系方式

I/O设备的编址方式

通常将I/O设备码视为地址码,对I/O地址码的编址可采用两种方式:统一编址和不统一编址。

  • 统一编址:将I/O地址看作是存储器地址的一部分。在存储空间内划分出一部分空间作为I/O地址,在这部分地址范围内的访问,都是对I/O的访问,所用的指令与访存指令相同。在内存空间比较大的情况下,可以采用。
  • 不统一编址:I/O地址和存储器地址是分开的,所有对I/O设备的访问必须要有专用的I/O指令。

设备选址

用设备选择电路识别设备是否被选中,将CPU给出的地址与设备中保存的地址比较就可以了

传送方式

  • 串行,速度慢,所需数据线少
  • 并行,速度快,所需数据线多

联络方式

在传送数据时,I/O设备与主机之间必须相互了解对方所处的状态。这是双方之间的联络问题,按I/O设备工作速度的不同,可分为三种联络方式。

  • 立即响应方式:CPU的I/O指令一到,设备立即响应,通过诸如指示灯的亮灭等方式表示是否接受到数据

  • 异步工作采用应答信号方式:当I/O设备与CPU速度不匹配时,通常采用异步工作方式,又可以分为并行和串行两种方式

    并行方式:当CPU将数据送到I/O接口后,接口向设备发出“Ready”(准备就绪)信号,I/O设备收到信号后,通常立即取出数据,接着想接口回发一个“Strobe”信号,并让接口转告CPU,数据已被取走,可继续发送。

    串行方式:I/O设备与CPU双方设定一组特殊标记,用“起始”和“终了”来建立联系。图中传输开始时两位低电平表示“起始”,结束后两位低电平表示“终了”。

  • 同步工作采用同步时标方式:同步工作要求I/O设备与CPU的工作速度完全同步,必须配有专门的电路产生同步时标控制同步工作。

I/O设备与主机的连接方式

  • 辐射式连接:每台设备都有一套控制线路和一组信号线,不便于增删设备。
  • 总线连接:便于增删设备

I/O设备与主机信息传送的控制方式

程序查询方式

程序查询方式是由CPU通过程序不断查询I/O设备是否已经做好准备,从而控制I/O与主机交换信息。(轮询)

这种方式要求I/O接口内部设置一个能反应设备是否准备就绪的状态标记,CPU对此标记进行检测。

这种方式使CPU与I/O处于串行工作状态,CPU的效率低。

程序中断方式

I/O的工作可分为两个部分:

  • 自身准备数据阶段,此阶段CPU不查询,继续执行自身程序
  • 与主机交换信息阶段,此时CPU暂停现行程序

CPU启动I/O设备后继续执行原程序,在执行K条指令时,I/O设备准备好数据,向CPU发送请求,CPU在执行完K条指令后,响应该请求,中断了现行程序,转至中断服务程序,待处理完后又回到原程序断点处,继续从K+1条执行往下执行。

程序中断方式在I/O进行准备时,CPU不必查询I/O的状态,CPU不会出现“踏步”现象,CPU执行程序与I/O的准备工作时同时进行的,此时CPU和I/O部分的并行工作,因为I/O的与主机数据交换阶段(即处理中断服务程序时)还需要CPU参与。

DMA方式

DMA方式中,主存与I/O设备之间有一条数据通路,主存与I/O进行数据交换时,不用处理中断服务程序。内存和I/O通过DMA控制器可以直接进行数据交换。

若出现DMA和CPU同时对主存进行访问,CPU总是将总线占有权让给DMA,这种方式叫做窃取挪用,窃取的时间一般为一个存储周期,DMA窃取的周期叫做窃取周期挪用周期。在DMA窃取周期内,CPU不能使用总线,但还可以进行内部操作,进一步提高了CPU的利用率,CPU和I/O并行工作。

三种方式CPU工作效率比较

外部设备

外部设备大致分为三类:

  • 人机交互设备:键盘、鼠标、打印机等
  • 计算机信息存储设备:磁盘、光盘、磁带
  • 机—机通信设备:调制解调器等

I/O接口

概述

接口可以看做是两个系统或两个部件之间的交接部分,即可以是两种硬件设备之间的连接电路,也可以是两个软件之间的共同逻辑边界。I/O接口通常指主机与外部设备之间设置的一个硬件电路及其相应的软件控制。

主机与外设之间设置接口的理由:

  • 通过设备地址实现设备的选择
  • 实现数据缓冲达到速度匹配
  • 实现数据串—并格式的转换,外设可能串行传输数据,而CPU一般并行传送
  • 实现电平转换,外设的出入电平可能与CPU的出入电平不同
  • 传送控制命令,CPU通过各种控制信号启动外设工作
  • 反映外设的状态(“忙”、“就绪”、“错误”、“中断请求”等)

接口的功能和组成

总线连接方式的I/O接口电路

在总线结构的计算机中,每个设备都是通过I/O接口挂到系统总线上的。下图中的I/O总线包括数据线、设备选择线、命令线和状态线。

接口的功能和组成
功能 组成
选址功能 设备选择电路
传送命令的功能 命令寄存器和命令译码器
传送数据的功能 数据缓冲寄存器
反映I/O设备工作状态的功能 设备状态标记

其中,设备状态标记由以下几个触发器表示:

  • 完成触发器D
  • 工作触发器B
  • 中断请求触发器INTR
  • 屏蔽触发器MASK
I/O接口的基本组成

接口类型

1.按数据传送方式分类

  • 并行接口
  • 串行接口

2.按功能选择的灵活性分类

  • 可编程接口
  • 不可编程接口

3.按通用性分类

  • 通用接口
  • 专用接口

4.按数据传送的控制方式分类

  • 中断接口
  • DMA接口

文章作者: likai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 likai !
评论
  目录