[发明专利]一种在嵌入式系统中实现乘法运算的方法和装置有效
申请号: | 201110302024.9 | 申请日: | 2011-09-30 |
公开(公告)号: | CN102508632A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F7/53 | 分类号: | G06F7/53 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 实现 乘法 运算 方法 装置 | ||
1.一种在嵌入式系统中实现乘法运算的方法,其特征在于,包括:
(1).接收到乘法运算指令时,获取所述乘法运算指令中第一待处理数据和第二待处理数据;
(2).判断所述第一待处理数据的比特位位数与所述第二待处理数据的比特位位数之和是否大于运算装置支持的比特位位数;
如果是,返回错误信息;如果否,执行(3);
(3).对所述第一待处理数据进行补位,生成比特位位数与所述运算装置支持的比特位位数相同的第三待处理数据,对所述第二待处理数据的进行补位,生成比特位位数与所述运算装置支持的比特位位数相同的第四待处理数据;
(4).根据所述运算装置支持的比特位位数生成第一参数;
(5).将所述第三待处理数据的最低位、所述第四待处理数据的最低位分别与所述第一参数的最低位对齐;
(6).将所述第三待处理数据按预设位长由最低位到最高位进行划分;
(7).根据所述预设位长对应的比特位位数生成第二参数,并根据所述第一参数和所述第二参数生成第三参数;
(8).将当前偏移单元中的数据和所述第四待处理数据的乘积与当前迭代数据相加,得到第一数据;
偏移单元的初始单元为对所述第三待处理数据进行划分得到的第一个单元,迭代数据的初始值为0;
(9).将所述第二参数作为模数,对所述第一数据与所述第三参数进行模乘运算,得到第二数据;
(10).将所述第一参数和所述第二数据的乘积与所述第一数据进行加法运算,得到第三数据;
(11).将所述第三数据右移所述预设位长,并将移位后得到的数据替换当前迭代数据;
(12).判断当前偏移单元是否为最后一个单元;
如果是,执行(14);如果否,执行(13);
(13).将偏移单元指向当前偏移单元的下一个单元,返回(8);
(14).判断当前迭代数据是否小于所述第一参数;
如果是,执行(16);如果否,执行(15);
(15).将当前迭代数据自减所述第一参数;
(16).存储或输出指示所述第一待处理数据与所述第二待处理数据乘积的当前迭代数据。
2.根据权利要求1所述的在嵌入式系统中实现乘法运算的方法,其特征在于,所述对所述第一待处理数据进行补位,生成比特位位数与所述运算装置支持的比特位位数相同的第三待处理数据,对所述第二待处理数据的进行补位,生成比特位位数与所述运算装置支持的比特位位数相同的第四待处理数据,包括:
在所述第一待处理数据的最高位前补零生成第三待处理数据,在所述第二待处理数据的最高位前补零生成第四待处理数据,所述第三待处理数据与所述第四待处理数据的比特位位数与所述运算装置支持的比特位位数相同。
3.根据权利要求1所述的在嵌入式系统中实现乘法运算的方法,其特征在于,所述根据所述运算装置支持的比特位位数生成第一参数,包括:
生成各个比特位均置1的第一参数,所述第一参数的比特位位数与所述运算装置支持的比特位位数相同。
4.根据权利要求1所述的在嵌入式系统中实现乘法运算的方法,其特征在于,所述预设位长对应的比特位位数,具体为:
能整除所述运算装置支持的比特位位数的整数。
5.根据权利要求1所述的在嵌入式系统中实现乘法运算的方法,其特征在于,所述根据所述预设位长对应的比特位位数生成第二参数,包括:
以2为底数,以所述预设位长对应的比特位位数为幂数生成所述第二参数。
6.根据权利要求1所述的在嵌入式系统中实现乘法运算的方法,其特征在于,所述根据所述第一参数和所述第二参数生成第三参数,包括:
生成所述第二参数的值减去所述第一参数关于所述第二参数的乘法逆元的差值;
生成值与所述差值相同的第三参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110302024.9/1.html,转载请声明来源钻瓜专利网。