000000 ランダム
 HOME | DIARY | PROFILE 【お気に入りブログ登録】 【ログイン】

CPUを作ろう ~計算機教材とマイコンと電子工作~

算術演算回路


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で与えられる.

image250
図2.12 半加算器

表2.9 半加算器の真理値表

A

B

S

C

0

0

1

1

0

1

0

1

0

1

1

0

0

0

0

1(桁上がり)


(2)全加算器
半加算器は,下位の桁からの桁上がりに対応できないために2ビット以上の桁を持つ値の加算には使用できない.そこで,下位の桁からの桁上がりも考慮にされた「全加算器」(Ful Adder,FAと略記)が考え出された.全加算器では,加算を行うAとBの各桁の値と下位の桁からの桁上がりが入力として加わる.出力は桁の値と桁上がりの値となる.全加算器は図2.13に示すように半加算器を組み合わせて構成できる.図のCiが下位の桁からの桁上がり、Sが桁の値、Cが桁上がりの値となる.全加算器の真理値表は表2.10のようになる.

image251
図2.13 全加算器

表2.10 全加算器の真理値表

A

B

Ci

S

C

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

0

0

0

1

1

1

1

0

1

1

0

1

0

0

1

0

0

0

1

0

1

1

1



(3) 複数桁の加算回路
複数桁(複数ビット)の加算回路は,全加算と半加算の組み合わせによって実現できる.最下位の桁はその下からの桁上がりがないので半加算器,2番目以降の桁については桁上がりを考慮して全加算器を用いる.例えば、A0~A3,B0~B3を入力とした4ビットの加算回路では,図2.14のように1個の半加算回路と3個の全加算回路から構成できる.S0~S3が桁の値,C0~C3が桁上がりである.

image252
図2.14 4ビットの加算回路


Copyright (c) 1997-2018 Rakuten, Inc. All Rights Reserved.