计算机组成原理学习笔记——总线的控制(重点)

总线上连接了很多个设备,设备之间要进行通信,那么我们需要解决两个问题。

  1. 总线判断优先性的设置。
  2. 如何完成通信过程,保证通信过程的正确性。

我们知道总线在同一时间只能由一对设备进行使用,多个设备可能同时向总线发出占用总线的请求,那么到底哪个设备占用总线呢?

导航:
总线的结构
总线的基本概念
总线的特性及性能指标



1.0 总线的判优控制

1.1基本概念

根据是否能提出总线请求,总线上的设备可以分为两类。

1.主设备(模块)

对总线有控制权,可以提出占用总线申请。

2.从设备(模块)

本身不能提出总线的占用申请,只能响应设备发来的总线命令。

计算机的某些设备既可以作为主设备又可以作为从设备。

关于总线的判优控制

1.集中式的方法

把总线的判优逻辑做在一个部件上,比如制作在CPU当中。

集中式判优又可以分为三类

  • 链式查询
  • 计数器定时查询
  • 独立请求的方式

2.分布式
把判优逻辑分布到各个设备当中

下面我们主要对集中式判优的三类方式进行逐一介绍

1.2集中式总线判优方式

1.21链式查询方式

在这里插入图片描述
BR提出占线申请

为什么说这种查询方式为链式查询呢?

就是因为BG这条线路,他是一个一个的向下面查询I/O接口,直到碰到第一个提出总线占用请求的I/O接口。

这个提出占用总线的I/O设备通过BS线路,设置总线忙的状态

查询循序是按优先级从上往下,也就是说这些I/O设备在连接的时候已经按优先顺序进行连接了,优先级低的排在后面

缺点
这种方式对于电路故障非常敏感

优点
结构简单,比较容易实现

这种结构一般用于微型计算机或者简单的嵌入式系统。

1.22 计数器定时查询方式

设备地址线就是通过计数器发出的信号来判断I/O设备是否发出占用请求
在这里插入图片描述

这个计数器初值可以是任何值,如果有一个主设备要向一个从设备进行数据传输,那么它通过BR这条线向总线控制部件提出总线占用请求。总线在接收到了请求之后,在能够响应请求的情况下,就会启动计数器,计数器的值通过设备地址这条线向外传输,设备地址在得到这个值之后,会按地址判断这个I/O接口是否发出了占用请求,如果没有,则地址往后推;如果是当前接口,那么当前借口就会通过BS这条线,进行应答。

优点
优先级是由计数器的初值进行设定的,比较灵活。

缺点
增加的设备地址线路会把整个结构变得相对复杂

1.23 独立请求方式

链式查询和计数器定时查询查找高优先级是否提出占用请求的时候,都是按照顺序进行查找的,速度都比较慢。

在这里插入图片描述
优先级的判定是内部的一个排队器进行设置的

优点
优先级的设置更加灵活了
缺点
当I/O设备比较多时,线路更复杂了

2.0 总线的通信控制

主设备在获得了总线的使用权之后就要和从设备进行数据交换,那么总线的通信控制就是解决主设备和从设备之间协调配合通信的问题

总线的传输周期:是指主设备和从设备之间完成一次完整的可靠的通信需要的时间。

在总线的传输周期中,也就是说要实现一次完整的通信,需要经过下面几个阶段

  1. 申请分配阶段 : 主模块申请,总线仲裁决定
  2. 寻址阶段 : 主模块通过地址找到从模块,通过相应的命令完成操作
  3. 数据传输阶段 : 主模块和从模块交换数据
  4. 结束阶段 : 主模块撤销有关的信息

总线通信的四种方式
在这里插入图片描述

2.1 同步通信

2.11 (1)同步式数据输入

同步通信在固定的时间点上要给出固定的操作。

在这里插入图片描述

同步时数据输入一定要有定宽定距的时钟来控制整个数据传输的过程,在给定的时间点上要完成相应的操作。

2.12 (2)同步式数据输出

因为要使用同一时钟,所以即使有的模块速度比较快,也要和速度慢的模块进行同步。

在这里插入图片描述

一般情况下同步通信应用在总线长度比较短,并且各个模块存取时间比较一致的情况。

2.2 异步通信

和同步通信相比,没有定宽定距的时钟,但是要增加两条线路。

一条是请求线,由主设备发出,用来请求信号

另外一条是应答线,用于从设备对主设备发出的请求进行应答

我们以输入数据为例看一下异步通讯的时序
在这里插入图片描述

  1. 不互锁方式:主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间。确认从模块已收到请求信号后,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认主设备已收到回答信号后,自动撤消回答信号。可见通信双方并无互锁关系。
  2. 半互锁方式:主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系:而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系。故称半互锁方式。
  3. 全互锁方式:主模块发出请求信号,待从模块回答后再撤其请求信号;从模块发出回答信号,待主模块获知后,再撤消其回答信号。故称全互锁方式

2.3 半同步通信(同步、异步的结合)

半同步通信既有同步的特征又有异步的特征。

在这里插入图片描述

我们以输入数据为例看一下半同步通讯的时序图

在这里插入图片描述

2.4 上述三种通信方式的共同点

我们还是以一个总线的传输周期(输入数据)为例

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

我们可以发现在第二个步骤的时候,总线处于空闲的状态,这是资源的一种浪费,那么有没有办法把空闲的这段时间给利用起来的通信方式呢?

那就是“分离式通信

2.5 分离式通信

分离式通信充分挖掘了系统总线每一个瞬间的潜力

在这里插入图片描述

分离式通信的特点

  1. 各个模块都有权申请占用总线,总线上的所有模块都可以成为主模块
  2. 采用同步方式通信,不等对方回答
  3. 各个模块准备数据时,不占用总线
  4. 总线被占用时,无空闲状态

本文参考了哈尔滨工业大学计算机组成原理


导航:
总线的结构
总线的基本概念
总线的特性及性能指标

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值