← ブログに戻るリレーでコンピュータを作る · 2/18

直列スイッチ:ANDの隠れた論理

直列につないだ2個のスイッチがANDの物理的な論理をどう作るのかを解説します。1890年代の電話交換機からリレー論理、ライブの対話型回路までをたどります。

Matthias KellerMatthias Keller
読了まで約11分
Chalkboard feature illustration for “直列スイッチ:ANDの隠れた論理”

このシリーズの第1回では、リレーは電気で作動するスイッチ、つまり一方の回路がもう一方の回路を制御する装置だと学びました。この1個の部品だけでも、論理の気配は見えてきます。しかし、スイッチ1個だけが答えられる問いは1つです。オンかオフか?

計算するものを作るには、スイッチが協調して働かなければなりません。この記事で扱うのは、その最も単純な方法、2個のスイッチを直列に配線することです。この回路なら30秒でスケッチできますが、その中にはコンピュータが最初に必要とする形式論理の一片が折りたたまれています。読み終える頃には、ANDを回路図の記号としてではなく、電流が導線を流れるという物理的事実として目にしているはずです。

誰も覚えていない、世界で最も重要な仕事

1890年代半ばの電話交換局を思い描いてください。ヘッドセットを付けた交換手、主に若い女性たちが、番号付きのジャックで覆われ、コードが交差し、信号ランプが並ぶ長い木製パネルに向かっています。電話がかかるとランプが点滅します。交換手は手を伸ばし、あるジャックから別のジャックへコードを差し込み、離れた2人が話せるようにします。通話を終えるとコードを抜き、両方のジャックはまた静かになります。混雑する時間帯には1人で十数件の通話を同時に扱います。大都市の交換局全体では、数百人の交換手、数千本のコード、数万個のジャックが、人類がこれまでに作った最大の交換機械を形作っていました。そして、すべての接続を人の手が作っていたのです。

この人間によるボトルネックに悩まされた人物が、カンザスシティの事業家に少なくとも1人いました。葬儀業者のアルモン・ストロージャは、地元の電話交換手が自分宛ての電話を競合相手へ回しているのではないかと確信していました。故意だったかどうかは分かりません。彼の答えは、1891年に特許を取得した、交換手を完全に不要にする装置、ストロージャ自動交換機でした。世界初の実用的な自動電話交換機です。発信者が数字を1桁ずつダイヤルすると、電磁式のステップ・リレー群、すなわち第1回で扱った装置の近い親類が接点を順に移動し、人の介入なしに通話を接続しました。

その後の数十年、ストロージャと彼の発明を洗練した技術者たちは、何千ものリレーを意図的に、計算された組み合わせで配線しました。こうした組み合わせが1日に何百万回も繰り返し答えなければならなかった根本的な問いは、ランプと2個のスイッチだけで今から答える問いそのものです。電流が通過しなければならないスイッチの連なりがあるとき、回路を閉じるにはどの条件が真でなければならないのか?

1本の経路、複数の門番

最も単純な回路を考えます。電池、導線、そしてランプです。ここで導線を2か所で切り、それぞれの切れ目にナイフスイッチを置きます。これらをスイッチA、スイッチBと呼びましょう。

電池からの電流がすることはただ1つです。正極から導線を通り、ランプのフィラメントを通過して、負極へ戻ります。この旅を完了するには、スイッチAの隙間とスイッチBの隙間の両方を通らなければなりません。道は1本しかなく、各スイッチはその道にある門です。

可能性を順に見ていきましょう。

  • A開、B開。 遮断は2つ。道は2か所で切れています。ランプは消灯。
  • A閉、B開。 電流はスイッチAを通過しますが、直後にBの開いた隙間にぶつかります。そこで止まります。ランプは消灯。
  • A開、B閉。 電流がスイッチBを通れるとしても、そこへは届きません。手前のスイッチAが経路を遮っています。ランプは消灯。
  • A閉、B閉。 すべての門が開いています。電池からランプを通り、戻るまでの道は通っています。電流が流れます。ランプは点灯。

4通りの組み合わせのうち、失敗するのは3通りです。成功するのは1通りだけです。その理由は構造にあります。直列回路には経路が1本しかなく、その経路上のすべてのスイッチが協力しなければなりません。連なりのどこにあっても、1個でも反対するスイッチがあれば、唯一の道が断たれます。

この論理を実感するのに教科書は要りません。鍵を開けるのに2本の鍵が必要なとき、あるいは文書を承認するのに2人の署名が必要なときに、あなたはすでに感じています。両方がそろう、さもなければ何も起きない。

真理値表:物理的な姿をしたAND

この規則を、電子工学で使う略記法で書いてみましょう。閉じたスイッチを1(導通、真)、開いたスイッチを0(非導通、偽)とします。ランプは点灯しているとき1、消えているとき0とします。スイッチが2個なら組み合わせはちょうど4通りです。すべてを示します。

ABランプ(A AND B)
000
010
100
111

ランプが点灯するのは4行のうち1行だけで、残りの組み合わせでは消えたままです。ランプは、すべての入力が同時に真のときだけ真になる演算、論理ANDを物理的に実装しています。

これは、世にあるすべてのANDゲートのデータシートに載っているのと同じ4行の表です。ここで、その行がどこから来るのかが分かります。数学の教科書で誰かが考案した定義ではなく、導線が2か所で途切れたときに観察できる事実なのです。

表が非対称性について、というより非対称性がないことについて語る点にも注目してください。第2行と第3行はいずれも0で、互いに鏡像です。Aが閉でBが開の場合は、Bが閉でAが開の場合と同じ結果です。直列では、導線上の位置は論理を変えません。 スイッチAが電池に近くても、スイッチBが近くても違いはありません。条件は同じです。両方がそろわなければランプは消えたままです。ANDは対称です。

自分で試す — 見る前に予測する

以下は、ランプと直列に配線した2個のナイフスイッチのライブシミュレーションです。何か操作する前に、真理値表の4つの行それぞれについて予測してみましょう。どの行でランプが点灯すると思いますか。どの行で消えたままだと思いますか。

次に4通りすべてを1つずつ試し、各行を上の表と照らし合わせてください。

直列の2個のスイッチ。電流がランプに届くのは両方が閉じたときだけです。これがANDです。。
Open in the Relay Lab

操作中は、次の3点に注目してください。

  1. 両方を閉じた後、片方だけを開く。 両方が閉じてランプが点灯しているとき、スイッチAだけを開いてください。スイッチBはまだ閉じ、経路の半分を提供し続けているのに、ランプは即座に消えます。直列の連なりでは、どこにあっても1個の開いたスイッチが回路全体を拒否します。この拒否は比喩ではなく、物理現象です。

  2. あらゆる順序を試す。 まずBを閉じ、次にAを閉じます。次はAを先に閉じ、Bを後に閉じます。どちらの手順でも最後にはランプが点灯し、片方だけが閉じている中間状態ではいずれもランプが消えています。真理値表は両方向で対称です。ANDはどちらの入力を先に設定したかを気にせず、両方がそろっているかだけを見ます。

  3. 音をオンにして、クリック数を数える。 状態が変わるたびにクリック音が1回鳴ります。真理値表を一巡するには4回、閉じるのに2回、開くのに2回です。1940年代のリレーコンピュータでは、部屋いっぱいのスイッチがリズムに合わせて鳴る音で、技術者は計算の進行を追いました。誤ったパターンは、表示が確認する前に不調を知らせました。

なぜ直列の導線を深く理解する価値があるのか

AND演算を回路図記号、すなわち論理回路図にある平らな背面を持つD字形へと抽象化すると、便利なことが起きます。1本1本の導線を追わずに、何百個ものゲートを同時に考えられるようになります。しかし同時に、規則がなぜそうなるのかという理由が置き去りになります。

ANDは任意に決められたものではありません。複数の門番が守る1本の経路が必然的に示す挙動です。そしてこの土台は、後で学ぶことにとって重要です。ANDを連ねるとは、同じ直列線にさらにスイッチを加えることにほかなりません。 スイッチが3個ならすべて閉じていなければなりません。nn個なら、nn個すべてです。真理値表は2n2^n行に広がりますが、ランプが点灯するのは依然としてただ1行、すべての入力が1の行だけです。

クロード・シャノンは、このことを1937年にMITで提出した修士論文で厳密に示しました。この論文は今日、史上最も重要な修士論文とよく呼ばれます。シャノンは、どのようなスイッチ回路もブール代数の式として表せ、どのようなブール式もスイッチ回路として実現できることを、証明を伴って形式的に示しました。シャノンの記法では、直列回路は単に積A⋅BA \cdot Bです。両方の因子が1のときだけ1になる乗算です。彼の代数で見れば、1890年代の電話交換手は、知らないうちにブール式をリアルタイムで、毎時数万回評価していました。

シャノンの洞察は、ここからシリーズの最後まで、すべての記事の基礎になります。それが成り立つのは、直列に配線されたスイッチが、誰かが書き表す前からすでに数学的演算のように振る舞っていたからです。私たちが回路にANDを押し付けたのではありません。回路からANDを読み取ったのです。

今学んだこと — 次に進むこと

第1回で作った頭の中の道具箱に、次を加えてください。

  • 直列配線は1本の経路を作る。 電流が一周するには、その経路にあるすべてのスイッチが閉じていなければなりません。
  • その物理的な規則がANDである。 すべての入力が同時に真のときだけ真になります。
  • 4行の真理値表は作り物ではない。 ハードウェアから直接観察できます。
  • ANDは対称である。 導線上のスイッチの順番は結果を変えません。

「リレーでコンピュータを作る」の第3回では、同じ2個のスイッチを別の方法で配線します。今度は電池とランプの間にそれぞれ独立した枝を持つ並列です。電流には2本の道ができ、どちらか一方のスイッチが閉じればランプが点灯します。ORも、今日ANDがそうだったのと同じく、銅と導線から自然に現れます。その対比は、これらの演算が本当は何を意味するのかという根本を明らかにします。

2回の記事、2種類のスイッチ配線だけで、ゲート記号を1つも見ずに論理の背骨が見え始めます。導線から組み立てる意義はそこにあります。シャノンの代数が登場する頃には、上から与えられた数学とは感じないでしょう。すでに知っていた言語のように感じるはずです。

組み立てを続ける準備はできましたか。このシリーズのすべての回路は**DigiSim Relay Lab**にあります。自分で組み合わせを配線し、直列の連なりを延ばして、クリック音が増えていくのを聞いてください。

アイデアを実際に動く回路にしましょう。