一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于单核DSP的并行计算优化方法与流程

2022-02-20 13:37:16 来源:中国专利 TAG:

一种基于单核dsp的并行计算优化方法
技术领域
1.本发明涉及一种基于单核dsp的并行计算优化方法,属于星载计算机技术领域。


背景技术:

2.我国首次火星探测通过一次飞行任务实现了火星“绕、落、巡”的目标,着陆巡视器“祝融号”火星车突破了火星表面安全自主巡视等关键技术。在自主巡视过程中,火星车gnc分系统的导航控制单元需运行导航图像处理、避障图像处理、路径自主规划、视觉测程、运动控制等关键复杂算法,面临图像数据处理量大、算法运行时间长的难题。因此,为满足火星车自主、安全、高效巡视要求,需针对导航控制单元上的各种复杂算法进行并行优化,提升算法运行效率,高效实现火星车的环境感知、自主规划、位姿确定以及运动控制等功能。


技术实现要素:

3.本发明要解决的技术问题是:克服现有技术的不足,提供了一种基于单核dsp的并行计算优化方法。该方法通过提高存储访问并行度、指令执行并行度和数据处理并行度,采用分段定址编译将关键复杂算法固定运行在dsp内部缓存,对算法的循环、分支判断结构进行改进,利用处理器单指令多数据处理指令等并行优化措施,提升了火星车关键复杂算法的并行运行效率,保障了火星车的自主、安全、高效巡视。
4.本发明目的通过以下技术方案予以实现:
5.一种基于单核dsp的并行计算优化方法,包括如下步骤:
6.将待运行的程序分为关键复杂程序和非关键复杂程序,其中关键复杂程序固定运行在dsp的内部缓存中,非关键复杂程序运行在外部配置的ram存储器中;
7.对待运行程序中的循环语句,使循环计数器采用递减,且循环体内不进行循环嵌套;每个循环体用到的硬件资源不超过处理器中的运算单元个数和寄存器个数,使得每个循环体中的语句能够同时在多个运算单元中并行执行;
8.采用单指令多数据指令对进行相同计算处理的数据进行汇编编程,提高数据处理的并行度。
9.优选的,对关键复杂程序和非关键复杂程序均采用定址编译,定址编译通过定义代码段、在编译器链接文件中指定代码段地址空间实现。
10.优选的,循环体内不进行函数调用和break跳出。
11.优选的,dsp的内部缓存访问位宽远大于外部配置的ram访问位宽。
12.优选的,对待运行程序中的分支判断语句均改为条件运算语句。
13.优选的,对待运行程序为自主规划算法或视觉测程算法。
14.一种单核dsp,该单核dsp中的并行计算采用上述的并行计算优化方法进行优化。
15.一种处理器,包括上述的单核dsp,以及配置在dsp外的ram。
16.本发明相比于现有技术具有如下有益效果:
17.(1)本发明提高了存储访问并行度:采用分段定址编译将关键复杂算法固定运行
在数据访问位宽更大的dsp内部缓存;
18.(2)本发明对算法中的循环结构进行展开优化,提高了指令执行并行度;
19.(3)本发明对算法的分支判断结构进行改进,用条件运算语句替代分支判断语句,充分处理器指令流水功能,提供指令执行并行度;
20.(4)本发明提高了数据处理并行度:采用处理器单指令多数据处理指令进行算法实现;
21.(5)本发明的并行优化方法使火星车的自主规划、视觉测程算法性能提升2.5倍。
附图说明
22.图1为基于单核dsp的并行计算示意图。
具体实施方式
23.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步详细描述。
24.一种基于单核dsp的并行计算优化方法,首先是提高存储访问并行度,达到一次性便可取指多条程序指令的目的;然后,在获取多条指令的基础上,再提高指令执行并行度,使多条指令能并行执行;最后,再提高数据处理的并行度,在执行一条指令时,该指令可同时处理多个数据。具体实施过程如图1所示:
25.1)第一大步骤:提高存储访问并行度。基于dsp处理器的层次化存储器结构特点,dsp内部的缓存比处理器外部配置的ram存储器具有更快的访问速率,更大的数据访问位宽,如火星车导航控制单元所用dsp的内部缓存访问位宽为256bit,外部配置的ram访问位宽为32bit。相比于外部配置的ram存储器,dsp访问内部缓存时,一次访存操作即可获得更多的数据。因此,为提高算法的并行运行效率,本方法将不同的关键复杂算法进行定址编译,使关键复杂算法程序固定运行在内部缓存中,非关键复杂算法则运行在外部配置的ram存储器中。
26.2)定址编译通过定义代码段、在编译器链接文件中指定代码段地址空间实现。
27.3)定义代码段方式:
28.#pragma code_section(关键算法函数名,“keyalgorithmtext”)
29.4)在编译器链接文件中指定代码段地址空间方式:
30.memory
31.{
32.internalram:origin=内部缓存起始地址,length=内部缓存字节长度
33.externalram:origin=外部存储器起始地址,length=外部存储器字节长度
34.}
35.sections
36.{
37..keyalgorithmtext:》internalram
38..nonkeyalgorithmtext:》externalram
39.}
40.5)第二大步骤:提高指令执行并行度。基于dsp包含多个运算功能单元、多组寄存器组的特点,通过将算法中包含的大量循环语句进行展开优化,使循环体中的语句能够同时在多个运算单元中并行执行;同时,将算法中包含的大量分支判断语句改进成条件运算语句,减少程序跳转,避免处理器指令流水线的断流,充分发挥处理器的指令流水的并行优势。
41.6)循环语句的展开优化方法如下:
42.(1)循环计数器采用递减的方式;
43.(2)循环体内不进行函数调用和break跳出;
44.(3)循环体内不进行循环嵌套;
45.(4)将复杂的大循环体拆分成简单的小循环体,是每个循环体用到的硬件资源不超过处理器中的运算功能单元和寄存器个数。
46.7)第三大步骤:提高数据处理并行度。图像处理算法具有对大量数据进行相同运算操作的特点,与dsp处理器采用超长指令字(vliw)体系结构,支持单指令多数据(simd)的并行指令的特点相匹配。采用simd指令对影响算法效率的数据处理部分进行汇编编程,提高数据处理的并行度。
47.一种单核dsp,该单核dsp中的并行计算采用上述的并行计算优化方法进行优化。
48.一种处理器,包括上述的单核dsp,以及配置在dsp外的ram。
49.综上,随着航天器自主化、智能化运行的发展,航天器进行在轨图像信息处理、自主规划的功能算法越来越复杂,算法性能越来越制约航天器的自主、安全、高效运行,必须对关键复杂算法进行并行优化以提高系统运行性能。本技术提出的一种基于单核dsp的并行计算优化方法,通过提高存储访问并行度、指令执行并行度和数据处理并行度,能有效提高关键复杂算法的并行处理性能,很好满足未来航天器的并行处理要求,具有很广的应用前景。
50.本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
51.本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献