通道处理机

          之前准备讲通道处理机时,发现网上的资料很少,所以我自己总结一下。

          对于工作方式、工作速度、工作性质不同的外围设备,采用三种常用的三种不同的输入输出方式:程序控制输入输出方式、中断输入输出方式以及DMA方式。程序控制方式不论何时何地都受cpu的控制,不能与cpu并行工作;中断方式虽然可以克服不能并行的缺点,但数据输入输出都要经过cpu;DMA方式需要cpu在开始时对其进行初始化,结束时要向cpu申请中断;
          所以,为了把对外围设备的管理工作从cpu分离出来,产生了通道处理机技术。

          通道处理机一次数据传送过程,如下:



        


        1、cpu执行到访管指令时,按其提供的入口地址,第一次进入管态(特权态),将管理程序调出来执行。这个管理程序的任务是利用所带的参数来编制通道程序。
    在通道程序编好并且存入主存中某个通道缓冲区时,置好相应的通道地址字(即就是在主存的地址),当管理程序执行到“启动I/O”的管态程序时,开始选择设备。
      2、cpu选择指定的通道、子通道、设备控制器和设备后,发出启动命令,设备成功启动后,cpu就退出管态,返回目态(用户态)去执行其他的用户程序。

      3、被启动的通道开始执行存放于通道缓冲区的通道程序具体组织I/O操作,直至执行到断开通道指令完成了通道程序后,又向cpu发出I/O中断请求。
      4、cpu在响应I/O中断请求后,第二次进入管态,调出相应的管理程序,进行善后登记和处理后(正常结束则进行登记工作,异常情况则进行额外处理),重新返回目态。

             若是看明白所描述的过程,那么就很容易可以看懂下图了




           其中,在cpu发中断请求和响应中断请求之间的时间是中断响应时间。

   通道可划分为三类:字节多路通道,选择通道,数组多路通道

         对数据传送时间作以解释:


           


         Ts是设备选择时间,Td是传送一个字节所用的时间。

       通道流量是指一个数据在传送期间,单位时间内能够传送的最大数据量,一般用字节个数表示。

       传送过程说明:

       通道在每个工作周期里,对设备发出的请求进行一次排队,选出优先级高的设备请求予以响应和处理,只有在此刻之前或与此刻同时发出的请求传送数据的设备,才能参加本次排队,错过这个时间,必须等到下一次设备选择期,开始参加排队。
        流量设计的要求:要求实际流量接近极限流量,但可能会造成数据丢失,所以一般会增加通道最大流量,保证请求都可以被响应,或者动态改变优先级增加数据缓冲寄存器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章