【技术实现步骤摘要】
SLAM运算装置和方法
本专利技术涉及一种SLAM(simultaneousLocalizationandMapping,即时定位与建图)运算装置和方法,用于根据不同需求对SLAM算法的运算进行加速。
技术介绍
在未知的环境中自主导航是移动机器人(例如无人地面和空中载具等)的一个基本能力。SLAM任务中即时定位与建图的定位主要完成机器人的位置在地图中的确定工作,建图的主要任务是是机器人根据环境建立对应环境的地图。在缺乏位置环境初始地图的情况下这就需要机器人能够实时地构建地图并且利用地图完成自身的定位,完成这项任务所需要的SLAM算法随之产生。然而在移动机器人有限的计算能力和严格的功耗要求下精确地实现SLAM算法是现实中所面临的最大问题之一。首先,SLAM算法因为有实时性的要求因而需要极高的运算速度来完成类似帧与帧间短时间的大量运算,其次SLAM算法由于受到移动机器人的限制对功耗有着苛刻的要求,最后SLAM算法种类众多运算类型较广,因此设计的加速器需要支持各种类型的SLAM算法。在现有技术中,一种实现SLAM算法的方式是直接在通用处理器(CPU)上进行运算,该方法的缺点之一是单个通用处理器的运算性能较低,无法满足常见SLAM运算实时性需求。而多个通用处理器并行执行时,通用处理器之间相互通信又成为了性能瓶颈。另一种实现SLAM算法的方式是在图形处理器(GPU)上进行运算,这种方法通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来支持上述算法。虽然该方法是专门用来执行图形图像运算的设备,但是由于SLAM算法运算的复杂性,该方法并不能够很好的支持其后续运算 ...
【技术保护点】
1.一种运算装置,其特征在于,所述装置包括:向量运算单元,所述向量运算单元包括多个向量运算部件VPE,用于将待运算数据集分别输入到所述多个向量运算部件中的每个向量运算部件中,所述每个向量部件对输入的待运算数据集执行乘法运算和加法运算,得到运算结果;寄存器单元,用于存储乘法运算和加法运算的运算结果。
【技术特征摘要】
1.一种运算装置,其特征在于,所述装置包括:向量运算单元,所述向量运算单元包括多个向量运算部件VPE,用于将待运算数据集分别输入到所述多个向量运算部件中的每个向量运算部件中,所述每个向量部件对输入的待运算数据集执行乘法运算和加法运算,得到运算结果;寄存器单元,用于存储乘法运算和加法运算的运算结果。2.根据权利要求1所述的运算装置,其特征在于,所述待运算数据集包括mm对待运算的数据,在所述每个向量部件对输入的待运算数据执行乘法运算和加法运算,得到运算结果方面,所述向量运算单元具体用于:步骤1:将mm对待运算的数据中的每对待运算的数据输入到多个VPE中并执行乘法运算,得到乘积运算结果,以及所述将乘积运算结果存储到所述多个VPE中对应的VPE内部的寄存器;步骤2:将所述乘积运算结果与寄存器中存储的上一次运算得到的乘积运算结果进行累加,得到累加结果,以及将所述累加结果存储到所述多个VPE中对应的VPE内部的寄存器;重复执行步骤1和步骤2,直至所述mm对待运算的数据均计算完成,得到mm个计算结果;将最右端的VPE的计算结果依次左传并累加,直至传递到最左端的VPE,得到运算结果。3.根据权利要求2所述的运算装置,其特征在于,在所述将最右端的VPE的计算结果以此左传并累加,直至传递到最左端的VPE,得到运算结果方面,所述向量运算单元具体用于:步骤1:将最右端的VPE的计算结果,传递给所述最右端的VPE的左边临近的VPE;步骤2:所述左边临近的VPE将所述最右端的VPE的计算结果与左边临近的VPE的计算结果执行加法运算,得到叠加结果;重复步骤1和步骤2,直至最左端的VPE执行完叠加运算,得到运算结果。4.根据权利要求1所述的运算装置,其特征在于,所述装置还包括:输入存储模块:用于存储输入/输出数据;中间结果存储模块:用于存储临时运算结果数据;最终结果存储模块:用于存储最终运算结果数据;和/或指令存储模块:用于存储运算过程所需的指令集。5.根据权利要求4所述的运算装置,其特征在于,所述指令集包括:控制操作指令类,用于选取待执行的运行指令的控制;数据操作指令类,用于控制数据的传输;宏运算指令类,用于完整的运算操作;多维数据运算指令类,用于控制多维数据的运算操作;和/或一维数据运算指令类,用于控制一维数据的运算操作。6.根据权利要求5所述的运算装置,其特征在于,所述控制操作指令类包括指跳转指令和分支指令,跳转指令包括直接跳转指令和间接跳转指令,分支指令包括条件分支指令。7.根据权利要求5所述的运算装置,其特征在于,所述数据操作指令类包括以下至少一种:LD/ST指令,用于DRAM与SRAM中传输数据;MOV指令,用于在SRAM之间传输数据;RD/WR指令,表示用在于SRAM与BUFFER之间传输数据。8.根据权利要求5所述的运算装置,所述宏运算指令类包括:卷积运算指令、卷积操作指令、图像累加操作指令、图像BOX滤波操作指令、局部极值操作指令、计数器比较操作指令和/或池化运算指令。9.根据权利要求5所述的运算装置,所述宏运算指令类包括以下至少一种:矩阵与矩阵乘法指令、矩阵与矩阵加法指令、矩阵与向量乘法指令、矩阵与向量加法指令、矩阵与标量乘法指令、矩阵与标量加法矩阵、向量与向量乘法指令和向量与向量外积指令。10.根据权利要求5所述的运算装置,所述宏运算指令类包括以下至少一种:向量与向量乘法指令、向量与向量加法指令、向量与标量乘法指令、向量与标量加法指令、标量开方指令、标量取随机指令和移动指令。11.根据权利要求5所述的运算装置,其特征在于,所述多维数据运算指令类用于要求运算单元执行多维数据的运算,多维数据的运算包括多维数据与多维数据间的运算,多维数据与一维向量数据间的运算以及多维数据与一维标量数据之间的运算。12.根据权利要求5所述的运算装置,其特征在于,所述一维数据运算指令类,用于要求运...
【专利技术属性】
技术研发人员:陈云霁,杜子东,张磊,陈天石,
申请(专利权)人:北京中科寒武纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。