CN1003678B - 最佳分区再生先行进位加法器 - Google Patents

最佳分区再生先行进位加法器 Download PDF

Info

Publication number
CN1003678B
CN1003678B CN87100346.5A CN87100346A CN1003678B CN 1003678 B CN1003678 B CN 1003678B CN 87100346 A CN87100346 A CN 87100346A CN 1003678 B CN1003678 B CN 1003678B
Authority
CN
China
Prior art keywords
carry
unit
group
adder
circuit
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.)
Expired
Application number
CN87100346.5A
Other languages
English (en)
Other versions
CN87100346A (zh
Inventor
武升
帕特里克·P·格尔辛格
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN87100346A publication Critical patent/CN87100346A/zh
Publication of CN1003678B publication Critical patent/CN1003678B/zh
Expired 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/50Adding; 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)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Complex Calculations (AREA)
  • Dc Digital Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本文描述了改进的产生先行进位的方法。使用了不规则的分组方法使得进位传送延时减小这种分组中,大的位组在中央,小的位组在两端。

Description

最佳分区再生先行进位加法器
本发明涉及数字加法器领域,确切地说,涉及加法器的先行进位方式。
计算机或微处理器的核心是算术-逻辑运算单元(ALU简称运算器)。运算器的一个基本功能是进行数字加法运算。运算器中的加法器电路将两个数组合并生成其和。
典型的半加器将两个数相加并给出其和与一个进位。全加器接收一个输入的进位,将该进位也相加,从而提供和及一个进位输出。对下一个有效位,这个进位输出相当于进位输入。单个全加器顺序相联形成一个完整的加法器,而加法器的扩展是由串联级的数量而确定。然而,在简单的行波加法器中,由于在当前级中执行加法运算时需要先有前一级产生的进位,所以处理时间非常慢。
为了克服这一缺陷,产生了先行电路。在典型的先行电路中,首先考查将要执行加法的某些数字位,在这些位相加得到其和之前产生一个进位输出。因此,典型的先有技术电路中,一对四位字节组成一级,在该级产生和之前为下一级提供进位输出。先行电路减少了在每位位置需要的行波式动作,因此减少了运算时间。遗憾的是,由于每一级中位数的增加,先行电路也变得相当庞大,因此,在实施的先有技术中,将每级限制在四位。
本发明描述了一种改进的方式,通过先行进位的不规则分组的组合,以实现最佳进位传送。通过把较多的位分组在中央,而把较少的位分组在两端,可得到较快的进位传送。在使用多位处理器,例如当今的32位处理器时,运算器中进位传送的延时限制了运算速度。本发明的目的是要减少这种进位传送的延时。
本发明公开了一种用于在先行电路中组合不规则分组中位数的方法。通过把较多的位分组在中央的级,而把较少的位分组在两端的级,可得到比先有技术的分组更快的进位传送速度。在32位处理器中,运算时间比先有技术分组改善了25%。虽然此处所述本发明是应用于32位的分组,对其它可能的组合也可实现。此外,本发明也可用于一般的加法器,并不仅限于运算器电路。
因此,本发明的一个目的是提供先行进位加法器的一种最佳位分组。
本发明的另一个目的是缩短处理器中运算器的运算时间。
图1所示为先有技术的行波进位加法器。
图2所示为先有技术的先行进位加法器。
图3所示为先有技术实例,每个先行进位加法器为四位分组。
图4所示为先有技术中先行进位加法器的功能。
图5所示为本发明的不规则分组。
这里描述一种改进的先行进位分组方式。首先讨论先有技术,以建立本发明所基于的原理。本发明的问世是为了提高利用多路信号分离32位总线的32位处理器的运算速度。早期的先行进位分组为不变分组,由于采用TTL技术,一般是四位一组。本发明特别适用于现行的半导体封装,可明显的缩短运算时间。
图1所示为先有技术的行波加法器。一个完整的32位加法器将两个32位数A、B以及进位输入11相加,并产生和与进位输出12。位零加法器(bit zero adder)级10将A013、B014位以及进位输入(C)11相加,产生位零级的和S015并为下一位级17产生进位C116。级17对第二位(A1、B1)18和19执行同样的运算顺序,并产生和S120与进位C221。这个运算顺序重复32次后,产生Cout(C32)12。如果每级执行运算需要t时间,则先有技术的32位行波方式将需要时间32t才能产生进位输出12。
图2为先有技术中使用先行方式的32位加法器。每一位级22包括一个PG(传送/生成)电路23。每个PG电路23按照下列真值表提供一个传送信号24和一个生成信号25:
Gn=An Bn(式1)
Pn=An Bn(式2)
以及由下式所得的和26:
Sn=An Bn Cn(式3)
当Pn=1时,无论Gn为何值,都把进位输入传送到进位输出。当Pn=0时,无论进位输入为何值,进位输出由Gn的值确定。在先有技术中,传送信号24和生成信号25已为公知,并有许多电路设计提供这两种信号。
先行电路30从位零级并通以后位的三个级30、31、32和33以及进位输入(C0)34得到传送信号24和生成信号25。电路30在其内部按照下列真值表产生自身的组P信号和组G信号:
Gg=G3+P3G2+P3P2G2+P3P2P1G0(式4)
Pg=P3P2P1P0(式5)
之后,电路30产生相当于级33的进位输出C4的输出35,其中C4由下式确定:
Cn=Gn-1+Pn-1Gn-2+Pn-1Pn-2Gn-3+……Pn-1Pn-2……P0G0(式6)
C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0G0上式等效于:(式7)
C4=Gg+PgC0(式8)
利用先行电路30,计算一个块(block)的进位输出值与计算该块(级30-33)和的值是同时进行的。
图3所示为每个先行块40的四位分组。在32位加法器中,产生进位输出41需要八个块。每个块40按照行波形式把进位42耦合到下一个更高有效位块。因为各先行块40确定进位是与位级的求和运算同时进行的,所以进位输出41的产生比图1中的行波形式要快得多。此外,因为每个块40可以并行运算,所以限制的因素仅为通过先行进位电路传送进位所需的时间。
图4更详细的说明了所示的先行块40的全部工作过程。每个块40与图3所示相似,为4位分组。每个块的进位42由内部生成函数值(Gg)45或传送值(Pg)46所确定(其中Cout=Gg+PgCi)。对每个先行电路,每个位的位加法器44耦合成四位一组的形式。因此,当进位输入C047必须通过所有的八个先行块40传送时,产生最长的行波效应。任何时候,当进位传送(Pg)为零时,这个进位传送链结束。
当C047=1并且C32=1时,通过全部八个先行块40的传送通道是不中断的(假设进位输入C047的传送要通过每个先行级)。如果每个先行块的延时为L时间,总的传送延时为t=8L。
实际上,当进位产生在输出位级0,终止在输出位级30时为最差的情况。此最差情况的进位传送通道由箭头48示出。因为级0和级31并不传送进位(P0=P31=0),所以进位必须以行波方式通过位加法器位1、2、3、28、29和30。此外,进位也必须通过先行块2到先行块7(6个块)。因此,如果每个位加法器传送进位的延迟时间为B,则全部传送延时为:
T=3B+6L+3B
如果B=L则T=12B
虽然先行进位电路可以做成多于4位,但如式(6)所示,逻辑电路将十分复杂。此外,在早期的集成电路结构中,作为TTL封装,一般每个封装中为四个位加法器。因此人们选择在一个封装中的四位先行电路以满足四位加法器之用。这种趋势一直沿续至今。
本发明的产生是为了满足开发制作在一块半导体芯片上的快速32位微处理器的需要。因为是密集的特殊封装,在一个位分组中实际的位数与封装无关,除非每个组中位数过大而使电路过于复杂,导致先行作用失效。
图5所示为本发明电路的工作情况。32位全加法器60以级联行波方式联接,位零加法器50是最低有效位(Lsub)加法器,位31加法器65是最高有效位(Msub)加法器。32位加法器60的每个位加法器61接收两位,并从前一位加法器接收进位输入,对下一位加法器(未示出)产生进位输出。Lsub加法器50接收进位输入64,Msub加法器65产生进位输出66。每个位加法器61还具有PG电路,PG电路把P线和G线(未示出)分别连接到它的先行进位生成块67。每个先行块67以级联方式联接,以便从前一块接受进位输入,并且对下一块产生进位输出。此外,第一块52接受进位输入64,最后一块62产生进位输出66。
本发明不规则的分组包括八个先行进位块,大的分组在中央,而小的分组在两端。位零加法器50和位1加法器51构成第一个分组,并且先行进位由第一块52产生。第二块55包括三位,每个分组的位数一直增加,直到中央块56为止,随后,对于以后的块,每个分组的位数减小。每个位块的进位输出是由行波进位输出70或先行输出71提供,并作为进位输入传送到下一个位组。自然,最好是来自先行块67的输出。
图中所示位序列具有如下分组:
3 4 5 6 5 4 3 2
所示的最差的情况下的位传送起始于位置53,终止于位置54,其传送通道包括:位级1、先行块2到先行块7、位级29和位级30,延时总和为:T=2B+6L+1B
(B是位级的延时,L是先行块的延时)
其中如果L=B,则T=9B
这个延时比起规则分组的最差情况下的延时12B降低了25%。因此运算时间比先有技术中规则位分组减少25%。
在特定的实施例中,选择下列方式的分组:
3 4 5 6 5 5 4
因为B延时小于L延时,所以这种方式可得到最佳传送延时。
虽然在本发明的最佳实施例中用的是32位结构,本发明也可用于不是32位的结构。此外,根据L和B延时的特性也可采用其它许多可能的不规则分组。本发明使用不规则先行分组以获得最佳进位通道延时。另外,本发明也可应用于其它加法器电路,并不仅仅限于运算器的加法器电路。
以上所述就是用于先行进位电路的加法器位的不规则公组方法。

Claims (16)

1、在一个包括有级联起来用于两个二进制数相加的多个加法器单元的数字加法器中,每个上述加法器单元连接起来以接受上述每一个二进制数的一相应位和一进位输入位,以提供一个“和”位及一进位输出位;每一单元还提供一进位传送和一进位生成信号;该数字加法器中还包括有一进位生成装置,该装置包括:
以级联方式安排的多个先行进位电路,其中每个先行进位电路与一单元组相并联连接,以接受该单元组中的加法器单元的进位传送信号和进位生成信号,从而提供一个进位输出位,使得通过该单元组的进位传送信号取决于相应的先行进位电路;
该进位生成装置特征在于:
所述诸单元组中所含单元的数目可以是不相等的,这些单元组被如此安排,使得具有加法器单元数目最多的单元组被放置在中间位置,而随着单元组的单元数目减少将该单元组放置在离开中央位置和接近两端的位置上;从而使得加法器的总的进位传送延迟减少。
2、根据权利要求1定义的进位生成装置,其特征在于该装置提供了一32个加法器单元的向前进位通路。
3、根据权利要求2定义的进位生成装置,其特征在于:所述诸单元组是这样安排的,从最高有效组到最低有效组的组中包括加法器单元的数目分别是3,4,5,6,5,4,3,2。
4、根据权利要求2定义的进位生成装置,其特征在于:所述诸单元组是这样安排的,从最高有效组到最低有效组的组中包括加法器单元的数目分别是3,4,5,6,5,5,4。
5、根据权利要求3或4的进位生成装置,其特征在于该装置是制作在一半导体芯片中的。
6、一种减少在数字加法器中的进位传输的方法,其特征在于包括如下步骤:
将各个级联起来用于将两个二进制数相加的加法器单元顺序地安排,将每一个加法器单元连接起来接受上述每一个二进制数的一相应位和一进位输入位,以提供一“和”位及一进位输出位,每一加法器单元还提供一进位传送和进位生成信号给一先行进位电路;
将上述加法器单元分组,其中诸单元组含有单元的数目可以是不相等的,用以给每一组产生一先行进位,该分组使得具有最多单元数目的组放在中间位置,而随着单元组含有单元数的减少将该单元组放置在离开中间位置和接近两端的位置上;
串联地安排上述多个先行进位电路来为每一个所述单元组提供一个先行进位通路;
将每一组加法器单元连接到上述先行进位电路上;
从而获得比具有相同的单元分组或近似相同的元件分组的安排更快的加法器电路处理时间。
7、根据权利要求6定义的方法,其特征在于:将32个加法器单元分成组,使得每组中包括的单元数分别是3,4,5,6,5,4,3,2。
8、根据权利要求6定义的方法,其特征在于:将32个加法器单元分成组,使得每组包括的单元数分别是3,4,5,6,5,5,4。
CN87100346.5A 1986-01-21 1987-01-17 最佳分区再生先行进位加法器 Expired CN1003678B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/820,384 US4737926A (en) 1986-01-21 1986-01-21 Optimally partitioned regenerative carry lookahead adder
US820384 1986-01-21

Publications (2)

Publication Number Publication Date
CN87100346A CN87100346A (zh) 1987-08-19
CN1003678B true CN1003678B (zh) 1989-03-22

Family

ID=25230620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN87100346.5A Expired CN1003678B (zh) 1986-01-21 1987-01-17 最佳分区再生先行进位加法器

Country Status (8)

Country Link
US (1) US4737926A (zh)
JP (1) JP2594428B2 (zh)
KR (1) KR940008613B1 (zh)
CN (1) CN1003678B (zh)
DE (1) DE3700991C2 (zh)
GB (1) GB2185605B (zh)
HK (1) HK57290A (zh)
SG (1) SG34590G (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942548A (en) * 1987-06-25 1990-07-17 International Business Machines Corporation Parallel adder having removed dependencies
US4993073A (en) * 1987-10-01 1991-02-12 Sparkes Kevin J Digital signal mixing apparatus
AU3289889A (en) * 1988-02-29 1989-09-22 Chopp Computer Corporation Carry generation method and apparatus
US5122982A (en) * 1988-02-29 1992-06-16 Chopp Computer Corporation Carry generation method and apparatus
US4924423A (en) * 1988-04-25 1990-05-08 International Business Machines Corporation High speed parity prediction for binary adders using irregular grouping scheme
US4905180A (en) * 1988-12-16 1990-02-27 Intel Corporation MOS adder with minimum pass gates in carry line
US5136539A (en) * 1988-12-16 1992-08-04 Intel Corporation Adder with intermediate carry circuit
JPH02245926A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd 論理回路
EP0609372A1 (en) * 1991-10-24 1994-08-10 Intel Corporation Data processing system
US5361370A (en) * 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
JPH0651950A (ja) * 1992-07-30 1994-02-25 Mitsubishi Electric Corp 加算回路
EP0590251A2 (en) * 1992-09-22 1994-04-06 Motorola, Inc. High-speed adder
US5483478A (en) * 1992-10-16 1996-01-09 Xilinx, Inc. Method and structure for reducing carry delay for a programmable carry chain
US5337269A (en) * 1993-03-05 1994-08-09 Cyrix Corporation Carry skip adder with independent carry-in and carry skip paths
US5327369A (en) * 1993-03-31 1994-07-05 Intel Corporation Digital adder and method for adding 64-bit, 16-bit and 8-bit words
US5508952A (en) * 1993-10-19 1996-04-16 Kantabutra; Vitit Carry-lookahead/carry-select binary adder
GB2293665A (en) * 1994-09-29 1996-04-03 Texas Instruments Ltd A look-ahead scheme.
US5581497A (en) * 1994-10-17 1996-12-03 Intel Corporation Carry skip adder with enhanced grouping scheme
US5701504A (en) * 1994-12-28 1997-12-23 Intel Corporation Apparatus and method for addition based on Kogge-Stone parallel algorithm
US5619442A (en) * 1995-04-07 1997-04-08 National Semiconductor Corporation Alternating polarity carry look ahead adder circuit
US5978826A (en) * 1995-12-01 1999-11-02 Lucent Techologies Inc. Adder with even/odd 1-bit adder cells
US5854918A (en) * 1996-01-24 1998-12-29 Ricoh Company Ltd. Apparatus and method for self-timed algorithmic execution
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US6205463B1 (en) * 1997-05-05 2001-03-20 Intel Corporation Fast 2-input 32-bit domino adder
US6735612B1 (en) * 1997-06-24 2004-05-11 International Business Machines Corporation Carry skip adder
US6405233B1 (en) 1999-06-30 2002-06-11 Intel Corporation Unaligned semaphore adder
DE10050589B4 (de) 2000-02-18 2006-04-06 Hewlett-Packard Development Co., L.P., Houston Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation
US6539413B1 (en) * 2000-03-15 2003-03-25 Agere Systems Inc. Prefix tree adder with efficient sum generation
US20030065696A1 (en) * 2001-09-28 2003-04-03 Ruehle Michael D. Method and apparatus for performing modular exponentiation
US6922717B2 (en) 2001-09-28 2005-07-26 Intel Corporation Method and apparatus for performing modular multiplication
US7325025B2 (en) * 2001-12-18 2008-01-29 Intel Corporation Look-ahead carry adder circuit
US7516173B2 (en) * 2004-08-04 2009-04-07 Intel Corporation Carry-skip adder having merged carry-skip cells with sum cells
KR100867641B1 (ko) * 2006-07-31 2008-11-10 삼성전자주식회사 조건 선택 가산기

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL213922A (zh) * 1957-01-22
US3697735A (en) * 1969-07-22 1972-10-10 Burroughs Corp High-speed parallel binary adder
US3700857A (en) * 1971-04-14 1972-10-24 Bell Telephone Labor Inc Electrical resistance heater
JPS5068036A (zh) * 1973-10-16 1975-06-07
US3987291A (en) * 1975-05-01 1976-10-19 International Business Machines Corporation Parallel digital arithmetic device having a variable number of independent arithmetic zones of variable width and location
IL59907A0 (en) * 1980-04-23 1980-06-30 Nathan Grundland Arithmetic logic unit
JPS6055438A (ja) * 1983-09-05 1985-03-30 Matsushita Electric Ind Co Ltd 2入力加算器
US4623981A (en) * 1983-09-20 1986-11-18 Digital Equipment Corporation ALU with carry length detection
DE3481559D1 (de) * 1983-12-27 1990-04-12 Nec Corp Eine, fuer eine arithmetische operation hoher geschwindigkeit geeignete, uebertragsschaltung.

Also Published As

Publication number Publication date
DE3700991A1 (de) 1987-07-23
KR870007460A (ko) 1987-08-19
JP2594428B2 (ja) 1997-03-26
JPS62172429A (ja) 1987-07-29
HK57290A (en) 1990-08-10
GB2185605A (en) 1987-07-22
DE3700991C2 (de) 1996-02-01
GB2185605B (en) 1989-10-25
CN87100346A (zh) 1987-08-19
KR940008613B1 (ko) 1994-09-24
GB8624162D0 (en) 1986-11-12
SG34590G (en) 1990-07-13
US4737926A (en) 1988-04-12

Similar Documents

Publication Publication Date Title
CN1003678B (zh) 最佳分区再生先行进位加法器
Hotkar et al. Implementation of Low Power and area efficient carry select Adder
US5325320A (en) Area efficient multiplier for use in an integrated circuit
EP0450755B1 (en) Radix 4 carry lookahead trees
JPS6055438A (ja) 2入力加算器
US5508952A (en) Carry-lookahead/carry-select binary adder
US5268856A (en) Bit serial floating point parallel processing system and method
US4805131A (en) BCD adder circuit
US4700325A (en) Binary tree calculations on monolithic integrated circuits
US4970677A (en) Full adder circuit with improved carry and sum logic gates
US5257217A (en) Area-efficient multiplier for use in an integrated circuit
CA2013057C (en) Plural dummy select chain logic synthesis network
Nakamura et al. A single chip parallel multiplier by MOS technology
KR950006581B1 (ko) 영역 유효 평면도를 갖는 올림수 저장 가산기로 구성되는 2진 트리 승산기
JPH06195201A (ja) 不等桁上げ方式(varied carry scheme)を用いた高速加算器とそれに関連する方法
JPH0820942B2 (ja) 高速乗算器
US4041296A (en) High-speed digital multiply-by-device
EP0450752B1 (en) High speed mixed radix adders
SU1229758A1 (ru) Устройство дл умножени
Hsu et al. TIDBITS: Speedup via time-delay bit-slicing in ALU design for VLSI technology
Sushmitha et al. 16-bit three operand adder of CS3A and HC3A
SU898422A1 (ru) Многовходовое суммирующее устройство
Lin Shift switching with domino logic: asynchronous VLSI comparator schemes
RU1783617C (ru) Устройство дл подсчета количества единиц в @ -разр дном двоичном коде
SU363119A1 (ru) Регистр сдвига

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee