版权归原作者所有,如有侵权,请联系我们

[科普中国]-通道地址

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

I/O 通道方式是DMA方式的发展, 它可进一步减少 CPU 的干预, 即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现 CPU、通道和 I/O 设备三者的并行操作,从而更有效地提高整个系统的资源利用率。1

I/O通道又与一般的处理机不同,主要表现在以下两个方面:一是其指令类型单一,这是由于通道硬件比较简单,其所能执行的命令,主要局限于与I/O操作有关的指令。通道道没有自己的内存,主要与内存共享内存。通道地址即读取通道指令的地址或通道地址是指在多通道中,所选定的通道号,通道中有多个子通道,可以同时为多个设备服务。

通道指令通道指令及其格式:通道指令也称通道控制字CCW,它是通道用于执行I/O操作的指令,由通道从主存中取出并执行之。

命令:命令用于说明通道和设备执行什么操作。命令一般又分为基本操作位和补充位两部分。通道运行时只识别基本操作位,而不识别补充位。

数据地址:它给出本次I/O操作时的主存缓冲区首地址,在数据传送过程中,每传送一个字或一个字节,它就加1或减1。

传送字节数:它表示数据传送字节数,每传送一个字节就修改其值,当为0时,表明传送结束。

特征位:

数据链特征位(SD) 若SD=1,表示下一条通道指令也是数据传送指令。

命令链特征位(CD) 若CD=1,表示该通道指令执行完毕,下一条要执行的通道指令与该通道指令的操作不同。

封锁错误长度特征(SLL) 错误长度是指通道指令中所给定的传送字节数与I/O设备请求传送的字节数不相等,则该通道指令执行完毕产生错误长度标志,并向CPU发出中断请求。若SLL=1,即使产生长度错标志,出不向CPU发出中断请求,继续向下执行通道指令。

封锁写入主存特征位(SKIP) SKIP=1时,禁止将I/O设备读出的数据写入主存。

程序控制中断特征位(PCI) PCI=1时,表示执行本通道指令时,允许产生一个中断条件。

说明:SD=0,CD=0本通道指令是通道程序的最后一条指令,可向CPU发出中断请求。

SD=1,CD=0下一条通道指令和本条通道的操作命令相同。

SD=0,CD=1下一条通道指令和本条通道的操作命令不同。

通道的组成不同的通道,其组成也不同,下面以选择通道为例介绍通道的组成。

(1)通道地址字寄存器CAWR:它存放从主存某固定单元中读出的通道地址字CAW,再从CAW中取出通道程序首地址。通道中的CAWR类似于CPU中的程序计数器PC。

(2)通道指令寄存器CCWR:它存放从主存中读出的通道指令,根据该通道指令向设备控制器发出控制命令。

(3)数据缓冲寄存器:当发生访存冲突时,它用于暂时保存数据,等待一段时间后再传送。另外,通道与设备之间按字节传送,而通道与主存之间按字传送,故它具有组装与拆分功能。

(4)设备地址寄存器:它接受启动I/O指令(SIO)中所包含的设备号,并依次向I/O总线送出设备地址,经译码产生选中设备信号。

(5)通道状态字寄存器CSWR:它存放通道与设备的状态信息。

(6)通道控制器:它产生控制通道操作的各种信号,类似于CPU中的微程序信号发生器。

通道程序通道是通过执行通道程序, 并与设备控制器共同实现对 I/O 设备的控制的。 通道程序是由一系列通道指令(或称为通道命令)所构成的。通道指令与一般的机器指令不同,在它的每条指令中都包含下列诸信息:

(1) 操作码。操作码规定了指令所执行的操作,如读、写、控制等操作。

(2) 内存地址。内存地址标明字符送入内存(读操作)和从内存取出(写操作)时的内存首址。

(3) 计数。该信息表示本条指令所要读(或写)数据的字节数。

(4) 通道程序结束位 P。该位用于表示通道程序是否结束。P=1 表示本条指令是通道程序的最后一条指令。

(5) 记录结束标志 R。R=0 表示本通道指令与下一条指令所处理的数据是同属于一个记录;R=1 表示这是处理某记录的最后一条指令。

通道的类型字节多路通道字节多路通道是一种简单的共享通道,是在时间分割的基础上服务干多台低速和中速的外围设备。

一个字节多路通道,包含多个按字节方式传送信息的子通道。每个子通道服务于一个设备控制器,每个子通道都可以独立地执行通道程序。各个子通道可以并行工作,但所有子通道的控制部分是公共的,各个子通道可以分时地使用。

字节多路通道要求每种设备分时占用一个很短的时间片,不同的设备在各自的时间片内与通道建立传输连接,实现数据的传送。通道不问断地、轮流地启功每个设备控制器,当通道为一个设备传送完一字节后,就转去为另一个设备服务。当通道为某一设备传送数据时,其他设备可以并行地工作,准备需要传送的数据字节或处理收到的数据字节。这种轮流服务的机制是建立在主机的速度比外没的速度高得多的基础之上的,它可以提高系统的工作效率。2

选择通道对于高速的设备,如磁盘等,要求较高的数据传输速度。对于这种高速传输,通道难以同时对多个这样的设备进行操作,只能一次对一个设备进行操作。这种通道称为选择通道,它与设备之间的传输一直维持到设备请求的传输完成为止,然后为其他外围设备传输数据。选择通道的数据宽度是可变的,通道中包含一个保存输入输出数据传输所需的参数寄存器。参数寄存器包括存放下一个主存传输数据存放位置的地址和对传输数据计数的寄存器。选择通道的输入输出操作启动之后,该通道就专门用于该设备的数据传输直到操作完成。选择通道的缺点是设备申请使用通道的等待时间较长。

数组多路通道(又称成组多路通道)数组多路通道以数组(数据块)为单位在若干高速传输操作之间进行交叉复用。这样可减少外设申请使用通道时的等待时间。数组多路通道适用于高速外围设备,这些设备的数据传输以块为单位。通道用块交叉的方法,轮流为多个外设服务。当同时为多台外设传送数据时,每传送完一块数据后选择下一个外设进行数据传送,使多路传输并行进行。数组多路通道既保留了选择通道高速传输的优点,又充分利用了控制性操作的时间间隔为其它设备服务,使通道的功能得到有效发挥,因此数组多路通道在实际系统中得到较多的的应用。特别是对于磁盘和磁带等一些块设备,它们的数据传输本来就是按块进行的。而在传输操作之前又需要寻找记录的位置,在寻找的期间让通道等待是不合理的。数组多路通道可以先向一个设备发出一个寻找的命令,然后在这个设备寻找期间为其他设备服务。在设备寻找完成后才真正建立数据连接,并一直维持到数据传输完毕。因此采用数组多路通道可提高通道的数据传输的吞吐率。