计算机组成原理(九)——I/O System

输入输出系统

输入输出系统的发展概况

  1. 早期阶段

    I/O设备种类少,I/O设备与主存交换信息都必须经过CPU。

  • 连接方式:
    • 分散连接,即每一个I/O设备都有一套独立的逻辑电路与CPU相连,线路十分散乱、庞杂。
  • I/O设备与CPU的工作关系
    • CPU 和 I/O设备串行工作,即输入输出过程是穿插在CPU执行程序过程当中的,当I/O设备与主存交换信息时,CPU不得不停止各种运算,因此极浪费时间。
  • 每个I/O设备的逻辑控制电路与CPU的控制器紧密构成一个不可分割的整体,彼此相互依赖,欲增减更换I/O设备极其困难。

  2. 接口模块 和 DMA 阶段

  接口模块阶段

  • 连接方式:
    • 总线连接。I/O设备与主机通过接口模块连接,采用了总线结构。
  • I/O设备与CPU的工作关系
    • CPU 和 I/O 设备并行工作。
      • 在IO接口中设置有数据通路和控制通路。
      • 数据通路:用于传输数据信息。
      • 控制通路:用于传输CPU向I/O设备发来的控制信号,或使CPU接收来自I/O设备的反馈信号。
  • 优点:使CPU与I/O设备实现了并行工作,可以使多台I/O设备分时占用总线,多台I/O也可并行工作,有利于整机工作效率的提高。
  DMA阶段

  为了进一步提高CPU的工作效率出现了直接存储器存取(Direct Memory Access)技术。

  • 特征:高速I/O设备与主存之间有一条直接数据通路,I/O设备可以直接与主存交换信息。
  • 优点:使CPU在高速I/O设备与主存交换信息时,能继续完成自身的工作。资源利用率得到进一步提升。

  3. 具有通道结构的阶段(在《计算机体系结构》课程中讲解)

  在小型机和微型机中采用DMA方式可实现高速I/O设备与主机之间成组数据的交换。

  但在大中型计算机中采用DMA方式,因为I/O设备配置繁多,数据传输频繁。会出现一系列问题。

    • 问题一:如果每台I/O设备都配置专用的DMA接口,不仅增加了硬件成本,而且为了解决众多MDA接口同时访问主存的冲突问题,会使控制变得异常复杂。
    • 问题二:CPU需要对众多的MDA接口进行管理,同样会影响CPU的工作。

  因此在中大型机中,采用I/O通道的方式进行I/O设备与主机的信息交换。

  通道是用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件。

  通道可以视为一种具有特殊功能的处理器。有专用的通道指令,能独立的执行用通道命令编写的输入输出程序,但不是一个完全独立的处理器。

  通道依据CPU的I/O指令启动、停止和改变工作状态,是从属于CPU的一个专用处理器。

  • 优点:依赖通道管理的I/O设备在与主机交换信息时,CPU不直接参与管理,故提高了CPU的资源利用率。

  4. 具有 I/O 处理机的阶段(在《计算机体系结构》课程中讲解)

  I/O处理机又称为外围处理机(Peripheral Processor),它基本独立于主机工作,既可完成I/O通道完成的IO控制,又可完成码制变换、格式处理、数据块检错、纠错等操作。

  • 优点:具有I/O处理机的输入输出系统与CPU工作的并行性更高,I/O系统对于主机的独立性更高。

输入输出系统的组成

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

  I/O软件

    IO软件的主要任务
      • 将用户编制的程序(或数据)输入主机内。
      • 将运算结果输出给用户。
      • 实现输入输出系统与主机工作的协调。
    I/O指令

      I/O指令是机器指令的一类,其指令格式与其他指令既有相似之处,又有不同之处。

      • I/O指令的一般格式

      

操作码 命令码 设备码
  • 操作码:用于区分I/O指令与其他指令(如访存指令、算逻指令、控制指令等)。
  • 命令码:体现I/O设备的具体操作。

  • 设备码:多台I/O设备的选择码。

    •  I/O指令的命令码的内容
      • 将数据从I/O设备输入主机。
      • 将数据从主机输出到I/O设备。
      • 状态测试。利用命令码检测各个I/O设备的状态是“忙”(Busy),还是“准备就绪”,以便决定下一步是否可进入主机与I/O设备减交换信息的阶段。
      • 形成某些操作指令。
    通道指令
    • 通道指令是对具有通道的I/O系统专门设置的指令,这类指令一般用于指明参与传送(写入或读取)的数据组在主存中的首地址;
    • 指明需要传送的字节数或所传送的数据组的末地址。
    • 指明所选设备的设备码及完成某种操作的命令码。
    • 通道指令又称为通道控制字(Channel Control Word,CCW),它是通道用于执行I/O操作的指令,可以由管理程序存放在主存的任何地方,由通道从主存中取出并执行。

    I/O指令与通道指令的区别

      • 通道指令是通道自身的指令,用来执行I/O操作,如读、写、磁带走带、磁盘找道等。
      • 而I/O指令是CPU指令的一部分,是CPU用来控制输入输出操作的指令,由CPU译码后执行。

  I/O硬件

    包括I/O设备、I/O接口、设备控制器、通道等。

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

  IO设备编址方式

  设备寻址

  传送方式

  联络方式

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

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

原文地址:https://www.cnblogs.com/victoryluyun/p/11110152.html