算術運算及電路實現
運算器的基本功能
- 完成算術,邏輯運算
+,-,*,/,%,&,|,~ - 得到運算結果的狀態
C,Z,V,S - 輸出,存放運算結果
寄存器組,數據總線
運算器的基礎邏輯電路
- 邏輯門電路
完成邏輯運算 - 加法器
完成加法運算 - 觸發器
保存數據 - 多路選擇器,移位器
選擇,聯通
數據通路
ALU功能設計
- 功能
對操作數A,B完成算術邏輯運算
ADD,AND,OR - 設計
算術運算
加法器
邏輯運算
與門,或門
一位ALU邏輯運算實現
直接用邏輯門實現與和或的功能
多路選擇器,通過op控制信號輸出結果
1位的加法
3個輸入信號:A,B,CarryIn
2個輸出信號:sum,CarryOut
真值表
A | B | CarryIn | CarryOut | sum |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
sum=(a’b’carryin)+(a’+b+carryin)+(a+b’+carryin’)+(a+b+carryin)
carryout=(bcarryin)+(acarryin)+(a*b)
用邏輯門實現加法求sum
用邏輯門求carryout
將所有相同的輸入連接在一起
1位ALU的設計過程
確定ALU的功能 (與,或,非)
確定ALU的輸入參數
根據功能要求,得到真值表,並寫出邏輯表達式
根據邏輯表達式實現邏輯電路
4位ALU實現方式
用1位ALU串聯起來,得到4位ALU
超前進位生成
其他結果標誌
z=(f1=0)&(f2=0)&(f3=0)&(f4=0)
s=最高位
o=f1’f2’fs+f1f2fs’
補碼減法
根據算術運算規則
[a-b]補=[a]補+[-b]補
[-b]的補碼爲將[b]補的各位求反+1
由此我們可以用加法器完成減法