总线的仲裁

连接到总线上的功能模块有主动和被动两种形态。如CPU模块,它在不同的时间可以用作主方,也可用作从方;而存储器模块只能用作从方。主方可以启动一个总线周期,而从方只能相应主方的请求。每次总线操作,只能有一个主方占用总线控制权,但同一时间里可以有一个或多个从方。
我们知道,除CPU模块外,I/O模块也可提出总线请求。为了解决多个主设备同时竞争总线控制权的问题,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线的下一次主方。
对多个主设备提出的占用总线请求,一般采用优先级公平策略进行仲裁。例如,在多处理器系统中对各CPU模块的总线请求采用公平的原则来处理,而对I/O模块的总线请求采用优先级策略。被授权的主方在当前总线业务一结束,即接管总线控制权,开始新的信息传送。主方持续控制总线的时间称为总线占用期
按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁分布式仲裁两类。

集中式仲裁

集中式仲裁中每个功能模块有两条线连到总线控制器:一条是送往仲裁器的总线诸求信号线BR,一条是仲裁器送出的总线授权信号线BG。
(1)链式查询方式 为减少总线授权线数量,采用了下图的菊花链查询方式。
菊花链查询方式
链式查询方式的主要特点是,总线授权信号BG串行地从一个I/O接口传送到下一个
I/O接口。假如BG到达的接口无总线请求,则继续往下查询;假如BG到达的接口有总线请求,BG信号便不再往下查询。这意味着该I/O接口就获得了总线控制权。
显然,在查询链中离总线仲教器最近的设备具有最高优先级,离总线仲裁器远, 优先级越低。因此,链式查询是通过接口的优先级排队电路来实现的。
链式查询方式的优点是,只用很少几根线就能按一定优先次序实现总线仲裁, 并且这种结构很容易扩充设备。
链式查询方式的缺点是对询问链的电路故障很敏感,如果第i个设备的接口中有关链的电路有故障,那么第i个以后的设备都不能进行工作。另外查询链的优先级是固定的,如果优先级高的设备出现频繁的请求时,那么优先级较低的设备可能长期不能使用总线。
(2)计数器定时查询方式 计数器定时查询方式原理下图所示。
定时器定时查询方式
总线上的任一设备要求使用总线时,通过BR线发出总线请求。总线仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置“1”BS 线,获得了总线使用权,此时中止计数查询。
每次计数可以从“0” 开始,也可以从中止点开始。如果从“0” 开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优先级相等。计数器的初值也可用程序来设置,这就可以方便地改变优先灰序,显然这种灵活性是以增加线数为代价的。
(3)独立请求方式 独立请求方式原理如下图。
独立请求方式
在独立请求方式中,每个共享总线的设备均有一对总线请求线 B R i BR_i BRi和总线授权线 B G i BG_i BGi。当设备要求使用总线时,便发出该设备的请求信号。总线仲裁器中有一个排队电路, 它根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号 B G i BG_i BGi
独立请求方式的优点是响应时间快,即确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。其次,对优先次序的控制相当灵活。它可以预先固定,例如 B R 0 BR_0 BR0优先级最高, B R 1 BR_1 BR1次之······ B R n BR_n BRn最低;也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。因此当代总线标准普遍采用独立请求方式。
对于单处理器系统总线而言,总线仲裁器又称为总线控制器,它是CPU的一部分,一般是一个单独的功能模块

分布式仲裁

分布式仲裁不需要集中的总线仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础。
下图表示分布式仲裁器的逻辑结构示意图。
分布式仲裁
其要点如下:
(1)所有参与本次竞争的各主设备(本例中共8个)将设备竞争号CN取反后打到仲裁总
线AB上,以实现“线或”逻辑。AB线低电平时表示至少有一个主设备的 C N i CN_i CNi为1, AB线高电平时表示所有主设备的 C N i CN_i CNi为0。
(2)竞争时CN与AB逐位比较,从最高位( b 7 b_7 b7)至最低位( b 0 b_0 b0)以一维菊花链方式进行,只有上一位竞争得胜者 W i + 1 W_{i+1} Wi+1位为1。当 C N i CN_i CNi=1, 或 C N i CN_i CNi=0且 A B i AB_i ABi为高电平时,才使 W i W_i Wi位为1。若 W i W_i Wi=0时,将一直向下传递,使其竞争号后面的低位不能送上AB线。
(3)竞争不到的设备自动撤除其竞争号。在竞争期间,由于W位输人的作用,各设备在其内部的CN线上保留其竞争号并不破坏AB线上的信息。
(4)由于参加竞争的各设备速度不一致,这个比较过程反复(自动)进行,才有最后稳定的结果。竞争期的时间要足够,保证最慢的设备也能参与竞争。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值