一种多DSP嵌入式计算机系统的同步方法与流程

文档序号:14989664发布日期:2018-07-20 21:57阅读:422来源:国知局

本发明属于嵌入式计算机系统设计领域,具体是一种多dsp嵌入式计算机系统的同步方法。



背景技术:

数字信号处理器(dsp)以其丰富的专用硬件电路资源和长流水化设计架构,非常适用于数字信号处理、图像处理和通讯信息处理等计算密集的场合和领域。虽然dsp有较高的信号处理性能,但随着各种复杂应用场景(如多媒体视频信号处理、卫星信号处理、雷达信号处理等)对数字信号处理的运算速度、运算精度和运算量的要求大幅度提升,单一的dsp芯片的处理能力已经很难满足系统应用要求,这就需要利用多个dsp芯片搭建多dsp嵌入式计算机系统,通过多个dsp处理器的工作,完成对目标数字信号的实时、精确处理。对于多dsp嵌入式计算机系统,支撑其高效完成复杂运算的关键是多dsp处理器的协同与分工。

在某些实际运算中,需要严格要求多个dsp处理器在开始执行各自分工的算法任务时,必须按照同时、同步的方式进行,否则,既可能造成协同运算效率的降低,也可能会造成运算的不准确。由于不同dsp在执行目标算法任务之前,需要进行上电自举、初始化和自检等前置工作,这些前置工作对于不同的dsp来说会有所不同,且不同的dsp在运行同样的程序软件时也会出现微小的时间偏差,所以如果不进行同步控制,多dsp不可能同时完成前置工作,进而也无法达成同时执行算法任务的目标。



技术实现要素:

针对现有技术的不足,本发明拟解决的技术问题是,提供一种多dsp嵌入式计算机系统的同步方法。

本发明解决所述技术问题的技术方案是,提供一种多dsp嵌入式计算机系统的同步方法,其特征在于该方法包括以下步骤:

(1)硬件设计:在多dsp嵌入式计算机系统中规划出由一个dsp作为主处理器,其余全部dsp作为从处理器的逻辑关系,并在主dsp与每一个从dsp之间都增加一路flagi/o的硬件连接;

(2)上电自举:系统上电复位,多dsp嵌入式计算机系统中的多个dsp从嵌入式计算机系统硬件设计配套的固化存储器中读取程序,将程序搬到dsp本身的内存ram中,开始运行程序,完成上电自举;

(3)初始化和自检:每个dsp运行各自的软件程序,完成硬件初始化,完成对dsp本身和外设的自检;

(4)dsp对自身身份进行判断,如果是从dsp,则运行从dsp算法流程;如果是主dsp,则运行主dsp算法流程;

(5)对于从dsp,在完成初始化和自检的前置工作之后,正式进入算法流程前,从dsp执行软件同步程序代码段:

a)首先通过与主dsp之间的flagi/o发送握手信号量给主dsp;

b)随后进入等待状态,并持续读取主dsp返回的flagi/o状态;

c)待主dsp返回的flagi/o状态置高时,跳出同步程序代码段,执行后续算法程序;

(6)对于主dsp,在完成初始化和自检的前置工作之后,正式进入算法流程前,主dsp执行软件同步程序代码段:

a)首先主dsp持续监听所有从dsp与主dsp连接的flagi/o状态;

b)每当有一个从dspflagi/o状态置高时,则记录下该从dsp,继续监听其他从dsp状态;

c)当所有从dsp连接的flagi/o状态都置高时,说明所有从dsp都完成了前置工作,则同时向所有从dsp发送flagi/o信号量;

d)主dsp跳出同步程序代码段,执行后续算法程序。

与现有技术相比,本发明有益效果在于:

(1)通过对多dsp嵌入式计算机系统主、从逻辑关系的划分,完成对多dsp嵌入式计算机系统各个dsp处理器的角色定位,保证系统的合理架构与合理工作流程设计,能够最优的实现系统算法流程中控制功能与运算功能的协同,提高系统运算效率;

(2)通过对多dsp嵌入式计算机系统的软件实现同步,可以保证多dsp嵌入式计算机系统中的多个dsp处理器从算法启动时就同步运行,在算法负载平均分布在多个dsp中的设计下,有利于多dsp间的数据交互同步与算法分解同步,有利于提高多dsp之间在算法运行过程中从合作到分工不断迭代的工作效率,从工作协同设计上降低了系统的设计复杂度;

(3)通过对多dsp嵌入式计算机系统的软件同步,保证多个dsp从算法启动时就同步运行,进而在算法不断推进下,dsp相互之间的算法运行时间差在可控范围内,由算法产生的多dsp运行时间发散情况会大大减弱,多dsp之间可以大大减少后期软件同步次数,且后期同步也更快,从而提高了系统运算效率。

(4)在逻辑架构与硬件设计支持下,实现了支持多dsp嵌入式计算机系统软件同步的具体方法:所有从dsp完成前置工作后,通过flagi/o向主dsp发送握手信号,主dsp接收到所有从dsp握手信号后,再同时向所有从dsp发出统一执行命令,实现多dsp的同步、同时运行。

具体实施方式

下面给出本发明的具体实施例。具体实施例仅用于进一步详细说明本发明,不限制本申请权利要求的保护范围。

本发明提供了一种多dsp嵌入式计算机系统的同步方法(简称方法),其特征在于该方法包括以下步骤:

(1)硬件设计:在多dsp嵌入式计算机系统中规划出由一个dsp作为主处理器,其余全部dsp作为从处理器的逻辑关系,并在主dsp与每一个从dsp之间都增加一路i/o信号量(即flagi/o)的硬件连接,传统上多dsp之间用于大量数据交换的接口(如共享内存、高速链接口等)要保持不变;

(2)上电自举:系统上电复位,多dsp嵌入式计算机系统中的多个dsp从嵌入式计算机系统硬件设计配套的rom或flash等固化存储器中读取程序,将程序搬到dsp本身的内存ram中,开始运行程序,完成上电自举;

(3)初始化和自检:每个dsp运行各自的软件程序,完成硬件初始化,完成对dsp本身和外设的自检;

(4)dsp对自身身份进行判断,如果是从dsp,则运行从dsp算法流程;如果是主dsp,则运行主dsp算法流程;

(5)对于从dsp,在完成初始化和自检的前置工作之后,正式进入算法流程前,从dsp执行软件同步程序代码段:

a)首先通过与主dsp之间的flagi/o发送握手信号量给主dsp;

b)随后进入等待状态,并持续读取主dsp返回的flagi/o状态;

c)待主dsp返回的flagi/o状态置高时,跳出同步程序代码段,执行后续算法程序;

(6)对于主dsp,在完成初始化和自检的前置工作之后,正式进入算法流程前,主dsp执行软件同步程序代码段:

a)首先主dsp持续监听所有从dsp与主dsp连接的flagi/o状态;

b)每当有一个从dspflagi/o状态置高时,则记录下该从dsp,继续监听其他从dsp状态;

c)当所有从dsp连接的flagi/o状态都置高时,说明所有从dsp都完成了前置工作,则同时向所有从dsp发送flagi/o信号量;

d)主dsp跳出同步程序代码段,执行后续算法程序。

本发明未述及之处适用于现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1