2.2总线控制

总线控制是总线学习的重点和难点,在对上一章2.1系统总线的了解和学习后,重头戏就开始了。

其实学习总线控制,其实就是分解为总线控制中的两个问题,当这两个问题可以最大化的完成,那么总线控制也就十分容易了。

这两个问题分别是:总线判优控制问题总线通信控制问题

总线判优控制

什么是总线判优控制呢? 是这样的:在同一时刻,总线上只能有一对设备进行占用
但是总所周知,总线上可不止存在一个设备,若是多个设备都发出了总线占用请求,就得需要总线判优控制来调节占用的顺序了。

基本概念

主模块(设备):对总线有控制权的设备。
从模块(设备)接收/响应 主模块命令的设备。

tips:

1.有些总线上可能会存在多个主设备,有些只能有一个
2.主设备和从设备有可能是同一个设备

判优方式

接下来看一下判优控制的几种方式:
总线判优控制的方式

链式查询

接下来的三中方式都属于是集中式,而集中式所表示判优逻辑单元设置在一起,下图最左边的总线控制部件就是。
在这里插入图片描述
图上包含数据线和地址线外,还有三种特殊的线:
BS-总线忙:设备已经占用总线。通过这条线告诉总线控制设备。
BR-总线请求:设备想要占用总线。方向 请求设备—>总线控制部件
BG-总线同意:发送允许该设备的占用请求信号,该线方向 总线控制部件—>请求设备

下面两个方式也会出现以上三条线(并非全出现)

我们可以观察图上的BG线,发现它是按照I/O接口的顺序逐个来查询,所以这就是链式查询这个名字的由来

举个例子:
假设 I/Oj接口1I/Oj接口k(k>1)同时通过BR发送占用请求,总线控制部件就会通过BG逐一查询,所以先得是 I/Oj接口1 的请求被满足,并且I/Oj接口1通过BS发送总线忙。

这样就会导致位置靠后的设备提出请求一直不会被满足。并且对电路的要求十分严格,若是某一个接口的电路连接发生问题,信号无法在向后传递。

好处就是结构简单

计数器定时查询

计数器定时查询
具体控制方式是:总线控制部件中加入一个计数器和一条设备地址线

请求传输方式和上述例子差不多,都是通过BR。设备地址这条线传输信号并且计数器启动,I/O接口若是没有提出请求,计数器+1,设备地址向后顺延知道找出请求设备(接口)。

计数器的启动可以从0开始,也可以从上一次启动的位置开始,也可以自己设置计数器的值。相比与链式查询更加灵活。

问题:在计数器定时查询中,总共需要多少条线?(不包括地址线和数据线)

设备地址线的宽度其实和设备的数量有关,我们假设有k个设备。
进行二进制编码至少需要 ⌈ log ⁡ 2 k ⌉ \lceil\log_2k\rceil log2k 位,所以设备地址也就需要 ⌈ log ⁡ 2 k ⌉ \lceil\log_2k\rceil log2k条线,最后再加上BR和BS

解答:总共有 ⌈ log ⁡ 2 k ⌉ + 2 \lceil\log_2k\rceil+2 log2k+2条线。

独立请求方式

独立请求方式
从图上可看出,每一个设备都有独立的BR和BG两条线。总线控制部件内部设置了一个排队器,用来确定设备的优先级。优先级可自行设置,更加灵活。
需要的线数比较多,k个设备需要2k条线。

总线通信控制

目的

上述我们已经确定了哪一对设备占用总线进行通信。现如今所面临的又一问题是:如何完成这一对设备的通信,保证通信过程的正确性?

于是就有了总线通信控制,其目的就是解决通信双方协调配合问题

总线传输周期

如图所示
总线传输周期

总线通信的四种方式

总线通信的四种方式

同步通信

同步通信输入
先看图,时钟代表的就是时间、周期、时间标准(时标),是同步通信的特点。
剩下地址、读命令和数据三条线我们只关注变化的部分(表示信号的变化),也就是虚线所分割的部分。
T 1 T_1 T1周期上升沿表示主设备给出地址信号
T 2 T_2 T2周期上升沿表示主设备给出读命令信号
T 3 T_3 T3周期上升沿从设备给出数据信号
T 4 T_4 T4周期上升沿主设备撤销命令,从设备撤销数据。
完成数据交换,后面依次撤销上面标注信息。下次遇到这种图基本上都这么看

异步通信

异步通信
上面是三个图,可不要看成一个图。下面是三个图分别介绍:
不互锁表示主设备发送请求信号,从设备接收到请求信号后发送回答信号,一段时间后,请求信号和回答信号独立撤销,二者互不影响。这种通信可靠性较差。
半互锁刚开始一样,后续主设备接收到回答信号后,才撤回请求信号。而回答信号撤回独立。
可能出现的问题:半互锁有可能造成请求信号一直保持高电平. 因为主设备没有收到应答,而从设备又关闭了信号发送,则主设备始终处于高电平状态里.
全互锁所有信号开始和撤销都互联,回答信号在接收到请求信号撤回信号才撤回。属于可靠数据传输。

半同步通信

半同步通信
之所以叫半同步呢,是因为它有同步的时钟,主从模块之间也可以有运行速度上的差异。为了调整这个差异,图上可以看到增加了一条‘WAIT等待响应信号(由从设备给出)

同步的部分还是一样看, T 3 T_3 T3之前从模块没有提供数据信号,WAIT信号则变成低电平,等待一个周期 T w T_w Tw。若是主模块检测到WAIT变成高电平,说明从模块可以进行数据发送,进入 T 3 T_3 T3周期。

分离式通信

以上三中通信方式的特点

1.主模块发地址、命令 — 占用总线
2.从模块准备数据 ----------不占总线
3.从模块向主模块发数据 -占用总线

而分离式通信可以充分利用总线,提高总线利用率。它把一个总线使用周期分为两个子周期:
分离式通信

其实刚开始接触主从模块时,我就一个问题:

如果从模块获得总线控制权,那么它会不会变成主模块。

这里其实给出了答案:会!

分离式的特点讲义的总结比较到位:

  1. 各模块都有权申请总线占用权
  2. 采用同步方式通信,不等对方回复
  3. 各模块准备数据时,不占用总线
  4. 总线被占用时,无空闲

以上就是总线控制的全部内容
不明白的地方可以去听原视频讲解计算机组成原理(哈工大刘宏伟)
创作不易,转载可私信。未同意禁止转载!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值