例4.3:一个字节多路通道连接、、、、共5台设备,这些设备分别每10微妙、30微妙、30微妙、50微妙和75微妙向通道发出一次数据传送的服务请求,请回答下列问题。 1、计算这个字节多路通道的实际流量和工作周期。 2、如果设计字节多路通道的最大流量正好等于通道实际流量,并假设数据传输率高的设备,通道响应它的数据传送请求的优先级也高。5台设备在0时刻同时向通道发出第一次传送数据的请求,并在以后的时间里按照各自的数据传输率连续工作。画出通道分时为各台设备服务的时间关系图,并计算这个字节多路通道处理完各台设备的第一次数据传送请求的时刻。 3、从时间关系图上发现什么问题?如何解决这个问题? 这个字节多路通道的实际流量为: 通道的工作周期为: 微秒/秒 包括通道选择设备的时间和为设备传送一个字节所用的时间。 5台设备向通道请求传送数据和通道为它们服务的时间关系如图4.17所示,向上的箭头表示设备的数据传送请求,有阴影的长方形表示通道响应设备的请求并为设备服务所用的时间间隔,包括通道选择设备的时间和为设备传送一个字节所用的时间,这两部分的时间之和为5微秒。 在图4.17中,5台设备在0时刻同时向字节多路通道发出第一次传送数据的请求,通道处理完各设备这个第一次请求的时间如下: 处理完设备的第一次请求的时刻为5微秒; 处理完设备的第一次请求的时刻为10微秒; 处理完设备的第一次请求的时刻为20微秒; 处理完设备的第一次请求的时刻为30微秒。
设备的第一次请求没有得到通道的响应,直到第85微秒通道才开始响应设备的服务请求,这时,设备已经发出了两个传送数据的服务请求,因此,第一次传送的数据有可能要丢失。 当字节多路通道的最大流量与连接在这个通道上的所有设备的数据流量之和非常接近时,虽然能够从宏观上保证通道流量平衡,不会丢失数据,但是,由于传输速度高的设备频繁发出服务请求,并且优先得到通道的响应,某些低速设备可能在比较长一段时间内得不到通道得响应,如图4.17中得设备。 只要仔细分析图4.17中时间关系不难发现,如果对所有设备的请求时间间隔取最小公倍数,那么,在这一段时间内通道的流量时平衡的,即所有设备的每一次服务请求都能够得 到通道的响应,但是,在任意一台设备的任意两次时间传送请求之间并不能保证都能得到通道的响应。 根据上面的分析,为了保证字节多路通道能够正常工作,即不丢失数据,可以采取下列几种方法: 第一种方法,增加通道的最大流量,保证连接在通道上的所有设备的数据传送请求能够及时得到通道的响应。 第二种方法,动态改变设备的优先级。例如,在图4.17中,只要在30至70微秒之间临时提高设备D5的优先级,那么,设备D5的第一次数据传送请求就能及时得到通道的响应,其它设备的数据传送请求也能正常得到通道的响应。当然,也可以采用临时降低设备优先级的办法,其效果是相同的。 第三种方法,增加一定数量的数据缓冲器,特别是对优先级比较低的设备。例如,在图4.17中,只要为设备D5增加一个数据缓冲寄存器,那么,它的第一次数据传送请求可以在第85微秒处得到通道的响应,第二次数据传送请求可以在第145微秒处得到通道的响应。所有设备的数据都不会丢失。