[发明专利]一种任意字长、任意精度的乘法运算方法及乘法器无效
申请号: | 94114858.0 | 申请日: | 1994-08-15 |
公开(公告)号: | CN1122024A | 公开(公告)日: | 1996-05-08 |
发明(设计)人: | 张胤微 | 申请(专利权)人: | 张胤微 |
主分类号: | G06F7/38 | 分类号: | G06F7/38 |
代理公司: | 电子工业部专利服务中心 | 代理人: | 齐苏平 |
地址: | 10003*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任意 精度 乘法 运算 方法 乘法器 | ||
本发明涉及一种计算机中心处理单元中的算术运算器。
传统的定点乘法器是一种采用n位移位寄存器和n位加法器,重复n次位移和n次n位加法,实现n位整数相乘,这种乘法器速度较慢。另一种采用阵列乘法器,采用n(n-1)个一位全加器和n2个“与”门,实现n位数乘以n位数,这种在位数增多时,线路复杂。还有一种采用ROM查表法,这种在位数增多时,空间需要很大。这几种乘法器线路实现都受到运算器字长的限制,不可能做到任意长度的两操作数相乘。线路上需设置专门机构检测溢出。传统的浮点乘法器比定点乘法器可实现大范围数的乘积,线路比定点乘法器复杂,操作数大时,精度降低。上述乘法器在数的表示范围和精度上受到结构限制。传统的乘法器把两个操作数一次存入两个n位寄存器,进行运算,这种需要等到全部都到齐才开始运算,用于流水处理或多处理机并行处理时,进行多于两个操作数连续相乘,下一级运算必须等到上一级运算的全部2n位结果都出来才能开始,增加了等待时间。
本发明的目的在于避免上述现有技术不足之处,提供一种可以实现两操作数有任意长度,任意精度的乘法运算方法及乘法器;在运算时从高位到低位逐位计算,乘积从高位到低位得出;在不需要绝对精度时,舍去对低位处理,加快运算速度;用一个乘法器既可作为浮点乘法器又可作为定点乘法器;运算不需操作数全部位到齐就开始进行,利于多级连乘运算的并行处理。
附图的图面说明:
图1.乘法运算流程图
图2.乘法器结构图
图3.控制逻辑电路图
图4.五进制电路图
图5.进位电路图
图6.个位电路图
本发明的目的可以通过以下措施来达到:
该乘法器包括操作数寄存器、控制逻辑电路、五进制转换电路、进位电路、个位电路、缓存器、累加器、寄存器、乘积寄存器堆;乘法器操作数以任意长度,成对由高位到低位顺序输入,通过转换电路、进位电路、个位电路、累加器逐位运算,将乘积由高位到低位有序输出;
任意字长、任意精度的乘法运算流程为:
——输入运算的控制参数:位数n、精度p
——操作数按规律每次从A、B队列中各取一位:Ai、Bj
——将Ai、Bj分别转换成五进制表示
——分别求Ai、Bj的进位和Ai、Bj的个位
——根据进位和个位的有序累加(参数k)得出一位乘积Cm
参看乘法流程图,A、B是二个任意多位的二—十进制或二—十六进制的操作数(为叙述方便,假设为等长度n位)。p是所需计算精度位数。
A=A1A2A3……An
B=B1B2B3……Bn其中位Ai、Bj(1≤i,j≤n)。计算A*B=C的过程即求
C=C1C2C3……C2n-1位Cm(1≤m≤2n-1)与Ai、Bj有如下对应关系:
C1: A1B1
C2: A2B1 A1B2
C3: A3B1 A2B2 A1B3
… … …
Cn: AnB1 An-1B2 … … A1Bn
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于张胤微,未经张胤微许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/94114858.0/2.html,转载请声明来源钻瓜专利网。