3.5 总线控制
总线控制主要指总线对在总线上连接的各部件信息发送、信息接收等一系列问题做出判断
主要包括:判优控制(仲裁逻辑)、通信控制
3.5.1 总线判优控制
概念1:主设备和从设备
总线上所连接的各类设备,按其对总线有无控制功能分为主设备和从设备
主设备对总线有控制权,从设备只能响应从主设备发来的总线命令
总线上的信息的传送由主设备启动。例如:当某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时请求总线,由总线控制器的判优或仲裁逻辑按优先级处理。只有获得总线使用权的主设备才能开始传送数据
概念2:总线判优控制分集中式和分布式
集中式:控制逻辑集中在一起(如CPU中)
分布式:控制逻辑分散在与总线连接的各个部件或设备上
常见的集中控制有三种优先权仲裁方式:
(1)链式查询
说明:将所有设备串式连接,离总线控制器最近的设备具有最高的优先级
查询方式:BG找BR,找到第一个BR,发出BS
关键点:处理一次请求后,重新仲裁的逻辑:BG线从第一个设备(靠近总线控制部件那一段)开始,重现查找BR总线请求,处理匹配最近(离总线控制器)的设备发出的BR,也就是说,对面后面的部件发出的BR,只有其前面没有任何一个部件发出BR时,才能轮到后面部件发出的BR


(2)计数器定时查询
在集中式总线仲裁的 计数器定时查询方式(Counter-timed Query / Counter-based Polling) 中:
- 总线控制器中有一个计数器。
- 当总线空闲且有设备发出总线请求时,总线控制器开始从计数器当前值开始,依次向设备发送地址(或设备号)。
- 每个设备将自己的设备号与当前总线上的地址比较:
- 如果相等,且该设备发出了请求,则它获得总线控制权;
- 否则,计数器自动加1,继续下一轮比较。
- 这个过程是由总线控制器主动发起的顺序查询。
- 当计数器达到最大设备号(如 N−1)仍未找到请求者,则回绕到0,继续查询,直到找到一个请求设备。
- 一旦某个设备获得总线,计数器的值通常保留为下一次查询的起点(有的实现会在服务后从0开始,但更常见的是从下一位继续,以实现轮询公平性)。
- 需要说明的是:计数器定时查询,n个设备,需要log2n=x(2的x次方=n)条设备地址线。因为一条线只能表示0、1


(3)独立请求方式
说明:每一个设备都有自己的一对总线请求线和总线同意线。


3.5.2 总线通信控制
总线判优控制决定哪一个主设备使用总线
总线通信控制决定主设备和从设备协调通信传输数据
总线传输周期
1. 申请分配阶段:主模块申请,总线判优觉醒
2. 寻址阶段:主模块发出访问的从模块的地址有关命令,启动本次传输的从模块
3. 传数阶段:主模块和从模块进行数据交换
4. 结束阶段:主模块的有关信息从系统总线上撤除,让出总线使用权
总线通信四种方式:同步通信、异步通信、半同步通信、分离式通信
1. 同步通信:由 统一时标 控制数据传送 (同步通信有点是规定明确,模块间的配合简单一致;缺点是主从模块时间配合强制性同步,必须在规定时间内完成,所有从模块都用同一限时,因此必须按最慢速度的部件设计公共时钟,一般用于总线长度较短,各部件存取时间比较一致的场合)
2. 异步通信:采用 应答方式 没有公共时钟标准 (主从模块之间增加两条应答线。应答方式:不互锁方式、半互锁方式、全互锁方式)
3. 半同步通信:同步、异步结合 (同步:所有的地址、命令、数据信号的发出时间,严格按照系统时钟的某个前沿开始,接收方都采用系统时钟后沿时刻进行判断识别;异步:允许不同速度的模块和谐地工作,增设了一条 等待WAIT 响应信号线)
上述三种通信共同点:
输入数据为例:
+ 主模块发地址命令 占用总线
+ 从模块准备数据 不占用总线(但此时总线仍被主模块占用),总线空闲
+ 从模块发送数据 占用总线
4. 分离式通信: 充分挖掘系统总线每个瞬间的潜能(将从模块准备数据时占用总线的时间放弃掉,由其他设备使用总线,提高总线工作效率)
分离式通信描述:




被折叠的 条评论
为什么被折叠?



