用于导航解算的矩阵运算硬件加速器设计
2014-09-29马邺晨李醒飞
计算机工程 2014年8期
马邺晨,李醒飞
(天津大学精密测试技术及仪器国家重点实验室,天津 300072)
1 概述
作为惯导系统核心环节,导航解算的实时性决定着惯导系统能否及时跟踪运载体的运动[1]。导航解算从计算颗粒划分,主要包括向量加法、三维向量叉乘、四元数乘法、矩阵-矢量积和矩阵乘法5种运算,其中,矩阵乘积计算量大,耗时也最多[2]。从解算流程划分,载体坐标系旋转更新模块,姿态、速度、位置更新模块中均包含一次或多次矩阵乘法,初始对准中采用的滤波器算法也包含大量的矩阵乘法运算[3]。因此,提高浮点矩阵乘法运算速度对惯导系统实时性的提高具有重要意义。
之前的浮点矩阵乘积运算一般都采用PC或DSP实现,但这种串行处理器在应对高阶数、高复杂度的算法时,更新速率并不高。伴随超大规模集成电路技术的发展,国内外很多学者开始研究使用具有并行处理能力的FPGA来计算浮点矩阵乘积[4]。文献[5]提出了一种各计算单元之间不存在任何通讯的并行矩阵乘法器结构,但其所需要的存储空间随矩阵维数的增加而显著增加,且效率较低。文献[6]在Xilinx FPGA上设计了用于双精度浮点矩阵乘法的处理单元(Process Element,PE)阵列结构,峰值计算性能可达到3 GFLOPS,但其并未采取任何运算优化措施,且计算性能随矩阵维数增加而下降。文献[7]基于Nios II系统,应用浮点运算宏功能模块设计了矩阵硬件加速器,但并未探究其加速机理;另外虽然该方法总体消耗的周期数较串行方法有所下降,但部分环节效率依旧较低。……
登录APP查看全文
