输入输出系统的发展和组成

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dongyanxia1000/article/details/53785266

1、输入输出系统的发展分为4个阶段

----1、早期阶段

早期的I/O设备种类较少,I/O设备与主存交换信息都必须通过CPU,如下图5.1所示:

               

这种交换方式延续了相当长的时间。当时的I/O设备具有以下几个特点:

  每个I/O设备都必须配有一套独立的逻辑电路与CPU相连,用来实现I/O设备与主机之间的信息交换,因此线路十分散乱、庞杂。

  输入输出过程是穿插在CPU执行程序过程之中进行的,当I/O设备与主机交换信息时,CPU不得不停止各种运算,因此,I/O设备与CPU是按串行方式工作的,极浪费时间。

  每个I/O设备的逻辑控制电路与CPU的控制器紧密构成一个不可分割的整体,它们彼此依赖,相互牵连,因此,欲增添、撤减或更换I/O设备是非常困难的。

---2、接口模块和DMA阶段

这个阶段I/O设备通过接口模块与主机连接,计算机系统采用了总线结构,如下图所示:

                       

通常,在接口中都设有数据通路和控制通路。数据经过接口既起到缓冲作用,又可完成串-并变换。控制通路用以传送CPUI/O设备发出的各种控制命令,或使CPU接受来自I/O设备的反馈信号。许多接口还能满足中断请求处理的要求,使I/O设备与CPU可按并行方式工作,大大地提高了CPU的工作效率。采用接口技术还可以使多台I/O设备分时占用总线,使多台I/O设备互相之间也可实现并行工作方式,有利于整机工作效率的提高。

虽然这个阶段实现了CPUI/O设备并行工作,但是在主机与I/O设备交换信息时,CPU要中断现行程序,即CPUI/O设备还不能做到绝对的并行工作。为了进一步提高CPU的工作效率,后来出现了DMADirect Memory Access,直接存储器存取)技术,其特点是I/O设备与主存之间有一条直接数据通路,I/O设备可以与主存直接交换信息,使CPUI/O设备与主存交换信息时能继续完成自身的工作,故资源利用率得到了进一步提高。

---3、具有通道结构的阶段

在小型和微型计算机中,采用DMA方式可实现高速I/O设备与主机之间成组数据的交换,但在大中型计算机中,I/O设备配置繁多,数据传送频繁,若仍采用DMA方式会出现一系列问题。① 如果每台I/O设备都配置专用的DMA接口,不仅增加了硬件成本,而且为了解决众多DMA接口同时访问主存的冲突问题,会使控制变得十分复杂。②CPU需要对众多的DMA接口进行管理,同样会占用CPU的工作时间,而且因频繁地进入周期挪用阶段,也会直接影响CPU的整体工作效率。因此在大中型计算机系统中,采用I/O通道的方式来进行数据交换。如5.3图所示为具有通道结构的计算机系统。

                          

通道是用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件,可以视为一种具有特殊功能的处理器。

通道有专用的通道指令,能独立地执行用通道指令所编写的输入输出程序,但不是一个完全独立的处理器。

它依据CPUI/O指令进行启动、停止或改变工作状态,是从属于CPU的一个专用处理器。依赖通道管理的I/O设备在与主机交换信息时,CPU不直接参与管理,故提高了CPU的资源利用率。

---4、具有I/O处理机的阶段

输入输出系统发展到第四阶段,出现了I/O处理机。I/O处理机又称为外围处理机Peripheral Processor),它基本独立于主机工作,既可完成I/O通道要完成的I/O控制,又可完成码制变换、格式处理、数据块检错、纠错等操作。具有I/O处理机的输入输出系统与CPU工作的并行性更高,这说明I/O系统对主机来说具有更大的独立性。

2、输入输出系统的组成

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

--1I/O软件输入输出系统软件的主要任务如下:

① 将用户编制的程序(或数据)输入主机内。

② 将运算结果输送给用户。

③ 实现输入输出系统与主机工作的协调等。

不同结构的输入输出系统所采用的软件技术差异很大。一般而言,当采用接口模块方式时,应用机器指令系统中的I/O指令及系统软件中的管理程序便可使I/O设备与主机协调工作。当采用通道管理方式时,除I/O指令外,还必须有通道指令及相应的操作系统。
(1) I/O指令:

I/O指令是机器指令的一类,其指令格式与其他指令既有相似之处,又有所不同。I/O指令可以和其他机器指令的字长相等,但它还应该能反映CPUI/O设备交换信息的各种特点,如它必须反映出对多台I/O设备的选择,以及在完成信息交换过程中,对不同设备应做哪些具体操作等。I/O指令的一般格式是:              

操作码 命令码 设备码

操作码字段可作为I/O指令与其他指令(如访存指令、算逻指令、控制指令等)的判别代码,命令码体现I/O设备的具体操作,设备码是多台I/O设备的选择码

I/O指令的命令码一般可表述如下几种情况。

  将数据从I/O设备输入主机。例如,将某台设备接口电路的数据缓冲寄存器中的数据读入CPU的某个寄存器(如累加器ACC)。

  将数据从主机输出至I/O设备。例如,将CPU的某个寄存器(如ACC)中的数据写入某台设备接口电路的数据缓冲寄存器内。

  状态测试。利用命令码检测各个I/O设备所处的状态是”(Busy)还是准备就绪”(Ready),以便决定下一步是否可进入主机与I/O设备交换信息的阶段。

  形成某些操作命令。不同I/O设备与主机交换信息时,需要完成不同的操作。

I/O指令的设备码相当于设备的地址。只有对繁多的I/O设备赋予不同的编号,才能准确的选择某台设备与主机交换信息。

(2) 通道指令

通道指令是对具有通道的I/O系统专门设置的指令,这类指令一般用以指明参与传送(写入或读取)的数据组在主存中的首地址;指明需要传送的字节数或所传送数据组的末地址;指明所选设备设备码及完成某种操作命令码。这类指令的位数一般较长。

通道指令又称为通道控制字(Channel Control WordCCW),它是通道用于执行I/O操作的指令,可以由管理程序存放在主存的任何地方,由通道从主存中取出并执行。通道程序即由通道指令组成,它完成某种外围设备与主存之间传送信息的操作。例如,将磁带记录区的部分内容送到指定的主存缓冲区内。通道指令是通道自身的指令,用来执行I/O操作,如读、写、磁带走带及磁盘找道等。而I/O指令是CPU指令系统的一部分,是CPU用来控制输入输出操作的指令,由CPU译码后执行。在具有通道结构的计算机中,I/O指令不实现I/O数据传送,主要完成启、停I/O设备,查询通道和I/O设备的状态及控制通道所做的其他操作。具有通道指令的计算机,一旦CPU执行了启动I/O设备的指令,就由通道来代替CPUI/O设备的管理。

--2I/O硬件

输入输出系统的硬件组成是多种多样的,在带有接口的I/O系统中,一般包括接口模块I/O设备两大部分。图5.2中的接口电路实际上包含许多数据传送通路和有关数据,还包含控制信号通路及其相应的逻辑电路。图5-5是具有通道的I/O系统的示意图。

一个通道可以和一个以上的设备控制器相连,一个设备控制器又可以控制若干台同一类型的设备。例如,IBM360系统的一个通道可以连接8个设备控制器,一个设备控制器又与8台设备相连,因此,一个通道可以管理64台设备。

                

展开阅读全文

没有更多推荐了,返回首页