テクニカルノート「コンピュータの歴史(2):コンピュータの世代」

テクニカルノート

コンピュータの歴史(2)
コンピュータの世代

個人会員 新井 全勝

 今回から、電子式ディジタルコンピュータ、すなわちコンピュータの世代について解説します。
 コンピュータは電子回路(論理回路)にどういう素子を使うかにより世代分けされてきました。第1世代は真空管およびパラメトロン、第2世代はトランジスタ、第3世代は集積回路(IC)、第3.5世代はLSI(Large Scale Integration)、そして第4世代はVLSI(Very Large Scale Integration)の世代で、現在です。 

 電子回路(論理回路)はブール代数の式で表現できるということが、コンピュータ開発の基礎になっているが、そのブール代数は、イギリスのジョージ・ブールが19世紀中頃に考案した代数系の一つである(『ウィキペディア』ブール代数)。
 また、イギリスのアラン・チューリングは、コンピュータの黎明期の研究に従事し、計算機械チューリングマシンとして計算を定式化して、その知性や思考に繋がりうる能力と限界の問題を議論するなど情報処理の基礎的・原理的分野において大きな貢献をした、といわれる(『ウィキペディア』アラン・チューリング)。

その1 第1世代(1939年~):真空管およびパラメトロン

 第1世代は、電子回路(論理回路)に主として真空管を使用したコンピュータの世代である。パラメトロンを加えることがある。

(1)真空管によるパルス列生成の発見

 クロスカップル真空管アンプによりパルス列が生成されることが、1918年にウィリアム・エクルズとF・W・ジョーダンによって発見された。この回路がフリップフロップ(二進法の基本である1ビットの情報を一時的に”0″または”1″の状態として保持する(記憶する)ことができる論理回路)の基礎となり、電子式ディジタルコンピュータの基本要素となった(『ウィキペディア』計算機の歴史)。

(2)ディジタル回路・論理回路の概念の確立

 クロード・シャノンは、1937年のマサチューセッツ工科大学での修士論文「継電器及び開閉回路の記号的解析」において、電気回路(ないし電子回路)が論理演算に対応することを示した。すなわち、スイッチのオン・オフを真理値に対応させると、スイッチの直列接続はANDに、並列接続はORに対応することを示し、論理演算がスイッチング回路で実行できることを示した。
 これは、ディジタル回路・論理回路の概念の確立であり、それ以前の電話交換機などが職人の経験則によって設計されていたものを一掃し、数学的な理論に基づいて設計が行えるようになった。どんなに複雑な回路でも、理論に基づき扱えるということはコンピュータの実現に向けた、大きなステップの一つだったといえる(『ウィキペディア』クロード・シャノン)。
 しかし、ディジタル回路と論理演算の対応付けは、中嶋章が1934年頃から研究し、論文としては1936~1937年に榛沢正男と発表した「継電器回路に於ける単部分路の等価変換の理論」が先行しているが、前者の着想が独立かどうかは不明といわれる(『ウィキペディア』論理回路)。

(3)世界初の真空管式コンピュータ「ABC」

 アタナソフ&ベリー・コンピュータ(ABC)は、1939年に最初にデモンストレーションされたプロトタイプで、現在では世界初の真空管式コンピュータ(電子式ディジタル計算機械)として記録されている。しかし、線型方程式系を解くことができるだけで、汎用的なコンピュータではなかった(『ウィキペディア』計算機の歴史)。

(4)世界初の電子式汎用ディジタルコンピュータ「ENIAC」

 1946年2月に公開されたENIAC (Electronic Numerical Integrator and Computer) は世界初の電子式汎用ディジタルコンピュータとされている。ENIACは個々の機能を持つ装置間の配線変更とスイッチ設定によりプログラミングするプログラム制御方式(ワイヤードプログラム方式)の計算機械であり、ペンシルベニア大学の物理学者ジョン・モークリーと電子工学者ジョン・プレスパー・エッカートにより開発された(同上)。
 当初は、アメリカ陸軍の弾道研究所での砲撃射表の計算を第一の目的として設計されたが、その初期に行われた計算で射表の計算とは全く違うもののひとつに、マンハッタン計画についてのものがある(『ウィキペディア』ENIAC)。
 ENIACは17,468本の真空管、7,200個のダイオード、1,500個のリレー、70,000個の抵抗器、10,000個のコンデンサ等で構成されていた。人手ではんだ付けされた箇所は約500万に及ぶ。幅30m、高さ2.4m、奥行き0.9m、総重量27トンと大掛かりな装置で、設置には倉庫1個分のスペース(167m2)を要した。消費電力は150kW。そのため、ENIACの電源を入れるとフィラデルフィア中の明かりが一瞬暗くなったという噂が生まれた(同上)。
 当初、真空管は毎日数本が壊れ、修理には毎回30分ほどかかった。特殊な高信頼真空管が使えるようになったのは1948年のことである。故障の大部分は電源の投入・切断時に起きていた。これは真空管のヒーターとカソードの加熱と冷却の際にもっともストレスがかかるためである。そこで、真空管のフィラメントを定格の10%未満という低い電圧で動作させ、加熱と冷却でフィラメントが膨張と収縮を繰り返さないよう電源は落とさない等、多くの工夫を行った。それにより真空管の故障率を2日に1本という割合にまで低減させた。エッカートは1989年のインタビューで「真空管の故障はだいたい2日に1本の割合で、修理は15分で完了した」と述べている(同上)。

(5)ストアードプログラム方式コンピュータのアイデアの考案と設計「EDVAC」

 モークリーとエッカートはENIACの限界を悟り、ストアードプログラム方式のコンピュータのアイデアを考案し、1944年8月、EDVACの設計と構築を提案した。エッカートとモークリーを含むENIAC設計者らはコンサルタントという立場のジョン・フォン・ノイマンと合流して設計を開始した。世界最初のストアードプログラム方式(プログラム内蔵式ともいう)のコンピュータの設計といわれる。その完成は最初ではない(『ウィキペディア』EDVAC)。
 ストアードプログラム方式は、現在も踏襲されているコンピュータプログラムの制御方式であり、➀プログラムはデータと同じ主メモリに置く、②プログラムは複数の機械語(命令ともいう)の組み合わせによって構成され、主メモリに置かれた命令は逐次取り出され実行される。現在実行中の命令の位置を記憶するためにプログラムカウンタ(PC)をもつ、という特徴がある。
 ストアードプログラム方式は、ワイヤードプログラム方式に比べて性能的に劣るが、一度作成したプログラムは補助メモリーに格納しておき、使うときに主メモリにロードして使うことができるので、使うたびごとにプログラミングを行う必要がなく、処理の自動化という観点から格段に高い利便性が得られる。

(6)ノイマン型コンピュータとは

 論理設計について話し合った結果を、ノイマンがEDVACの設計について記した文書 (『EDVACに関する報告書の第一草稿』1945年6月)が広く流布することになったため、ストアードプログラム方式のコンピュータはノイマン型コンピュータと呼ばれるようになった(『ウィキペディア』計算機の歴史)。

(7)世界初の実用的なストアードプログラム方式のコンピュータ「EDSAC」

 世界初の実用的なストアードプログラム方式のコンピュータは、前回詳述したEDSAC(エドサック、Electronic Delay Storage Automatic Calculator)である。英国ケンブリッジ大学の数学研究所のモーリス・ウィルクスとそのチームが1949年5月に開発した。
 デビッド・ホイーラーは、このプロジェクトでサブルーチンの概念を発明し、サブルーチンにジャンプする命令のあるアドレスに1を加えたアドレス(戻りアドレス)をレジスタに格納した状態でサブルーチンにジャンプする命令「Wheeler jump」が追加された(『ウィキペディア』EDSAC)。
 サブルーチンの概念の発明によって、プログラムの中のあちこちで使われる共通のロジックを、使われる場所毎に展開するのではなく、一ヶ所に配置し、それを呼び出して実行することが可能になった。これによってソフトウエアの占有量の削減や保守性が向上した。
 EDSACは、いろいろなシステムソフトウエアや技法を開発し、ソフトウエア産業の出発点となったコンピュータといわれる(同上)。

(9)世界初の商用コンピュータ「Ferranti Mark 1」

 世界初の商用コンピュータは、1951年2月に英国マンチェスター・ビクトリア大学に納入された Ferranti Mark 1 である。同大学で1949年に開発されたManchester Mark I を元に英国フェランティ社が開発した。Manchester Mark I からの主な改良点は、記憶装置の容量増、乗算器の高速化、命令の追加であり、基本サイクル時間は1.2ミリ秒で、乗算を約2.16ミリ秒で実行した。
 なお、Manchester Mark Iは、初めてインデックスレジスタを採用し、配列をアクセスするプログラムの制作を容易にした(『ウィキペディア』Manchester Mark I)。

(10)ビジネスアプリケーション向けの世界初の汎用コンピュータ「UNIVAC 1」

 UNIVAC I (UNIVersal Automatic Computer I、ユニバック・ワン、万能自動計算機の略)は米国で作られたビジネスアプリケーション向けとして世界初の汎用電子ディジタルコンピュータである。ENIACの発明者であるエッカートとモークリーが中心となって設計し、彼らが設立したエッカート・モークリー・コンピュータ・コーポレーション(EMCC)で開発が開始されたが、1950年にレミントンランドが買収して販売にこぎつけた。当時、コンピュータといえばUNIVACと言われるほど普及した(『ウィキペディア』UNIVAC I)。

(11)IBM最初のメインフレームおよび科学計算用と事務処理用との分離

 1952年、IBMは IBM 701 を発表。700/7000シリーズの最初の機種であり、IBMのメインフレームの始まりである(『ウィキペディア』計算機の歴史)。
 IBM 704は、1954年4月に発表され、浮動小数点数演算ハードウェアを搭載した初の量産型コンピュータである。新しい命令セットは、その後のIBM 709/7090 シリーズの科学技術計算系コンピュータの基本となった(『ウィキペディア』IBM 704)。このコンピュータにより、科学技術計算系と事務処理系とが分離される時代となった。

(12)世界初の高水準言語「FORTRAN」の考案と開発

 FORTRAN(フォートラン)は、1954年にIBMのジョン・バッカスによって考案され、広く使われた世界最初の高水準言語であり、科学技術計算用の手続き型プログラミング言語である。Formula Translationを略して「FORTRAN」という用語が作られた。
 1957年にIBM 704用に最初のコンパイラ(翻訳ソフトウエア)が開発された。顧客はアセンブリ言語で記述されたコードに匹敵するパフォーマンスが得られない限り高級言語を採用しないので、最初から最適化コンパイラが開発された。プログラム開発の生産性の向上とともに非専門家がプログラムを作成できるようになった効果は大きい、といわれる。
 1958年には、同じグループがFORTRAN IIを開発し、別々にコンパイルされたFORTRANプログラムをロード時にリンクし、シンボリックリンクとデータ共有を可能にすることで、オリジナルのシステムの機能を拡張した。これにより、大規模なプログラムの開発ができる仕組みができた。
 IBMの社内誌であるThinkに掲載された1979年のインタビューで、バッカスは「私がこの仕事をしたのは面倒くさがりだったからです。私はプログラムを書くことが好きではなかったので、IBM 701でミサイルの軌道計算プログラムを開発したときに、プログラムの開発を簡単にするためにプログラミングシステムを作り始めました」、と語っている(『ウィキペディア』FORTRAN)。

(13)コンピュータメーカによる最初のOS「FORTRANモニタ

 FORTRANモニタシステムは、1959年クリスマス頃に、IBMが初めてリリースしたIBM709のバッチ処理用OSである。FORTRANソースプログラムのコンパイル、リンク(編集)、ゴウのジョブをノンストップで実行するとともにそれらのジョブを連続的に処理する磁気テープベースのOSである。
 ジョブは磁気テープから入力され、ジョブの出力結果は磁気テープに出力される。ジョブカードの入力や出力結果の印刷や穿孔はIBM1401を使って同時並行的に処理された。このような構成は、遅い入出力装置をカバーするためであり、スプーリング(Simultaneous Peripheral Operations On-Line)処理と呼ばれた。
 従来、OSはゼネラルモーターズやノースアメリカン航空などのユーザがコンピュータを有効に使用するために開発していたが、IBMのユーザ団体SHAREを介してIBMからリリースすることを要請され、対応したものといわれている。こうして、コンピュータメーカから標準的なOSが提供される体制が生まれた(Webサイト『the collection of the Computer History Museum』「FMS: The IBM FORTRAN Monitor System」)。

(14)日本最初のコンピュータ「FUJIC」

 富士写真フィルムのFUJIC(フジック)は1956年3月に完成し、本格稼働した日本最初のコンピュータである(『ウィキペディア』FUJIC)。

(15)当時の主メモリについて

 この世代のコンピュータは、主メモリとして、水銀遅延線、ウィリアムス菅、磁気ドラムメモリ、磁気コアメモリなどを用いた(『ウィキペディア』計算機の歴史)。
 磁気ドラムメモリは、1932年、オーストリア・ウィーン出身のドイツの技術者グスタフ・タウシェクが発明した記憶装置である(『ウィキペディア』磁気ドラムメモリ)。
 磁気コアメモリの原理は1951年に発明され、1953年夏に、マサチューセッツ工科大学 (MIT) の Whirlwindに取り付けられた。これが磁気コアメモリの搭載された史上初のコンピュータである(『ウィキペディア』磁気コアメモリ)。

(16)パラメトロンの発明とコンピュータ回路素子への適用

 パラメトロンはフェライトコアのヒステリシス特性による、パラメータ励振現象の分周作用を利用した論理素子である。1954年に東京大学の大学院生であった後藤英一が発明した。真空管や初期のトランジスタと比べ安定しているという特徴がある。多数のパラメトロン式コンピュータが日本で開発された(『ウィキペディア』パラメトロン)。

(17)パラメトロンコンピュータHIPAC101のパリ展示会への出展

 日立製作所のHIPAC101は、1959年6月にパリで開催されたUNESCO主催の計算機展示会に出品する目的でHIPAC MK-1を改良したパラメトロン式計算機であり、その後商用化された。
 パリの展示会では,ロダンの「考える人」の絵をタイプライタでプリントし,好評を博した(『IPSJコンピュータ博物館』【日立】 HIPAC 101)。その展示会に出品されたコンピュータで、唯一稼働したコンピュータといわれ、パラメトロンの安定性が実証された。

(18)ハドディスクの開発

 1956年、IBMのレイノルド・ジョンソンが率いる研究チームは、ディスクデータ記憶技術を開発し、最初のハードディスクであるIBM350ディスクファイルを開発した。IBM305 RAMACコンピュータの一部として1956年に発表された。このドライブは50枚の24インチのプラッターを持ち、合計で500万文字を格納できた。平均アクセス時間は非常に遅く1秒未満だった(『ウィキペディア』ハードディスクドライブの歴史、Reynold B. Johnson)。
 しかし、ハードディスクは、その後、容量、転送時間、アクセス時間、信頼性の改善が行われ、コンピュータの進化を支え続けている。

 ページ分けとその内容

  1.  その1 第1世代(1939年~) : 真空管およびパラメトロン
  2.  その2 第2世代(1955年頃~): トランジスタ
  3.  その3 第3世代(1964年~) : 集積回路(IC)
  4.  その4 第3.5世代(1970年~) : 大規模集積回路(LSI) その1
  5.  その5 同上 :  同上 ミニコンピュータ その2
  6.  その6 第4世代(1980年~) : 超大規模集積回路(VLSI)その1
  7.  その7 同上 :  同上 4  MPU進化の視点   その2
  8.  その8 同上 :  同上 4.2 MPUの処理能力向上 その3
  9.  参考文献

Comments are closed.