3.5 总线控制

返回目录

点击3.4 总线结构查阅上一节内容


3.5 总线控制_第1张图片
目录

3.5.1 总线判优控制

  • 主设备(模块):对总线有控制功能
  • 从设备(模块):对总线无控制功能

总线判优控制可分为集中式和分布式

  • 集中式:将控制逻辑集中在一处
  • 分布式:将控制逻辑分散在与总线连接的各个部件或设备上

常见的几种控制优先权仲裁方式:

(1)链式查询

3.5 总线控制_第2张图片
链式查询方法

离总线控制部件最近的设备具有最高的优先级。
这种方法的特点是:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级别低的设备可能很难获得请求。

(2)计数器定时查询

3.5 总线控制_第3张图片
计数器定时查询方式

计数器的初始值可由程序设置,优先次序可以改变,这种方式对电路故障不如链式查询方式敏感,但增加了控制线(设备地址)数,控制也较为复杂。

(3)独立请求方式

3.5 总线控制_第4张图片
独立请求方式

每一台设备均有一堆总线请求线和总线同意线。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件有一排队电路,可根据优先次序确定响应哪一台设备的请求。
这种方式的特点:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。

以上,链式查询中仅用两根线确定总线使用权属于那个设备,在计数器查询中大致用


3.5.2 总线通信控制

部件争夺总线使用权时,在通信时间上,应按分时方式来处理,即以获得总线使用权的先后顺序分时占用总线。
通常将完成一次总线操作的时间称为总线周期,可分为以下四个阶段:

  • 申请分配阶段
  • 寻址阶段
  • 传数阶段
  • 结束阶段

总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。有以下四种方式:

1. 同步通信

3.5 总线控制_第5张图片
同步式数据输入传输

读命令,其传输周期:
:主模块发地址
:主模块发读命令
:主模块提供数据
:主模块撤销命令,从模块撤销数据

3.5 总线控制_第6张图片
同步式数据输出传输.jpg

写命令,其传输周期:
:主模块发地址
:主模块提供地址
:主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中
:主模块撤销写命令和数据等信号

这种通信的有点事规定明确、同意,模块间的配合简单一致。缺点是主、从模块十斤啊配合属于强制性“同步”,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成,对各不同速度的部件而言,必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。

同步通信一般用于总线长度较短、各部件存取时间比较一致

/*
假设总线时钟频率100MHz,总线传输周期4个时钟周期,总线宽度32位,求总线的数据传输率
*/

t = 1 / 100 = 0.01
T = t * 4 = 0.04
W = 32 -> 4 B(字节)
v = 4 / T = 100 MBps

:时钟周期(单位)
:总线传输周期(单位)
:总线宽度(位)
:总线数据传输率(单位)

2. 异步通信

克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式(又称握手方式)
异同步通信的应答方式可分为以下三种类型

3.5 总线控制_第7张图片
异步通信中请求与回答互锁

(1)不互锁方式
主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信息后,便撤销其请求信号;从模块接到请求信号后,在条件允许时发出回答信号,并且经过一段时间(这段时间的设置对不同设备而言是不同的)确认主模块已收到回答信号后,自动撤销回答信号。
通信双方无互锁关系
(2)半互锁方式
主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系;而从模块在接到请求信号后发出回答信号,但不必等待获知住模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系。由于一方存在互锁关系,一方不存在互锁关系,称为半互锁方式。
(3)全互锁方式
主模块发出请求信号后,必须待从模块回答后再撤销其请求信号;从模块发出回答信号后,必须待获知主模块请求信号已撤销后,再撤回其回答信号。双方存在互锁关系,故称为全互锁方式。
在网络通信中,通信双方采用的就是全互锁方式

异步通信可用于并行传送或串行传送。

异步串行通信时,没有同步时钟,也不需要在数据传送中传送同步信号。为了确定被传送的字符,约定字符格式为:1个起始位(低电平)、5~8个数据位、1个奇偶校验位、1个或1.5个或2个终止位(高电平)
异步串行通信的数据传送速率用波特率衡量。波特率:单位时间内传送二进制数据的位数,单位bps(位/秒)

/*
例:异步串行通信系统中,
假设每秒传输120个数据帧,其字符格式规定
包含1个起始位、7个数据位、1个奇校验位、1个终止位,
计算波特率
*/

1帧包含: 1 + 7 + 1 + 1 = 10位
波特率: (1 + 7 + 1 + 1) * 120 = 1200 bps = 1200波特

由于异步串行通信字符格式中包含若干附加位,如起始位、终止位、校验位,若是只考虑有效数据位,可用比特率衡量异步串行通信的数据传输速率,即单位时间内传送二进制有效数据的位数,单位bps

/*
例:在异步串行传输系统中,
若字符格式为:
1位起始位、8位数据位、1位奇校验位、1位终止位。
假设波特率为1200bps
求这时的比特率
*/

比特率: 1200 * (8 / (1 + 8 + 1 + 1 )) = 872.72 bps

为了提高速度,将异步串行传送中的附加位去掉,就可以采用同步传送,在同步传送时,数据块开始处要用同步字符SYN来指明。
同步串行传送速度高于异步串行传送速度,可达500千波特,而异步通信传送一般为50~19200波特。

3. 半同步通信

半同步通信时序可为以下形式

主模块发出地址信息。
主模块发出命令。
当为低电平时,进入等待,的宽度与的宽度一致。
.
.
.
从主模块提供数据。
主模块撤销读命令,从模块撤销数据

半同步通信适用于系统工作速度不高但又包含了许多工作速度差异较大的各类设备组成的简单系统。半同步通信控制方式比异同步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还不是很高。

4. 分离式通信

对系统总线而言,从模块内部读数据并无实质性的信息传输,总线纯属空闲等待。为了克服和利用这种消极等待,尤其在大型计算机系统中,总线的负载已处于饱和状态。
为此,提出了“分离式”的通信方式。其基本思想是:将一个传输周期(或总线周期)分解为两个子周期

第一个子周期中,主模块A在获得总线使用权后将命令、地址以及其他有关信息,包括该主模块编号(当有多个主模块时,此编号尤为重要)发到系统总线上, 经总线传输后,由有关的从模块B接收下来。
主模块A向系统总线发布这些信息只占用总线很短的时间,一旦发送完,立即放弃总线使用权,以便其他模块使用。

在第二个子周期中,当B模块收到A模块发来的有关命令信号后,经选择、译码、读取等一系列内部操作,将A模块所需的数据准备好,便由B模块申请总线使用权,一旦获准,B模块便将A模块的编号、B模块的地址、A模块所需的数据等一系列信息送到总线上,供A模块接收。

这种通信方式的特点如下:

  • 各模块欲占用总线使用权都必须提出申请
  • 在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号
  • 各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。
  • 总线被占用时都在做有效工作,或通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分地利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交叉重叠并行式传送,这对大型计算机系统是极为重要的。

点击4.1 存储器概述查阅下一节内容

返回目录

查看系统总线思考题与习题

你可能感兴趣的:(3.5 总线控制)