2.4章 プログラム式計算機

 望月少佐が目的としたドイツ製計算機の視察を行うためには、目的とする装置の設置場所をまず探す必要があった。少佐が収集した情報によると、ドイツ航空省(RLM)の関連施設にそれが設置されているのは判明した。しかし、まだ大々的に活用しているわけでもないらしく、ドイツの航空機関係者に聞いても、具体的な設置場所がどこなのか特定できない。


「私が日本で耳にしていた計算機の情報は、全て駐在武官の遠藤少将のところに集められたものでした。実際にドイツに来て、大使館で確認したところ、ほとんどの情報は、駐在員の由利中佐が収集してくれたと判明しました。彼と直接話して詳しいことがわかってきました。どうやらドイツ航空省の資金で計算機を開発しているようです。開発が成功すれば、航空機開発で必要となる計算に使用するつもりだと思われます」


 横で聞いていた航空廠から訪独団に参加していた永野大尉が会話に割り込んできた。航空機に関する話題なので航空廠の関係分野だと判断したようだ。


「確かに、航空機設計の現場では各種の計算に手回し式の歯車計算機が利用されています。それが自動化されて短時間で答えが出せるならば、かなり便利ですね。間違いなく設計期間が短縮できますよ」


 畑違いだが、永野大尉の発言に望月少佐はしきりにうなずいている。

「航空機開発に限らず、艦船でも陸上車両でもいろいろな設計業務に複雑な計算はつきものだ。これらの計算を高速化していろいろな開発に要する時間を短縮するのも、我々の計算機開発の目的の一つなのですよ。それをドイツが実現しているとすれば、我々よりも一歩進んででいるだろうな」


 やがて、ドイツ航空省の内部調査をしていた由利中佐が、我々の望んでいた情報を入手してきた。

「計算機が設置されている開発施設の場所を特定しました。ベルリンの航空省技術開発部局(LC)の倉庫です。場所がわかったので、見学の許可を得られるように手配しています。多少袖の下を使いましたが、すぐに見学できると思います。どうやら現状ではドイツ空軍も使えるかどうかわからない計算道具の一つと思っているようです。そのため、極秘扱いではないので電探よりも許可を得るのは楽でした」


 由利中佐はとにかく情報収集が早い。今回もいったいどこで聞いてきたのか判然としないような情報もあっさりと入手して我々に教えてくれた。


 ……


 由利中佐の調べた情報のおかげで、真田大佐と私たちはドイツ航空省が所有する倉庫に足を運んで、ドイツで開発された計算機をやっと目にすることができた。電探と同じく陸軍の技術者も同行している。この計算機は、コンラート・ツーゼという土木出身の技術者が開発した計算機だった。事前情報の通り、ドイツ空軍は、計算機により航空機の翼のフラッターに関する演算させようとしていたが、まだ成果は出ていないらしい。


 あらかじめ、我々が計算機を開発していることを通知しておいたので、ツーゼ技師自身が出てきて、実物を前にして説明してくれた。

「この計算機は2進数で表現した22桁(22ビット)の浮動小数を演算できます。計算機本体は全て電気による駆動ですが、演算は電気式のリレーの開閉により実行します。そのため加算演算は600ミリ秒、乗算には5秒を要します。また、演算すべき多数の命令を記憶させておいてそれを順番に実行させることで、目的とする演算を自動的に実行します。この命令の記憶も2進数表現により、多数のリレーが状態を保持することにより可能となっています。但し、現在の装置は第2世代の計算機ですが設計に使うには、かなり性能が不足しています。実用的な計算ができる改良版の設計にも取り掛かっていますが、それでもまだ性能は不十分です」


 パラメトロン計算機を既に実現している我々からすれば、この計算機の演算部は数百倍以上遅いことになる。その点では参考とすべきものはほとんどない。ツーゼ技師が演算速度の不足が最大の課題だと言うのも納得できる。


 ドイツの計算機の見た目は、多数の機械式リレーをラック構造の棚に搭載していた。しかもその棚が8つくらい並んでいる。外見上は、パラメトロン計算機の棚の数を増やした形態に近い。


 望月少佐にとっては、以前から知っている装置にかなり似ていた。我々に対して説明してくれた。

「見た目では、多数のリレーを備えている電話の交換機と同じ構造だ。おそらく電話交換機を基にして、所定の動作ができるように改造を行って計算機にしてたのだと思う。多数のリレーのおかげで、演算器の桁数が小さいのに、我々のパラメトロン計算機よりも数倍以上は大きくなっている」


 ツーゼ技師は説明を終えた後に、計算機を実際に作動させてみせた。機械式リレーがガチャガチャと高速で開閉動作をするので、計算機のそばにいると会話が何もできないほど騒音がすごい。


 計算機が実際に動作することよりも、我々の興味を引いたのは、計算式を単純な命令の組み合わせに分解しておいて、計算を実行する手順として記憶部に読み込ませる点だ。演算の対象となる数値は、計算式とは別に入力して、あらかじめ記憶した命令に基づいて順番に実行させる。


 望月少佐にとっては、これは発想の大きな転換だった。パラメトロン計算機で最も大きな課題だった各種の計算への柔軟な対応を可能とする解答だった。我々の計算機のようにいちいち配線を変える必要がない。望月少佐はこの仕組みをもっと詳しく解明せねばならないと思った。


「演算すべき計算式を、演算回路の接続変更により設定するのではなくて、一連の連続した命令群の形に分解して、それを演算に先だって読み込ませるのですか?」


「はい、35ミリ幅の穿孔したテープを使って、連続した複数の命令を読み込ませます。紙テープは1行で2進数の8桁(8ビット)を記憶可能です。実行命令ごとに、該当する2進符号をあらかじめ決めてあって、それを紙テープ上に穴あけして表現するのです。読み込んだ符号は計算機の記憶部に蓄積して、計算すべき数値が入力された時点で演算の手順として呼び出します。演算部はその符号で指定される命令を順番に実行して結果を出力します。演算対象となる複数の数値をあらかじめ記憶させておけば、その数値を読みだして順次演算をさせることが可能です」


「仮に、記憶部の容量が十分大きな場合には、命令群はかなり複雑で長いものであっても順次実行することが可能ですよね。しかも、テープで読み込ませる命令内容を変更すれば、それに応じて異なる計算式の演算が可能になります。計算対象となる入力値も多数の数値をあらかじめ記憶しておけば、その数値に対する演算結果が次々と得られると考えてよいのですね?」


 ツーゼ技師はしばらく考えてから望月少佐の質問に答えた。

「現状の計算機の演算命令は単純な四則演算や大小比較、論理演算が主体なのですが、次機種ではもっと命令を拡張することを考えています。例えば、いくつかの条件の比較や数値の大小の判断で、次に実行する命令を特定の命令にジャンプさせるような処理をさせれば、かなり複雑な処理を実行することが可能になります。私たちはこの命令群を、事前に準備した書き物という意味のギリシャ語から、『プログランマ』と呼んでいます。まあ最近ではドイツ語風に言いやすい『プログラム』と言い直していますがね。記憶部の容量を拡張すれば、複雑なプログラムでも実行可能になりますね。実質的に記憶部はこの計算機の能力を制限する一つの要素になります」


「なるほど、プログラムという実行させるべき命令群を用途に応じていろいろ準備しておくだけで、かなり広い用途で計算機を利用可能になる。但しその条件として、記憶部は十分な容量が必要になるということですね。計算機の性能は演算部と記憶部で決まると言っていいでしょうね」


 私も思わず口出ししてしまった。

「これは我々が求めていた仕掛けですよ。もっと詳しい情報を入手しましょう。ツーゼ技師の計算機での実現方法がわかれば、2進数の演算が基本となっている我々のパラメトロン計算機にも間違いなく適用可能です。そうなれば我々の計算機の実用性は飛躍的に高まりますよ」


 ……


 望月少佐はベルリンの日本大使館に戻ると、ツーゼ技師の計算機の情報を入手すべきとの意見を日本に打電した。取引条件としてパラメトロン計算機の資料を日本から渡すことになっても、入手すべき重要な情報だと考えたのだ。すぐに日高中将から、ドイツ計算機の設計情報を入手する交換条件としてパラメトロン計算機の情報提供を許可するとの返電があった。


 望月少佐はこのような状況を想定して、翻訳したパラメトロンの説明書を準備していた。しかも小さなパラメトロン素子の見本を自分の手荷物に潜り込ませていた。


 数日後、我々はツーゼ技師を再び訪問した。今回は最初に我々が保有する技術を紹介した。望月少佐からのパラメトロン計算機の説明を聞いているうちに、ツーゼ技師の目がらんらんと輝きだした。


「加算で1ミリ秒、乗算で10ミリ秒ですか! しかもこの小さな指輪のような素子で2進数の演算と記憶が可能なのですね。この時点で私のマシンは時代遅れになりました。次期計算機は全面的に設計を変更します。この素子を我々も生産してみます。強磁性体はドイツでも入手できますから、生産にはそれほど時間はかからないでしょう。しかもこの小さな素子を使えば、リレーよりも構造が簡単になって、大幅な小型化が可能だ」


 我々が提供したパラメトロン素子の価値を認めて、ツーゼ技師は自分の装置の資料をいくつも準備してくれた。資料には、第2世代の「Z2」計算機の設計情報だけでなく、その次の「Z3」で予定していた条件分岐命令を含む拡張した命令群の資料や記憶部の構成を決めて、そこに命令や計算データを記憶してゆくという彼の発明も含まれていた。


 望月少佐も、ドイツから提供された資料をぱらぱらとみて満足な顔をしている。


 最後にツーゼ技師から発言があった。

「貴重な情報を提供してくれて感謝します。計算速度という最大の課題が解決できれば、私の研究は試作機から一気に実用化に近づきます。これからも情報交換をお願いしたい」


 航空廠から来ていた永野大尉は今回の経験から、日本に帰ったら航空機開発に計算機を活用することを固く決意していた。設計内容に対応して、複数のプログラムを準備しておけばいろいろな用途に使えるはずだ。間違いなく航空機の設計期間は短くなるだろう。しかも今まで計算量が膨大になるとあきらめていた項目についても計算が可能になれば、試作機で想定外の結果が出て設計をやり直すことも減るに違いない。


 ……


 我々は、目的とした情報が入手できると日本への帰路に就くことを決めた。ダイムラーのエンジンなどの荷物は一足遅れてドイツに到着した輸送船に積み込まれた。日本に戻ってから思い返してみると、ドイツがポーランドに侵入して戦争が始まるわずか3カ月前のことだった。


 当時は1940年の東京オリンピックでの活用を目指して画像電送装置が、日本電気で開発されていた。これを改良した装置として、遠隔地での使用を考慮した伝送装置も実用化していた。伝送する静止画のグレーの階調を白と黒に簡略化することにより、伝送時間を大幅に短縮した図形電送装置が、ベルリンの日本大使館に備えられていた。海軍技術研究所も同じ装置を導入している。我々は、この装置を利用してドイツの電探や計算機の構造を示す図を日本の技術研究所に送信できた。送信できたのは限られた枚数の図面だったが、技研で我々からの報告を待ち焦がれている技術者にとっては干天の慈雨となった。設計の要点が図面で示されていたのだ。


 すぐに電探開発課と計算機開発課はベルリンからの情報に基づいて装置の改良にとりかかった。新型電探の開発班長だった水間技師はセンチ波を利用した電探に対して、放射電波のビームを螺旋形に回転させる仕組みを追加するための仕組みの設計を開始した。導波管の末端の電波放出口をモーターで回転するように作り変えてそれをおわん型のアンテナの中央部に据え付ける。見た目も構造も洗練されていない実験機だが、とりあえずは効果が確認できれば良い。


 ……


 パラメトロン計算機については、海野少尉が中心となって、望月少佐がベルリンから送ってきた情報により設計に取り掛かった。しかし、基本的な構造がパラメトロン計算機の演算部とは全く違っているツーゼ技師が考案したプログラム実行型への変更は容易ではなかった。


 まず計算機の開発にあたって、プログラムを可能とする命令そのものを決めなければならない。我が国において、演算を実行する命令というのは全くの未経験分野だった。あれこれ考えて、少尉はドイツ人の考えた結果をまねることにした。ツーゼ技師が考案した計算機の命令群をほとんど採用して設計を進めたのだ。もっとも完全に同じではなく、もともと演算部の2進数の桁数や浮動小数点の表現方法などが異なるので、計算機の演算部の基本構造に依存する命令は構造に合わせた変更した。


 ……


 そのようないきさつで、我々が帰国する以前に既に電探も計算機もドイツからの情報を参照して設計が始まっていたのだ。


 昭和14年(1939年)6月になって、帰国してから技術研究所に出勤すると方位と仰角の計測精度を改善した電探の試作機の回路図が出来上がって、部品の作成が始まっていた。この方法で1桁精度が改善できれば、射撃管制用の電探としての実用化が大きく前進することになる。


 パラメトロン計算機については、変更すべき範囲は大きかったが、海野少尉は改良型計算機の処理部の設計作業を進めていた。我々が帰ってくると、海野少尉は変更点をさっそく報告してきた。


「望月少佐、演算部に実行命令の前処理を行う機能部を追加します。前処理部には、プログラムの読み取り番地(アドレス)を格納しておいて、記憶部から先行して読みっとった(プリフェッチ)プログラムの命令を解析して動作内容を判定(デコード)して、必要となる機能部に信号を送出します。この前処理部は計算機の主演算部と並列に動作可能として、演算部が命令を実行している間に次の命令に対する前処理を実行して、バケツリレー式に次々と命令を受け渡す構成としています。これらの機能部と演算部、それに演算途中の結果を一時記憶する情報格納部(レジスター)を含めて中央処理部(CPU)と呼ぶことにしました」


「なるほど、プログラム式に変更することで、演算部の負担が増えるはずだが、前処理により低減するわけだな。これで、演算部は途切れることなく命令の実行に専念できることになる。ところで命令には、条件により別のプログラムの流れに分岐する場合がある。分岐が成立した時は先行して取得した命令は使えないはずだ」


「ええその通りです。条件分岐命令を実行する場合は、前処理部でも命令を解析してそれが検出できるので、その場合は分岐の結果を演算部が出力するまで、前段の処理を中断します。但し、実際のプログラムではそのような一時停止は、確率的に少ないはずです」


「わかった。君の考えた方式でよいと思う。急いで機能追加した演算部を作成してくれ」


「じつは、課題があります。プログラムは計算機の記憶部に蓄積することになりますが、記憶部の容量を大幅に増加しないと足りなくなります」


 ここは、私の考えていた記憶部の改善が必要だということだろう。

「実は、出発前に武井博士に改良型の記憶素子の開発を依頼しました。開発状況の確認はこれからですが、現状のパラメトロン素子から構造を簡易化した記憶専門の素子開発を依頼していました。パラメトロン素子は演算に加えて2進数の記憶が可能なので、今まで情報を記憶する素子としても使ってきました。しかし、単純に2進情報を記憶するだけならば、もっと構造を簡単にできるはずです。おそらく何らかの成果が出ていると思います」


 ……


 武井博士の実験室を訪問すると、博士は、ごく小直径のリング状のフェライトを利用した素子を見せてくれた。


「フェライトリングを限界まで小さくした素子に2進情報を磁気記憶させます。この記憶機能に特化した簡易型の磁性体素子は、フェライト製の小さな穴に通す細線は、まだ4本が残っていますが、従来のパラメトロンに比べてかなり構造も簡単なので生産も容易となるはずです」


「なるほどこれならば、従来と同じ記憶部の容積でも、一桁は多い情報を記憶できそうですね」


「もう一つ、重要な改善点があります。この素子はフェライトが有するヒステリシスな磁化特性により電流に応じてリングが磁化されます。弱い磁化ですが、一度電気を切ってから再度電流を流すとその磁化の方向に応じた共振状態となります。つまり、一度記憶した情報が磁気のおかげで、電気を切っても失われることがありません」


「ありがとうございます。この磁気記憶素子を使用すれば、私が期待していた通りの記憶装置が完成できそうです。ところで、パラメトロンと異なって少数の電線を通すだけなので、生産については人手を介さずに自動化ができるはずですね?」


 私の質問に、博士が手を打って答えた。

「生産の自動化については、検討を既に開始しています。フェライトビーズを治具に固定してから、織物の要領で上下から細線を通せば、製造時にはかなり人手を省略できるはずです。自動織機を改良したような製造用機器について今はまだ設計をしている最中ですが、2カ月もすれば完成するでしょう」


 電子機器は回路の設計が終わって、手元に必要な部品があれば組み立てはどんどん進む。技研の研究部隊は、まずは実際に動作させてから回路やプログラムの不具合を洗い出す方針を採用した。回路の間違いについては早期に修正されていった。日本で初めてのプログラム実行についても、単純な試験プログラムでは問題が発生しなくなった。


 続いて、計算機開発の目的の一つだった弾道計算式のプログラムにより、実証試験をすることになった。プログラム作成時の間違い(バグ)を効率的に洗い出す手法などは確立していないので、とにかく人手で確認してそれでよければ、入力して動作させるという方法をとっていた。それでも大規模なプログラムでなければ、一つ一つプログラムの不具合をつぶしてゆくことができた。少しばかり時間を要したが、やがて目的通りの計算結果が得られるようになった。


 海軍省は計算機の開発が進展してくると、通信機や交換機を製造していた民間企業に対して、計算機の技術移管を決定した。軍が一定数量の計算機を買い上げることを約束したため、これらの民間会社では、工場に計算機製造の専用ラインを設置して量産体制の整備にとりかかった。


 海軍としては、計算機は兵器ではなく、計算のための道具であったが、その重要性を認識して九九式計算機として制式化した。民間会社で生産が立ち上がると、航空廠や海軍工廠など、業務上で、多くの計算を行っている組織は先行して導入した。もちろん軍に続いて、民間でも計算機の活用が始まることになる。


 昭和14年(1939年)9月には、ついに本格的なプログラムが実行可能で改良型記憶装置を備えたパラメトロン試作機が完成した。電子計算機として要求される基本的な機能が全て揃った実用的な演算能力を有する世界初の計算機の完成だ。


 海軍技術研究所 一型蓄積プログラム計算機(九九式一型計算機)

 演算 2進32桁(32ビット)演算

 計算速度

 加減算 1.0ms

 乗算 4.2ms

 除算 12ms

 磁気記憶装置 4096語(4Kワード)

 入力装置 穿孔テープ読み取り器と電動タイプライター

 出力装置 電動タイプライター

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る