新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 加法器是什么?加法器電路原理

加法器是什么?加法器電路原理

作者: 時(shí)間:2016-11-22 來源:網(wǎng)絡(luò) 收藏

  

本文引用地址:http://2s4d.com/article/201611/340533.htm

  是為了實(shí)現(xiàn)加法的。

  即是產(chǎn)生數(shù)的和的裝置。加數(shù)和被加數(shù)為輸入,和數(shù)與進(jìn)位為輸出的裝置為半加器。若加數(shù)、被加數(shù)與低位的進(jìn)位數(shù)為輸入,而和數(shù)與進(jìn)位為輸出則為全加器。常用作計(jì)算機(jī)算術(shù)邏輯部件,執(zhí)行邏輯操作、移位與指令調(diào)用。

  對(duì)于1位的二進(jìn)制加法,相關(guān)的有五個(gè)的量:1,被加數(shù)A,2,被加數(shù)B,3,前一位的進(jìn)位CIN,4,此位二數(shù)相加的和S,5,此位二數(shù)相加產(chǎn)生的進(jìn)位COUT。前三個(gè)量為輸入量,后兩個(gè)量為輸出量,五個(gè)量均為1位。

  對(duì)于32位的二進(jìn)制加法,相關(guān)的也有五個(gè)量:1,被加數(shù)A(32位),2,被加數(shù)B(32位),3,前一位的進(jìn)位CIN(1位),4,此位二數(shù)相加的和S(32位),5,此位二數(shù)相加產(chǎn)生的進(jìn)位COUT(1位)。

  要實(shí)現(xiàn)32位的二進(jìn)制加法,一種自然的想法就是將1位的二進(jìn)制加法重復(fù)32次(即逐位進(jìn)位)。這樣做無疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT提供的,所以第2位必須在第1位計(jì)算出結(jié)果后,才能開始計(jì)算;第3位必須在第2位計(jì)算出結(jié)果后,才能開始計(jì)算,等等。而最后的第32位必須在前31位全部計(jì)算出結(jié)果后,才能開始計(jì)算。這樣的方法,使得實(shí)現(xiàn)32位的二進(jìn)制加法所需的時(shí)間是實(shí)現(xiàn)1位的二進(jìn)制加法的時(shí)間的32倍。

  可以看出,上法是將32位的加法1位1位串行進(jìn)行的,要縮短進(jìn)行的時(shí)間,就應(yīng)設(shè)法使上敘進(jìn)行過程并行化。

  逐位進(jìn)位加法器,在每一位的計(jì)算時(shí),都在等待前一位的進(jìn)位。那么不妨預(yù)先考慮進(jìn)位輸入的所有可能,對(duì)于二進(jìn)制加法來說,就是0與1兩種可能,并提前計(jì)算出若干位針對(duì)這兩種可能性的結(jié)果。等到前一位的進(jìn)位來到時(shí),可以通過一個(gè)雙路開關(guān)選出輸出結(jié)果。這就是進(jìn)位選擇加法器的思想。

  提前計(jì)算多少位的數(shù)據(jù)為宜?同為32位的情況:線形進(jìn)位選擇加法器,方法是分N級(jí),每級(jí)計(jì)算32/N位;平方根進(jìn)位選擇加法器,考慮到使兩個(gè)路徑(1,提前計(jì)算出若干位針對(duì)這兩種可能性的結(jié)果的路徑,2,上一位的進(jìn)位通過前面的結(jié)構(gòu)的路徑)的延時(shí)達(dá)到相等或是近似。方法,或是2345666即第一級(jí)相加2位,第二級(jí)3位,第三級(jí)4位,第四級(jí)5位,第五級(jí)6位,第六級(jí)6位,第七級(jí)6位;或是345677即第一級(jí)相加3位,第二級(jí)4位,第三級(jí)5位,第四級(jí)6位,第五級(jí)7位,第六級(jí)7位。

  進(jìn)一步分析加法進(jìn)行的機(jī)制,可以使加法器的結(jié)構(gòu)進(jìn)一步并行化。

  令G = AB,P = A⊕B,則COUT(G,P) = G + PCIN,S(G,P)=P⊕CIN。由此,A,B,CIN,S,COUT五者的關(guān)系,變?yōu)榱薌,P,CIN,S,COUT五者的關(guān)系。

  再定義點(diǎn)運(yùn)算(•),(G,P)•(G’,P’)=(G + PG’,PP’),可以分解(G 3:2,P3:2) =(G3,P3)•(G2,P2)。 點(diǎn)運(yùn)算服從結(jié)合律,但不符合交換律。

  點(diǎn)運(yùn)算只與G,P有關(guān)而與CIN無關(guān),也就是可以通過只對(duì)前面若干位G,P進(jìn)行點(diǎn)運(yùn)算計(jì)算,就能得到第N位的GN:M,PN:M值,當(dāng)取M為0時(shí),獲得的GN:0,PN:0即可與初使的CIN一起代入COUT(G,P) = G + PCIN,S(G,P)=P⊕CIN,得到此位的COUT,S;而每一位的G,P值又只與該位的A,B值即輸入值有關(guān),所以在開始進(jìn)行運(yùn)算后,就能并行的得到每一位的G,P值。

  以上分析產(chǎn)生了超前進(jìn)位加法器的思想:三步運(yùn)算,1,由輸入的A,B算出每一位的G,P;2,由各位的G,P算出每一位的GN:0,PN:0;3,由每一位的GN:0,PN:0與CIN算出每一位的COUT,S。其中第1,3步顯然是可以并行處理的,計(jì)算的主要復(fù)雜度集中在了第2步。

  第2步的并行化,也就是實(shí)現(xiàn)GN:0,PN:0的點(diǎn)運(yùn)算分解的并行化。

  加法器定義

  實(shí)現(xiàn)多位二進(jìn)制數(shù)相加的電路稱為加法器, 它能解決二進(jìn)制中1+1=10 的功能(當(dāng)然還有 0+0、0+1、1+0).

  加法器的分類

  一、半加器概念:能對(duì)兩個(gè)1位二進(jìn)制數(shù)進(jìn)行相加而求得和及進(jìn)位的邏輯電路稱為半加器?;颍褐豢紤]兩個(gè)一位二進(jìn)制數(shù)的相加,而不考慮來自低位進(jìn)位數(shù)的運(yùn)算電路,稱為半加器。

  

 

  Ai、Bi:加數(shù), Si:本位的和。

  二、全加器

  概念:能對(duì)兩個(gè)1位二進(jìn)制數(shù)進(jìn)行相加并考慮低位來的進(jìn)位,即相當(dāng)于3個(gè)1位二進(jìn)制數(shù)相加,求得和及進(jìn)位的邏輯電路稱為全加器。或:不僅考慮兩個(gè)一位二進(jìn)制數(shù)相加,而且還考慮來自低位進(jìn)位數(shù)相加的運(yùn)算電路,稱為全加器。

  

 

  Ai、Bi:加數(shù), Ci-1:低位來的進(jìn)位,Si:本位的和, Ci:向高位的進(jìn)位。

  加法器的實(shí)現(xiàn)

  1、串行進(jìn)位加法器

  構(gòu)成:把n位全加器串聯(lián)起來,低位全加器的進(jìn)位輸出連接到相鄰的高位全加器的進(jìn)位輸入。

  

 

  特點(diǎn):進(jìn)位信號(hào)是由低位向高位逐級(jí)傳遞的,速度不高。

  2、并行進(jìn)位加法器(超前進(jìn)位加法器)

  設(shè)一個(gè)n位的加法器的第i位輸入為ai、bi、ci,輸出si和ci+1,其中ci是低位來的進(jìn)位,ci+1(i=n-1,n-2,…,1,0)是向高位的進(jìn)位,c0是整個(gè)加法器的進(jìn)位輸入,而cn是整個(gè)加法器的進(jìn)位輸出。則和 si=ai i i+ ibi i+ i ici+aibici (1)

  進(jìn)位ci+1=aibi+aici+bici (2)

  令gi=aibi, (3)

  pi=ai+bi, (4)

  則 ci+1= gi+pici (5)

  只要aibi=1,就會(huì)產(chǎn)生向i+1位的進(jìn)位,稱g為進(jìn)位產(chǎn)生函數(shù);同樣,只要ai+bi=1,就會(huì)把ci傳遞到i+1位,所以稱p為進(jìn)位傳遞函數(shù)。把(5)式展開,得到

  ci+1= gi+ pigi-1+pipi-1gi-2+…+ pipi-1…p1g0+ pipi-1…p0c0 (6) 隨著位數(shù)的增加(6)式會(huì)加長(zhǎng),但總保持三個(gè)邏輯級(jí)的深度,因此形成進(jìn)位的延遲是與位數(shù)無關(guān)的常數(shù)。一旦進(jìn)位(c1~cn-1)算出以后,和也就可由(1)式得出。

  使用上述公式來并行產(chǎn)生所有進(jìn)位的加法器就是超前進(jìn)位加法器。產(chǎn)生gi和pi需要一級(jí)門延遲,ci 需要兩級(jí),si需要兩級(jí),總共需要五級(jí)門延遲。與串聯(lián)加法器(一般要2n級(jí)門延遲)相比,(特別是n比較大的時(shí)候)超前進(jìn)位加法器的延遲時(shí)間大大縮短了。



關(guān)鍵詞: 加法器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉