1.串行链接方式
在串行链接方式下,总线使用权的分配通过三根控制线来实现:总线可用、总线请求和总线忙信号线
所有的功能部件经过一条公共的总线请求信号线向总线控制器发出要求使用总线的请求
控制器收到总线申请后,首先检查总线忙信号线,只有当总线处于空闲状态时,总线请求才能被总线控制器响应,
此时,送出总线可用的回答信号,该信号串行地通过每个部件。
未发出总线请求的部件在接收到总线可用信号时将其传送给下一个功能部件;(没请求的人不搭理可用信号)
发出请求的部件在收到总线可用信号后就停止传送该信号,并开始建立总线忙信号,并去除总线请求信号,开始总线操作。
在数据传送期间,总线忙信号维持总线可用信号的建立。
完成数据传送后,部件除去总线忙信号,总线可用信号也随之去除。
此后若有总线请求,则再次开始总线分配过程。
可见,这种方式使使用总线的优先次序完全由总线可用线所接部件的物理位置来决定
离总线控制器越近的部件其获得总线使用权的优先级别越高,越远的部件优先级别越低。
串行链接方式的主要优点
总线裁决算法很简单,用于控制总线分配的线数很少,而且与挂接在总线上的部件的数量无关,易于扩充设备。
缺点
但这种方式由于优先级是固定的,灵活性较差,不能由软件改变优先级
如果级别高的部件频繁使用总线时,优先级低的部件可能很久也得不到响应。
又由于总线可用信号串行地通过各个部件,这限制了总线分配的速度;
在总线可用信号传输的过程中,如果第I个部件发生故障,在其后的所有部件将主永远得不到总线的使用权
即对硬件的失效很敏感。
在总线上增加、去除或移动部件也要受总线长度的限制。
2.定时查询方式
采用查询方式的集中式总线控制方式。
查询方式的原理是在总线控制器中设置一个查询计数器。
由控制器轮流地对各部件进行测试,看其是否发出总线请求。
当总线控制器收到申请总线的信号后,计数器开始计数,如果申请部件编号与计数器输出一致,则计数器停止计数,
该部件可以获得总线使用权,并建立总线忙信号,然后开始总线操作。
使用完毕后,撤消总线忙信号,释放总线,若此时还有总线请求信号,控制器继续进行轮流查询,开始下一个总线分
配过程。
计数器的值可以每次从“0”开始计数,这时部件的优先级类似于串行链接方式;
如果计数器的值每次从上次的中止点开始计数,则是一种循环优先级,每个部件获得总线使用权的机会均相等;
计数器的值还可以通过程序的方法来改变,在每次总线分配前赋予计数器一个起始值
同样,部件号也可以由程序置定,这样部件的优先级有较灵活的改变
查询方式是用计数查询线代替了串行链接方式的总线可用信号线,
这样不会因某一部件的故障而引起其他部件获得总线的使用权,故可靠性比较高。
但查询线的数目限制了总线上可挂接的部件数目,扩充性较差,而且控制较为复杂
总线的分配速度取决于计数信号的频率和部件数,速度仍然不会很高。
3.独立请求方式
每个部件都有各自的一对总线请求和总线允许线,各部件可以独立地向控制器发出总线请求
总线已被分配信号线是所有部件公用的。
当部件要申请使用总线时,送总线请求信号到总线控制器
如果总线已被分配信号线还未建立,即总线空闲时,总线控制器按照某种算法对同时送来的请求进行裁决,
确定响应哪个部件发来的总线请求,然后返回这个部件相应的总线允许信号,
部件得到总线允许信号后,去除其请求,建立总线已被分配信号,这次的总线分配结束,
直至该部件传输完数据,撤消总线已被分配信号,经总线控制器去除总线准许信号,
可以接受新的申请信号,开始下一次的总线分配。
这种方式的总线分配速度快,各模块优先级的确定灵活,
既可以采用优先级固定法,也可通过程序改变优先次序,还可通过屏蔽禁止某个请求,
也能方便地不响应来自己知失效或可能失效的部件发出的请求,
但这是以增加总线控制器的复杂性和控制线的数目为代价的。
[练习题]
总线控制机构为解决N个部件使用总线时优先次序的裁决,集中式定时查询,需另外增加控制线根数为( )。
A. 3B. 2N十1
C. 2十「log2N」 D. N十2
参考答案: C
[练习题]
总线的控制方式分为(1)和(2)。
参考答案:(1)集中式控制 (2)分布式控制
[练习题]
总线总裁算法有:静态优先级算法、 (1) 、动态优先级算法和先来先服务算法。
参考答案: (1)固定时间片算法
[练习题]
总线控制方式有哪3种?各需要增加几根用于总线控制的控制线?总线控制优先级的灵活性如何?
参考答案:
总线控制方式有串行链接、定时查询和独立请求3种。
串行链接需增加3根控制线,优先级线连固定,无灵活性;
定时查询需增加2十「log2N」根控制线,优先级可用程序改变,灵活;
独立请求需增加2N+l根控制线,优先级可用程序改变,灵活。
链式查询bs+br+bg 3根 计数查询┌log2n┐+br+bs根
Bus Request,总线请求线BR
Bus Grant ,总线响应线BG
Bus State ,总线状态线BS
总线完成一次传输,分四个阶段:1)总线裁决:决定哪个主控设备使用总线;
2)寻址阶段:主控设备送出要访问的主存或设备的地址,同时送出有关命令(读或写等),启动从设备;
3)数据传输阶段:主、从设备间进行数据交换;
4)结束阶段:有关信息在总线上撤销,让出总线使用权。
总线通信控制的目的:解决主、从设备如何获知传输开始和传输结束,以及通信双方如何协调进行数据通信。
有四种通信方式: 同步、异步、半同步、分离式通信。
1)同步通信控制
控制线中有一个时钟信号线,挂接在总线上的所有设备都从这个公共的时钟线上获得定时信号,一定频率的时钟信号定义了等间隔的时间段,这个固定的时间段为一个钟周期,也称总线周期。
2)异步通信方式
三条控制线:
ReadReq:读请求,告诉从设备进行读操作地址信息同时送到地址/数据线上;
DataRdy:数据就绪,从设备已准备好数据,主设备可取数据同时送到地/数据线上;
Ack:回答信号线,表示已收到对方的请求信号。
3)半同步通信控制
为解决异步通信方式对噪声敏感的问题,一般在异步总线中引入时钟信号,就绪和应答等定时信号都在时钟的上升沿有效,这样信号的有效时间限制在时钟到达的时刻,而不受其他时间的信号干扰。这种通信方式称为半同步通信方式。
4)分离式通信控制
基本思想:将一个传输操作事务分成两个子过程。在第一个子过程中,主控设备A在获得总线使用权后,将请求的事务类型(即总线命令)、地址以及其他有关信息(如标识主控设备身份的编号等)发送到总线上,从设备B记录下这些信息。主控设备发完这些信息后便立即释放总线,这样其他设备便可使用总线。在第二个子过程中,从设备B收到主控设备A发来的信息后,就按照其请求的命令进行相应的操作,当准备好主控设备所需的数据后,从设备B便请求使用总线,一旦获得使用权,则从设备B就将主控设备A的编号及所需的数据等送到总线上,这样主控设备A便可接收数据。
优点:提高整个系统的总有效带宽。
缺点:控制相当复杂,开销大。