Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于SIMD指令实现的快速求解正数倒数的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:北京君正集成电路股份有限公司

摘要:本发明提供一种基于SIMD指令实现的快速求解正数倒数的方法,包括:S1.加载数据,是以32bit的整数倍加载,一个寄存器最多能够加载512bit数据;单精度浮点数为32bit,一个寄存器能够加载16个浮点数,所以一条SIMD指令能够同时对16个浮点数加载或计算,设Register1=Ingenic_simd512_loadfloatdata;Ingenic_simd512_load为加载数据的SIMD指令;floatdata为输入的16个32bit单精度浮点数,Register1为寄存器1,将输入数据保存在Register1里;S2.将Register1里的数据使用SIMD指令利用快速求解平方根倒数的方法求出平方根倒数,结果保存在Register2里;S3.将步骤S2里的平方根倒数平方即得到倒数,设Register3=Ingenic_simd512_float_mulRegister2,Register2;Ingenic_simd512_float_mul为浮点相乘的SIMD指令,将Register2里的数据与Register2里的数据相乘,即将Register2里的数据平方,相乘后的结果保存在Register3;S4.将计算结果从寄存器中保存到内存中。

主权项:1.一种基于SIMD指令实现的快速求解正数倒数的方法,其特征在于,所述方法包括如下步骤:S1.加载数据,是以32bit的整数倍加载,一个寄存器最多能够加载512bit数据;单精度浮点数为32bit,一个寄存器能够加载16个浮点数,所以一条SIMD指令能够同时对16个浮点数进行加载或计算,设Register1=Ingenic_simd512_loadfloatdata;其中,Ingenic_simd512_load为加载数据的SIMD指令;floatdata为输入的16个32bit单精度浮点数,Register1为寄存器1,将输入数据保存在Register1里;S2.将Register1里的数据使用SIMD指令利用快速求解平方根倒数的方法求出平方根倒数,设Register2=Ingenic_simd512_rsqrtRegister1这里Ingenic_simd512_rsqrt为快速求解平方根倒数的方法名,其表示能够涵盖求解平方根倒数方法各个步骤,将这些步骤合在一起命名为Ingenic_simd512_rsqrt,结果保存在Register2里;S3.将步骤S2里的平方根倒数平方即得到倒数,设Register3=Ingenic_simd512_float_mulRegister2,Register2;其中,Ingenic_simd512_float_mul为浮点相乘的SIMD指令,将Register2里的数据与Register2里的数据相乘,即将Register2里的数据平方,相乘后的结果保存在Register3里;S4.将计算结果从寄存器中保存到内存中。

全文数据:

权利要求:

百度查询: 北京君正集成电路股份有限公司 一种基于SIMD指令实现的快速求解正数倒数的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。