总线系统-第三节 总线仲裁、定时和数据传送模式

时间:2021-07-24 20:58:56

一、总线仲裁

  连接到总线上的功能模块有主动和被动两种形态。

  为了解决多个主设备同时竞争总线控制权,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线的下一次主方。对多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁和分布式仲裁两类。

1、集中式仲裁

  集中式仲裁中每个功能模块有两条线连到*仲裁器:一条是送往仲裁器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线BG。

集中式仲裁的三种控制方式:

•链式查询方式:通过查询链将需要占用总线的设备连接,并由查询链判别并接收设备对总线的占用。

  链式查询方式的主要特点:离*仲裁器最近的设备具有最高优先级,通过接口的优先级排队电路来实现。

  链式查询方式的优点: 只用很少几根线就能按一定优先次序实现总线仲裁,很容易扩充设备。

   链式查询方式的缺点: 对询问链的电路故障很敏感。查询链的优先级是固定的,如果优先级高的设备出现频繁的请求时,优先级较低的设备可能长期不能使用总线。

•计数器定时查询方式:总线上的任一设备要求使用总线时,*仲裁器让计数器开始计数,计数值通过一组地址线发向各设备。判别并接收设备对总线的占用。

  计数器的初值可用程序来设置,可以方便地改变优先次序。

•独立请求方式:每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。*仲裁器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BGi。

独立请求方式的优点:响应时间快;对优先次序的控制相当灵活;可以用屏蔽(禁止) 响应来自无效设备的请求。

2、分布式仲裁

  分布式仲裁不需要*仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。

  当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础。

二、总线的定时 

  总线的一次信息传送过程,大致可分为如下五个阶段:请求总线,总线仲裁,寻址(目的地址),信息传送,状态返回(或错误报告)。

   为了同步主方、从方的操作,必须制订定时协议。

定时:事件出现在总线上的时序关系。

  数据传送时采用的定时有同步定时和异步定时两种方式。

1、同步定时

  在同步定时协议中,事件出现在总线上的时刻由总线时钟信号来确定。

  由于采用了公共时钟,每个功能模块什么时候发送或接收信息都由统一时钟规定,因此,同步定时具有较高的传输频率。

   同步定时适用于总线长度较短、各功能模块存取时间比较接近的情况。

2、异步定时

  在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现,即建立在应答式或互锁机制基础上。

  在这种系统中,不需要统一的共公时钟信号。总线周期的长度是可变的。

  异步定时的优点是总线周期长度可变,不把响应时间强加到功能模块上,因而允许快速和慢速的功能模块都能连接到同一总线上。但这以增加总线的复杂性和成本为代价。

三、总线数据传送模式 

  当代的总线标准大都能支持以下四类模式的数据传送:

•读、写操作

  读操作是由从方到主方的数据传送;

  写操作是由主方到从方的数据传送。

  一般,主方先以一个总线周期发出命令和从方地址,经过一定的延时再开始数据传送总线周期。为了提高总线利用率,减少延时损失,主方完成寻址总线周期后可让出总线控制权,以使其他主方完成更紧迫的操作。然后再重新竞争总线,完成数据传送总线周期。

•块传送操作

  只需给出块的起始地址,然后对固定块长度的数据一个接一个地读出或写入。

  对于CPU(主方)、存储器(从方)而言的块传送,常称为猝发式传送,其块长一般固定为数据线宽度(存储器字长)的4倍。

•写后读、读修改写操作

  只给出地址一次,或进行先写后读操作,或进行先读后写操作。前者用于校验目的,后者用于多道程序系统中对共享存储资源的保护。这两种操作和猝发式操作一样,主方掌管总线直到整个操作完成。

•广播、广集操作

  一般而言,数据传送只在一个主方和一个从方之间进行。

  但有的总线允许一个主方对多个从方进行写操作,这种操作称为广播。与广播相反的操作称为广集,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源。