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