計算機の歴史 (1960年代以降)

1960年以降の計算機の歴史は、真空管からソリッドステートデバイスすなわちトランジスタさらに後には集積回路への転換から始まる。1959年ごろまでにトランジスタの信頼性と経済性は十分に向上し、真空管では敵わないレベルにまで達しようとしていた。コンピュータの主記憶は徐々に磁気コアメモリからソリッドステートの半導体メモリに取って代わられていき、コンピュータのコストと大きさと電力消費量は劇的に低減していった。そして、集積回路のコストが十分に低くなると、ホビーパソコンやパーソナルコンピュータが普及するようになった。

1. 第三世代
-------

コンピュータの「第三世代」において、コンピュータは急激に普及しはじめた。それらはジャック・キルビーとロバート・ノイスがそれぞれ独自に発明した集積回路を使ったもので、1965年ごろから登場しはじめた。

最初の集積回路は1958年9月に製造されたが、コンピュータに使われるのは1963年以降のことである。初期の使用例として組み込みシステムがあり、NASAがアポロ誘導コンピュータに採用した例、軍がLGM-30ミニットマン大陸間弾道ミサイルに採用した例、アメリカ海軍のF-14トムキャットジェット戦闘機の可変翼制御などを行う Central Air Data Computerに採用した例がある。

1964年4月、IBMはSystem/360を発表した。あらゆる用途向けで上位モデルから下位モデルまで、アーキテクチャを統一したシリーズ、という構成が画期的なものであったことから、しばしば第三世代のコンピュータとされるが、使用された回路技術はIBMが"Solid Logic Technology"と呼ぶハイブリッド的なものであり、チップ上に回路が作り込まれたいわゆる集積回路ではなかった。また、主記憶にはコアを使用していた。主記憶に半導体メモリを使用したのは次のSystem/370からである。

1971年、数年間世界最高速のコンピュータとなったスーパーコンピュータ ILLIAC IV が完成。約25万個の小規模なECL集積回路を使い、最大64個のPE  を構成している。

System/360を代表とする大型メインフレームが記憶装置容量と計算性能を向上させていく一方、集積回路を使ったより小型のコンピュータも開発できるようになっていった。1960年代から1970年代にかけての最大の技術革新の1つがミニコンピュータである。それによってより多くの人々がコンピュータを使えるようになったが、それは単にコンピュータが物理的に小さくなったからだけではなく、コンピュータ供給業者が増えたことも関係している。ディジタル・イクイップメント・コーポレーション  はIBMに次ぐコンピュータ企業となり、PDPおよびVAXシステムは人気を呼んだ。より小さく安価なハードウェアが登場したことで、UNIXのような新たなオペレーティングシステムが開発された点も重要である。

1969年、データゼネラルは1台8000ドルのミニコンピュータを5万台出荷した。データゼネラルのNovaは初期の16ビットミニコンピュータの1つで、ワード長が8ビットを1バイトとしたバイトの整数倍になる方向性の発端のひとつとなった。Novaではフェアチャイルドセミコンダクター製の初期の中規模集積回路  が使われており、後継モデルでは大規模集積回路  が使われた。また、CPUが15インチのプリント基板1枚に収まったことも重要である。

1.1. コンピュータ利用形態の変化
------------------

1970年代にマイクロプロセッサが登場する以前、コンピュータは一般に大きく高価なシステムであり、企業・大学・政府機関などの大きな組織が所有する設備だった。ユーザーは経験を積んだ専門家であり、一般にコンピュータそのものに触れることはなく、キーパンチなどのオフラインの装置でタスクを準備した。そのようなタスクを集め、バッチモードで処理した。ジョブが完了すると、ユーザーは出力であるプリントアウトとパンチカードを渡される。計算センターにジョブを依頼してから出力結果が得られるまで、組織にもよるが、数時間から数日かかった。

より対話的なコンピュータ利用が商業的に行われるようになったのは、1960年代中ごろである。タイムシェアリングシステム  は、複数の端末を通して、多くの人々がメインフレームを共有し、同時に利用する形態である。このような形態はビジネスでも、科学技術計算でも採用された。

もう1つの新たなコンピュータ利用は、初期の実験的なコンピュータで1人のユーザーがプロセッサを占有して利用していた形態への回帰でもある。「パーソナル」と呼べる最初のコンピュータは初期のミニコンピュータであり、LINCやPDP-8が挙げられる。その後ディジタル・イクイップメント・コーポレーション  のVAXなど、データゼネラルやプライムコンピュータのミニコンピュータが続いた。一部のミニコンピュータはメインフレームの周辺プロセッサが起源であり、周辺機器を制御する決まった仕事を受け持ち、主プロセッサが計算に専念できるようにしていた。2012年時点の基準から言えば、ミニコンピュータは大きく、高価で、個人が購入して利用するようなものではないが、当時のメインフレームに比較すれば小さく安価で運用も容易だった。そのため、小さい研究室や研究プロジェクトでも購入可能だった。ミニコンピュータは、バッチ処理と計算センターの官僚体制からの解放をもたらした。

1973年、ドン・ランカスターが電子工作ホビースト向けに設計したTVタイプライターは、通常のテレビに文字情報を表示する装置である。『ラジオ＝エレクトロニクス』誌1973年9月号に概要が掲載されたもので、総額120ドルの電子部品で組み立てることができる。当初の設計には2枚のメモリ基板が含まれており、16行×32文字で512文字ぶんの情報を生成・格納できる。その設計は、テレビ信号を生成するのに必要な最小限のハードウェアのみで構成されている。この考え方は後にクライブ・シンクレアがZX80を設計する際にも採用している。また、TVタイプライターは、Mark-8や Altair 8800 といったマイクロコンピュータキットが生まれる素地を作った。

さらにミニコンピュータはメインフレームよりも対話的であり、間もなく独自のオペレーティングシステムも登場した。ミニコンピュータ Xerox Alto  は、パーソナルコンピュータへの重要な一歩となった。ビットマップ式の高解像度表示でグラフィカルユーザインタフェース  を採用し、大容量の記憶装置、マウス、専用ソフトウェアなどを備えていた。

2. 第四世代
-------

第四世代の基盤となったのは、インテルが開発したマイクロプロセッサの発明である。メインフレームを単に縮小したような第三世代のミニコンピュータとは異なり、第四世代の起源は電卓をワンチップ化するという発想であった。マイクロプロセッサを使ったコンピュータは当初計算能力も性能も低く、ミニコンピュータですぐに採用して小型化できるレベルではなかった。そのため、全く異なる市場を形成することになる。

1970年代から見ればその後のコンピュータの処理能力と記憶容量の発展はめざましいが、基盤となっている大規模集積回路  や超大規模集積回路  の技術は基本的に変わっていない。したがって、2012年現在もコンピュータは第四世代に属すると見るのが一般的である。

2.1. マイクロプロセッサ
--------------

1971年11月15日、インテルは世界初の商用マイクロプロセッサ 4004 をリリースした。これは日本の電卓会社ビジコンのために開発されたもので、固定の電子回路の代わりにプログラミング可能なコンピュータで電卓を構成するという発想が元になって、小さなマイクロプロセッサが生まれた。インテルの主力製品だったRAMチップと組み合わせて使うようになっており、マイクロプロセッサを使った第四世代のコンピュータはさらに小型化・高速化できるようになった。4004の性能は毎秒6万命令という性能でしかなかったが、後継の Intel 8008/8080、さらに8086/8088ファミリとなり、性能と能力がどんどん向上していった。他にも多数の企業がマイクロプロセッサを開発し、マイクロコンピュータやパーソナルコンピュータに使われるようになった。

2.2. Micral N
-------------

フランスでは、André Truong Trong Thi と François Gernelle が R2E  を創業し、1973年2月、Intel 8008 を採用したマイクロコンピュータ Micral N を発売した。これは元々はフランス国立農業研究所で湿度測定を自動化するために設計されたコンピュータである。Micral N の価格はPDP-8の約5分の1だった。クロック周波数は500kHzで、メモリは16kB搭載している。Pluribus と呼ばれるバスで最大14枚の基板を接続できる。デジタルI/O、アナログI/O、メモリ、フロッピーディスクコントローラなどの基板があった。

2.3. Altair 8800
----------------

シングルチップのマイクロプロセッサの開発は、安価で使いやすく真にパーソナルなコンピュータの普及にとって大きな役割を果たした。1975年1月号のポピュラーエレクトロニクス誌で Altair 8800 が紹介され、新たなコンピュータの市場が生まれた。これに似たような性能の IMSAI 8080 が続いた。AltairもIMSAIもミニコンピュータをスケールダウンしたものであり、単体ではシステムとして不完全である。キーボードやテレタイプ端末を接続する必要があり、本体に比べると相対的に高価だった。またどちらも本体前面パネルにスイッチとライトが並んでいて、二進法で操作者とやりとりすることができる。ブートストラップ・ローダーをスイッチ操作で入力すると、間違いがなければ紙テープリーダーから紙テープに格納されたBASICインタプリタをロードする。前面パネルからのプログラム入力は8個のスイッチで1バイトの値を指定して、ロードボタンを押すことでメモリに入力するということを繰り返す。一般に100バイトぶん以上それを繰り返す必要があった。インタプリタをロードすると、やっとBASICプログラムを実行できるようになる。

Altair 8800 は Intel 8080 マイクロプロセッサを使った世界で初めて商業的成功を収めたマイコンキットであり、世界初の量産されたマイコンキットである。1万台が出荷された。また、これに触発されたポール・アレンとビル・ゲイツがBASICインタプリタ「Altair BASIC」を開発し、後にマイクロソフトを創業することになった。

Altair 8800 はマイクロコンピュータの市場を生み出した。Altair 8800のバス規格「S-100バス」はデファクトスタンダードとなり、多くの小企業がS-100コンピュータを販売した。さらにインテルやザイログが後継マイクロプロセッサを開発することになる。デジタルリサーチを創業したゲイリー・キルドールはそのためのオペレーティングシステム CP/M-80 を開発。CP/M-80は人気となり、多くのハードウェアベンダーが採用し、その上で動作する WordStar や dBase II といった様々なソフトウェア製品も登場した。

1970年代中ごろのホビーストたちは自前のシステムを設計し、時には集まって開発を行った。そんな中でホームブリュー・コンピュータ・クラブが生まれ、ホビーストたちの情報交換の場となった。多くのホビーストは公開された設計に基づいてコンピュータを自作した。例えば、1980年代前半の例として Galaksija がある。

2.4. スーパーコンピュータ
---------------

コンピュータのもう一方の最先端であるスーパーコンピュータも集積回路技術を使うようになっていった。1972年にCDCを離れたシーモア・クレイは、1976年にCray-1をリリースした。Cray-1はベクトル処理を商用化した初のスーパーコンピュータで、特徴的な馬蹄形の筐体で回路基板間の配線が短くなるよう設計されている。ベクトル処理は、1命令で同じ演算を多数のデータに施すもので、その後の高性能計算の基本的手法となった。Cray-1は毎秒1億5000万回の浮動小数点演算が可能で、1台500万ドルで85台を出荷した。Cray-1のCPUの大部分は、ECLのSSIおよびMSIで構成されている。

2.5. パーソナルコンピュータの出現
-------------------

Appleが Apple I を発売したのは1976年のことである。これはキットではないが、ケースや一部部品を自前で用意する必要があった。そして1977年、ケースに入った完成品のコンピュータ Apple II、Commodore PET、TRS-80 が発売された。後にバイト誌はこれらを "1977 Trinity" と称した。ここからホームコンピュータの巨大市場の時代へと突入し、誰でも簡単にコンピュータを入手し、ゲーム、ワードプロセッサ、表計算ソフトなどのアプリケーションソフトウェアを入手できるようになっていく。一方ビジネス用途ではCP/Mが動作するコンピュータが主流だったが、IBMが IBM PC を発売するとこれがすぐに広まった。このPCは多くの企業によってコピーされ互換機市場を形成し、量産効果によって部品の価格がどんどん低下していき、PC/AT互換機が大きなシェアを占めるようになっていった。このため1990年代に入ると家庭用でもPC/AT互換機が主流となっていった。

3. 脚注
-----

4. 参考文献
-------

5. 関連項目
-------

計算機の歴史
CPU年表
オペレーティングシステムの歴史
インターネットの歴史
コンピュータ・アーキテクチャ

6. 外部リンク
--------

[1]
[2]
[3] at Old Computer Museum
[4]
[5]
[6]
[7]
[8] Stan Veit's classic work on the history of Pre-IBM personal computers.
[9]

ca:Ordinadors digitals de programa emmagatzemat