总线 —— 总线仲裁

本文介绍了总线仲裁的概念,旨在解决多个主设备竞争总线控制权的问题。集中仲裁包括链式查询、计数器定时查询和独立请求方式,其中独立请求方式响应速度快但控制线数量多。分布仲裁则让每个潜在主模块有自己的仲裁器,实现更灵活的优先级控制。
摘要由CSDN通过智能技术生成

一、总线仲裁的定义

为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始传送数据。

在这里插入图片描述


二、总线仲裁的分类

总线仲裁方式按其仲裁控制机构的设置可分为集中仲裁方式和分布仲裁方式。

将总线上所连接的各类设备按其对总线有无控制功能分为:

  • 主设备:对总线有控制权,信息的传送是由主设备启动的
  • 从设备:对总线没有控制权,从设备只能响应从主设备发来的总线命令

工作流程:

  1. 主设备发出请求信号;
  2. 若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线;
  3. 获得总线使用权的主设备开始传送数据。

1. 集中仲裁方式

总线控制逻辑基本上集中于一个设备(如CPU)中。将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决,称为集中仲裁方式。集中仲裁方式有链式查询方式、计数器定时查询方式和独立请求方式三种。

(1)链式查询方式

共用一根总线请求线 BR,通过总线允许线 BG 串行地传送响应信号。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值