說完了加法,再來看減法運算
其實減法可以很容易的改成加法運算
像是 A - B = A + (-B)
至於在二進位下則是使用 2's complement 來表示 -B
也就是先按位取反,之後再末位加一,原因可以見下圖的推導
接著在加法器的基礎上可以實現 A + (-B) = A + (~B+1) 的減法運算
我們可以看到下圖,在加法器左邊我們增加了一個 sub-mode 的輸入
當他為零就表示是加法運算,此時二選一的多選器就會直接將B傳送給各全加器,同時最左邊的 C0 一樣保持是零
但是若 sub-mode 被設成一,表示此時是減法運算,多選器將會走 NOT 閘門將數值取反
同時 C0 也是一,如此一來 B 就可以變成 -B 來做運算了
如此一來我們就已經實現了 ALU 的加法和減法功能了
但是隨著運算需求的增加,對於性能的要求也越來越高
那這個加法器是不是還有性能改良的空間呢?
明天將繼續來分析這個加法器的效能