接口/总线/驱动
总线的三种控制方式:串行链接、定时查寻和独立请求。
1.串行链接方式
在串行链接方式下,总线使用权的分配通过三根控制线来实现:总线可用、总线请求和总线忙信号线,如图3.5所示。所有的功能部件经过一条公共的总线请求信号线向总线控制器发出要求使用总线的请求,控制器收到总线申请后,首先检查总线忙信号线,只有当总线处于空闲状态时,总线请求才能被总线控制器响应,此时,送出总线可用的回答信号,该信号串行地通过每个部件。未发出总线请求的部件在接收到总线可用信号时将其传送给下一个功能部件;发出请求的部件在收到总线可用信号后就停止传送该信号,并开始建立总线忙信号,并去除总线请求信号,开始总线操作。在数据传送期间,总线忙信号维持总线可用信号的建立。完成数据传送后,部件除去总线忙信号,总线可用信号也随之去除。此后若有总线请求,则再次开始总线分配过程。
可见,这种方式使使用总线的优先次序完全由总线可用线所接部件的物理位置来决定,离总线控制器越近的部件其获得总线使用权的优先级别越高,越远的部件优先级别越低。
串行链接方式的主要优点是总线裁决算法很简单,用于控制总线分配的线数很少,而且与挂接在总线上的部件的数量无关,易于扩充设备。但这种方式由于优先级是固定的,灵活性较差,不能由软件改变优先级,如果级别高的部件频繁使用总线时,优先级低的部件可能很久也得不到响应。又由于总线可用信号串行地通过各个部件,这限制了总线分配的速度;在总线可用信号传输的过程中,如果第I个部件发生故障,在其后的所有部件将主永远得不到总线的使用权,即对硬件的失效很敏感。在总线上增加、去除或移动部件也要受总线长度的限制。
2.定时查询方式
图3.6为采用查询方式的集中式总线控制方式。查询方式的原理是在总线控制器中设置一个查询计数器。由控制器轮流地对各部件进行测试,看其是否发出总线请求。当总线控制器收到申请总线的信号后,计数器开始计数,如果申请部件编号与计数器输出一致,则计数器停止计数,该部件可以获得总线使用权,并建立总线忙信号,然后开始总线操作。使用完毕后,撤消总线忙信号,释放总线,若此时还有总线请求信号,控制器继续进行轮流查询,开始下一个总线分配过程。
计数器的值可以每次从“0”开始计数,这时部件的优先级类似于串行链接方式;如果计数器的值每次从上次的中止点开始计数,则是一种循环优先级,每个部件获得总线使用权的机会均相等;计数器的值还可以通过程序的方法来改变,在每次总线分配前赋予计数器一个起始值,同样,部件号也可以由程序置定,这样部件的优先级有较灵活的改变。
查询方式是用计数查询线代替了串行链接方式的总线可用信号线,这样不会因某一部件的故障而引起其他部件获得总线的使用权,故可靠性比较高。但查询线的数目限制了总线上可挂接的部件数目,扩充性较差,而且控制较为复杂,总线的分配速度取决于计数信号的频率和部件数,速度仍然不会很高。
3.独立请求方式
每个部件都有各自的一对总线请求和总线允许线,各部件可以独立地向控制器发出总线请求,总线已被分配信号线是所有部件公用的,如图3.7所示。当部件要申请使用总线时,送总线请求信号到总线控制器,如果总线已被分配信号线还未建立,即总线空闲时,总线控制器按照某种算法对同时送来的请求进行裁决,确定响应哪个部件发来的总线请求,然后返回这个部件相应的总线允许信号,部件得到总线允许信号后,去除其请求,建立总线已被分配信号,这次的总线分配结束,直至该部件传输完数据,撤消总线已被分配信号,经总线控制器去除总线准许信号,可以接受新的申请信号,开始下一次的总线分配。
这种方式的总线分配速度快,各模块优先级的确定灵活,既可以采用优先级固定法,也可通过程序改变优先次序,还可通过屏蔽禁止某个请求,也能方便地不响应来自己知失效或可能失效的部件发出的请求,但这是以增加总线控制器的复杂性和控制线的数目为代价的。
全部0条评论
快来发表一下你的评论吧 !