总线仲裁及定时

一、总线仲裁

●连接到总线上的功能模块有主动和被动两种形态,其中主方可以启动一个总线周期,而从方只能响应主方请求。每次总线操作,只能有一个主方,但是可以有多个从方。

●为了解决多个功能模块争用总线的问题,必须设置总线仲裁部件。

●总线占用期:主方持续控制总线的时间。

●按照总线仲裁电路的位置不同,仲裁方式分为集中式和分布式两种。

1.集中式仲裁

链式查询方式:离中央仲裁器最近的设备具有最高优先权,离总线控制器越远,优先权越低。
优点:只用很少几根线就能按一定优先次序实现总线控制,并且这种链式结构很容易扩充设备。
缺点:是对询问链的电路故障很敏感,优先级固定。

3a7e04b5b25140ecbb99806731f63ee4.png

 ●计数器定时查询方式:总线上的任一设备要求使用总线时,通过 BR 线发出总线请求。中央仲裁器接到请求信号以后,在 BS 线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置“1" BS 线,获得了总线使用权,此时中止计数查询。每次计数可以从“0”开始,也可以从中止点开发始。如果从“0"开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优级相等。

●计数器的初值也可用程序来设置,这可以方便地改变优先次序,但这种灵活性是以增加线数为代价的。可方便的改变优先级。

4bb8202c5d10438abdac6b69dc77bce7.png

 

 ●在独立请求方式中,每一个共享总线的设备均有一对总线请求线 BR 和总线授权线 BGi 。当设备要求使用总线时,便发出该设备的请求信号。总线仲裁器中有一个排队电路,它根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号 BGi 。独立请求方式的优点是响应时间快,即确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。其次,对优先次序的控制相当灵活。它可以预先固定,例如 BRO 优先级最高,BR1次之... BRn 最低;也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。因此当代总线标准普遍采用独立请求方式。

优点是响应时间快,即确定优先响应的设备所花费的时间少。对优先次序的控制也是相当灵活的。

a3a0bcce2d384ce49bb7e6e7f6503f97.png

 2.分布式仲裁

分布式仲裁:不需要中央仲裁器,而是多个仲裁器竞争使用总线。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础。

d05eebe79c3f407caef99a2277143f7d.png

 二、总线的定时

●总线的信息传送过程:请求总线、总线仲裁、寻址、信息传送、状态返回。

●定时:事件出现在总线上的时序关系。

1.同步定时(由统一的时序信号控制总线上的传输操作)

92346706ad1b4ab481bbcff443865ada.png

 2.异步定时(无固定时钟周期划分;总线周期由传送操作的实际需求决定)

1ea39724cda943faa71d3ca374fe031e.png

 86ed9d78d91e466e8ef3106349c5dfe3.png

260610ae0fbd4dcc95b8a83f8b18a9f4.png 

a80f17be87eb4bf08cf9fe60ea805c0a.png 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Logisim 中实现总线仲裁,你可以使用一种常见的方法,即基于优先级的总线仲裁。下面是一个简单的示例,展示了如何使用 Logisim 实现一个基于优先级的总线仲裁器: 1. 首先,创建一个新的 Logisim 项目,并添加所需的组件。在这个例子中,我们使用一个 8 位的总线和三个设备作为示例。你可以根据自己的需要调整总线宽度和设备数量。 2. 将总线分别连接到三个设备的输入端口。确保连接到每个设备的输入端口是唯一的。 3. 在每个设备上添加一个 "请求" 输入,用于向仲裁器发送请求信号。 4. 添加一个 "仲裁器" 组件。该组件将对来自多个设备的请求进行优先级排序,并选择其中一个设备作为赢家。 5. 将每个设备的请求连接到仲裁器的输入端口。确保连接到仲裁器的输入端口是唯一的。 6. 在仲裁器上添加一个 "选择" 输出,用于指示赢家设备的编号。 7. 根据优先级,在仲裁器中设置选择逻辑。例如,可以使用多个优先级编码器或其他逻辑门组合来实现。 8. 将选择输出连接到总线上。这将允许仲裁器选择的设备将其数据发送到总线。 完成上述步骤后,你可以测试总线仲裁器是否按照预期工作。将请求信号发送到仲裁器,并观察选择输出是否正确反映了赢家设备的编号。 这只是一个简单的示例,你可以根据自己的需求和复杂度扩展和改进总线仲裁器的实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值