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

その2 第2世代(1955年頃~): トランジスタ

 前回の第1世代 真空管およびパラメトロン・コンピュータに続いて、第2世代のトランジスタ・コンピュータについて解説します。

 コンピュータは、第1世代の時代から、グロッシュの法則(性能は価格の2乗に比例する)に基づきコストパフォーマンスの観点から大規模化され重厚長大化されてきましたが、そういう時代にトランジスタが発明されたことの意義は極めて大きいと思われます。
 詳細は後述しますが、IBMは、真空管コンピュータIBM604を改造してトランジスタ化し、体積が半分になり、消費電力が6%になったことを確認しています(『ウィキペディア』トランジスタ・コンピュータ)。
 このことは、電子部品の重厚長大化から軽薄短小化の方向へ、それに加えて性能や信頼性の向上あるいは消費電力の低減を図る方向へのパラダイムシフトが動き始めたものと考えられます。そして、次世代の集積回路化への導火線の役割も果たしたのではないかと思われます。

(1)トランジスタ・コンピュータ

 真空管は動作中に大量の熱が発生し、かさばり、信頼性が低かった。トランジスタ・コンピュータは、個別のトランジスタの回路基板と磁気コアメモリの実装を特徴としていた。

(2)トランジスタの発明

 トランジスタとは、電子回路において、信号を増幅またはスイッチングすることができる半導体素子である。
 1947年、ベル研究所の理論物理学者ジョン・バーディーンと実験物理学者ウォルター・ブラッテンは、高純度のゲルマニウム単結晶に、きわめて近づけて立てた2本の針の片方に電流を流すと、もう片方に大きな電流が流れるという現象を発見した。最初のトランジスタである点接触型トランジスタの発見である。
 ウィリアム・ショックレーは、この現象を増幅に利用できる可能性に気づき、その後数か月間研究し、固体による増幅素子の発明として、1948年6月に3人の連名で発表された。この3人は、その功績により、1956年にノーベル物理学賞を受賞している。
 なお、transistor という用語はジョン・R・ピアスが考案した(『ウィキペディア』トランジスタ)。

(3)その後のトランジスタの展開

 機械的に安定した接合型トランジスタは、1948年6月にベル研究所でウィリアム・ショックレーによって発明された。シリコンを使った最初のトランジスタは、1954年にテキサス・インスツルメンツ社のゴードン・ティールが開発した(『ウィキペディア』トランジスタ)。

(4)最初のトランジスタ式コンピュータの開発

 1953年11月、英国マンチェスター大学で実験的なトランジスタ・コンピュータであったが稼働した。これが、世界で初めて稼働したトランジスタ・コンピュータといわれる。点接触型トランジスタを使用している。初期のトランジスタには信頼性に問題があり、1955年に改造されたコンピュータの平均故障間隔はわずか1.5時間だった。
 クロック発生器などに真空管を使用したため、最初の完全にトランジスタ化された装置ではなかった(『ウィキペディア』トランジスタ・コンピュータ)。

(5)初の完全にトランジスタ化されたコンピュータの開発

 初の完全にトランジスタ化されたコンピュータは、真空管式コンピュータIBM 604を改造したもので、1954年10月にデモンストレーションが行われた。オリジナルが1250本の真空管を使用したのに対して約2000個のトランジスタを使用したが、体積は半分になり、電力は5%しか使用しなかった(『ウィキペディア』トランジスタ・コンピュータ)。

(6)世界初のオールトランジスタ式電卓「IBM608」

 プラグボードでプログラム可能なIBM 608トランジスタ器(電卓)は、真空管を一切使用せずトランジスタ回路を採用したIBM初の製品で、市販用としては世界初のオールトランジスタ式電卓とされ、1957年12月に発売された(『ウィキペディア』IBM 608)。

(7)IBMの事務処理用および科学技術計算用マシンのトランジスタ化

 1958年9月に10進10桁の事務処理用マシンであるIBM 7070、続いて1958年12月に36ビットの科学技術計算用マシンであるIBM 7090、1959年10月にパンチカード集計装置を置き換えるために登場し、非常に人気となったIBM 1401などが発表されている(『ウィキペディア』トランジスタ・コンピュータ)。

(8)IBM7000シリーズ用新OS体系「IBSYS/IBJOB」を発表

  IBMは、7000シリーズで新しいOS体系「IBSYS/IBJOB」を発表した。IBSYSはIBM 7090やIBM 7094向けのテープベースのOSで、システムモニタと呼ばれた。また同系列ではあるが大幅に異なる別のIBSYSもIBM 7040とIBM 7044に提供していた。
 IBSYSは前述のFORTRANモニタシステム(FMS)をベースに、ベル研究所のBESYSを参考にして開発されており、SHARE OSがベースではない(『ウィキペディア』IBSYS)。マルチタスキング制御や入出力実行の機能を有する。IBJOBは前述のFMSに相当しジョブの実行管理を行う。

(9)世界初の高周波トランジスタを用いたコンピュータ

 フィルコの科学技術計算用コンピュータTransac S-1000と電子データ処理コンピュータTransac S-2000は、初期の商業生産された大規模トランジスタ・コンピュータである。1957年に発表されたが、1958年の秋まで出荷されなかった。フィルコのコンピュータのブランド”Transac”は”Transistor-Automatic-Computer”の略である。フィルコのコンピュータのモデルはどちらも、回路設計に表面障壁型トランジスタを使用し、高速コンピュータに適した世界初の高周波トランジスタである(『ウィキペディア』トランジスタ・コンピュータ)。

(10)大規模な磁気コアメモリを装備したトランジスタ式コンピュータ

 TX-0(Transistorized EXperimental computer zero)は、初期の完全トランジスタ式コンピュータのひとつで、MITリンカーン研究所が以前に設計した有名なWhirlwindをトランジスタ化したものである。当時としては大規模な64K×18ビットワードの磁気コアメモリを備え、1956年に稼動を開始した。

(11)DEC製品は当初からトランジスタ化

 ディジタル・イクイップメント・コーポレーション (DEC) は、かつてアメリカ合衆国を代表したミニコンピュータ企業であり、1957年、TX-0の開発者であったケン・オルセンによって創立された。
 DEC製品は当初からトランジスタ化され、PDP-1 (Programmed Data Processor-1) は1959年から開発が始まり、1960年に出荷された(『ウィキペディア』ディジタル・イクイップメント・コーポレーション)。PDP1は、実質的には最初のミニコンピュータであるが、Programmed Data Processorの名で呼ばれたので、最初のミニコンピュータではない、といわれている。

(12)世界初のCADシステム「Sketchpad」

 Sketchpadは、アイバン・サザランドが1963年に博士論文の一環として開発した最初のCADシステムである。Sketchpadは、MITのTX-2コンピュータ上で動作した。
 Sketchpad はベクトルスキャンブラウン管とライトペンを使用して、世界初の完全なグラフィカルユーザインタフェースを実現している。プログラム構成上の特筆すべき点として、データ構造の設計において「オブジェクト」や「インスタンス」といった概念を採用し、いわゆるオブジェクト指向の先駆けのひとつ(『ウィキペディア』Sketchpad)、といわれる。

(13)世界初のスーパーコンピュータ「UNIVAC LARC」

 LARC(Livermore Atomic Research Computer)は、1960年にレミントンランド社が開発した最大2台のCPUと1台の入出力プロセサによるマルチプロセシング方式のスーパーコンピュータで(『ウィキペディア』LARC)、現在では最初のスーパーコンピュータと考えられている(『ウィキペディア』スーパーコンピュータ)。
 加算時間は4μ秒、乗算時間は8μ秒、除算時間は22μ秒であり、1960年から1961年の間(IBM7030の出現まで)は世界最速であった。
 1号機はローレンスリバモア国立研究所に1960年6月に納入され、2号機はアメリカ海軍のデヴィッド・タイラー水槽試験所に納入された(『ウィキペディア』LARC)。

(14)世界初のパイプライン方式のスーパーコンピュータ「Stretch(7030)」

 IBM 7030は、IBMの最初のスーパーコンピュータ構築の試みであり、ストレッチ(Stretch)の名でも知られている。1号機は1961年、ロスアラモス国立研究所に納入された(『ウィキペディア』IBM 7030)。
 命令のパイプライン方式を初めて導入し高速化をはかった(Webサイト『国立科学博物館技術の系統化調査報告 第2集 2002年3月』)。

 浮動小数点演算の性能は、加算は1.38~1.5μ秒、乗算は2.48~2.70μ秒、除算は9.00~9.90μ秒であり、当初予定したよりも性能が悪かったが、LARCを上回っており、1961年から1964年まで世界最高速であった(『ウィキペディア』IBM 7030)。

 ストレッチは成功したとは言いがたいが、そこから様々な技術が生まれ、その後のマシンに生かされていった。そのトランジスタ論理回路は「標準モジュラーシステム」と呼ばれ、IBM 7090科学技術コンピュータ、IBM 7080ビジネスコンピュータ、IBM 1620小型科学技術コンピュータなどに使われた。
 マルチタスク、メモリ保護機能、汎用割り込み機構、8ビットバイトといったコンセプトは後にSystem/360で生かされ、その後のCPUでも採用された。パイプライン処理は、その後のコンピュータ設計で用いられた(同上)。

(14)世界初の仮想記憶方式を採用したスーパーコンピュータ「ATLAS」

 Atlasは、バイポーラトランジスタを使用した第2世代のスーパーコンピュータで、マンチェスター・ビクトリア大学、フェランティ社、プレッシー社が共同で開発し、1号機は1962年にマンチェスター大学に設置された(『ウィキペディア』Atlas(コンピュータ))。

 浮動小数点数の加算(修飾なし) – 1.61µs、加算(二重修飾) – 2.61µs、乗算(二重修飾) – 4.97µsであり、UNIVAC LARCより高速であったが、IBM 7030より若干遅かった(同上)。

 仮想記憶(ページング方式)を搭載した世界初のマシン(ページサイズは512-word)として有名である(同上)。
 仮想記憶(バーチャルメモリ)とは、コンピュータ分野におけるメモリ管理の仮想化技法の一種であり、この技術により、物理的な主記憶装置に加えてハードディスク装置等の補助記憶装置を併用し、物理的な主記憶装置よりも大きな仮想メモリを提供することができる(『ウィキペディア』仮想記憶)。
 ATLAS は、1万6千ワードの磁気コアメモリ(主記憶)と9万6千ワードの磁気ドラムメモリ(補助記憶)で構成されていた(同上)。
 ページング方式の仮想記憶では、物理メモリ空間、仮想メモリ空間共にページという単位に区画し、物理メモリ上の不連続なページを仮想メモリ上の連続した領域にマッピングし、プロセスに連続した領域を提供する。

 なお、仮想記憶は、ドイツのFritz-Rudolf Güntschの1957年の博士論文「Logischer Entwurf eines digitalen Rechengerätes mit mehreren asynchron laufenden Trommeln und automatischem Schnellspeicherbetrieb(複数非同期ドラム装置と自動高速メモリモードを持つデジタル計算機の論理概念)」に記載され、そのコンセプトを発明したといわれている(同上)。

(15)演算スタックや仮想記憶を搭載した商用機「B5000」

 1961年に発表されたバロースのB5000は、ALGOLのような高級言語を支援するように設計され、演算スタックやセグメント方式の仮想記憶の採用など新しいアーキテクチャで注目された(『ウィキペディア』バロース B5000)。商用機として、最初に仮想記憶を採用したコンピュータである(『ウィキペディア』仮想記憶)。
 セグメント方式の仮想記憶は、仮想アドレス空間を可変長のセグメントに分割する。その場合、仮想アドレスはセグメント番号とセグメント内オフセットから成る(同上)。
 オーバーレイは、使用可能なアドレス空間以上の大きさのプログラムを動作可能にするプログラミング手法である。オーバーレイでは、コードも、ある時点で必要なコードのみをアドレス空間上に置く。他のコードが必要になったら、それまで別のコードが置かれていたメモリ上の領域に必要なコードをロードして使用する。このロードする単位はオーバレイセグメントとか単にセグメントと呼ばれる(『ウィキペディア』オーバレイ)。
 セグメント方式の仮想記憶は、このオーバレイセグメントと結びつけて考えると分かり易い。すなわち、オーバレイセグメントを仮想記憶上のセグメントに対応付けて考えればよい。
 オーバーレイは仮想記憶と違って透過的ではなく、プログラマが明示的に指定してやる必要があるので、プログラムの開発は煩雑であり、仮想記憶の普及と共にオーバーレイの手法は使われなくなった(『ウィキペディア』オーバレイ)。
 また、仮想記憶のセグメント領域は可変長の連続域であるために、物理メモリの空き領域を再利用するとき、そのセグメント長がフィットする空き領域を使用し、残りの空き領域は細分化して空き領域として残す。この細分化を続けて行くと断片化された小領域があちこちに発生し、大きなセグメントの利用において問題が発生する。そのために、セグメント方式の仮想記憶も使われなくなった。

(16)現在のパソコンやサーバの源流となるタイムシェアリングシステム「Multics」

 MITでは1961年にプロジェクトMAC (Machine Aided Cognition、思考支援マシンを意味する)を開始した。これは1台の大型コンピュータを多くのユーザがタイムシェアリングで、あたかも単独の小型機のように使用できる環境の実現を目指した。このため、MACには「Multiple Access Computer」という別名がある。「コンピュータの性能は価格の2乗に比例する」というグロッシュの法則があり、より大型のコンピュータを使用するほど価格あたりの性能がよくなると考えられていた(Webサイト『国立科学博物館技術の系統化調査報告 第2集 2002年3月』)。
 
 そのOSは、Multics(Multiplexed Information and Computing Service)と呼ばれ、1964年から開発を始め、1969年に初版がリリースされた。開発当時から後世にわたって業界に多大な影響を与えた。
 計算機としてGE‐645を用い、セグメント/ページング方式の多重仮想記憶方式、仮想記憶のリングプロテクション、階層型ファイルシステム、ファイルのアクセス制御リスト、プログラムのリンク編集を不要とする動的リンキング、オンライン構成変更などを初めて導入した(『ウィキペディア』Multics)。
 Multicsは、MIT、GE、ベル研究所が共同で開発を始めたが、ベル研究所は途中でリタイアし、単純化したUNIXの開発をミニコンピュータ上で始めた(UNIXという名称に意味が込められている)。IBMはOS「TSS/67」の開発を始めたが、性能上の理由から開発を中止した。
 
 日本では、日立製作所のHITAC5020(後述)にセグメント/ページング方式の仮想記憶機構を搭載し、東京大学との共同研究によりOS「5020TSS」を1968年3月末に開発し稼働させた。これは、Multics自体を含めてMultics系統のTSSの最初の稼働といわれる。
 日本では、他に日電・電電・阪大の共同研究による阪大MAC(TSS)や通産省電子総合研究所のETSSの開発が知られている(『ウィキペディア』タイムシェアリングシステム)。
 また、パーソナルコンピュータやスマートフォンなどのOSへも影響を与えた。

(17)日本の商用トランジスタ式コンピュータ

 日本では、通産省電気試験所が1956年7月にトランジスタ式コンピュータETL Mark IIIを開発している。ETL Mark IV(1957年)をベースに商用のトランジスタ機を開発したところが多い。商用機としては、日本電気のNEAC 2201は1958年9月に完成しており、初期の製品である(Webサイト『国立科学博物館技術の系統化調査報告 第2集 2002年3月』)。

(18)世界初の座席予約システム「MARS-1]

 「みどりの窓口」で親しまれているJR座席予約システムの最初の原型となったMARS-1 (Magnetic-electronic Automatic Reservation System 1、その後 Multi Access seat Reservation Systemと改名)は,1950年代後半に国鉄鉄道技術研究所(現・鉄道総合技術研究所)の穂坂衛(後に東京大学教授),大野豊(後に京都大学教授)らにより計画・設計され、1958年日立製作所に発注され,谷恭彦らを中心として製作された。わが国初のオンラインリアルタイムシステムであり、座席位置まで含めた予約管理を実現したのは世界でも初めてであった(『IPSJコンピュータ博物館』【日立・国鉄】 MARS-1)。
 この功績により、穂坂衛は、2006年にIEEE Computer Pioneer Awardを日本人で初めて受賞した(『ウィキペディア』穂坂衛)。

(19)国産初の大型機「5020」とマルチタスキング制御方式のバッチ処理OS「5020モニタ」

 日立製作所のHITAC 5020は、1961年から設計が開始され, 1965年製品第1号機が京都大学に納入され、ついで電電公社通信研究所(現NTT),東京大学大型計算機センターなどに納入され、国産初の大型機の誕生ということで大きな注目をあびた(Webサイト『IPSJ コンピュータ博物館』HITAC5020)。
 特に、東京大学の受注にあたっては外国機との受注競争があり、それを乗り越えて納入されたものであり、このコンピュータの開発により、日本のコンピュータ性能は外国機に匹敵するようになった、といわれる。このコンピュータは、その直前に使用していたHIPAC101の1,000倍の演算性能であった。
 
 OSは、マルチタスキング制御のバッチ処理形態のOSで、5020モニタという。東京大学大型計算機センター納めのシステムは、ジョブの入力とジョブ出力結果の印刷や穿孔のスプーリング処理を行う衛星コンピュータとジョブの処理(FORTRANソースプログラムのコンパイル、リンク、実行)を連続して行う主コンピュータの2コンピュータ構成のシステムであり、世界でも最先端の運用形態であった。
 衛星コンピュータと主コンピュータは磁気ドラムを共有し、入力されたジョブやジョブの出力結果は共有磁気ドラムの待ち行列を介してやり取りされる。ジョブの入力処理、ジョブ処理およびジョブの出力結果の出力処理は共有磁気ドラムの待ち行列を介して自動的に連携され、かつ同時並行処理されるシステムである。

(20)もう一つの国産大型機「FONTAC」

 HITAC 5020にやや遅れて、通産省の補助金を受けて富士通信機製造(現富士通),日本電気,沖電気の3社により日本電子計算機技術研究組合が設立された。FONTAC (Fujitsu-Oki-Nippondenki-Triple-Allied Computer)は、この3社の3年にわたる共同研究によって完成された大型コンピュータで、1964年11月に完成し、日本電子工業振興会に納入された(Webサイト『IPSJ コンピュータ博物館』FONTAC)。


Comments are closed.