zoukankan      html  css  js  c++  java
  • 计算机组成原理(九)——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设备与主机信息传送的控制方式

  • 相关阅读:
    mysql各版本特点
    jQuery 获取文件后缀的方法
    jquery中动态效果
    常用CSS缩写语法总结
    判断两个时间这间间隔几分钟
    jQuery操作Cookie
    禁止表单自动提示缓存数据
    jQuery.lazyload
    Jquery.Sorttable 桌面拖拽自定义
    分享13款非常有用的 jQuery 插件
  • 原文地址:https://www.cnblogs.com/victoryluyun/p/11110152.html
Copyright © 2011-2022 走看看