CN1049922A - 一种冗余码高速阵列除法器 - Google Patents

一种冗余码高速阵列除法器 Download PDF

Info

Publication number
CN1049922A
CN1049922A CN 89106625 CN89106625A CN1049922A CN 1049922 A CN1049922 A CN 1049922A CN 89106625 CN89106625 CN 89106625 CN 89106625 A CN89106625 A CN 89106625A CN 1049922 A CN1049922 A CN 1049922A
Authority
CN
China
Prior art keywords
merchant
converting unit
redundanat code
code
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 89106625
Other languages
English (en)
Inventor
任红戈
茅榆海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 89106625 priority Critical patent/CN1049922A/zh
Publication of CN1049922A publication Critical patent/CN1049922A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及到一种冗余码高速阵列除法器,适用 于计算机高速计算及高速实时信号处理等技术领域, 由于采用了二级运算构成的冗余码与二进制混合使 用的冗余码加法单元组成除法阵列并采用二选一的 选择器构成将冗余码的商直接转换成二进制形式的 阵列转换电路,使本发明具有速度高、电路简单、便于 集成等优点。

Description

本发明涉及到一种冗余码高速阵列除法器,适用于计算机高速运算及高速实时信号处理等技术领域。
在用计算机从事科学计算及日益推广的数字信号处理等技术领域中,除法运算被大量地应用于解决各种实际问题,因此,几乎所有的计算机、单片机都为用户提供了除法功能或特殊设计指令,这些除法功能和指令使用户可以方便地进行除法运算。一般计算机、单片机的除法功能是由软件编程来实现的。然而在高速计算、高速实时信号处理等应用领域,这种用软件实现除法功能的办法就难以满足速度的要求,为此,研制高速除法器已为本领域的科技人员所关注。目前阵列除法器是高速除法器中的一种,由于其电路采用阵列处理,避免了多周期迭代,使其速度有所提高,但这种阵列除法器仍有不足之处:由于阵列除法器通常是采用恢复余数算法或不恢复余数算法设计的阵列形式,在电路实现中均采用一般加法单元组成阵列,这使得每一次减法运算都包含一个长度为N(N为除数位数宽度,为方便其见,设被除数、除数及商的位数宽度均为N)的进位链的形成过程,所以其运算时间(在产生N位商时)正比于N,使除法器速度仍不能满足实际应用的需要。附图1给出的是一种以不恢复余数算法设计的除法阵列,它由普通的二进制加法单元1-1构成,R0R1R2……Rn为被除数,D0D1D2……Dn为除数,Q0Q1Q2……Qn为商。每个加法单元均含有一个二进制全加器和一个异或门(“计算机数学-原理、结构与设计”第267至270页,黄凯著,1979年出版(Kai Huang“Computer Arithmetic-Principles,Architecture and Design”John Wiley & Son,1979,P267~270))。若以冗余码加法单元代替普通加法单元并采用SRT算法就可消除进位链带来的延迟,这是因为冗余码加法器的通常算法是将二个采用冗余码表示的数相加而得到一个冗余码的和。
如:A=a0a1……an,B=b0b1……bn
A、B均由冗余码表示,即ajbj∈{-1,0,1}
当计算S=A+B时,计算需分三步进行:
(1)S1 j+2C1 j=aj+bjS1 j∈{0,-1,-2} C1 j∈{0,1}
(2)S2 j+2C2 j=S1 j+C1 j+1S2 j∈{0,1} C2 j∈{0,-1}
(3)S3 j=S2 j+C2 j+1S3 j∈{-1,0,1}
由上述三步计算可知,每一位“和”仅由三位输入决定(Sj由aj、bj;aj+1、bj+1;aj+2、bj+2决定),即进位链长度为2,与A、B的位数N无关,这时的输出延迟对于各位来说都是一样的,不存在从低位一直延伸至最高位的串行进位链,其电路构成如附图2所示(美国电气电子工程师协会出版的《计算机设计与超大规模集成电路会议录》1987年刊载的“采用冗余码的高速乘法器”第414至417页,作者欧默·卡尔(Omer Kal“High Speed Multiplier Design Using Redundant Signed Digit Number”IEEE Conference on Computer Design:In VLSI,1987 P414-417))。但是,采用冗余码加法器,使商成为以冗余码表示的数,最后需用一个N位加法器将冗余码表示的商转换为普通二进制数,即由{1,0,-1}表示的商转换为{0,1}表示。因此使除法器又需增加一个N位加法器的延迟,使除法器的速度受到影响。
本发明的目的是针对现有阵列除法器存在之不足,设计一种新型除法器,消除进位链带来的延迟,提高运算速度。
本发明的技术要点是:在电路上采用式为:
(1)S1 j+2C1 j=ri-1,j+djri-1,j∈{-1,0,1} dj∈{0,1}
S1 j∈{0,-1} c1 j∈{0,1}
(2)ri,j=s1 j+c1 j+1ri,j∈{-1,0,1}
(其中 D=d0d1……dN为除数
Ri-1=ri-1,0ri-1,1…ri-1,N为i-1级余数输出
Ri=ri,0ri,1…ri,N为i级余数输出)的二级运算构成冗余码与二进制混合使用的冗余码加法单元组成N行N列除法阵列,每一行冗余码加法器的输出端均接有一个商选择器,商选择器的输出端接有将冗余码表示的商直接转换成二进制的商的阵列转换电路,阵列转换电路是由二选一的转换单元组成的;在算法上采用基-2SRT算法,商选择器以冗余码加法器运算所得的余数的最高三位有效位为电路输入,逻辑判断后产生一位冗余码表示的予测商,一路送下一级冗余码加法器,使其完成一次以上一级余数和除数为操作数的加法(或减法)运算并得出余数,另一路送相应排转换电路最低位的输入端和其它各位的控制端,使最低位转换单元完成对予测商的转换,使其它各位转换单元进行一次对上一排转换单元输出的调整,将冗余码表示的商转换成二进制表示的商,第一行冗余码加法器输入的除数、被除数均为二进制,在算法上强令最高位予测商为1。
下面结合附图对本发明进行详细描述:本发明由冗余码与二进制混合使用的冗余码加法单元3-11、3-12、商选择器3-21、二选一的转换单元3-31、3-32组成的阵列转换电路构成,如附图3所示。D0D1…DN为除数,R0R1…RN为被除数,Q0Q1……QN为商,除数、被除数及商均以二进制表示。本发明在算法上采用基-2SRT算法。
3-12是采用式为
(1)S1 j+2C1 j=ri-1,j+djri-1,j∈{-1,0,1} dj∈{0,1}
s1 j∈{0,-1} c1 j∈{0,1}
(2)ri,j=s1 j+c1 j+1ri,j∈{-1,0,1}
(其中:
D=d0d1…dN为除数
Ri-1=ri-1,0ri-1,1…ri+1,N为i-1级余数输出
Ri=ri,0ri,1…ri,N为i级余数输出)
的二级运算构成的冗余码与二进制混合使用的冗余码加法单元,用它组成除法阵列。由上式可见,电路仅需二级,进位链长度仅为1,与除数和被除数的位数N无关,因此,以它构成的除法阵列与普通的加法单元构成的除法阵列相比,消除了由进位链带来的延迟,使运算速度大大提高;与普通冗余码加法单元构成的除法阵列相比,省掉了一个N位加法器,不仅速度加快,而且节省三分之一的器件,引线也大为减少,这在VLSI实现中有很大意义。
3-11是除法阵列第一行单元电路,由于输入的被除数R0R1…RN和除数D0D1…DN均为二进制数据,其输出的余数是冗余码,所以这一级电路可简化为简单的门电路。如果进一步对冗余码编码进行调整,这一级电路可以省掉,使被除数与除数直接连至下一级。
3-21商选择器。
由于SRT除法中商qi有三种{1,0,-1}可能的取值,也就有三种可能出现的余数Ri:
对应三种余数的取值,商q的取值分别是:
Figure 89106625X_IMG3
由上式可见,商的选择是由上一级的余数Ri与除数D共同决定的,这使求商的时间远远大于冗余码加法运算所用的时间,在电路实现上也比较复杂,为提高速度和简化电路,本发明采用下列公式来确定商q
其中ri,0ri,1ri,2为上一级余数的最高三位,使商选择器简化成不超过二级门电路,由上式还可看出商qi+1决定后,才能进行减法以求出本级余数Ri+1,故本发明说明书中称此商为予测商。
3-31、3-32转换单元组成的阵列转换电路是针对SRT除法需引入加法器而带来的附加延迟问题,提供的一种将冗余码的商直接转换为二进制形式的阵列转换电路。
设QN=q0q1…q为冗余码的商,在计算中商是由高位产生,即由最高位q0至最低位qN依次得出,
令Qi=q0q1…qN为冗余码形式的商
Q1 i=q1 0q1 1…q1 N为转换后的二进制表示的商。
i=0,1,2……N
在归一化小数除法中
q0=1
所以
Q1 0=1
当qi求出后,由Q1 i=Q1 i-1+qi·2-i
得:
qi=1时 Q1 i=Q1 i-1+2-i
qi=0时 Q1 i=Q1 i-1
qi=-1时 Q1 i=Q1 i-1-2-i
由上述转换可见,如出现qi=-1时,就可能会有-2-i,即可能出现进位,这是SRT除法中必须引入加法器的原因所在,而在qi=1或qi=0时,就不会出现进位,本发明利用这一特点,引入一辅助商Q2
令:Q2 i=Q1 i-1-2-i
Q2 0=0
经公式转换,可得到Q1与Q2的迭代关系:
Figure 89106625X_IMG5
由此可见-2-i被消除了,商Qi随着每一位qi的产生均可直接由Q1 i-1Q2 i-1转换得到二进制对应的结果,当qN产生后Q1 N即为转换结果,同时可见,高位商不必由低位向上逐位计算,而是随每一位商的产生,对高位商进行选择调整,电路实现仅是二选一的选择器。
本发明的优点是:1.采用了二级运算构成的冗余码与二进制混合使用的冗余码加法单元组成的除法阵列,消除了进位链带来的延迟,提高了运算速度,并节省了1/3器件,引线大大减少,易于集成,降低了成本;2.采用不超过二级的门电路构成商选择器,简化了电路,提高了运算速度;3.采用二选一的选择器构成将冗余码表示的商直接转换成二进制表示的商的阵列转换电路,消除了SRT除法由加法器引入的附加延迟,提高运算速度。
实施例:
附图4是一个4位(N=4)的归一化小数除法器,它由冗余码与二进制混合使用的冗余码加法单元4-11、4-12组成的除法阵列、3个商选择器4-21、转换单元4-31、4-32组成的阵列转换电路构成。在电路中,冗余码余数的表示方法采用每位冗余码用2条数据线表示,“01”表示+1,“10”表示-1,00表示0,“11”表示任意项,除数则采用补码表示(当然也可表示为符号+绝对值形式),R0R1…R6为被除数,D0D1…D3为除数,Q0Q1…Q3为商。被除数、除数及商均为二进制表示形式。
4个冗余码与二进制混合使用的冗余码加法单元4-11组成除法阵列的第一行,其输入的被除数、除数均为普通二进制数,其输出为冗余码表示的余数。电路如附图5所示,r为被除数,d为除数,r1r2为冗余码表示的余数。12个冗余码与二进制混合使用的冗余码加法单元4-12组成除法阵列的第二、三、四行,其电路如附图6所示。P、n为上一级余数高三位经商选择器形成的予测商,d为除数,a1a2为上一级产生的余数,r1r2为本级运算所得余数,Ci为进位输入,Co为进位输出。由电路可知Co不由Ci决定,不存在串行进位链。本电路采用回复余数形式。
3个商选择器4-21分别接在除法阵第一行至第三行的冗余码加法器的输出端,其电路为附图7所示的一级与或门构成,输入信号为冗余码加法器输出余数的高三位ah、am、al,其中ah1、ah2为最高位,am1、am2为次高位,al1、al2、为第三位,其输出为所形成的予测商P和n,P=1表示商为+1,n=1则表示商为-1。
P= ah1am2 al1+ah2( am1+ al1)
n= ah2am1 al2+ah1( am2+ al2)
予测商p、n一路送下一级冗余码加法器使其完成一次以上一级余数和除数为操作数的加法(或减法)运算并得出余数,另一路送阵列转换电路进行调整,使冗余码表示的商转换成二进制表示的商。
二选一的转换单元4-31、4-32构成阵列转换电路,阵列转换电路的第一排仅含一个转换单元,而后三排自上而下每排包含的转换单元个数依次加一,每排各转换单元的输出分别接下一排各转换单元的输入,第一排转换单元的输入强令为1,其后各排最低位转换单元的输入接相应商选择器的输出,而其它各位转换单元的控制端接商选择器的输出。每排转换电路的最低位转换单元4-31电路如附图8所示。最低位转换单元的输入信号为商选择器输出的予测商p、n,输出信号为a0、a 0(a0对应商,a 0对应商减去2-i)。每排转换电路的其它位的转换单元4-32如附图9所示。ai、a i为上一级转换结果,其中ai对应商,a i对应商减去2-i(i为第几级的级号),p、n为商选择器输出的予测商,ao,ao′为本级转换输出。对于第一排转换电路只包含一个如附图8所示的转换单元电路,其输入强令为1。
附图说明:
附图1  不恢复余数算法的除法阵列电路框图
1-1  二进制加法单元
R0R1…RN被除数
D0D1…DN除数
Q0Q1…QN
附图2  普通冗余码加法阵列框图
2-1  冗余码加法单元
aj、bj冗余码表示的数
sj冗余码表示的和
cj进位
附图3  本发明电路框图
3-11、3-12  冗余码与二进制混合使用的冗余码加法单元
3-21  商选择器
3-31、3-32  转换单元
R0R1…HN被除数
D0D1…DN除数
Q0Q1…QN
附图4  4位的归一化小数除法器电路框图
4-11、4-12  冗余码与二进制混合使用的冗余码加法单元
4-21  商选择器
4-32、4-32  转换单元
R0R1…R6被除数
D0D1D2D3除数
Q0Q1Q2Q3
ah、am、al  冗余码加法器输出最高三位
P、n  予测商
附图5  冗余码与二进制混合使用的冗余码加法单元电路(4-11)
r  被除数
d  除数
r1r2余数
附图6  冗余码与二进制混合使用的冗余码加法单元电路(4-12)
P、n  予测商
d  除数
a1a2上一级产生的余数
r1r2本级运算所得余数
Ci进位输入
Co进位输出
附图7  商选择器电路图
ah1、ah2余数最高位
am1、am2余数次高位
al1、al2余数第三位
P、n  予测商
附图8  转换单元电路(4-31)
P、n  予测商
a0、a0输出信号
附图9  转换单元电路(4-32)
ai、a i上一级转换结果
P、n  予测商
a0、a 0本级转换结果

Claims (3)

1、一种冗余码高速阵列除法器,其特征是在电路上采用式为:
(1)S1 j+2C1 j=ri-1,j+d; rj-1,j∈{-1,0,1} dj∈{0,1}
S1 j∈{0,-1} c1 j∈{0,1}
(2)ri,j=s1 j+c1 j+1ri,j∈{-1,0,1}
(其中D1=d0d1……dN为除数
Ri-1=ri-1,Ori-1,1…ri-1,N为i-1级余数输出
Ri=i,Ori,1…ri,N为i级余数输出)
的二级运算构成的冗余码与二进制混合使用的冗余码加法单元组成N行N列除法阵列,每一行冗余码加法器的输出端均接有一个商选择器,商选择器的输出端接有将冗余码表示的商直接转换成二进制商的阵列转换电路;阵列转换电路是二选一的转换单元组成;在算法上采用基-2SRT算法,商选择器以冗余码加法器运算所得余数的最高三位有效位为电路输入,逻辑判断后产生一位冗余码表示的予测商,一路送下一级冗余码加法器,使其完成一次以上一级余数和除数为操作数的加法(或减法)运算并得出余数,另一路送相应排的转换电路最低位输入端和其它各位的控制端,使最低位转换单元完成对予测商的转换,使其它各位进行一次对上一排转换单元输出的调整,将冗余码表示的商转换成二进制表示的商,第一行冗余码加法器输入的被除数、除数均为二进制,在算法上强令最高位予测商为1。
2、按照权利要求1所说的冗余码高速阵列除法器,其特征在于所说的商选择器可按布尔式
P= ah1am2 al1+ah2( am1+ al1)
n= ah2am1 al2+ah1( am2+ al2)
构成的一级与或门电路,输入信号ah1,ah2是冗余码加法器输出余数的最高位,am1,am2是次高位,al1、al2是第三位,其输出P、n为予测商。
3、按照权利要求1和2所说的冗余码高速阵列除法器,其特征在于所说的阵列转换电路的第一排仅含一个转换单元,而后自上而下每排包含的转换单元个数依次加一,每排各转换单元的输出分别接下一排各转换单元的输入,第一排转换单元的输入强令为1,其后各排最低位转换单元的输入接相应商选择器的输出,而其它各位的转换单元的控制端接商选择器的输出。
CN 89106625 1989-09-02 1989-09-02 一种冗余码高速阵列除法器 Pending CN1049922A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 89106625 CN1049922A (zh) 1989-09-02 1989-09-02 一种冗余码高速阵列除法器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 89106625 CN1049922A (zh) 1989-09-02 1989-09-02 一种冗余码高速阵列除法器

Publications (1)

Publication Number Publication Date
CN1049922A true CN1049922A (zh) 1991-03-13

Family

ID=4856815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 89106625 Pending CN1049922A (zh) 1989-09-02 1989-09-02 一种冗余码高速阵列除法器

Country Status (1)

Country Link
CN (1) CN1049922A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351762A (zh) * 2015-11-12 2018-07-31 Arm有限公司 使用重叠位的数值的冗余表示
CN113312021A (zh) * 2020-02-27 2021-08-27 南京航空航天大学 基于阵列和对数除法器的近似混合除法器电路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351762A (zh) * 2015-11-12 2018-07-31 Arm有限公司 使用重叠位的数值的冗余表示
CN108351762B (zh) * 2015-11-12 2022-08-23 Arm有限公司 使用重叠位的数值的冗余表示的方法和装置
CN113312021A (zh) * 2020-02-27 2021-08-27 南京航空航天大学 基于阵列和对数除法器的近似混合除法器电路

Similar Documents

Publication Publication Date Title
De Caro et al. Efficient logarithmic converters for digital signal processing applications
CN1107598A (zh) 人工神经及其使用方法
CN1109990C (zh) 运算装置及运算方法
CN1821951A (zh) 算术单元
CN1570848A (zh) 使用进位存储加法的蒙哥马利模乘器及其方法
CN1020806C (zh) 使用跳跃阵列和变形华莱士树的并行乘法器
CN1773451A (zh) 任意精度运算器、任意精度运算方法和电子设备
CN1831753A (zh) 一种浮点乘法器及其兼容双精度和双单精度计算的方法
CN1826580A (zh) 具有初步饱和检测的加法或者减法运算单元
CN1108557C (zh) 减少高速算术单元中超前进位加法器级数的结构和方法
CN1781076A (zh) 组合多项式和自然乘法的乘法器架构
CN1258710C (zh) 用于高效模数归约和模数乘法的电路和方法
CN1106081C (zh) 译码电路
CN1049922A (zh) 一种冗余码高速阵列除法器
CN1099071C (zh) 具有比特移位单元的数字滤波器
Kaivani et al. Improving the speed of decimal division
CN1890629A (zh) 使用按比例调整的整数的浮点运算
CN101060326A (zh) 加减计数电路和加减计数方法
CN1082207C (zh) 高速动态二进制加法器
CN1164988C (zh) 32位加法器电路结构
CN1178588A (zh) 使用移位装置的求幂电路及其使用方法
CN1975661A (zh) 一种集成电路中的数据运算方法及装置
CN1855031A (zh) 求定点数除法的算法在视频编码流量控制中的应用
CN1195808A (zh) 算术运算系统
CN1809806A (zh) 改进的归约计算

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication