半加算器・全加算器とは?はんかさんき・ぜんかさんき
半加算器は2ビットの加算を行い、和をXOR、桁上げをANDで出す回路。全加算器は下位からの桁上げ入力を加えた3入力の加算を行い、半加算器2個と桁上げをまとめるORゲート1個で構成できる。多ビットの加算器は、全加算器を桁数ぶん連結して作る。
最終更新:2026-10-06
この語が出る過去問を解く →背景
加算はALUの中核で、減算は補数表現、乗算は加算とシフトの繰り返しへ帰着する。そしてゲート1段ごとの遅延が積み上がる以上、加算器の構造がそのままプロセッサの最大動作周波数を決めてしまう。だから加算を機能の最小単位に切り分けて再利用し、遅延を「何段ぶん」と数えられる形に整理しておく必要があり、半加算器と全加算器という部品分けはその出発点にあたる。
具体例
4ビットのリプルキャリー加算器では、最下位だけ半加算器で足り、上位3桁は全加算器を使う。桁上げの伝搬を1桁あたり2ゲート遅延とすれば4ビットで8段ぶん、32ビットなら64段ぶんが直列に積み上がる計算になり、この段数を減らすために上位の桁上げを並列に求める桁上げ先見加算器へ置き換える。
試験での引っ掛け
分岐点は桁上げの「入力」があるかどうかで、半加算器は桁上げを出すだけで受け取らない。全加算器を半加算器2個から組むとき、2つの桁上げ出力をまとめるのはORであってANDではない(両方が同時に1になることはないので論理和で足りる)。桁上げ入力の無い最下位ビットだけは半加算器で済む点も合わせて問われる。
関連用語
出た過去問
出典:令和6年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問11(IPA)
図の全加算器において、Xに当てはまる論理ゲートとして、適切なものはどれか。ここで、HAは半加算器、入力のC0は、下位の桁からの桁上がり信号を表す。
正解:OR
要点:全加算器の桁上げは2つの半加算器の桁上げのOR
全加算器を2つの半加算器で構成する場合、上位への桁上げは「A・Bの加算で生じた桁上げ」または「その和と下位桁上げC0の加算で生じた桁上げ」のいずれかが立てば発生する。両方が同時に1になることはないため、2つの桁上げ出力をORで束ねればC1が得られる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。