[计组原理篇]总线控制(总线判优控制、总线通信控制)

基本概念

定义
总线上有多个部件,所以需要总线控制器统一管理

何时何部件发送信息
如何给信息传送定时
如何防信息丢失
如何避免多个部件的同时发送
...

分类

  • 总线判优控制(仲裁控制)
  • 通信控制

总线判优控制

基本概念
总线判优控制可分为集中式和分布式两种,前者将控制逻辑集中在一处(如在 CPU中),后
者将控制逻辑分散在与总线连接的各个部件或设备上。

主设备(模块):

对总线有控制权,启动在总线上的信息传送

从设备(模块):

只能响应从主设备发来的总线命令,没有控制权

为何判优

假如某主设备欲与某从设备进行通信
首先主设备发出总线请求信号
但是若此时有多个主设备同时要使用总线
那此时如何决定哪个主设备获得使用权呢?
所以总线的判优控制就应运而生了
它可以按一定的优先等级顺序分配使用权

分类
总线判优控制

  • 集中式
    链式查询
    计数器定时查询
    独立请求方式
    
  • 分布式

链式查询

链式查询图解
在这里插入图片描述
文字叙述:

# BS,BR,BG代表了总线的3种状态信号(忙,请求,同意)
如果BG信号到达的接口有BR信号
那么BG信号就不再往下传了
意味着该接口获得了总线使用权
于是发出BS信号,表示总线已被占用

在查询链中离总线控制器最近的部件具有最高优先权,离总线控制器越远,优先权越低。

特点

链式查询通过接口的优先权排队电路实现
结构简单,易扩充设备(优点)
速度慢,需要一直向下查询,对电路故障特别敏感(缺点)
优先级别低的设备可能很难获得请求(缺点)
最不稳定(缺点)

计数器查询

计数器查询图解
在这里插入图片描述
文字叙述:

#与链式查询相比
 多了设备地址线
 少了同意总线BG
#判优流程
 总线控制部件接收到BR信号
 在BS=0时(总线未被占用)
 总线控制部件的计数器开始计数
 且通过设备地址线向各设备发一组地址信号
 当某个请求占用总线的设备地址与计数值一致时
 终止计数查询

注:
如果计数器的初值是0,则各部件的优先次序与链式查询法相同。
如果从中止点开始,则每个设备使用总线的优先级相等
特点

计数器初值可用程序设置,方便改变优先次序
代价:增加了控制线数

在这里插入图片描述

独立请求方式

独立请求方式图解
在这里插入图片描述
文字叙述:

#在独立请求方式中
 每一个共享总线的部件均有一队控制线
     总线请求BR(i)
     总线同意BG(i)
#p判优流程
 当某个部件发出BR(i)信号时
 总线控制器中有排队电路
 可据此优先次序决定首先响应哪个部件的BR(i)
 然后给该部件发回BG(i)

特点

响应时间快,对优先次序的控制相当灵活(优点) 
代价:增加了控制线数

总线通信控制

定义
总线控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合.
基本概念
在总线的共享中,在竞争总线使用权时,按部件的优先等级分配;而在通信时间上,则按照分时方式处理.
分时方式:

#以获得总线使用权的先后顺序分时占用总线
即哪个部件获得使用权
此时刻就由该部件传送
等其下一部件获得使用权后
接着下一时刻传送
(轮流交替传送)

总线周期

申请分配阶段: 主模块申请,总线仲裁决定
寻址阶段: 主模块向从模块发出地址和命令
传数阶段: 主模块和从模块交换数据
结束阶段: 主模块撤销有关信息
# 设备=模块

在这里插入图片描述

同步通信

定义
通信双方由统一时标控制数据传送成为同步通信

同步数据输入
在这里插入图片描述
附注:
在这里插入图片描述
同步数据输出
在这里插入图片描述
附注:
在这里插入图片描述
注:
同步通信采用速度最慢的那个模块作为标准,即使有关模块的速度比较快,也要按照最慢的模块进行设置。
一般应用在总线长度比较短,并且各个模块的存取时间比较一致的情况下,使用同步式传输数据。
特点

优点:具有较高的传输效率,可靠性较高
缺点:所有模块都强求速度一致的同一时限,设计缺乏灵活性

异步通信

定义
异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性.
没有公共的时钟标准.也不要求所有部件严格的统一操作时间,而是采用应答模式(又称握手模式)
应答模式:

即当主模块发出请求(Request)时
得等到从模块反馈回来响应(Acknowledge)信号后
才开始通信
#要求:
 主、从模块之间增加两条应答线(握手交互信号线 Handshaking)

分类
异步通信得应答方式可分为:

  • 不互锁
  • 半互锁
  • 全互锁

在这里插入图片描述

不互锁方式

通信流程

# 主模块
主模块发出请求信号后
不用等待来自从模块得响应信号
而是经过一段时间
确认从模块已收到请求信号后
便撤销其请求信号
# 从模块
从模块接收到请求信号后
在条件允许时发出回答信号
并且通过一段时间
确认主模块已收到回答信号后
自动撤销回答信号

实例
在CPU向主存写信息时,CPU要先后给出地址信号、写命令以及写入数据,即采用的是不互锁的方式.

半互锁方式

概念
当一方存在互锁关系,另一方不存在互锁关系,则称为半互锁方式.
缺点:有可能导致“请求”信号一直保持高电平
通信流程

# 主模块(有互锁关系)
主模块发出请求信号
必须等接收到来自从模块得回答信号后
才能撤销其请求信号
# 从模块
从模块接收到请求信号后
发出回答信号
不用确认主模块请求信号已是否已撤销
而是隔一段时间后
自动撤销回答信号

实例
在多机系统中,某个CPU需要访问共享存储器(供所有CPU访问的存储器)时,该CPU发出访存命令后,必须收到存储器未被占用的回答信号后,才能真正进行访存操作.

全互锁方式

通信流程

# 主模块(有互锁关系)
主模块发出请求信号
必须等接收到来自从模块得回答信号后
才能撤销请求信号
# 从模块(有互锁关系)
从模块发出回答信号
必须等主模块请求信号已撤销后
再撤销其回答信号

实例
在网络通信中,通信双发即采用的全互锁方式.

波特率

异步通信可用于

  • 并行传送
  • 串行传送

异步串行通信的数据传送速率用波特率衡量.
波特率是指单位时间内传送二进制数据的位数,单位用bps(位每秒),记作波特.

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

根据题目给出的字符格式
1帧包含1+7+1+1=10位
故波特率为:
(1+7+1+1)x120=1200bps=1200波特

例题2
在异步传输系统中,若字符格式为:1位起始位、8位数据位、1位奇校验位、1位终止位.假设波特率为1200bps,求此时的比特率.
解:

根据题目给出的字符格式
有效数据位有8位
而1帧包含1+8+1+1=11位
故比特率为:
1200(8/11)=872.72 bps

附:总线复用: 一条信号线上分时传送两种信号。
例如:
通常地址总线与数据总线在物理上是分
开的两种总线,地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,优化设计, 特将地址总线和数据总线共用一组物理线路, 在这组物理线路上分时传输地址信号和数据信号,即为总线的多路复用。

半同步通信(同/异步结合)

基本概念
半同步通信既保留了同步的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻进行判断识别;同时又像异步那样,允许不同速度的模块和谐地工作.
特点
WAIT响应信号线:采用插入时钟(等待)周期的措施来协调通信双方的配合问题.
半同步通信数据输入过程(图)
在这里插入图片描述
特点

优点:其控制方式比异步通信简单
缺点:对系统时钟频率不能要求太高,系统工作的速度不会太高

三种通信的共同点
一个总线传输周期(以输入数据为例):

主模块发地址、命令     :占用总线
从模块准备数据        :不占用总线,即总线空闲
从模块向主模块发数据   :占用总线

分离式通信

目的
充分挖掘系统总线每个瞬间的潜力

一个总线传输周期:

#子周期1:
 主模块申请占用总线
 使用完后即放弃总线的使用权
#子周期2:()模块申请占用总线
 将各种信息传送至总线上

特点

各模块有权申请占用总线
采用同步凡是通信,不等对方回答
各模块准备数据时,不占用总线
总线被占用时,无空闲
# 充分提高了总线的有效占用

系列文章

1 计算机系统概论
2 系统总线

参考资料:
《计算机组成原理》

0wl
原创文章 31 获赞 12 访问量 1572

猜你喜欢

转载自blog.csdn.net/qq_43668710/article/details/106070781