新闻中心

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

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

作者: 时间:2012-12-04 来源:网络 收藏
1、引言
  目前,DSP(数字信号处理器)在信号处理领域,尤其是在雷达信号和图象信号处理方面正在被广泛的使用,许多信号处理板都采用DSP为核心处理芯片,然而,随着对于信号处理板的处理能力要求越来越高,例如,对于高帧数、大尺寸的图象序列的实时处理,往往要求每秒几十亿次的运算能力,目前单片DSP的运算能力不可能满足其要求,通常需要信号处理板在设计时采用多DSP并行处理结构,以满足系统对运算量的要求。在这种多DSP并行处理结构下,多个DSP之间通常通过共享总线来实现相互间或和外部设备的数据和控制/状态字传递,这时,系统需要建立一种,来保证多个DSP在使用总线时不会发生冲突和竞争,尤其是在实时处理环境下,更有必要保证总线控制权在各个DSP之间可靠的转移,为处理器间实时数据交换提供保证。如果数据传输一旦发生故障,将会导致系统运行迟滞或瘫痪。因此,设计的合理与否,会直接影响到系统运行效率和可靠性。所以在系统设计中,要充分考虑到总线操作问题,这是一个十分重要的环节。

2、多DSP并行处理系统结构介绍
系统结构如图1所示:


  该系统是一种分布式多指令,多数据(MIMD)处理系统。其中功能模块包括:多个DSP构成的处理器模块、共享存储器模块、输入/输出设备、主机。这些模块都通过共享总线相连接。其中每个DSP中又包括运算单元、片内存储器、片内输入/输出单元、仲裁逻辑单元以及总线接口。由于每个DSP中有容量较大的局部存储器,所以各DSP的指令和数据基本上从各自的局部存储器里存取,这样就会大大减轻共享总线的负荷。
  系统工作的方式为主从协同方式,即系统启动后,主处理器优先权最大,由它控制总线,负责整个系统的初始化、数据程序配置、与主机通信等,并参与运算工作。各个从片的优先权要比主片小,通常只参与运算工作。
如果在将DSP之间通过其他外部端口如链路口相互链接,那么将使整个系统体现出一种柔性结构,即处理系统结构和工作方式可以通过软件设置来实现变更而无需更改硬件设计。
例如,通过软件设置,可以定义各个DSP间相互工作协调方式,如并行与串行的转换;可以方便的分配各个DSP的工作量,并可以实现主从处理器间的调换,根据需要将从处理器升级为主处理器,负责整个系统的调配。在系统侦测到某个DSP发生故障时,可以通过软件设置,隔离有故障的处理器,从而实现系统的带故障运行,提高了整个系统的可靠性。这些操作都将涉及到对系统共享总线的操作,其中会遇到的问题将在下面进行描述。

3、总线操作问题的分析和解决思路

3.1总线操作问题的描述
  在上面图1所示的系统中,多片DSP工作时,通常需要进行处理器间数据,状态/控制字的相互传递,以及和主机交换数据,向共享存储器存取数据,从输入设备输入数据,向输出设备发送数据等操作,这些操作将不可避免地会使用到总线。尤其在实时环境下,当这些操作被要求在某个有限的时段内必须完成。这中情况下的的总线操作就遇到了如下的问题:

(1)多个占用总线的操作同时发生时,如果调配不当,常常会发生总线冲突,如何避免总线冲突?
(2)当一个操作占用总线时间过长,其操作的总线请求得不到响应,往往导致总线死锁情况的发生,应采用什么措施来解决总线死锁问题?
(3)当某个紧急情况发生,需要立刻占用总线,但当前的操作还未释放总线,如何使这个紧急的操作在最短时间内获得总线的控制权?
上述问题在系统板上运行时的具体表现就是程序运行的不稳定,时常意外死机。要解决以上问题,就必须在系统中建立一个可靠的,合理的调度各种总线操作,使其不发生冲突,快速、正确的完成各自的工作。接下来就对多处理器系统中总线仲裁机制进行一下分析。

上一页 1 2 3 下一页

评论


技术专区

关闭