計算機體系結構中的BCD加法器是什麼?
BCD加法器指的是一個4位二進位制加法器,它可以將兩個4位BCD格式的字相加。加法的輸出是一個BCD格式的4位輸出字,它定義了被加數和加數的十進位制和,以及在該和超過十進位制值9時產生的進位。因此,BCD加法器可以實現十進位制加法。
BCD加法器的構造
二進位制數字的和 | BCD數字的和 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
K | Z8 | Z4 | Z2 | Z1 | C | S8 | S4 | S2 | S1 | 十進位制 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 3 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 5 |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 6 |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 7 |
0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 8 |
0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 9 |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 10 |
0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 11 |
0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 12 |
0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 13 |
0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 14 |
0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 15 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 16 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 17 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 18 |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 19 |
在這個表中,K是進位。字母Z下方的下標定義了權重。根據表格,權重為8、4、2和1。這些權重可以分配給BCD碼中的四位。第一列包含二進位制和,如4位二進位制加法器的輸出所示。
第二列包含以BCD表示的兩個十進位制數的輸出和。如果二進位制和小於或等於1001,則相應的BCD數相同,因此無需轉換。
BCD中的十進位制數是透過操作一個4位二進位制加法器並一次執行一位算術運算來插入的。它可以生成一個二進位制和,第一次加法是在BCD數字的低位對上執行的。
如果輸出等於或大於1010,則可以透過向二進位制和中插入0110來進行修正。這可以使輸出進位對於下一對有效數字來說是必要的。
因此,將連續的高位數字對以及輸入進位一起插入以建立它們的二進位制和。如果此輸出高於或等於1010,則透過插入0110進行修正。此過程在每個十進位制數字相加之前重複。
它有助於更改識別所需校正的邏輯電路。當二進位制和具有輸出進位K = 1時,需要進行校正。從1010到1111開始的不同六種組合需要校正,在Z8位置為1。它可以將它們與二進位制1000和1001區分開來,後者也在Z8位置接收1,定義Z4或Z2應該有一個1。
以下布林函式可以定義校正和輸出進位的條件:
C = K + Z8Z4 + Z8Z2
如果C = 1,則將0110新增到二進位制和中,併為下一級提供輸出進位。
廣告