[go: up one dir, main page]

CN1731344A - 快速多周期二进制及十进制加法器单元的高度并行结构 - Google Patents

快速多周期二进制及十进制加法器单元的高度并行结构 Download PDF

Info

Publication number
CN1731344A
CN1731344A CNA2005100796680A CN200510079668A CN1731344A CN 1731344 A CN1731344 A CN 1731344A CN A2005100796680 A CNA2005100796680 A CN A2005100796680A CN 200510079668 A CN200510079668 A CN 200510079668A CN 1731344 A CN1731344 A CN 1731344A
Authority
CN
China
Prior art keywords
operand
decimal
carry
adder circuit
numerical digit
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
CNA2005100796680A
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1731344A publication Critical patent/CN1731344A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
    • G06F7/494Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/492Indexing scheme relating to groups G06F7/492 - G06F7/496
    • G06F2207/4924Digit-parallel adding or subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/508Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明涉及一种加法器电路用于将两个二进制或两个十进制操作数A和B相加,并且特别地,指的是这样一种处理十进制操作数的加法器电路,其中每一个十进制数位0到9具有一个二进制4位表示。进一步,所述加法器电路包括:a)第一进位支路(12);b)第二加法器支路(14);以及c)加前逻辑(22)。

Description

快速多周期二进制及十进制加法器单元的 高度并行结构
技术领域
本发明涉及一种将两个浮点操作数A和B相加的加法器电路,并且特别地,涉及一种处理十进制操作数的加法器电路,其中每一个十进制数位0到9具有一个二进制4位表示。
背景技术
在十进制加法器中,任何一个0到9的十进制数位由一个4位组来表示。由于4位必然覆盖从十进制数0到15的范围,通常对应着十进制数10,11,12,13,14,15的不用的六个最高组1010,1011,1100,1101,1110,1111被从进一步的计算中排除。
在当今的高端计算机系统中,对于十进制算法和计算的需求渐长。这就涉及了浮点十进制数。这类应用的操作数的宽度的范围为32位甚至为更多位(>128位)。因此无法达到如今的千兆赫设计的单周期方法。而必要代之以多个执行周期。然而,这导致了新的临界路径并且要求对于现有技术的加法器方案的结构性的改变。
至于处理长度为64位的操作数的技术方案的情形。参考美国专利No.6,292,819,其在此通过参考被引入,可以在当前可用的处理单元的一个周期内完成。在这类现有技术的加法器结构中,有一条最为临界的路径通过进位逻辑(上述US专利的图2中指示为C1),其生成进位到每一个数位。
特别地,根据现有技术对于特别的“十进制适配电路”其在此处称为“加前逻辑”的十进制加法运算进行了一个(十进制)按位运算(操作数A加操作数B加6)。数位的进位输出表示了是否需要进行数位和的条件修正。
对于十进制减法在所述的加前电路中进行了一个操作数A减去操作数B的独立的减法,并且当进位输出结果是0的时候数位和减6。否则和即已经被修正。
平行于主进位网路C1,其对于每个数位产生“热”进位,准备了对于加/减的所有可能的数位和计算。这就是A加B加6,A加B,A减B,以及A减B减6,这些预加的每一个都分别利用一个所假设的进位输入0及1来进行。根据运算,4位加前cy0到cy3的适当进位输出通过指出是否需要对数位和进行修正从而定义了数位和的正确选择。
关于定时目的可以看出,通过加前逻辑到cy0,cy1,cy2,cy3并接着到多路器M50和M60的选择信号的路径与产生进位(CyIn)到每一个数位的进位逻辑的延时构成竞争。对于单周期的方法,其中进位逻辑必须处理长度为64位的操作数,不会产生问题。进位产生12无疑是最为临界的网。
然而,对于多周期的方法,对于施加了几个千兆赫的高时钟频率,其中所处理的操作数据块较小,例如,16位,由于进位产生逻辑相对更快因此竞争就会很强。产生多路器M50和M60的选择信号的路径延迟等于产生进位输入Carry-Ins的延迟。这样,加前逻辑就非常不利地过慢,并且ADDCYOUT以及SUBCARRYOUT信号以及各个多路器控制信号就会太迟地到达将来自进位产生逻辑的输入信号以及加前逻辑的输入信号进行合并的多路器M70。这样,非常不利地,这种现有技术不能被用于高时钟频率和短操作数,例如2周期加法器结构中的32位。
发明内容
本发明的目的在于提供一种加法器电路,其克服了上述的不利之处。
本发明的目的通过所附的独立权利要求所列出的特征得以实现。本发明的进一步优势安排以及本发明的实施例在各个从属权利要求中得以阐明。现参照所附的权利要求。
根据其第一基本方面,本发明公开了一种加法器电路用于将两个十进制操作数A和B相加,其中每一个十进制数0到9具有一个二进制的4位表示,并且进行按位的操作数A加操作数B加6的运算,其中数位的进位输出指示着,是否需要数位和的修正。
所述的加法器电路包括:
a)第一进位支路用以产生“热”进位到每一个数位;
b)第二加法器支路用以预算对于假设的进位输入0和1的所有可能的数位和A加B,A减B,A加B加6,以及A减B减6,特征在于:
c)加前逻辑用以从输入操作数直接计算进位输出cy0,cy1,cy2,cy3;
d)所述的加前逻辑完成下面的表达式(1)或是其逻辑等效:
Cy0=g0+(g1*p0)+(g2*p0*p1)+(g3*p0*p1*p2);
Cy1=g0+(g1*p0)+(g2*p0*p1)+(p0*p1*p2*p3);
Cy2=g0+(p0*p1)+(p0*p2)+(p0*g3)+(g1*p2)+(g1*g3)+(p1*g2*g3);
Cy3=g0+(p0*p1)+(p0*p2)+(p0*p3)+(g1*p2)+(g1*p3)+(p1*g2*p3);
具有以下的注释:
g=用gi=Ai*Bi生成;
p=用pi=Ai+Bi传播
+=逻辑OR
*=逻辑AND
这样本发明介绍了一种新的逻辑结构,其中进位由输入操作数A和B直接计算,以避免了通往选择信号Sel0,Sel1,Sel2和Sel3的临界路径。进一步,本发明的进位产生避免了将加6或减6运算包括在进位计算中。换句话说,加前逻辑块的进位输出的定时临界选通就不再使用。
对于所有的定时临界功能,可以使用减少的输入数据组,也就是有效的十进制数据且不存在的十进制数(10-15)就不需要通过单独的校验逻辑进行排除。这样就减少了逻辑功能的复杂性。
进一步,现在多路器M1和M2的选择是正交的,也就是,信号Sel_mux0/2是(Sel_mux1/3)的补码,由于如果使用了快速传送选通多路器,就要求多路器实现“XOR”性能。这样,这个条件就自动为真,并且由于不需要单独的优先逻辑,电路就会很快。
Cy0和Cy1输入是固定的,也就是,A操作数为正,而仅在减法模式时需要操作数B方为负。
并且Cy2和Cy3输入是固定的,操作数A和操作数B为正仅用于加法模式。这样,具有优势地,就无需在加法和减法之间进行转换的转换装置。
进一步,本发明基本上适合超高速加法器结构,其中字长减少,例如在2周期的结构中,其中16位的块被处理。
Cy0到Cy3代表着A加/减B加C的功能,其中C是常数0,1,6或7。因此如果需要,本发明方法还可以用于非-十进制加法器的环境下并且用于在单个数位位置上具有多于一个的进位的加法运算,具有有限输入范围的3端口加法。
本发明同时适用于整数和浮点以及适用于二进制和十进制(不动点和浮点)运算。这样,本发明并不特定于浮点运算。
附图说明
本发明通过使用例子进行说明但是并不限于附图图形的形式,其中:
图1是现有技术的64位十进制加法器的进位部分的方框图;
图2是根据本发明的加法器的各个块的方框图;
图3是表示控制信号any_add,dec_add,dec_sub的设定及其各自的功能的总览表。
具体实施方式
参考全部的附图并且特别参考图2对加法器的发明的数位选择电路的优选实施例进行更详细的描述,其具有优势地适于当今关于具有128位或更多长度的操作数的高端计算机系统的十进制算法和计算,其中4位的组代表一个十进制数位。该图表示了一个这样的十进制数位的处理。本发明并不注重实际的加法。
应当注意的是在附图中符号“A+B”意味着加法运算而不是逻辑OR运算。而“A-B”则意味着减法。
加法器部分在其附图的上部具有和现有技术在图1中引用的类似的结构。且其可以根据控制信号被用于十进制加/减运算以及二进制运算,如下所示:
如果指示为dec_add(十进制加)以及dec_sub(十进制减)并且控制着多路器M5和M6的控制信号不是正交的,加法器结构就会错误地进行二进制加/减。这就是当dec_add=0且dec_sub=0的情况,也参见图3。
框14内的四个支路构造近似而且除了进位输出值Cy0,Cy1,Cy2,Cy3的产生外,如上引美国专利中所描述的那样工作,这里参见图2的描述。对于二进制运算仅使用了较低的两个支路,对于十进制运算,所有的四个支路都使用了。
根据本发明的实施例,一个逻辑块22,标识为“加前进位PCY”,从源操作数A和B直接产生与十进制系统的4位联系的进位信号Cy0到Cy3。该逻辑块优势地具有来自输入操作数A和B的直接输入,如图所示。该加前逻辑块22根据公式(1A)到(1D)产生进位Cy0到Cy3。
(1A):
Cy0=g0+(g1*p0)+(g2*p0*p1)+(g3*p0*p1*p2);
(1B):
Cy1=g0+(g1*p0)+(g2*p0*p1)+(p0*p1*p2*p3);
(1C):
Cy2=g0+(p0*p1)+(p0*p2)+(p0*g3)+(g1*p2)+(g1*g3)+(p1*g2*g3);
(1D):
Cy3=g0+(p0*p1)+(p0*p2)+(p0*p3)+(g1*p2)+(g1*p3)+(p1*g2*p3);
对于i=0...3,具有产生信号:gi=Ai*Bi,传播信号pi=Ai+Bi。
该进位的产生平行于按位加/减6逻辑,多路器M5/M6,以及计算A+/-B以及A+B+6/A-6-B的块的和产生而完成的。
对于多路器M1和M2的控制是利用如下的信号而完成的:
Sel_mux0=not(Sel_mux1)
Sel_mux1=(dec_add*cy)+(dec_sub*not(cyO))
Sel_mux2=not(Sel_mux3)
Sel_mux3=(dec_add*cy3)+(dec_sub*not(cy1))
这样,如上所述的优势,反向选择信号mux_sel1就等同于mux_sel0而反向选择信号mux_sel3等同于mux_sel2。
通过上述的公式(1A)到(1D),在多路器M1和M2的选择信号可以保持跟上在处理来自进位产生电路12以及加前逻辑14的信号的多路器M3的选择定时。具有优势地,如图3所示只有三个控制信号控制着单元的功能。
本领域的技术人员可以理解的是,本发明致力于对于数位和的条件修正的数位进位产生。发明特点并不限定运算的错误模式,其为一二进制加或减。
进一步,本发明原理可以用于覆盖分别具有更大操作数宽度的3周期或更多周期的加运算。

Claims (6)

1.一种加法器电路用于将两个二进制或十进制操作数A和B相加,其中在十进制操作数的情况下每一个十进制数位0到9具有一个二进制4位表示,并且其中十进制-按位运算的执行包括数位和计算:
操作数A加操作数B加6;
操作数A减操作数B减6;
操作数A加操作数B;
操作数A减操作数B;
其中十进制数位的进位输出指示着是否需要对数位和进行修正,所述加法器电路包括:
a)第一进位支路(12)用以产生“热”进位到每个数位中;
b)第二加法器支路(14)用以分别预算对于十进制操作数,假设进位输入值0和1的,所有可能的数位和,A加B,A减B,A加B加6,A减6减B,其特征在于:
c)加前逻辑(22),用于从输入操作数直接计算出进位输出值cy0,cy1,cy2以及cy3;
d)所述的加前逻辑(22)完成下面的表达式(1)或其逻辑等效:
Cy0=g0+(g1*p0)+(g2*p0*p1)+(g3*p0*p1*p2);(1A)
Cy1=g0+(g1*p0)+(g2*p0*p1)+(p0*p1*p2*p3);(1B)
Cy2=g0+(p0*p1)+(p0*p2)+(p0*g3)+(g1*p2)+(g1*g3)+(p1*g2*g3);(1C)
Cy3=g0+(p0*p1)+(p0*p2)+(p0*p3)+(g1*p2)+(g1*p3)+(p1*g2*p3);(1D)。
2.根据权利要求1的加法器电路,其中36个4位数字在两个周期内被计算以执行十进制加法运算或二进制加法运算。
3.根据权利要求1的加法器电路,其中16位操作数在一个周期内被处理。
4.根据权利要求1的加法器电路,其中提供了转换控制(M5,M6)用于在二进制运算模式和十进制运算模式间进行选择。
5.包括根据前述权利要求中的一个的加法器电路的计算机系统。
6.运算加法器单元的方法,其特征在于包括步骤:
a)将输入操作数供给到加前进位逻辑(22),其根据如下表达式(1)执行一逻辑或其等效:
b)Cy0=g0+(g1*p0)+(g2*p0*p1)+(g3*p0*p1*p2);(1A)
Cy1=g0+(g1*p0)+(g2*p0*p1)+(p0*p1*p2*p3);(1B)
Cy2=g0+(p0*p1)+(p0*p2)+(p0*g3)+(g1*p2)+(g1*g3)+(p1*g2*g3);(1C)
Cy3=g0+(p0*p1)+(p0*p2)+(p0*p3)+(g1*p2)+(g1*p3)+(p1*g2*p3);(1D)。
CNA2005100796680A 2004-08-05 2005-06-24 快速多周期二进制及十进制加法器单元的高度并行结构 Pending CN1731344A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04103765.6 2004-08-05
EP04103765 2004-08-05

Publications (1)

Publication Number Publication Date
CN1731344A true CN1731344A (zh) 2006-02-08

Family

ID=35758651

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100796680A Pending CN1731344A (zh) 2004-08-05 2005-06-24 快速多周期二进制及十进制加法器单元的高度并行结构

Country Status (2)

Country Link
US (1) US20060031279A1 (zh)
CN (1) CN1731344A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324461A (zh) * 2013-07-03 2013-09-25 刘杰 四加数二进制并行同步加法器
CN106484361A (zh) * 2015-08-24 2017-03-08 韩青松 十进制数字加法器

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612500B2 (en) * 2007-01-18 2013-12-17 International Business Machines Corporation Method and decimal arithmetic logic unit structure to generate a magnitude result of a mathematic

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5007010A (en) * 1985-01-31 1991-04-09 Unisys Corp. (Formerly Burroughs Corp.) Fast BCD/binary adder
GB9510834D0 (en) * 1995-05-27 1995-07-19 Int Computers Ltd Decimal arithmetic apparatus and method
US5928319A (en) * 1997-11-07 1999-07-27 International Business Machines Corporation Combined binary/decimal adder unit
US6292819B1 (en) * 1998-09-04 2001-09-18 International Business Machines Corporation Binary and decimal adder unit
US7206802B2 (en) * 2002-10-10 2007-04-17 International Business Machines Corporation Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324461A (zh) * 2013-07-03 2013-09-25 刘杰 四加数二进制并行同步加法器
CN103324461B (zh) * 2013-07-03 2015-12-23 刘杰 四加数二进制并行同步加法器
CN106484361A (zh) * 2015-08-24 2017-03-08 韩青松 十进制数字加法器

Also Published As

Publication number Publication date
US20060031279A1 (en) 2006-02-09

Similar Documents

Publication Publication Date Title
CN1230735C (zh) 在一个周期内处理乘累加运算
US20210349692A1 (en) Multiplier and multiplication method
CN1735880A (zh) 用于执行计算操作的系统、方法及设备
CN101042583A (zh) 用于可编程逻辑器件的专门处理块
US6704762B1 (en) Multiplier and arithmetic unit for calculating sum of product
CN1108558C (zh) 面向算术/移位操作的单指令多数据校正电路
CN1821951A (zh) 算术单元
CN112434801B (zh) 一种按照比特精度进行权重拆分的卷积运算加速方法
CN1561478A (zh) 用于有效的混和精度dsp的分割乘法器
CN1826580A (zh) 具有初步饱和检测的加法或者减法运算单元
US20040267853A1 (en) Method and apparatus for implementing power of two floating point estimation
US6535901B1 (en) Method and apparatus for generating a fast multiply accumulator
CN1258710C (zh) 用于高效模数归约和模数乘法的电路和方法
CN1108557C (zh) 减少高速算术单元中超前进位加法器级数的结构和方法
CN1218240C (zh) 数据处理设备及其数据处理方法
CN110858137B (zh) 除以整数常数的浮点除法
US5734599A (en) Performing a population count using multiplication
CN113010148B (zh) 一种适用于混合精度神经网络的定点乘加运算单元及方法
Kaivani et al. Improving the speed of decimal division
CN1731344A (zh) 快速多周期二进制及十进制加法器单元的高度并行结构
CN1717653A (zh) 带有查询表的乘法器
CN110506255A (zh) 节能型可变功率加法器及其使用方法
CN1632740A (zh) 乘累加装置
CN1809806A (zh) 改进的归约计算
CN1591824A (zh) 40位带舍入功能的快速累加累减器电路实现结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication