運算部分
半加器:執行一位數二進制的加法運算,SUM端輸出個位數結果,CARRY位輸出進位結果。
全加器:支持三個個位數的加法運算
加法器:一個半加器和n-1個全加器組成了n位二進制的加法器
這種加法器有一個弊端:每次等進位才能進行下一步運算可能會導致延遲很長,所以現代計算機一般使用的是超前進位加法器(提前算好進位同時相加),相當於是計算效率的優化,但是原理並沒有改變。
加法器同樣可以執行減法:具體方法是通過反碼和補碼。
加法器可以進行乘法,原理是把乘法轉換成加法。一般比較低級的CPU會采用這種方式。
對於手機、PC等高級終端,其芯片會內置乘法模塊。乘法器需要用到更多的邏輯門,但是處理效率會快,相當於用空間去換時間了。
邏輯部分
負責執行邏輯運算:或與非。判斷一個數是不是負數。
下面這個邏輯電路可以用來判斷當前輸入是否全為0,是為0(True),不是為1(False)。(也可以最后加一個非門來扭轉定義,看你心情嘍)
整體部分
輸入:兩個個n位二進制數、操作碼(提供執行加法/減法等信息)
輸出:一個n位二進制數(運算結果)、Flags狀態碼(比如邏輯部分的判0狀態,判斷正負狀態等)