概述
总线仲裁
连接到总线上的功能模块有主动和被动两种形态。如CPU 模块,它在不同的时间可以用作主方,也可用作从方;而存储器模块只能用作从方。主方(主设备)可以启动一个总线周期,而从方(从设备)只能响应主方的请求。每次总线操作,只能有一个主方占用总线控制权,但同一时间里可以有一个或多个从方。
按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁和分布式仲裁两类。对多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。
㈠集中式仲裁(总线控制器)
集中式仲裁中每个功能模块有两条线连到总线控制器:一条是送往仲裁器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线BG。
⑴ 链式查询方式 为减少总线授权线数量,采用了上图所示的菊花链查询方式,其中A表示地址线,D表示数据线。BS线为1,表示总线正被某外设使用。
缺点①:在查询链中离总线仲裁器最近的设备具有最高优先级,离总线仲裁器越远,优先级越低。因此,链式查询是通过接口的优先级排队电路来实现的。如果优先级高的设备出现频繁的请求,那么优先级较低的设备可能长期不能使用总线。
缺点②:是对询问链的电路故障很敏感。
链式查询方式的优点是,只用很少几根线就能按一定优先次序实现总线仲裁,并且这种链式结构很容易扩充设备。
⑵ 计数器定时查询方式
原理:总线上的任一设备要求使用总线时,通过BR线发出总线请求。总线仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置“1” BS 线,获得了总线使用权,此时中止计数查询。
优点:可改变优先次序,即每次计数可以从“0”开始,也可以从中止点开始。
⑶ 独立请求方式
优点①:是响应时间快,即确定优先响应的设备所花费的时间少,不用一个设备接一个设备地查询。
优点②:是对优先次序的控制相当灵活。
㈡ 分布式仲裁
分布式仲裁不需要集中的总线仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较,如果仲裁总线上的号大,则它的总线请求不予响应,并撤销它的仲裁号。
☞总线操作的基本步骤:
①主设备申请总线、仲裁器裁决并批准 (BS)
②主设备掌握总线,启动总线周期、初始化
③从设备响应,主从设备之间传输数据
④主设备释放总线,结束总线周期
最后
以上就是眯眯眼月亮为你收集整理的【总线仲裁】的全部内容,希望文章能够帮你解决【总线仲裁】所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复