加法器,加法器是什么意思
加法器,加法器是什么意思
加法器 :
加法器是為了實(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)位的邏輯電路稱為全加器?;颍翰粌H考慮兩個(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í)間大大縮短了。
非常好我支持^.^
(31) 50%
不好我反對(duì)
(31) 50%
相關(guān)閱讀:
- [電子說] 使用MVVM框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單加法器 2023-10-24
- [電子說] 基于FPGA實(shí)現(xiàn)Mem加法器 2023-10-17
- [電子說] 基于Verilog的經(jīng)典數(shù)字電路設(shè)計(jì)(1)加法器 2023-10-09
- [電子說] 初級(jí)數(shù)字IC設(shè)計(jì)-加法器 2023-10-09
- [電子說] 最少需要幾個(gè)加法器IP才可以實(shí)現(xiàn)累加器的功能呢? 2023-08-18
- [電子說] SpinalHDL里pipeline的設(shè)計(jì)思路 2023-08-12
- [可編程邏輯] FPGA如何擁抱AI大時(shí)代呢? 2023-08-04
- [電子說] 32bit的浮點(diǎn)格式 2023-07-29
( 發(fā)表人:admin )