~ スイッチが電卓になるまで ~
あなたが今使っているスマートフォン・パソコン・ゲーム機。
その中にある CPU は、何十億もの小さな「スイッチ」が組み合わさった巨大な回路だ。
その最小単位——それが「論理ゲート」である。
0 と 1 しか知らない回路で、なぜ計算ができるのか?
電圧が低い=0(オフ)、電圧が高い=1(オン)。コンピュータはこの二値しか理解できない。
入力を受け取り、決まった論理規則で出力を決める回路。「AND・OR・NOT」が基本三種類。
ゲートを組み合わせると加算器・メモリ・CPU が作れる。レゴブロックのように積み上げるイメージ。
論理ゲートの動作は ブール代数(Boolean algebra) という数学で記述できる。 1847年にイギリスの数学者 ジョージ・ブール(George Boole) が考案した、 「真(1)」と「偽(0)」だけを扱う代数体系だ。 彼は「思考の法則」という著書でこれを発表したが、当時は純粋な数学として注目されただけで、電気回路とは無縁だった。 それが100年後、電気回路に応用されることになる——。
1937年、MIT の学生だった クロード・シャノン(Claude Shannon) は修士論文でブール代数が電気スイッチ回路の設計に使えることを証明した。 「リレー回路のシンボリック解析」と題したこの論文は、「史上最も重要な修士論文」 とまで呼ばれる。 彼の発見によって、数学の抽象的な論理が物理的な電子回路として実現できることが示され、デジタルコンピュータの理論的基盤が生まれた。
「スイッチ」が「計算機」になるまでの旅
イギリスの数学者 ジョージ・ブール が「思考の数学的分析」を出版。真(True)と偽(False)だけを扱う代数体系を考案。当初は哲学的な論理学の研究とされ、工学への応用は誰も想像していなかった。
MIT の大学院生 クロード・シャノン が修士論文でブール代数を電気スイッチ回路に応用できることを証明。電話交換機のリレー回路をブール式で設計・分析する手法を示した。「史上最も重要な修士論文」と呼ばれる偉業。
ENIAC(1946年公開)など初期のコンピュータは 真空管 でスイッチを実現。ENIAC は真空管を 18,000 本使用し、部屋 1 つ分の大きさ・消費電力 150kW。真空管は熱を持ちやすく、頻繁に故障するのが悩みの種だった。
ベル研究所の ショックレー、バーディーン、ブラッテン がトランジスタを発明(ノーベル物理学賞受賞)。真空管より小さく・速く・省電力。これがスイッチの小型化を加速させ、論理ゲートを半導体上に集積することが現実的になった。
テキサス・インスツルメンツの ジャック・キルビー が、複数のトランジスタを一枚のシリコン基板に集積する「集積回路(IC)」を発明(ノーベル物理学賞受賞)。これにより、多数の論理ゲートをチップ1枚に収めることが可能になった。
Intel が世界初のマイクロプロセッサ Intel 4004 を発売。2,300 個のトランジスタを 1 チップに収め、電卓用 CPU として設計された。処理能力は約 60,000 回/秒の演算。比較として、現代の CPU は数千億回/秒。
Apple M4 チップ(2024年)には約 280 億個のトランジスタが収められている。トランジスタのサイズはわずか 3 ナノメートル(nm)——ヒトの毛髪の太さの約 3 万分の 1。それでも論理ゲートの原理は 1937 年のシャノンの論文と全く同じだ。
青いスイッチをクリックして入力を切り替えてみよう!
入力Aかつ入力BがONのときだけ、出力がONになります。
💡 日常の例:「カードキー AND 暗証番号」が正しい→ドアが開く。両方必要!
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
入力Aまたは入力BがONのとき、出力がONになります。
💡 日常の例:「正面玄関 OR 裏口」のどちらかのセンサーが反応→警報が鳴る。どちらか一方でOK!
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
入力を単純に反転させます。ONはOFFに、OFFはONになります。
💡 日常の例:「ドアが開いている→ランプが消える」「閉まっている→ランプが点く」。反転!
| A | 出力 |
|---|---|
| 0 | 1 |
| 1 | 0 |
ANDゲートの結果を反転させたものです。
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
ORゲートの結果を反転させたものです。
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
入力Aと入力Bが異なるときだけ、出力がONになります。
💡 加算回路の鍵: 1+0=1、0+1=1、1+1=0(繰り上がりが発生)。XOR は 2 進数の「1 桁の足し算」そのもの!
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
ANDゲートとXORゲートを組み合わせると、2進数1桁の足し算ができます。
| A | B | Carry | Sum |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
全 6 種類を一覧で比べてみよう
| ゲート | 動作 | ブール式 | 主な用途 |
|---|---|---|---|
| AND | 両方 1 のとき出力 1 | A · B | 条件の AND チェック |
| OR | どちらか 1 のとき出力 1 | A + B | どれか一つでOK の判定 |
| NOT | 入力を反転 | Ā | 信号の反転・補数生成 |
| NAND 🏆 | AND の反転(万能) | A·B | CPU 回路全般(最多使用) |
| NOR 🏆 | OR の反転(万能) | A+B | 宇宙・航空機用回路 |
| XOR | 入力が異なるとき出力 1 | A ⊕ B | 加算回路・パリティ・暗号 |
NAND だけで NOT を作る:
A NAND A = NOT A
両入力を同じ A にすると NOT になる!
NAND だけで AND を作る:
(A NAND B) NAND (A NAND B)
NAND の結果をさらに NAND すると AND!
💡 製造コストを下げるため、半導体メーカーは1種類のゲートセルだけを大量生産してあらゆる回路を実現することがある。これが万能ゲートの実用的な価値だ。
論理ゲートはどのように積み上がって CPU になるのか?
5 問クイズで確認しよう