算術演算回路
1.2.3 算術演算回路
算術演算は2つ以上の値に対して四則演算(加算、減算、乗算、除算)を行うものである.これらの四則演算は先に述べた論理演算が基礎となっている.ここでは加算回路を例にあげて説明する.(1)半加算器
まず1桁の加算回路を考える.AとBという2つの値が与えられたとき,AとBの加算においては0+0=0,0+1=1,1+0=1,1+1=10の4通りの結果のいずれかとなる.加算結果を表すには図1.20のように桁の値(S)と桁上がり(C)が必要である.このような回路を「半加算器」(Half Adder,HAと略記)という.表2.9は半加算器の真理値表である.真理値表から分かるように,桁の値はXORで,桁上がりはANDで与えられる.
図2.12 半加算器
表2.9 半加算器の真理値表
|
|
|
|
|
|
|
|
(2)全加算器
半加算器は,下位の桁からの桁上がりに対応できないために2ビット以上の桁を持つ値の加算には使用できない.そこで,下位の桁からの桁上がりも考慮にされた「全加算器」(Ful Adder,FAと略記)が考え出された.全加算器では,加算を行うAとBの各桁の値と下位の桁からの桁上がりが入力として加わる.出力は桁の値と桁上がりの値となる.全加算器は図2.13に示すように半加算器を組み合わせて構成できる.図のCiが下位の桁からの桁上がり、Sが桁の値、Cが桁上がりの値となる.全加算器の真理値表は表2.10のようになる.
図2.13 全加算器
表2.10 全加算器の真理値表
|
|
|
|
|
|
|
|
|
|
(3) 複数桁の加算回路
複数桁(複数ビット)の加算回路は,全加算と半加算の組み合わせによって実現できる.最下位の桁はその下からの桁上がりがないので半加算器,2番目以降の桁については桁上がりを考慮して全加算器を用いる.例えば、A0~A3,B0~B3を入力とした4ビットの加算回路では,図2.14のように1個の半加算回路と3個の全加算回路から構成できる.S0~S3が桁の値,C0~C3が桁上がりである.
図2.14 4ビットの加算回路
ESP32 Wifi Bluetooth開発ボード |
Arduino Nano Every |
Raspberry Pi pico |
FPGA XILINX Artix-7 |