見出し画像

パソコン以前・バベッジの解析機関がノイマン型へ遺した遺伝子 - - パソコン黎明期の記憶

 1830年代、産業革命の煤煙に煙るロンドン。
 カンカンと金属音が響く工房の片隅で、一人の男が膨大な設計図に囲まれて頭を抱えていました。チャールズ・バベッジ。彼が作ろうとしていたのは、真鍮の歯車を何万個も組み合わせ、蒸気の力でガシャガシャと動く巨大な怪物でした。

 その怪物の名は「解析機関」。
 電気の「0」と「1」ではなく、歯車の回転で思考する、世界初のデジタル計算機の幻影だったのです。


歯車で組まれた「デジタル」

 チャールズ・バベッジというイギリスの数学者が挑んだのは、一言で言えば「計算の自動化」でした。
 当時の航海に必要な星暦表や数式は、すべて「計算手(コンピューター)」と呼ばれた人間たちが手計算していたのです。当然、人間ですから疲れるし、見間違いもします。そのミスが原因で船が遭難することさえあった時代、バベッジは「機械に計算させれば絶対に間違えない」と確信しました。

 彼が構想した「解析機関」の凄みは、それがアナログではなく、完全に「デジタル」だった点にあります。

 長さを測る計算尺のようなアナログの手法ではなく、歯車の位置をカチカチと切り替えることで、0から9までの離散的な数値を正確に処理しようとしました。
 驚くべきは、その設計図のなかに、現代のコンピューターの心臓部がすでに揃っていたことです。

 バベッジは、実際に計算を行う部分を「ミル(風車小屋)」、数値を記憶しておく場所を「ストア(倉庫)」と呼びました。
 これは現代のIT技術者が毎日お世話になっている「CPU」と「メモリ」そのものです。それらをすべて真鍮の歯車の噛み合わせだけで実現しようとしたというのですから、当時の人たちからすれば、まるでSFか魔法の性質に見えたことでしょう。


織機のカードが、機械に命を吹む

 ただ計算ができるだけの機械なら、それ以前にも存在していました。解析機関がそれらと決定的に違ったのは、世界で初めて「プログラミング」の概念を取り入れた点です。

 バベッジは、当時の最先端技術だった「ジャカード織機」に目をつけました。これは、穴の開いたパンチカードを読み込ませることで、複雑な織物の模様を自動で織り上げる機械です。
 彼は思いました。模様が変えられるなら、計算の手順だって変えられるはずだ、と。

 カードに穴を開けて機械に差し込む。すると、機械の側を一切改造することなく、カードを入れ替えるだけで、ある時は足し算を、ある時は天文学の複雑な計算を自動で行う。
 これこそがソフトウェア、つまりプログラミングの誕生の瞬間でした。

 この時、バベッジの頭の中には、現代のプログラマーがコードを書くときに使う「上から順番に実行する」「条件によって処理を変える」「同じ処理を繰り返す」という基本構造がすべて揃っていたと言われています。

 そして、この機械のポテンシャルをバベッジ以上に理解していたのが、エイダ・ラブレスという女性数学者でした。彼女は解析機関のために、実際に数式を解くための手順をパンチカードの命令列として書き残しました。

 電気のない時代に、世界最初のプログラムコードは、一人の女性の手によって紙の上に紡がれたのです。


バベッジの遺伝子はどこへ消えたのか

 これほど破壊的なイノベーションだったにもかかわらず、解析機関はバベッジの存命中に完成することはありませんでした。 
 あまりに設計が複雑すぎて、当時のイギリス政府が資金援助を打ち切ってしまったからなのです。

 技術が時代の遥か先を行き過ぎていた。
 結局、天才の構想は、膨大な設計図のまま歴史の闇に埋もれたかのように見えました。

 物語が再び動き出すのは、それから約100年後のことです。

 20世紀、第二次世界大戦の最中、暗号解読の天才として知られるアラン・チューリングは、バベッジの古い論文を読み込んでいました。
 彼は、プログラムさえ書き換えればどんな計算でもできるというバベッジの「汎用性」の思想に、強いインスピレーションを受けます。

 これが、現代の計算機科学の基礎となる「万能チューリングマシン」の理論へとつながっていくのです。

 さらに、その理論を現実の電子回路として形にしたのが、かのジョン・フォン・ノイマンでした。彼が提唱した「プログラムをメモリに読み込ませて、CPUで順次実行する」というフォン・ノイマン型アーキテクチャは、今私たちが使っているすべてのPCやスマホのベースになっています。

 こうして系譜を眺めてみると、ある事実に気づきます。
 ノイマン型の構造は、100年前にバベッジが描いた「ストア(メモリ)」と「ミル(CPU)」、そして「パンチカード(プログラム)」の関係性と、驚くほどに瓜二つだったのです。

 私たちは、バベッジが夢見た真鍮の歯車を、ただシリコンと電子とに置き換えただけなのかもしれません。


100年の時差を超えて

 ビジネスの世界では、よく「早すぎる技術は普及しない」と言われます。

 バベッジの挫折は、まさにその典型例だったのでしょう。当時のロンドン市民にとっては、動くかどうかもわからない巨大な歯車の山よりも、目の前の蒸気機関車の方がずっと魅力的だったに違いありません。

 しかし、彼が遺した「プログラムで機械を支配する」という思想の種は、絶えることなく100年後の天才たちへ引き継がれ、現在のデジタル社会として大輪の華を咲かせました。

 PCを開くとき、あるいはスマホのアプリを立ち上げるとき、画面の奥でカチカチと音を立てて回る、見えない真鍮の歯車が動いているのかもしれません。
 私たちは今も、180年前の天才が夢見た庭の中で、踊っているのです。



【徒然メモ】「解析機関」のコンセプト

 チャールズ・バベッジの「解析機関」は、現代のコンピュータ(デジタル計算機)の基礎となる設計思想を世界で初めて確立した、計算機史上最大の転換点です。

1. 歴史的背景

 (1)アナログからデジタルへの過渡期

 ・バベッジが活躍した19世紀は、まだ「デジタル計算機」という言葉すらない時代でした。

 (2)「計算は人間がするもの」だった時代
 
 ・当時は「コンピューター(Computer)」といえば、数式や航海用の星暦表を手計算する人間(計算手)のことを指していました。

 ・手計算には必ず「ヒューマンエラー(計算ミス)」がつきまとい、それが船の難破などの重大事故につながる社会問題になっていました。

 (3)アナログから「機械式デジタル」への挑戦

 ・長さや重さといった連続する量を測る「アナログ計算(計算尺など)」とは異なり、バベッジは歯車の位置という「離散的な数値(デジタル)」を使って、絶対にミスのない正確な出力を得ようとしました。

 ・電気を使わない「歯車による機械式のデジタル計算機」を目指したのが、この時代の大きな特徴です。


2. チャールズ・バベッジの「解析機関(Analytical Engine)」とは

 バベッジが最初に設計した「階差機関」は特定の計算しかできませんでしたが、次に構想した「解析機関」は、あらゆる計算を実行できる「汎用計算機」でした。これは現代のコンピューターの構成要素をすべて備えていました。

 (1)現代のハードウェアとの完全な一致
  現代のコンピューターの5大装置(制御、演算、記憶、入力、出力)が、すでに歯車の仕組みとして設計されていました。

   ・ミル(Mill / 風車小屋)
    現代のCPU(演算・制御装置)に相当。歯車を噛み合わせて実際の計算を行う。

   ・ストア(Store / 倉庫)
    現代のメモリ(記憶装置)に相当。数値を歯車の回転角として記憶しておく場所。

   ・制御・入出力
    「パンチカード」を読み取る装置や、結果を自動で印刷する装置(プリンタの先祖)も設計に含まれていました。


3. 「プログラミングの概念」の誕生

 解析機関がそれまでの計算機と決定的に違ったのは、「プログラムを入れ替えることで、1台の機械でどんな計算でもできる」という点です。

 (1)パンチカードによる制御
  ・ジャカード織機(自動織機)という布地を織る機械からヒントを得て、穴の開いたカード(パンチカード)で機械に命令(指示)を与えました。
  ・カードを入れ替えるだけで、機械の構造を改造することなく、全く別の計算をさせることが可能になりました。

 (2)プログラムの基本構造の網羅
 
 ・現代のプログラミングに不可欠な「順次(上から順に実行)」「条件分岐(もし〜なら処理を変える)」「ループ(繰り返し)」という概念が、この時点でバベッジの頭の中に存在していました。

 (3)世界初のプログラマー「エイダ・ラブレス」
  ・バベッジの理解者であった女性数学者エイダ・ラブレスは、解析機関のために「ベルヌーイ数を求めるための数式(アルゴリズム)」をパンチカードの命令手順として書き残しました。これが世界初のコンピューター・プログラムとされています。



関連記事

・電卓と計算機の歴史と技術的進化


書籍の紹介

僕らのパソコン 30年史 ニッポン パソコンクロニクル Kindle版
 SE編集部 編集
 翔泳社(2012/12/20)
 写真で振り返る、ニッポンのパソコン歴史教科書。30年以上を通して変化したパソコンを2部構成で、写真を多用し世相にも触れながら、時間の流れの中で大きな変化をわかりやすく解説。第1部を年代ごとのトピックの解説にあて、当時の開発者や関係者への「証言(ターニングポイント)」を盛り込み、開発秘話などを明らかにしている。第2部では、PCアーキテクチャなどをテーマごとにまとめている。
( ※ 書籍の解説等は原則としてリンク先(Amazon)における解説をベースに記載しています。詳細内容はリンク先を参照願います。)

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-


いいなと思ったら応援しよう!

Tom.Msn よろしければ応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます!