【かさんき】

加算器 とは?

💡 コンピュータの世界では、すべての計算は「足し算」から始まる
📌 このページのポイント
半加算器と全加算器 半加算器(Half Adder) HA XOR + AND A B S(和) C(繰り上がり) 0+0=00 0+1=01 1+0=01 1+1=10 全加算器(Full Adder) FA HA + HA + OR A B Cin S Cout リプルキャリー加算器(4ビット) FA0 FA1 FA2 FA3 C C C 結果 0
加算器のイメージ
ひよこ ひよこ

加算器って何?コンピュータの中に電卓みたいなものがあるの?

ペンギン先生 ペンギン先生

いいイメージだね!加算器はコンピュータの中で足し算を行う電子回路だよ。AND回路やXOR回路などの論理ゲートを組み合わせて作られているんだ

ひよこ ひよこ

半加算器と全加算器って何が違うの?

ペンギン先生 ペンギン先生

半加算器は1ビット同士の足し算だけができるシンプルな回路だよ。0+0=0、0+1=1、1+1=10(繰り上がり)みたいにね。全加算器はそれに加えて、下の桁からの繰り上がりも入力として受け取れるんだ

ひよこ ひよこ

繰り上がりって、筆算で上に書く「1」のことだよね?

ペンギン先生 ペンギン先生

そのとおり!例えば2進数で 1+1=10 になるとき、0が答えで1が繰り上がりだよね。全加算器はこの繰り上がりを次の桁に渡せるから、全加算器を何個もチェーンのようにつなげれば、8ビットでも32ビットでも計算できるんだ

ひよこ ひよこ

足し算しかできないの?引き算とかはどうするの?

ペンギン先生 ペンギン先生

実は引き算も加算器でできるんだよ。2の補数という仕組みを使って、引く数をビット反転して1を足すと、足し算の回路だけで引き算ができるんだ。掛け算はシフトと足し算の繰り返し、割り算はシフトと引き算の繰り返しで実現されるよ

ひよこ ひよこ

全部足し算でできちゃうんだ!すごいね!

ペンギン先生 ペンギン先生

ただし、リプルキャリー加算器は繰り上がりが順番に伝わるから遅いという弱点があるんだ。高速なCPUでは桁上げ先見加算器(Carry Look-ahead Adder)という方式で、繰り上がりを並列に計算して高速化しているよ。数ナノ秒の差が性能に直結する世界なんだよね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「加算器」って出てきたら「コンピュータの中で足し算をしてくれる電子回路」と思えればだいたいOK!
📖 おまけ:英語の意味
「Adder Circuit」 = 加算する回路
💬 Adderは「足すもの」という意味。算術演算の基本である加算を行う回路だからこう呼ばれるようになったんだよ
← 用語集にもどる