計算機の変遷
今日、照明のスイッチリモコンや手放せないスマホ、自動車やインフラの制御を司る制御装置に至るまで情報処理装置なしには私たちの生活は成り立ちません。
人はどのようにして情報を処理する計算機を道具化してきたのでしょうか。
古の計算道具
人類が数や計算という抽象概念を獲得した経緯は記録がない時代に遡り推測するしかありませんが、猟果を公平に分配する必要があったり、家畜の管理上必要であったり、定住農業を発展させると暦の関係から指折り数えていた規模を越えるあたりから10進数が発達し、各地域ごと多発的に発展させてきたものが交易などの異文化が交流する過程で統合されていったと思われます(東洋では開いた指を折ながら数える文化が多いのに対し、西洋では握った指を立ててカウントするように、また数える時の6の100と52のような三桁ごとの数え方の法則も言語や文化により数種類に分類されるなど地域差があった名残が見て取れます)
集団を束ねた原始宗教において権力者が独占してきた知の集大成である建築や占星術も建築土木工学や占星術や天文学、国富の管理や軍隊の運営など文明が発達するにつれそれらを記録する記号化された文字や数字といったデジタルの概念の確立以後、高度な数学への発展により各々の実効手段を担っていきました。
初期には両手で指折り数えたり小石や骨などを線や溝に沿って並び替えていた2・5進法の10進数を模した「計算」の英語の語源になったカルクリやアバカスという計算用具を商人らが携行していたと考えられています。
算詞によって4と3分の1、などの分数に対応する算盤も考案されましたが、実用性に劣っていたことから普及せず、その代わり数字を書き込んで計算する筆算の発達に貢献しました。
また、時代と共に大型化して据え置き型となり、これが「テーブル」となり引き出しがあるデスクとは区別され、タブレットと言われるようになったようです。
それらが東洋に到達し古代中国でそろばんの原型として改良されていき、日本で改良されたそろばんが中国に逆輸入されたりしていますが、それはまだ先の話。
(掛け算を暗唱する「九九」は算盤を扱う時に必要な知識を暗唱しやすくしたもので、明治以前は九の段から始まっていました)
インド式掛け算とネイピア棒
スコットランドの数学者ジョン・ネイピアはネイピア数や対数で知られていますが、当時二桁掛け算が求められるようになっていた商業や科学分野の計算を補助するネイピア棒を考案しました。
これはインド式掛け算の要領で棒に示された隣り合う数字を斜めに足し合わせるもので、これを用いた計算法を紹介する書籍も刊行されています。
上手く使いこなすと二桁割り算にも対応出来ていたようです。
これをドイツで歯車で駆動するように改良した機械式計算機が考案されていた事がウィルヘルム・シッカートが同じく天文学者ヨハネス・ケプラーに宛てた手紙から明らかになっていますが、この計算機はドイツ三十年戦争の間に失われてしまったようです。
世界初の自動計算機はレオナルド・ダ・ヴィンチがスケッチに著していますが、ダ・ヴィンチが実物を製作した記録はなく、シッカートが職人に造られた計算機が世界初の機械式計算機と見なされています。
パスカルのパスカリーヌ
フランスではイギリス同様の12進数と20進数を組み合わせる複雑な貨幣体系を用いていましたが、税務官吏をしていた父親の為にプリーズ・パスカルも歯車式計算機「パスカリーヌ」を考案しています。
後に12進繰り上がりと20進繰り上がりに対応させてパスカルは近隣の王族や貴族に大々的に売り込みましたが、当時の人にとって仕組みが分からない機械に財産の計算をさせるという行為が理解の範疇を越えていた為に全く売れませんでした。
散々に終わったパスカリーヌでしたが、その基本原理は後世の機械式計算機や電子計算機にも引き継がれる事になりました。
ライプニッツの歯車
パスカリーヌが加算減算に特化していたのに対し、約30年後、デジタルに通じる二進法を確立した事でも知られる数学者のゴットフリート・ライプニッツが歯車式乗除算機を考案しました。
これはパスカルの計算機に乗除算専用の機構を組み合わせた物で、当時の高度な学術計算に用いられ、数学者や天文学者を膨大な計算から解放したとされています。
しかし、その独創的なアイデアは当時の工作精度の低さなどから実用には至らす、繰り上がり機構などを簡略化されたダイヤル計算機などが19世紀まで度々製作されていました。
バベッジの階差機関と解析機関
対数表の膨大な計算に頭を悩ませていたイギリスの数学者チャールズ・バベッジは図表を自動作成する機械を思想しています。
多項式を解ければ関数の近似値を得ることが出来、海図の作成に活用できると考えたイギリス海軍の支援を受けながら幾つかの試作機が造られました。
当時の最先端技術であった蒸気機関車を動力として高速の計算処理を出来る機関を実現すべく試作したという事ですが、蒸気ではなく錘を使用した事や当時の工作精度限界から人が計算結果を書き取るより少しばかり速い程度の物だったと記録にあります。
バベッジ自身が開発中断している間にスウェーデンの出版業社であったペール・イエオリ・シュウツが完成させた機械は1855年のパリ万博に出展され金メダルを受賞しました。
後に階差機関を更に発展させた解析機関が設計されました。
これは組み替える事で多様な関数に対応させるという汎用的な用途に用いられる事を想定しており、様々な柄をカードの穴の位置で糸を引き上げたり下ろしたりして織り上げるジャカール織機の機構から着想したといい、与えられた変数や計算結果を貯蔵する機構と計算を司る機構とが組み合わされており思想的には現代のプログラム格納式コンピューターに近い物だったようですが演算カードや値を呼び込むカード等を複数組み合わせつつ、其々のタイミングを同期させなくてはならない複雑な物で50桁の数字を1000個まで記憶できる容量があったとされ、実際の装置の完成は引き継いだ息子の代になっていました。
x2乗=x
この時代の重要な発見にジョージ・ブールの代数(ブール代数)が挙げられます。
ブールは文字を用いた代数で論理演算するという着想を得ました。
x2乗=x
のxが成り立つのはx=1かX=0の場合に限られる事から、1を真、0を偽とすれば計算によって「AND(論理積)」「OR(論理和)」「NOT(論理否定)」が定義できるというアイデアです。
当時は主流派からは重要な発見とは見做されませんでしたが、この着想が後世のアラン・チューリングやジョン・フォイ・ノイマンの研究に繋がっていきます。
積分器とプラニメータ
ここまでで登場した計算道具は何らかの作用により計算するため「計数型」と分類できますが、そらとは異なる動作原理を用いる「アナログ計算」も登場します。
分かりやすいのが計算尺で一連の目盛に別の長さ(アナログ量)を与えることで計算結果を読み取れるようになっています。
更に、潮汐記録計のように連続した変化量を記録する装置も積分を扱う計算機とも言えるかもしれません。
単純閉曲線の面積を求めるプラニメータは19世紀初頭にドイツ人技師によって製作され、ジェームズ・トムソンが改良した積分器を用いジェームズ・クラーク・マクスウェルらが改良して地図をなぞってその面積を求める用途などに用いられました。
弾道学の発達
第一次世界大戦は国家が軍事力や産業、科学力など持てる力を総動員する総力戦が繰り広げられました。
砲弾を遠くまで正確に飛ばすという願望はバリスタやトレビシェットといった古代の投石器の登場以前、原始の時代に狩りや抗争の投石にも遡る根元的な欲求でしたが、大砲の発達はニュートンの時代に考えられていたような単純な物理モデルでは既に誤差が大きくなり、適切な理論と実験による正確な計算が必要とされるようになっていました。
ドイツが運用した通称「パリ砲」は撃ち出された砲弾が成層圏の高さまで到達し、大気モデルに対する考察や地球の自転運動の影響を考慮する必要性を実証的に明らかにしました。
また、科学技術の多くを欧州、とりわけドイツに依存していたアメリカも国内外から物理学者や数学者を集めた学部を作り、アインシュタインやノイマンといった教授陣と研究者の育成に努めています。
これによりアメリカの科学技術水準は欧州の最先端レベルと遜色がない程に引き上げられる事になりました。
第一次世界大戦が終わる頃にはアメリカでは電気工学や電磁気学の研究や先の弾道学での微分積分の計算が増大し手計算では限界に達しつつあり、未知の分野における法則の類似性を明らかにするための応用数学など、研究施設での何らかの計算装置の必要性が高まっていました。
特に自然科学の領域の二次的な変化率を含む二階微分方程式を解く事が出来る計算機が求められました。
それまでにあった積算電力計を使わない誤差の少なく扱いやすい回転運動による機械式の微分解析機が考案されています。
こういった装置は、シュレディンガーの波動方程式を解くなど当時の最先端の研究に貢献し、また偏微分方程式を解くことによって、それまで実験的に確かめられていたような事象を計算によって解くという手法を確立していきました。
計算リソースが限られる中、天文学者などでは天体の運動表の作成に電気式パンチカード計算機を備えた計算機械室がアメリカやイギリスの大学などに設置されていきました。
インターナショナル・ビジネス・マシンズ社の技術者は計算機械を数々の関数が扱え、数学的に自然な手続きを自動処理する物理的科学分野の使用に最適化する要請を受けIBM式自動逐次制御計算機を開発しました。
23桁の正負の数を収納する72個の計数器(カウンタ)を備え、定数を貯える事が出来る60個の置数器(レジスタ)があり、乗算に6秒、除算に12秒かかり、対数、指数、正弦または余弦関数の値を計算する3つの装置を備えていました。
それはバベイジが100年前に構想した解析機関を実現したものでした。
同時代にはベル研究所の電話交換器の電磁リレーを多数使用した弾道計算機が開発されていましたが、特定の用途に限られ、大きさに対する計算能力もIBM計算機には及ばない物でしたが、電気的な制御信号で動作する二値スイッチを多数組み合わせて計算するという、後世を先取りする物でした。
ENIACとEDVAC
第二次世界大戦の最中には暗号解読用など様々な計算機が製作されましたが多くは軍事機密として長いこと存在を知られず、日の目をみたのは戦争終結後に完成したENIAC(Electronic Numeric Integrator And Computer)が「世界初のコンピューター」と言われるようになりました。
17,468本の真空管と7200個のダイオード、1500個のリレー、70000個の抵抗器、10000個のコンデンサなどを組み合わせ10桁の10進法を20のアキュムレータで毎秒数千回の加減算、乗除算を数十から数百回計算するモジュラーを組み合わせた構造的で配線やスイッチを手動で変更することで汎用的な計算が出来る汎用計算機でした。
前述のIBM式自動逐次制御計算機やマーク1と呼ばれた電磁リレー計算機に比べ500倍以上の計算速度を発揮しました。
リレーの接点を切り替えるには1g程度の質量のある部品を物理的に動かす必要があり、これには1から10ミリ秒を必要としましたが、真空管では動くのは電子であり、コンデンサを充電するにはマイクロ秒の単位で動作し、ENIACでは5マイクロ秒と電磁リレーの1000倍高速に動作する部品で構成されていたことになります。
これまでのアナログ式計算機では計算の種類毎に専用の計算機が開発されていましたが、汎用性の高さや計算速度と精度を両立しうる電子計算機が主流となっていきます。
ENIACはその汎用性の高さが認めらるようになると弾道計算から天気予測、鉱山開発、水爆開発など様々な分野に跨がる計算に用いられました。
(尚、世間ではENIACが最初に計算したのは原爆開発の計算だったと流布されていますが、これは原爆開発をしていたロスアラモス研究所から操作法を学ぶ人員が派遣され、計算問題を作成するよう依頼されていた事から連想された話のようですが、1946年2月15日の完成式で計算されたのは詳細な弾道計算問題で、それ以前の内覧会や試験運転期間まで遡れば象徴的な計算は用いられなかったでしょう)
真空管は寿命が短く信頼性に問題があると見なされていましたが使い方や真空管の性能向上により稼働率は90%から50%と時期によりまちまちだったようです。
これは使用されている数からすれば従来考えられてい真空管の信頼性よりもはるかに高いものでしたが、フィラメント電圧を下げ、フィラメントに負担か大きい電源のオンオフをしないで常に電源を入れた状態を保つなど、真空管の負担を減らす運用がさらており、これにより週に2~3回程度の故障率となり、これはそれまでの機械式計算機と殆ど変わらない信頼性を獲得していた事になります。
ENIACの設計が終盤に差し掛かる頃、応用数学の観点から設計陣と議論を重ねるようになっていた数学者ジョン・ルイス・フォン・ノイマン(ヨハン・ルートヴィッヒ・フォン・ノイマン)はENIACの問題点を報告書に纏めていました。
まず高度な計算になると記憶できる領域が足りなくなる事、計算設定を毎回パンチカードで読み込ませるのが計算時間を長引かせる等が挙げられていました。
この事は次に開発する予定の超高速数計型自動計算機開発での検討項目とされました。
記憶容量はENIACでは1つの数を記憶するのにそれぞれを真空管が受け持っていましたが、水銀の中を進む音波が電子に比べ桁違いに遅いことに着目し電気信号から変換した超音波を水銀管内で循環させて貯えておく遅延線という一種のメモリデバイスが開発されました。
ENIACはIBM式自動逐次制御計算機で80時間掛かっていた計算を30分で処理しましたがそのうちの28分はパンチカードからの各種設定の読み込みやバンチカードで書き出す時間で正味の計算時間は2分程度でした。
この読み込み時間を短縮するアイデアとして計算に必要になる関数や各種の命令をコード化したものを予め計算機が記憶しておき必要に応じて中央処理装置が実行するという現代主流となっているプログラム格納方式が検討されています。
この過程で10進法ではなく8進法で計算するというアイデアも生まれました。
天才数学者フォン・ノイマンがENIACに関わるようになってから2ヶ月で、次に開発する計算機の論理仕様がほぼ策定されたと言えます。
次期高速計算機となったEDVAC(Electronic Discrete Variable Automatic Computer)ではENIACからの改良点を元にした抜本的な設計の見直しがされています。
まずENIACでは20の計算機関を並列で計算処理していたものを改め、1つの計算機関が人間が計算する手順を再現するように1の位を処理し、次に10の位を計算すると言うような直列処理をする事になりました。
この処理を実現するのに信号を貯える遅延線が存在することで一時的に計算途中の状態を保存しておけるので桁の繰り上がりもシンプルな構成で対応出来るようになりました。
この処理も10進数で行うのではなく、2進数で行うと言う点で現代のコンピュータ処理の原型と言えます。
掛け算では九九という100のパターンを格納する必要がありますが、2進法なら0x0=0、0x1=0、1x0=0、1x1=1という4パターンを繰り返すことで処理できます。
計算がシンプルになる代償として、計算の試行回数は増大しましたが、電子的なマイクロ秒の世界では僅かな時間計算が繰り返される程度のものでした。
データの入出力は速度の遅い紙テープやパンチカードではなく磁気テープの採用が検討されました。
ノイマン自身はEDVACの後は元々の所属の高級研究所に戻ってしまったためその後の計算機プロジェクトから離れてしまいましたが、この時点で現在のコンピュータの基本構成がほぼ完成していた事になります。
いわゆる「ノイマン型コンピュータ」の登場です。
この後登場する計算機は組み込まれるデバイスが真空管から第二世代のトランジスタ、第三世代のIC、第四世代のLSIと小型化、高速化し記憶装置も汎用メモリ素子、磁気テープ、磁気ディスクなどが組み入れられ、動作速度の改善にCPUの周囲に一時的に記憶を蓄えるキャッシュが追加されたりと言ったような改良はありますが基本的には記憶領域に蓄えた命令コードを中央演算部分が読みだして計算するというおおまかな基本構成は現在のコンピュータに引き継がれています。
まとめ
計算に求められる役割は時代の変遷と共に
計算労力の代替手段
結果の再現
現状の記録
状態変化の処理
将来予測
という情報処理に集約されて行いき、計算行為だけに留まらず指定されたプログラムを処理する汎用性を持ち、大型メインフレームからパーソナルコンピュータを経てスマホとして現代の情報化社会における必需品となっていきました。
参考資料
・書籍
この記事が気に入ったらサポートをしてみませんか?