下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Java中的I/O通道分析整理

作者:课课家教育the     来源: http://www.kokojia.com点击数:1100发布时间: 2017-05-10 10:00:09

标签: I/O通道软件工程Java

  在计算机中,信息传送方式有四种:串行传送、并行传送、并串行传送和分时传送。然而我们都知道,信息的传送需要借助通道才能完成。今天小编要讲的就是 I/O通道,或许大部分人不知道这是什么,没关系,下面就为大家一一解答。

    I/O通道

  I/O通道(I/OChannel)设备的引入实际上,I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。但I/O通道又与一般的处理机不同,主要表现在以下两个方面:

  一是其指令类型单一,这是由于通道硬件比较简单,其所能执行的命令,主要局限于与I/O操作有关的指令;再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的,换言之,是通道与CPU共享内存。

  2.通道的组成

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

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

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

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

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

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

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

  3.通道类型

  1)数组多路通道

  数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。它含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。也正因此,才使该通道能被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。

  2)数组选择通道

  字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。可见,这种通道的利用率很低。

  1)字节多路通道

  这种通道可以连接多台慢速I/O设备,以交叉方式传送数据,即各设备轮流使用通道与主存进行数据传送,且每次只传送一个字节。因为每次数据传送仅占用了不同的设备各自分得的很短的时间片,所以大大提高了通道的利用率。

Java中的I/O通道分析整理_I/O通道_软件工程_Java_课课家教育

    补充:子通道是指实现每个通道程序所对应的硬设备。选择通道在物理上可以连接多台设备,但在一段时间内只能执行一台设备的通道程序,即在逻辑上只能连接一台设备,所以它只包含一个子通道。字节多路通道和数组多路通道在物理上可以连接多台设备,而且在一段时间内可轮流执行多台设备的通道程序,即在逻辑上也可以连接多台设备,所以它们包含若干子通道。需要注意的是,一个子通道可以连接多台设备,但子通道数并不等于物理上可连接的设备数,而是该通道中能够同时工作的设备数。

  4.“瓶颈”问题

“瓶颈”问题

      小编结语:

      以上内容就是小编今天要跟大家分享的宝贝,看完这篇文章,你是否对与之相关的内容感兴趣或者有什么疑问,都可以登录课课家教育官网,关注课课家公众号,小编都会在课课家等您!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程