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

[科普中国]-直接存取通道

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

简介

随着计算机技术的发展,I/O 控制方式也在不断地发展。在 I/O 控制方式的整个发展过程中,始终贯穿着这样一条宗旨,即尽量减少主机对 I/O 控制的干预,把主机从繁杂的 I/O 控制事务中解脱出来,以便更多地去完成数据处理任务。直接存取通道是指同一时间可以随意存取外存或内存中一个物理记录的通道,这可以极大地提高CPU效率。例如,双端口DRAM(动态随机存取存储器)有两个独立的数据端口,可以分别进行数据的输入和输出,其中一个可以直接由CPU存取,另一个端口可以独立地被其他部件经过直接存取通道存取,直接存取通道可以和CPU同时工作。1

通道一种把外围设备和主存储器连接起来的数据通路。用于替代中央处理机对外围设备和数据的输入输出操作控制。通道与中央处理机、主存储器及外围设备的连接如图所示,双线代表数据线,单线代表控制线。由于中央处理机和通道可以分时使用主存储器,从而实现中央处理机内部运算和外围设备并行操作。

通道的结构和功能随着机器及所连接的外围设备的不同而差异很大。按通道和中央处理机的独立程度可分为:①结合型通道。在硬件结构上和中央处理机组合在一起,利用中央处理机的某些部件作为通道部件,其结构简单,但通道功能较弱,效率较低。②独立型通道。在硬件结构上和中央处理机完全独立,通道功能强,效率高,但设备成本也高。2

通道的工作过程初始化编制通道程序;

根据需要在主存中开辟I/O缓冲区;

将缓冲区首址及传送字节数送到通道程序中,并将通道程序首地址写入某固定单元;

执行启动命令SIO,该指令中给出通道号及设备号。

通道和设备的启动指定的通道接到启动信号后,从某固定单元中读出通道地址字CAW;

CAW送入通道地址寄存器CAWR;

通道将SIO指令送来的设备号送入设备地址寄存器,然后向I/O总线送出所要启动的设备号;

指定设备向通道送出回答信号,并回送本设备地址;

若回送的设备地址与通道送出的设备地址一致,则启动成功;

通道根据VAWR中的内容从主存取出第一条通道指令CCW1,并存于通道指令寄存器CCWR中,然后根据CCW1中的命令码去启动设备;

设备在接到第一条通道发出的命令后,向通道送出状态码,若状态码全为0,则通道向CPU送出条件码,并告之启动成功。反之,则表示不能正常执行通道命令,并说明失败的原因。

数据传送执行完第一条通道指令后,CAWR增值,以便读出第二条通道指令。若执行的是数据传送指令,当其传送字节数减到0时,表明该通道指令执行完毕,本次数据传送结束。依次类推,直到执行的某条通道指令中SD和CD均为0,则该通道指令是本通道程序中的最后一条。

通道程序的结束当执行完通道程序的最后一条通道指令,则结束通道程序:一方面通道向设备发出结束命令,一方面向CPU发出中断请求信号,并将通道状态写入主存专用单元。

设备接到结束命令后立即进行某些必要的动作,例如磁带继续运行一段,使磁头停止在两个数据之间的空白处。在设备必要的动作结束后,反馈给通道一个信号,以断开与通道的连接。

CPU接到中断请求信号后,响应中断,执行I/O中断管理程序,对通道作结束处理。