全加算器 (ゼンカサンキ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

全加算器 (ゼンカサンキ) の読み方

日本語表記

全加算器 (ゼンカサンキ)

英語表記

Full Adder (フルアダー)

全加算器 (ゼンカサンキ) の意味や用語解説

全加算器は、ディジタル回路における基本的な演算要素の一つである。主に二進数の加算を行うために設計された論理回路であり、3つの1ビット入力を受け取り、2つの1ビット出力を生成する。その入力は、2つの加算対象ビット(被加数と加数)と、下位の桁からの桁上げビット(キャリーイン)で構成される。出力は、加算結果の1ビットの和(サム)と、上位の桁へ伝播させる桁上げビット(キャリーアウト)である。この全加算器は、複数のビットを持つ二進数を加算する際に不可欠な構成要素であり、コンピュータの算術論理演算ユニット(ALU)の中核をなす。半加算器とは異なり、下位からの桁上げを考慮できる点が特徴であり、これが多ビット加算を可能にする要点となる。 詳細に移ると、全加算器の動作原理は、二進数の加算規則に基づいている。入力はA、B、そしてC_in(キャリーイン)の3つである。AとBは加算される2つのビットであり、C_inは、それより下位の桁での加算結果によって生じた桁上げ信号である。出力はS(サム)とC_out(キャリーアウト)の2つである。SはA、B、C_inを足し合わせた結果の1ビット目の和であり、C_outは上位の桁へ伝達される桁上げ信号である。 具体的な入力と出力の関係、つまり真理値表は以下のようになる。全ての入力(A, B, C_in)が0の場合、出力Sは0、C_outも0となる。A=0, B=0, C_in=1の場合、Sは1、C_outは0となる。これは0+0+1=1に相当する。A=0, B=1, C_in=0の場合、Sは1、C_outは0となる。これは0+1+0=1に相当する。A=0, B=1, C_in=1の場合、Sは0、C_outは1となる。これは0+1+1=2であり、二進数では10と表現されるため、和のビットは0、桁上げビットは1となる。A=1, B=0, C_in=0の場合、Sは1、C_outは0となる。A=1, B=0, C_in=1の場合、Sは0、C_outは1となる。A=1, B=1, C_in=0の場合、Sは0、C_outは1となる。A=1, B=1, C_in=1の場合、Sは1、C_outは1となる。これは1+1+1=3であり、二進数では11と表現されるため、和のビットは1、桁上げビットも1となる。 このように、全加算器は、3つの入力ビットに対する二進数の加算を正確に実行する。この内部構造は、XORゲートとANDゲート、そしてORゲートを組み合わせて実現できる。具体的には、2つの半加算器と1つのORゲートを用いることで構成可能である。最初の半加算器はAとBを入力として受け取り、和(A XOR B)と桁上げ(A AND B)を生成する。次に、その和とC_inを2番目の半加算器に入力し、最終的な和((A XOR B) XOR C_in)を生成する。2番目の半加算器から生成された桁上げと、最初の半加算器から生成された桁上げをORゲートで結合することで、最終的なC_out((A AND B) OR (C_in AND (A XOR B)))を得る。この構成により、下位からの桁上げも適切に処理し、上位への桁上げも生成する能力を持つ。 全加算器の最も重要な応用は、多ビットの二進数加算器の構築である。例えば、8ビットの二進数を加算する場合、8つの全加算器を直列に接続する。最初の最下位ビット(LSB)の加算では、C_inを通常0に設定し、その出力C_outが次の上位ビットの全加算器のC_inとして入力される。この連鎖的な構造を「リップルキャリー加算器」と呼ぶ。キャリー信号が最下位ビットから最上位ビットへと順に伝播していくため、ビット数が増えるにつれて加算に要する時間(伝播遅延)が増大するという特性がある。この遅延を改善するために、キャリールックアヘッド加算器のようなより複雑な高速加算器も存在するが、それらも全加算器の基本的な原理を応用または拡張したものである。つまり、全加算器は、現代のデジタルシステムにおける算術演算の基礎を築く、極めて重要な論理回路部品であると言える。システムエンジニアにとって、この回路がどのように動作し、多ビットの加算にどのように利用されるかを理解することは、コンピュータのハードウェアがどのように数字を処理するかを把握する上で不可欠な知識となる。

全加算器 (ゼンカサンキ) とは | 意味や読み方など丁寧でわかりやすい用語解説