半加算器と全加算器

学習の目的

  • 「半加算器」「全加算器」を理解する

2進数の加算を行う回路について学びましょう。

半加算器

コンピュータに記録されたbit2つを加算した結果を求める回路です。

入力値が4パターンになるので、計算も以下の4パターンを求めます。

・ 0 + 0 = 00

・ 0 + 1 = 01

・ 1 + 0 = 01

・ 1 + 1 = 10

表にしてみましょう。

ここで、出力Cは繰り上がり(Carry)を表し、出力Sは合計(Sum)を表します。

さて、ここで論理回路の登場です。

でもさ、今までやった論理回路って、出力は一つだったよね。

そうですね。なので、複数の論理回路を組み合わせることで、半加算器を実現するんです。

あれ?そういえば、出力Cは、「論理積」と同じだ。

ほんとだ!!

そして、出力Sは「排他的論理和」じゃないか?

正解です。半加算器は、論理積と、排他的論理和を組み合わせてつくられるんです。

CPU(演算装置)に入っているんですよ。

全加算器

複数の桁で加算を行う時は、下の桁からの繰り上がりを考慮しないといけません。

そのため、最下位桁以外は、3つの入力に対して計算を行います。

下の桁からの入力をCin、上の桁への繰り上げをCoutとします。

表を見ると複雑な気がするけど、単純に足し算なんだね。

入力の1の数が0個なら「00」、1個なら「01」。

2個なら「10」で、3個なら「11」だね。

これで、2進数の加算を行うことができるんです。

一番下の桁は繰り上がりはないので半加算器、それより上の桁は繰り上がりも考慮して、全加算器で値を求めます。

例えば、6ビットの加算を行う仕組みの図です。

左から計算を行うと思ってください。

全加算器の回路は、半加算器を2個と、論理和を使って表現できるんです。

これで、2進数の加算を行うことができるんです。

一番下の桁は繰り上がりはないので半加算器、それより上の桁は繰り上がりも考慮して、全加算器で値を求めます。

それでは用語を整理しましょう。

情 報 こ と ば キ ー ワ ー ド

半加算器

2つの入力の値を加算し、その桁の値と繰り上がりを出力する回路。

全加算器

2つの入力の値と下の桁からの繰り上がりを加算し、その桁の値と繰り上がりを出力する回路。

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる