基于ncs算法的成像方法以及混合精度浮点协处理器的制造方法
【专利摘要】本发明公开了一种基于NCS算法的成像方法以及混合精度浮点协处理器,所述方法包括按步累加运算:构造若干个单精度加法器,通过按步累加运算以每步内对应的地址取数进行累加,按步累加运算的步长为任意值,多个加法器可以并行运行以提高运算速度;涉及到正余弦运算的,通过引入无理数的较小量对π进行双精度补偿修正,以降低计算值与真实值的误差。所述协处理器包括流水线控制模块、寄存器模块以及运算控制模块。有益效果为:1)采用双精度运算模块提高成像精度;2)删减不必要的运算模块以节约成本;3)硬件实现了按步累加和复数求模,大幅提升运算速度;4)对于按步累加和复数求模,仅需调用相应指令,显著降低了软件编程难度。
【专利说明】基于NCS算法的成像方法以及混合精度浮点协处理器
【技术领域】
[0001]本发明涉及实时成像领域,尤其涉及一种基于NCS算法的成像方法以及混合精度浮点协处理器。
【背景技术】
[0002]目前存在很多种实时成像算法,它们的目的都是为了在更短的时间内得到精度更高的图像。在成像领域,时间的消耗是一个非常敏感的数字,如果耗时过于严重,再高的清晰度也没有意义。NCS就是一种仍然处于研究阶段的成像算法,基于软件实现的NCS算法在耗时上存在很大的问题,其过长的运算时间给NCS算法的实际应用造成了很大的局限,因此,我们将目光转向速度更快的硬件实现手段。
[0003]采用硬件实现需要考虑成本问题,如若充分考虑协处理器的通用性,全部采用双精度运算模块,硬件资源的消耗太过庞大;全部采用单精度运算模块,NCS算法的成像精度则无法保证,所能达到的精度只有要求的70%左右。
【发明内容】
[0004]本发明目的在于克服以上现有技术之不足,提供一种基于NCS算法的成像方法以及混合精度浮点协处理器,具体有以下技术方案实现:
[0005]所述基于NCS算法的成像方法,包括
[0006]按步累加运算:构造若干个单精度加法器,通过按步累加运算以每步内对应的地址取数进行累加,按步累加运算的步长为任意值,多个加法器可以并行运行以提高运算速度;
[0007]正余弦运算:通过引入无理数的较小量δ对进行双精度补偿修正,以降低计算值与真实值的误差。
[0008]所述的按步累加运算的进一步设计在于,所述地址生成中的按步累加运算指定一步长m,对一长度为η的数据串,进行每m个数据累加求和的运算,最终得到n/m个累加和。
[0009]所述的高精度正余弦运算的进一步设计在于,所述正余弦运算设定待求源数据为
θ,以2 , - δ表示2 ,,带入
【权利要求】
1.一种基于NCS算法的成像方法,其特征在于包括 按步累加运算:构造若干个单精度加法器,通过按步累加运算以每步内对应的地址取数进行累加,按步累加运算的步长为任意值,多个加法器可以并行运行以提高运算速度; 正余弦运算:通过引入无理数的较小量S对η进行双精度补偿修正,以降低计算值与真实值的误差。
2.根据权利要求1所述的指令集,其特征在于所述地址生成中的按步累加运算指定一步长m,对一长度为η的数据串,进行每m个数据累加求和的运算,最终得到n/m个累加和。
3.根据权利要求1所述的指令集,其特征在于,所述正余弦运算设定待求源数据为Θ,以2π-δ表不2 Ji,带入
4.如权利要求1-3的指令集提出一种混合精度浮点协处理器,其特征在于包括 流水线控制模块,用于配合外部处理器流水操作,完成相应的握手机制,通过与译码相应的指令,输出后续操作需要的控制信号; 寄存器模块,用于根据流水线控制模块输出的控制信号,存放、输出临时数据以及配置信息,并向运算控制模块输出控制信号; 以及运算控制模块,根据流水线控制模块以及寄存器模块的控制信号完成相应的浮点运算并输出处理结果以及存储器的读写地址。
5.根据权利要求4所述的混合精度浮点协处理器,其特征在于所述运算控制模块包括 地址生成器,用于生成相应存储器的读写地址; 数据多路选择器,根据CDP指令接收并传输来自寄存器或存储器的数据; 数据处理器,根据不同运算的需求,对运算模块的输入做预处理,对运算模块的的输出做相应处理以生成最终运算结果; 以及运算单元,包括若干浮点运算子单元,根据CDP指令调用所述浮点运算子单元完成相应的浮点运算。
6.根据权利要求5所述的混合精度浮点协处理器,其特征在于所述寄存器模块包括RO~R15,16个寄存器,RO~R7为通用寄存器,位宽64位,用于存放临时数据;R8~R15为专用寄存器,位宽32位,用于存放配置信息。
【文档编号】G06F9/30GK103677741SQ201310742912
【公开日】2014年3月26日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】李丽, 潘红兵, 于东, 黄炎, 钱禹, 韩峰, 何书专, 李伟 申请人:南京大学