由于总线上连接着多个部件,什么时候由哪个部件发送信息,如何给传送信息定时,如何防止信息丢失,如何避免多个部件同时发送,如何规定接受信息的部件等一系列问题都需要由总线控制器统一管理。它主要包括判优控制(仲裁逻辑)和通信控制。
由于总线上连接着多个部件,按其对总线有无控制功能可分为主设备和从设备两种。主设备对总线有控制权,从设备只能响应从设备发来的总线命令,对总线没有控制权。若同时有多个主设备要使用总显时,就由总线控制器判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。
总线的判优控制分为集中式和分布式两种,前者将控制逻辑集中在一处(如CPU),后者将控制逻辑分散在与总线连接的各个部件或设备上
常见的集中控制优先仲裁方式:
链式查询方式如上图所示。其中BS:总线忙、BR:总线请求、BG:总线允许。
关注BG的连接方式,若BG到达的接口有总线请求,BG的信号就不往下传了,这意味着在链式查询中,离总线控制部件越近的设备具有较高的优先级。
工作流程
优点:
只需很少几根(BS、BG、BR)就能按一定的次序实现总线的控制,并且很容易扩充设备
缺点:
对电路很敏感,优先级低的设备很难获得请求,优先级不能改。
计数器定时查询的方式,与链式查询相比,多了一组设备地址线,少了一根总线同意线BG。
总线控制器在接到由BR送来的总线请求信号后,在总线未被使用的情况下,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数地址一致时,获得总线使用权,此时终止计数查询。计数可以从0开始也可以从上次的位置开始。
优点:
缺点:
结构特点:没一个设备均由一对总线请求线 B R i BR_i BRi和总线允许线 B G i BG_i BGi.
工作流程跟前面两种方式不同的是,通过BR发送请求和通过BG同意使用的两个信号由设备自己对应的两条线来传送。
优点:
缺点:
通常将完成一次总线操作的时间分为总线周期,可分为4个阶段:
对于一个仅有一个主模块的简单系统,无须申请、分配和撤出,总线的使用权始终归它所有。
对于包含中断、DMA控制或多处理机器的系统,还需要有其他管理机构来参与。
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制关系称为总线定时,但它的实质是一种协议或规定:。通常分为四种方式:同步通信、异步通信、半同步通信和半分离通信。
通信双方采用统一的时标控制数据的传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步。
同步通信中,若干个时钟产生相等的时间间隔,每个时间间隔构成一个总线周期。在一个总线周期中,发送方和接受方可进行一次数据传送。
同步通信一般用于总线长度较短、各个部件存取时间比较一致(存取时间相近)的场合。对于不同速度的部件而言,必须由最慢速度的部件来设计公共时钟
优点:传送速度快,具有较高的传送速率,总线控制逻辑简单
缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差
异步通信中没有同意的时钟,也没有固定的时间间隔,完全依靠传输双方相互制约的握手信号来实现定时控制。异步通信按照“请求”和“回答”信号的撤销是否互锁,分为以下三种类型:
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。(需要请求和回答的时间引起)
半同步通信上保留了同步通信的基本特点;同时增设了一条“等待”(WAIT)响应信号线采用插入时钟周期的措施来协调通信双方的配合问题。
增加的这条WAIT线可以协调主从模块速度不一致的问题,通过WAIT线可以给速度较慢的设备增加时钟周期。
分离式通信较前面几种通信方式,抓住了从模块等待时间较长且此时总线空闲的问题。从而将一个总线传输周期划分为两个子周期,且子周期的分界线刚好为从模块发送数据。