論理回路とは?コンピュータの一番奥で動く『ONとOFFのスイッチの組み合わせ』

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

論理回路とは(全体像)

論理回路は、「正しい/正しくない」を電気のON・OFFで判断するしくみのこと。コンピュータの計算は、つきつめると0と1(OFFとON)の組み合わせだけでできていて、その土台にあるのがこの論理回路だ。

イメージは、たくさんの小さなスイッチがつながった配線。あるスイッチに電気が来たら次のスイッチが入る……というつながりで、足し算や記憶といった仕事をこなしている。

押さえるのは、論理回路が2つのグループに分かれること。

覚えない=組合せ/覚える=順序」——この対比がすべての出発点になる。


詳しく:この表だけ覚えれば戦える

ここが記事の心臓部。論理回路の中身は、次の表にほぼつまっている。

まずは部品の最小単位、基本ゲート7種。入力(0か1)を受け取って、決まったルールで出力(0か1)を返す小さな判定装置だ。

基本ゲート7種

ゲートはたらき(言葉で言うと)
AND入力が両方とも1のときだけ1
OR入力のどちらかが1なら1
NOT入力を反転(1→0、0→1)
NANDANDの結果を反転
NORORの結果を反転
XOR入力が違うときだけ1(同じなら0)
XNOR入力が同じときだけ1

次に、このゲートを組んで作る組合せ回路の代表=加算器(足し算機)

半加算器と全加算器の違い

半加算器 HA全加算器 FA
作りXOR+AND半加算器2つ+OR
できること1ビットどうしの足し算下の桁からの繰り上がりも受け取れる
多ケタ計算できないFAをn個つなげればnケタ計算 OK

足し算には「和」と「繰り上がり(キャリー)」の2つの答えが要る。半加算器は、XORで和を、ANDで繰り上がりを作る。つまり、和はXOR・繰り上がりはAND、と覚えればいい。ただし半加算器は「下の桁からの繰り上がり」を受け取れないので、多ケタの足し算には全加算器が必要になる。

最後に、記憶を持つ順序回路の代表=フリップフロップ(FF)

フリップフロップ(順序回路)

項目内容
役わり1ビット(0か1)を記憶する部品
種類RS型・D型・T型・JK型 の4つ
使い道レジスタやカウンタなど「覚える部品」の土台

そして、できあがった回路はブール代数(論理の計算ルール)やカルノー図(マス目で整理する図)を使うと、ゲートの数を減らしてシンプルにできる。試験では4変数のカルノー図がよく出る。

わかりやすく言い換えると

要するに、むずかしく考えず、こう覚えるとラク。

基本ゲートは「条件を判定する小さな関所」。ANDは「両方そろわないと通さない厳しい関所」、ORは「どちらか1つでも通す優しい関所」、NOTは「答えをひっくり返すあまのじゃく」。

加算器は「1ケタの足し算機」。半加算器は繰り上がりを“出す”だけ、全加算器は繰り上がりを“受け取れる”——だから連結して大きな足し算ができる。

フリップフロップは「1ビットの付箋(ふせん)」。次の入力が来るまで、今の0/1をぺたっと貼って覚えておくイメージだ。


試験のツボ

🔴 一番出る:半加算器と全加算器の違い

①半加算器 = XOR(和)+AND(繰り上がり)

②全加算器 = 半加算器2つ+OR。下の桁からの繰り上がりを受け取れる

③多ケタ計算は全加算器を連結して作る

🔴 次に出る:基本ゲートのはたらき

①AND=両方1で1/OR=どちらか1で1/NOT=反転

②XOR=違えば1/XNOR=同じなら1

🟡 押さえると安定:組合せ回路と順序回路の区別

①組合せ回路=今の入力だけで決まる(覚えない)

②順序回路=過去の状態も使う(覚える)=フリップフロップ


よくある間違い

「半加算器でも多ケタの足し算ができる」→ ✗  半加算器は下の桁からの繰り上がりを受け取れない。多ケタには全加算器が必要。

「フリップフロップは組合せ回路」→ ✗  フリップフロップは状態を記憶する順序回路。組合せ回路は覚えない。

「XORは入力が同じとき1になる」→ ✗  XORは入力が違うときに1。同じときに1なのはXNOR。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(基本ゲートのはたらき)

📝 オリジナル問題 1 基本ゲートのはたらき

論理ゲートに関する次の記述のうち、正しいものはどれか。

  1. XORゲートは、2つの入力が互いに異なるときに1を出力するゲートである
  2. ANDゲートは、2つの入力のどちらか一方が1であれば1を出力するゲートである
  3. ORゲートは、2つの入力が両方とも1のときだけ1を出力するゲートである
  4. NOTゲートは、2つの入力が同じ値のときだけ1を出力するゲートである
シーピードラ
シーピードラ 解答・解説

解答は 1 だぜ。

XORは「違えば1」のゲート。2つの入力が異なるとき(0と1、1と0)に1を出し、同じとき(0と0、1と1)は0になる。足し算の「和」を作る相棒だから、半加算器とセットで覚えておけよ。

選択肢2はOR、選択肢3はANDの説明が入れ替わっているから誤りだ。選択肢4のNOTは入力1つを反転するゲートで、「2つの入力」という時点で誤りだぜ。

選択肢判定理由
1XOR=入力が違うとき1で正しい
2これはORの説明(ANDは両方1)
3これはANDの説明(ORはどちらか1)
4NOTは入力1つを反転するゲート

オリジナル問題2(半加算器と全加算器)

📝 オリジナル問題 2 半加算器と全加算器の違い

半加算器と全加算器に関する次の記述のうち、正しいものはどれか。

  1. 半加算器は2つの全加算器とORゲートを組み合わせて作る回路のことである
  2. 全加算器は下の桁からの繰り上がりも受け取れ、連結すれば多ケタの加算ができる
  3. 半加算器も全加算器も、下の桁からの繰り上がりは受け取れない点で共通している
  4. 全加算器は1ビットを記憶する順序回路で、レジスタやカウンタの土台にあたる
シーピードラ
シーピードラ 解答・解説

解答は 2 だぜ。

全加算器は半加算器を2つとORゲートで組み、下の桁からの繰り上がりも受け取れるのが最大の特徴だ。だからn個つなげればnケタの足し算ができる。

選択肢1は「半加算器」と「全加算器」が逆。全加算器が半加算器2つ+ORで作られる。選択肢3は誤りで、繰り上がりを受け取れるのが全加算器だ。選択肢4は記憶を持つフリップフロップ(順序回路)の説明で、加算器は組合せ回路だぜ。

選択肢判定理由
1全加算器が半加算器2つ+ORで作られる(逆)
2繰り上がりを受け取れ多ケタ加算が可能
3全加算器は繰り上がりを受け取れる
4記憶を持つのはフリップフロップ

オリジナル問題3(順序回路とフリップフロップ)

📝 オリジナル問題 3 順序回路とフリップフロップ

順序回路とフリップフロップに関する次の記述のうち、正しいものはどれか。

  1. 順序回路は今の入力だけで出力が決まり、過去の状態をまったく使わない回路である
  2. フリップフロップは複数のビットをまとめて計算する組合せ回路の代表部品である
  3. 半加算器や全加算器は過去の状態を記憶するので、順序回路に分類される回路だ
  4. フリップフロップは1ビットを記憶する順序回路で、レジスタなどの土台になる
シーピードラ
シーピードラ 解答・解説

解答は 4 だぜ。

フリップフロップは1ビット(0か1)を記憶する部品で、過去の状態を使う順序回路の代表だ。これを並べてレジスタやカウンタが作られる。RS・D・T・JKの4種類があると覚えておけよ。

選択肢1は「過去を使わない」ので組合せ回路の説明。選択肢2はフリップフロップを組合せ回路としている点が誤りだ。選択肢3は加算器を順序回路としているが、加算器は覚えない組合せ回路だぜ。

選択肢判定理由
1過去を使わないのは組合せ回路
2フリップフロップは記憶を持つ順序回路
3加算器は覚えない組合せ回路
41ビットを記憶しレジスタ等の土台になる

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る