數位電子中的加法器和減法器
在數位電子學中,加法器和減法器都是組合邏輯電路(組合邏輯電路是指其輸出僅取決於當前輸入,而不取決於過去輸出的電路),可以進行數字加法或減法運算,更具體地說,是二進位制數字的加法或減法。加法器和減法器是處理裝置(如微處理器或微控制器)中算術邏輯電路的關鍵組成部分。在本文中,我們將詳細討論加法器和減法器。
什麼是加法器?
我們有不同型別的數字裝置,如計算機、計算器,它們可以執行各種處理功能,如加法、減法、乘法、除法等。計算機的算術邏輯單元 (ALU) 執行的最基本算術運算就是兩個或多個二進位制數的加法。為了執行加法運算,使用了一個名為加法器的組合邏輯電路。
加法器可分為兩種型別:
- 半加器
- 全加器
半加器是一種組合邏輯電路,用於執行僅兩個位元(二進位制數字)的加法。而全加器是一種組合電路,用於執行三個位元(二進位制數字)的加法,其中兩個是有效位,一個是從先前執行產生的進位。
什麼是半加器?
一種設計用於新增兩個二進位制數字的組合邏輯電路稱為半加器。半加器提供輸出以及進位值(如果有)。半加器電路是透過連線一個異或門和一個與門來設計的。它有兩個輸入端和兩個輸出端,分別用於和與進位。半加器的框圖和電路圖如圖 1 所示。
在半加器的情況下,異或門的輸出是兩個位元的和,與門的輸出是進位。儘管一次加法中獲得的進位不會轉發到下一次加法中,因此它被稱為半加器。
半加器的真值表
以下是半加器的真值表:
輸入 | 輸出 | ||
---|---|---|---|
A | B | S(和) | C(進位) |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
半加器的特性方程
半加器的特性方程,即和 (S) 和進位 (C) 的方程,是根據二進位制加法的規則得到的。這些方程如下所示:
半加器的和 (S) 是 A 和 B 的異或。因此,
$$\mathrm{Sum,\, S=A\oplus B=AB'+A'B }$$
半加器的進位 (C) 是 A 和 B 的與。因此,
$$\mathrm{Carry,\, C=A\cdot B }$$
什麼是全加器?
可以新增兩個二進位制數字(位元)和一個進位位元,併產生一個和位元和一個進位位元作為輸出的組合邏輯電路稱為全加器。
換句話說,一種設計用於新增三個二進位制數字併產生兩個輸出(和與進位)的組合電路稱為全加器。因此,全加器電路新增三個二進位制數字,其中兩個是輸入,一個是從前一次加法產生的進位。全加器的框圖和電路圖如圖 2 所示。
因此,全加器電路由一個異或門、三個與門和一個或門組成,它們按圖 2 中的全加器電路所示連線在一起。
全加器的真值表
以下是全加器電路的真值表:
輸入 | 輸出 | |||
---|---|---|---|---|
A | B | Cin | S(和) | C(進位) |
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 |
因此,從真值表可以清楚地看出,當且僅當一個輸入等於 1 或所有輸入都等於 1 時,全加器的和輸出才等於 1。而當兩個或三個輸入等於 1 時,進位輸出的進位為 1。
全加器的特性方程
全加器的特性方程,即和 (S) 和進位輸出 (Cout) 的方程,是根據二進位制加法的規則得到的。這些方程如下所示:
全加器的和 (S) 是 A、B 和 Cin 的異或。因此,
$$\mathrm{Sum,\, S=A\oplus B\oplus C_{in}=A'B'C_{in}+A'BC'_{in}+AB'C'_{in}+ABC_{in} }$$
半加器的進位 (C) 是 A 和 B 的與。因此,
$$\mathrm{Carry,\, C_{out}=AB+AC_{in}+BC_{in}}$$
什麼是減法器?
兩個二進位制數的減法可以透過取輸入的 1 的補碼或 2 的補碼來執行。透過這種方法,減法運算變成了加法運算,因此可以使用加法器電路來執行。這減少了硬體和成本。
在減法運算中,將數字的每個減數位 (B) 從其相應的被減數有效位 (A) 中減去以獲得差值位。
與加法器類似,減法器也分為兩種型別:
- 半減器
- 全減器
讓我們詳細討論一下半減器和全減器。
什麼是半減器?
半減器是一種組合邏輯電路,具有兩個輸入和兩個輸出(即差和借位)。半減器產生輸入處兩個二進位制位之間的差,併產生借位輸出(如果有)。在減法 (A-B) 中,A 稱為被減數位,B 稱為減數位。半減器的框圖和邏輯電路圖如圖 3 所示。
因此,從邏輯電路圖可以清楚地看出,半減器可以使用一個異或門以及一個非門和一個與門來實現。
半減器的真值表
以下是半減器的真值表:
輸入 | 輸出 | ||
---|---|---|---|
A | B | d(差) | b(借位) |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
半減器的特性方程
半減器的特性方程,即差 (d) 和借位輸出 (b) 的方程,是透過遵循二進位制減法的規則得到的。這些方程如下所示:
半減器的差 (d) 是 A 和 B 的異或。因此,
$$\mathrm{Difference,\, d=A\oplus B=A'B+AB'}$$
半減器的借位 (b) 是 A'(A 的補碼)和 B 的與。因此,
$$\mathrm{Borrow,\, b=A'B}$$
什麼是全減器?
全減器是一種組合電路,具有三個輸入 A、B、bin 和兩個輸出 d 和 b。其中,A 是被減數,B 是減數,bin 是前一階段產生的借位,d 是差輸出,b 是借位輸出。
由於半減器只能用於查詢兩個二進位制數的最低有效位 (LSB) 的差。因此,如果在 LSB 的減法期間有任何借位,它將影響數字的下一位數的減法。為了克服半減器的這個問題,實現了全減器。全減器的框圖和電路圖如圖 4 所示。
因此,我們可以使用兩個異或門、兩個非門、兩個與門和一個或門來實現全減器。
全減器的真值表
以下是全減器的真值表:
輸入 | 輸出 | |||
---|---|---|---|---|
A | B | bin | d(差) | b(借位) |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
全減器的特性方程
全減器的特性方程,即差 (d) 和借位輸出 (b) 的方程,是透過遵循二進位制減法的規則得到的。這些方程如下所示:
全減器的差 (d) 是 A、B 和 bin 的異或。因此,
$$\mathrm{Difference,\, d=A\oplus B\oplus b_{in}=A'B'b_{in}+AB'b'_{in}+A'Bb'_{in}+ABb_{in}}$$
全減器的借位 (b) 由下式給出:
$$\mathrm{Borrow,\, b=A'B'b_{in}+A'Bb'_{in}+A'Bb_{in}+ABb_{in}}$$
或
$$\mathrm{Borrow,\, b=A'B\left ( b_{in}+b'_{in} \right )+\left (AB+A'B' \right )b_{in}=A'B+\left (A\oplus B \right )'b_{in}}$$
結論
在本教程中,我們詳細討論了數位電子中的加法器和減法器。我們可以將上述討論總結為以下幾點:
一種設計用於新增兩個二進位制數字的組合邏輯電路稱為半加器。
能夠將兩個二進位制數字(位)和一個進位位相加,並輸出一個和位和一個進位位的組合邏輯電路稱為**全加器**。
**半減器**是一個組合邏輯電路,它有兩個輸入和兩個輸出(即差和借位)。
**全減器**是一個組合電路,它有三個輸入A、B、bin和兩個輸出d和b。
加法器和減法器都是微處理器和微控制器算術邏輯單元中至關重要的邏輯電路。這是因為它們執行兩個最基本的算術運算,即二進位制數的加法和減法。關於加法器和減法器的另一個重要事項是,它們都是組合邏輯電路,即它們的輸出僅取決於當前的輸入,而不取決於過去的歷史。