总线上连接了很多个设备,设备之间要进行通信,那么我们需要解决两个问题。
我们知道总线在同一时间只能由一对设备进行使用,多个设备可能同时向总线发出占用总线的请求,那么到底哪个设备占用总线呢?
导航:
总线的结构
总线的基本概念
总线的特性及性能指标
根据是否能提出总线请求,总线上的设备可以分为两类。
1.主设备(模块)
对总线有控制权,可以提出占用总线申请。
2.从设备(模块)
本身不能提出总线的占用申请,只能响应设备发来的总线命令。
计算机的某些设备既可以作为主设备又可以作为从设备。
关于总线的判优控制
1.集中式的方法
把总线的判优逻辑做在一个部件上,比如制作在CPU当中。
集中式判优又可以分为三类
2.分布式
把判优逻辑分布到各个设备当中
下面我们主要对集中式判优的三类方式进行逐一介绍
为什么说这种查询方式为链式查询呢?
就是因为BG这条线路,他是一个一个的向下面查询I/O接口,直到碰到第一个提出总线占用请求的I/O接口。
这个提出占用总线的I/O设备通过BS线路,设置总线忙的状态
查询循序是按优先级从上往下,也就是说这些I/O设备在连接的时候已经按优先顺序进行连接了,优先级低的排在后面
缺点
这种方式对于电路故障非常敏感
优点
结构简单,比较容易实现
这种结构一般用于微型计算机或者简单的嵌入式系统。
设备地址线就是通过计数器发出的信号来判断I/O设备是否发出占用请求
这个计数器初值可以是任何值,如果有一个主设备要向一个从设备进行数据传输,那么它通过BR这条线向总线控制部件提出总线占用请求。总线在接收到了请求之后,在能够响应请求的情况下,就会启动计数器,计数器的值通过设备地址这条线向外传输,设备地址在得到这个值之后,会按地址判断这个I/O接口是否发出了占用请求,如果没有,则地址往后推;如果是当前接口,那么当前借口就会通过BS这条线,进行应答。
优点
优先级是由计数器的初值进行设定的,比较灵活。
缺点
增加的设备地址线路会把整个结构变得相对复杂
链式查询和计数器定时查询查找高优先级是否提出占用请求的时候,都是按照顺序进行查找的,速度都比较慢。
优点
优先级的设置更加灵活了
缺点
当I/O设备比较多时,线路更复杂了
主设备在获得了总线的使用权之后就要和从设备进行数据交换,那么总线的通信控制就是解决主设备和从设备之间协调配合通信的问题。
总线的传输周期:是指主设备和从设备之间完成一次完整的可靠的通信需要的时间。
在总线的传输周期中,也就是说要实现一次完整的通信,需要经过下面几个阶段
同步通信在固定的时间点上要给出固定的操作。
同步时数据输入一定要有定宽定距的时钟来控制整个数据传输的过程,在给定的时间点上要完成相应的操作。
因为要使用同一时钟,所以即使有的模块速度比较快,也要和速度慢的模块进行同步。
一般情况下同步通信应用在总线长度比较短,并且各个模块存取时间比较一致的情况。
和同步通信相比,没有定宽定距的时钟,但是要增加两条线路。
一条是请求线,由主设备发出,用来请求信号
另外一条是应答线,用于从设备对主设备发出的请求进行应答
半同步通信既有同步的特征又有异步的特征。
我们以输入数据为例看一下半同步通讯的时序图
我们还是以一个总线的传输周期(输入数据)为例
我们可以发现在第二个步骤的时候,总线处于空闲的状态,这是资源的一种浪费,那么有没有办法把空闲的这段时间给利用起来的通信方式呢?
那就是“分离式通信”
分离式通信充分挖掘了系统总线每一个瞬间的潜力
分离式通信的特点
本文参考了哈尔滨工业大学计算机组成原理
导航:
总线的结构
总线的基本概念
总线的特性及性能指标