新闻中心

EEPW首页>嵌入式系统>设计应用> 并行实时处理系统中总线仲裁问题的研究及实现

并行实时处理系统中总线仲裁问题的研究及实现

作者: 时间:2012-12-04 来源:网络 收藏


3.2多处理器的分析
通常包括总线仲裁策略和总线仲裁方式两方面内容。仲裁机制的合理、灵活和快捷,以及可实现性和可扩展性是评价一个的准则。
多处理器系统中总线仲裁方式通常有集中式仲裁和分布式仲裁两种方式。所谓集中式仲裁,是指总线仲裁部件的功能由一个独立于各个模块的附加部件集中完成,而如果总线仲裁功能由不断改变的的总线当前控制者来完成和需要各个模块共同完成,则称之为分布式仲裁。
集中式仲裁方式结构如图2所示


  每个模块都有独立的请求线和识别线与公共的仲裁部件连接。仲裁部件根据相应的总线仲裁策略来选定下一个总线控制者。集中式仲裁的优点在于,这种仲裁方式电路实现较为简单,仲裁器件延时小,具有高速的特点。但是由于整个结构中只采用一个仲裁部件,集中式仲裁方式容错能力较差,一旦仲裁部件发生故障,整个总线仲裁模块将不能工作,而且一旦设计完成,它将不能再添加新的总线申请者,可扩展能力差,而这两点正是系统性能的瓶颈。
分布式仲裁方式结构如图3所示,每个模块都具有一相对独立的仲裁部件,但每个模块的仲裁部件只输出识别线送本模块。所有仲裁部件电路基本相同,分布式仲裁方式所需电路比集中式仲裁方式要较为复杂,而且仲裁速度没有集中式仲裁速度快,但它具有下列明显的优点:


(1)只需要较少的物理连线来执行仲裁算法。
(2)当其中一个仲裁部件发生故障时,不影响其他仲裁部件的工作,增加了系统的可靠性。
(3)仲裁器的状态可以在总线上监视到,这将有助于系统故障的诊断。
  总线仲裁策略中,最常用的是基于基于优先权的仲裁策略。所谓基于优先权的策略是指系统给每一个总线申请者指定一个优先级编号,当多个总线申请同时发生时,总线仲裁逻辑 将按照总线申请者优先级编号来分配总线的使用权。实际中常用的有固定优先级策略和循环优先级策略。
固定优先级策略是将多个仲裁申请者的优先级按一定顺序固定下来,总线仲裁逻辑按照该这个固定的优先级顺序来分配某一时刻的总线使用权。这种策略适合于多个处理器任务的复杂度和重要度不同,需要保证有重要任务的处理器优先占用总线的情况。循环优先级策略是指当占有总线的模块一旦释放总线,其优先级将自动变为最低,而优先级紧排其后的总线申请者将获取总线控制权,并且它们的优先级依次上升,在长时间段中,这样可以保证多个总线申请者的对总线申请的公平性。这种策略适用于多个处理器的工作任务相同,任务的重要程度也相似的情况。这两种仲裁策略都会遇到如下的问题:
(1)当高优先级的处理器占用总线时间过长导致总线无法释放时,其他优先级低的处理器将无法获得总线控制权。
(2)当优先级低的处理器出现紧急情况需要进行总线操作时,将无法及时占用总线。

3.3针对本系统的总线仲裁机制的解决方案
  对于本文的多DSP并行处理系统(见图1),由于DSP中内置有独立的仲裁逻辑部件,再加上系统上各个功能模块都通过总线相连接,因此在总线操作上非常适合采用上面提到的分布式仲裁方式,而且电路实现上也较为简便,几乎不需要增加额外的器件。
在仲裁策略的选择上,由于系统在工作时,必须指定一片处理器作为主处理器,由它来完成系统初始化,数据向从片分发与回收,与外部主机,设备通信等繁杂的任务,所以需要它在总线操作上优先级始终保持最高。而其它从处理器由于任务基本相同,且相对单一,所以从处理器的优先级可以被设定为比主处理器较低一级,并采用循环优先级策略,以保证其总线申请的公平性。这样就构成了基于分布式并行仲裁方式下的优先级分层仲裁策略,优先级层可以根据具体的任务的重要程度分为多个层次。如图4所示:


  解决总线长时间占用导致总线死锁的问题,可以采用设置总线占用时限的方式来解决。当某一处理器(包括主处理器在内)如果占用总线时间过长,而其它处理器又发出了总线请求,此时总线仲裁逻辑将读取此时总线占用的时间,如果超过设定的时限,则将总线控制权自动从当前占用总线的处理器移交给其它申请总线的处理器中优先级最高的那片。从而避免了总线死锁的问题。
解决低优先级处理器紧急请求占用总线的问题,可以通过处理器的中断广播来方式来实现。在当某一优先级低的处理器,如某一从片需要紧急占用总线,那么它向其他所有处理器发出占用总线的中断请求,当其他从片收到该中断请求后,将开始检查自己是否占用总线,如果没有占用总线,则继续执行自己的任务,如果占用总线,则将总线控制权移交给提出申请的从处理器。当该从片完成自己的紧急任务后,将再次发出一个中断信号,并将总线控制权归还给原来的控制总线的处理器,重新获得总线控制权的处理器将继续执行原来未完成的任务。
  这样,上节所提到的两个问题都得到了解决,满足了实时环境下共享总线的多DSP系统的总线仲裁要求,并保证了总线仲裁的性能和可靠性。

4、具体设计实现
  本文中的多DSP分布式实时并行处理系统采用AD公司的ADSP21160芯片作为其中心处理模块。该芯片性能描述如下:
主频: 100M Hz 双运算单元。
数据总线64位,地址总线32位。(包括内部总线和外部总线)
内置双端口SRAM,存储空间4Mbit,分为两个内存模块。
外部端口包括2个串口,6个链路口,64位宽的外部口,一共14个DMA通道。
三套内部总线(PM DM总线和I/O总线)
最多支持6片处理器直接通过总线紧耦合互联,由于其自身提供了较为必要的仲裁逻辑电路,所以几乎不需要外加仲裁电路,这为设计带来了很大的便利。


评论


技术专区

关闭