> 文章列表 > 总线的控制

总线的控制

总线的控制

总线控制

目录

  • 总线控制
    • 总线的判优控制
        • 链式查询
        • 计数器定时查询
        • 独立请求
        • 小结
    • 总线通信控制
        • 同步通信
        • 异步通信
        • 半同步通信
        • 分离通信

由于总线上连接着多个部件,什么时候由哪个部件发送信息,如何给传送信息定时,如何防止信息丢失,如何避免多个部件同时发送,如何规定接受信息的部件等一系列问题都需要由总线控制器统一管理。它主要包括判优控制(仲裁逻辑)和通信控制

总线的判优控制

由于总线上连接着多个部件,按其对总线有无控制功能可分为主设备和从设备两种。主设备对总线有控制权,从设备只能响应从设备发来的总线命令,对总线没有控制权。若同时有多个主设备要使用总显时,就由总线控制器判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。

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

常见的集中控制优先仲裁方式:

链式查询

image-20230412144820644

链式查询方式如上图所示。其中BS:总线忙、BR:总线请求、BG:总线允许

关注BG的连接方式,若BG到达的接口有总线请求,BG的信号就不往下传了,这意味着在链式查询中,离总线控制部件越近的设备具有较高的优先级

工作流程

  1. 主设备发出请求信号
  2. 若多个主设备同时要使用总线,则由总线控制器判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线
  3. 获得总线使用全的主设备开始传送数据

优点:

只需很少几根(BS、BG、BR)就能按一定的次序实现总线的控制,并且很容易扩充设备

缺点:

对电路很敏感,优先级低的设备很难获得请求,优先级不能改。

计数器定时查询

image-20230412150917625

计数器定时查询的方式,与链式查询相比,多了一组设备地址线,少了一根总线同意线BG

总线控制器在接到由BR送来的总线请求信号后,在总线未被使用的情况下,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数地址一致时,获得总线使用权,此时终止计数查询。计数可以从0开始也可以从上次的位置开始。

优点

  1. 计数初始值可以改变优先次序
    • 计数器每次从0开始,设备的优先级按照排列顺序,固定不变
    • 计数从上一次的终点开始,此时设备使用总线的优先级相等
    • 计数器的初值可以由程序设置
  2. 对电路的故障没有链式敏感度

缺点

  1. 增加了控制线数
    • 若设备有n个,则需[log2n]+2[log_2n] + 2[log2n]+2条控制线。(BG换为一组地址线)
  2. 控制相对比链式查询相对复杂

独立请求

image-20230412150955127

结构特点:没一个设备均由一对总线请求线BRiBR_iBRi和总线允许线BGiBG_iBGi.

工作流程跟前面两种方式不同的是,通过BR发送请求和通过BG同意使用的两个信号由设备自己对应的两条线来传送。

优点:

  1. 相应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或查询
  2. 对优先次序的控制相当灵活

缺点:

  1. 控制线数量多
    • 若有n个设备,则需要2n+1条控制线。其中+1为BS线,用于设备向总线控制部件反馈是否正在使用总线。
  2. 总线的控制逻辑更加复杂

小结

image-20230412151558678

总线通信控制

通常将完成一次总线操作的时间分为总线周期,可分为4个阶段:

  1. 申请分配阶段:由需要使用总线的主模块提出申请,经总线仲裁机构决定下一传输周期的总使用权授予某一申请者。也可将此阶段细分为传播请求总线仲裁两个阶段。
  2. 寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
  3. 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
  4. 结束阶段:主模块的有关信息均从系统总线上撤出,让出总线使用权

对于一个仅有一个主模块的简单系统,无须申请、分配和撤出,总线的使用权始终归它所有。

对于包含中断、DMA控制或多处理机器的系统,还需要有其他管理机构来参与。

总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制关系称为总线定时,但它的实质是一种协议或规定:。通常分为四种方式:同步通信、异步通信、半同步通信和半分离通信。

同步通信

通信双方采用统一的时标控制数据的传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步。

同步通信中,若干个时钟产生相等的时间间隔,每个时间间隔构成一个总线周期。在一个总线周期中,发送方和接受方可进行一次数据传送。

image-20230412153215765

同步通信一般用于总线长度较短、各个部件存取时间比较一致(存取时间相近)的场合。对于不同速度的部件而言,必须由最慢速度的部件来设计公共时钟

优点:传送速度快,具有较高的传送速率,总线控制逻辑简单

缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差

异步通信

异步通信中没有同意的时钟,也没有固定的时间间隔,完全依靠传输双方相互制约的握手信号来实现定时控制。异步通信按照“请求”和“回答”信号的撤销是否互锁,分为以下三种类型:

  1. 不互锁方式
  2. 半互锁方式
  3. 全互锁方式

image-20230412153951360

优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合

缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。(需要请求和回答的时间引起)

半同步通信

image-20230412154456085

半同步通信上保留了同步通信的基本特点;同时增设了一条“等待”(WAIT)响应信号线采用插入时钟周期的措施来协调通信双方的配合问题。

增加的这条WAIT线可以协调主从模块速度不一致的问题,通过WAIT线可以给速度较慢的设备增加时钟周期。

分离通信

image-20230412154812084

分离式通信较前面几种通信方式,抓住了从模块等待时间较长且此时总线空闲的问题。从而将一个总线传输周期划分为两个子周期,且子周期的分界线刚好为从模块发送数据。