二進(jìn)制加法器是半加器和全加法器形式的運(yùn)算電路,用于將兩個二進(jìn)制數(shù)字加在一起.
另一種常見且非常有用的組合邏輯電路,可以使用一些基本的邏輯門允許它將兩個或多個二進(jìn)制數(shù)加在一起是二進(jìn)制加法器。
一個基本的二進(jìn)制加法器電路可以用標(biāo)準(zhǔn)的 AND 和 Ex-OR 門允許我們將兩個單位二進(jìn)制數(shù)“加”到一起, A 和 B 。
添加這兩個數(shù)字會產(chǎn)生一個名為 SUM 的輸出,另一個輸出稱為 CARRY 或 Carry-out , (C OUT )位根據(jù)二進(jìn)制加法規(guī)則。 二進(jìn)制加法器的主要用途之一是算術(shù)和計數(shù)電路??紤]下面簡單地添加兩個denary(基數(shù)為10)的數(shù)字。
123 | A | (Augend) |
+789 | B | (加數(shù)) |
912 | SUM |
從我們在學(xué)校的數(shù)學(xué)課程中,我們了解到每個數(shù)字列都已添加從右側(cè)開始,每個數(shù)字的加權(quán)值取決于它在列中的位置。
當(dāng)每個列加在一起時,如果結(jié)果大于或等于10,則生成進(jìn)位,基數(shù)。然后將這個進(jìn)位添加到左側(cè)添加下一列的結(jié)果,依此類推,簡單的學(xué)校數(shù)學(xué)的添加,添加數(shù)字和攜帶。
添加二進(jìn)制數(shù)是完全相同的想法作為將十進(jìn)制數(shù)加在一起的但是這次只有當(dāng)任何列中的結(jié)果大于或等于“2”(二進(jìn)制的基數(shù))時才生成進(jìn)位。換句話說, 1 + 1 會創(chuàng)建一個進(jìn)位。
二進(jìn)制加法
二進(jìn)制加法遵循這些相同的基本規(guī)則。上面的否定加法除了二進(jìn)制外,只有兩位數(shù),最大位為“1”。因此,當(dāng)添加二進(jìn)制數(shù)時,當(dāng)“SUM”等于或大于2(1 + 1)時會生成執(zhí)行,并且這將成為任何后續(xù)添加的“CARRY”位,然后傳遞到下一列進(jìn)行添加,因此上。考慮下面的單位添加。
兩位的二進(jìn)制加法
0 | 0 | 1 | 1 |
+ 0 | + 1 | + 0 | + 1 |
0 | 1 | 1 | (carry)1←0 |
當(dāng)兩個單位, A 和 B 加在一起時,添加“0 + 0”,“0 + 1”和“1 +” 0“結(jié)果為”0“或”1“,直到您到達(dá)”1 + 1“的最后一列,然后總和等于”2“。但二進(jìn)制不存在于二進(jìn)制中,二進(jìn)制中的2等于 10 ,換句話說,總和為零加上一個額外的進(jìn)位。
然后操作一個簡單的加法器需要兩個數(shù)據(jù)輸入,產(chǎn)生兩個輸出,等式的Sum(S)和一個Carry(C)位,如圖所示。
二進(jìn)制加法器框圖
對于上面的簡單1位加法問題,可以忽略得到的進(jìn)位,但是你可能已經(jīng)注意到了有關(guān)加法的其他內(nèi)容這兩位,它們的二進(jìn)制加法的總和類似于異或門。如果我們將這兩個位標(biāo)記為 A 和 B ,則生成的真值表是兩位的總和,但沒有最終進(jìn)位。
2輸入異或門
符號 | 真相表 | ||
2輸入異或門 |
B | A | S |
0 | 0 | 0 | |
0 | 1 | 1 | |
1 | 0 | 1 | |
1 | 1 | 0 |
我們可以從真值表中看到如上所述,當(dāng)任一輸入處于邏輯“1”時,異或門僅產(chǎn)生輸出“1”,而不是與前兩位的二進(jìn)制加法相同。然而,為了執(zhí)行兩個數(shù)字的加法,微處理器和電子計算器需要額外的進(jìn)位來正確計算方程式,因此我們需要重寫先前的求和以包括兩位輸出數(shù)據(jù),如下所示。
00 | 00 | 01 | 01 |
+00 | + 01 | + 00 | + 01 |
00 | 01 | 01 | 10 |
從上面的等式我們現(xiàn)在知道一個異或門將當(dāng)“EITHER”輸入為邏輯“1”時,只產(chǎn)生輸出“1”,因此當(dāng)“BOTH”輸入 A 和 B 處于邏輯“1”。當(dāng)輸入 A 和 B 均為“1”時,一個適合該賬單的數(shù)字門完美地產(chǎn)生輸出“1”( HIGH)是標(biāo)準(zhǔn)AND門。
2輸入AND門
符號 | 真值表 | ||
2-input AND Gate |
B | A | C |
0 | 0 | 0 | |
0 | 1 | 0 | |
1 | 0 | 0 | |
1 | 1 | 1 |
通過combinin g帶有 AND 門的異或門產(chǎn)生一個簡單的數(shù)字二進(jìn)制加法器電路,通常稱為“Half Adder”電路。 / p>
半加法器電路
半加器是一個邏輯電路,對兩個二進(jìn)制數(shù)字執(zhí)行加法運(yùn)算。半加器產(chǎn)生一個和兩個二進(jìn)制數(shù)的進(jìn)位值。
帶進(jìn)位的半加法真值表
符號 | 真值表 | |||
B | A | SUM | CARRY | |
0 | 0 | 0 | 0 | |
0 | 1 | 1 | 0 | |
1 | 0 | 1 | 0 | |
1 | 1 | 0 | 1 |
從半加器的真值表中我們可以看到SUM( S )輸出是異或門的結(jié)果,執(zhí)行( Cout )是 AND <的結(jié)果/ span> gate。然后半加法器的布爾表達(dá)式如下。
對于SUM位:
SUM = AXORB = A ⊕ 乙
對于CARRY位:
CARRY = AANDB = AB
一個主要當(dāng)用作二進(jìn)制加法器時, Half Adder 電路的缺點(diǎn)是,當(dāng)將多個數(shù)據(jù)位加在一起時,沒有提供前一電路的“進(jìn)位”。
例如,假設(shè)我們想要將兩個8位字節(jié)的數(shù)據(jù)相加,任何產(chǎn)生的進(jìn)位都需要能夠從最低有效位(LSB)開始“波動”或移過位模式。半加器可以做的最復(fù)雜的操作是“1 + 1”,但由于半加器沒有進(jìn)位輸入,因此得到的附加值是不正確的。解決此問題的一種簡單方法是使用Full Adder型二進(jìn)制加法器電路。
全加器電路
> Full Adder和之前的Half Adder是全加器有三個輸入。與以前相同的兩個單位數(shù)據(jù)輸入 A 和 B 加上一個額外的進(jìn)位( C-in )輸入以接收來自前一階段的進(jìn)位,如下所示。
Full Adder Block Diagram
然后全加器是合乎邏輯的對三個二進(jìn)制數(shù)字執(zhí)行加法運(yùn)算的電路,就像半加法器一樣,它也會產(chǎn)生一個進(jìn)位到下一個加法列。然后 Carry-in 可能來自不太重要的數(shù)字,而 Carry-out 表示進(jìn)位到更高位數(shù)。
在許多方面,全加器可以被認(rèn)為是連接在一起的兩個半加法器,前半部加法器將其進(jìn)位傳遞到后半部加法器,如圖所示。
全加法邏輯圖
由于上面的全加器電路基本上是連接在一起的兩個半加法器,因此全加器的真值表包含一個附加列考慮進(jìn)位, C IN 輸入以及總和輸出 S 和進(jìn)位-out, C OUT 位。
帶有進(jìn)位的全加法真值表
符號 | 真值表 |
C-in | B | A | 總和 | C-out | |
0 | 0 | 0 | 0 | 0 | |
0 | 0 | 1 | 1 | 0 | |
0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 | 0 | 1 | |
1 | 0 | 0 | 1 | 0 | |
1 | 0 | 1 | 0 | 1 | |
1 | 1 | 0 | 0 | 1 | |
1 | 1 | 1 | 1 | 1 |
然后全加器的布爾表達(dá)式如下。
對于SUM( S )位:
SUM =(AXORB)XORCin =(A ⊕ B)⊕ Cin
對于CARRY-OUT( Cout )位:
CARRY-OUT = AANDBORCin(AXORB)= A.B + Cin(A ⊕ B)
n位二進(jìn)制加法器
我們已經(jīng)看到上面的單個1位二進(jìn)制加法器可以是從基本邏輯門構(gòu)造。但是,如果我們想要將兩個 n位數(shù)字加在一起,那么 n 數(shù)量的1位全加器需要連接或“級聯(lián)”在一起產(chǎn)生什么是稱為紋波進(jìn)位加法器。
“紋波進(jìn)位加法器”只是“ n ”,1位全加器與每個完整級聯(lián)加法器表示長二進(jìn)制加法中的單個加權(quán)列。它被稱為紋波進(jìn)位加法器,因?yàn)檫M(jìn)位信號通過二進(jìn)制加法器從右到左產(chǎn)生“紋波”效應(yīng)(LSB到MSB)。
例如,假設(shè)我們想要將兩個4位數(shù)字“加”在一起,第一個全加器的兩個輸出將提供加法的第一位數(shù)字和( S )加上a進(jìn)位位作為下一個二進(jìn)制加法器的進(jìn)位數(shù)。
鏈中的第二個二進(jìn)制加法器也產(chǎn)生求和輸出(第2位)加上另一個進(jìn)位位,我們可以繼續(xù)向組合中添加更多的完整加法器以添加更大的數(shù)字,將第一個完整二進(jìn)制加法器的進(jìn)位位輸出鏈接到下一個完整加法器,依此類推。下面給出了一個4位加法器的例子。
一個4位紋波進(jìn)位加法器
將1位二進(jìn)制加法器“級聯(lián)”以添加大二進(jìn)制數(shù)的一個主要缺點(diǎn)是,如果輸入 A 且 B 更改,其輸出的和將無效,直到任何進(jìn)位輸入已“鏈接”到鏈中的每個完整加法器,因?yàn)榭偤偷腗SB(最高有效位)必須等待來自進(jìn)位輸入的任何更改LSB(不太重要的位)。因此,在加法器的輸出響應(yīng)其輸入的任何變化導(dǎo)致累積延遲之前將存在有限的延遲。
當(dāng)添加的位的大小不是太大時,例如,4或8位,或加法器的求和速度并不重要,這種延遲可能并不重要。但是,當(dāng)比特的大小較大時,例如在多比特加法器中使用的32或64比特,或者在非常高的時鐘速度下需要求和時,這種延遲可能會變得非常大,因?yàn)樵谝粋€加法過程中沒有正確地完成加法過程。時鐘周期。
這個不需要的延遲時間稱為傳播延遲。當(dāng) n位加法器將兩個并行數(shù)加在一起時,另一個問題稱為“溢出”,其總和大于或等于 2 n
一種解決方案是直接從 A 和 B 輸入生成進(jìn)位輸入信號,而不是使用上面的紋波排列。然后產(chǎn)生另一種類型的二進(jìn)制加法器電路,稱為Carry Look Ahead Binary Adder,其中使用進(jìn)位超前邏輯可以大大提高并行加法器的速度。
優(yōu)點(diǎn)進(jìn)位前瞻加法器的一個特點(diǎn)是,為了產(chǎn)生正確的SUM,進(jìn)位前瞻加法器所需的時間長度與操作中使用的數(shù)據(jù)位數(shù)無關(guān),這與并行紋波加法器需要完成SUM的周期時間不同這是加數(shù)中總位數(shù)的函數(shù)。
具有進(jìn)位超前功能的4位全加器電路可作為標(biāo)準(zhǔn)IC封裝以TTL 4位二進(jìn)制加法器74LS83的形式提供或者74LS283和CMOS 4008可以將兩個4位二進(jìn)制數(shù)加在一起并生成 SUM 和 CARRY 輸出,如圖所示。
74LS83邏輯符號
二進(jìn)制加法器摘要
我們在本教程中已經(jīng)看到二進(jìn)制加法器那個加法器電路c用于“加”兩個二進(jìn)制數(shù),產(chǎn)生“執(zhí)行”。在最基本的形式中,加法器可以通過將異或門與 AND 門連接在一起來產(chǎn)生半加法器電路??梢越M合兩個半加法器來產(chǎn)生Full Adder。
有許多4位全加器IC可用,例如74LS283和CD4008。這將添加兩個4位二進(jìn)制數(shù)并提供一個額外的輸入進(jìn)位,以及一個輸出進(jìn)位,因此您可以將它們級聯(lián)在一起以產(chǎn)生8位,12位,16位加法器,但進(jìn)位傳播延遲可能是大型n位紋波加法器中的主要問題。
-
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
30114 -
二進(jìn)制加法器
+關(guān)注
關(guān)注
0文章
3瀏覽量
3267
發(fā)布評論請先 登錄
相關(guān)推薦
評論