古いコンピュータの世界観1(メインフレーム・ミニコン)です。古いコンピュータ2(パソコン)、メインフレームや昔の言語も参照のこと。
計算機アーキテクチャ (情報工学入門選書)を参考にしました。
最初のコンピュータは、プログラムとデータが分かれており、プログラムは紙テープや配線盤で、データはパンチカードなどから供給していたが、紙テープは読むのに時間がかかり、配線盤は変更することが手間となった。1945年にプログラムをデータと一緒に格納する「プログラム内蔵方式」が生まれ、ここから「中央処理装置と主記憶装置」というコンピュータの基本構造が出来上がった。
真空管を用いたコンピュータは「第一世代」と呼ばれ、最初の商業的に成功したコンピュータだった(1950~1960年)。バッチ処理が中心で、科学技術用途が多く、機械語やアセンブラ言語を用いた。
トランジスタを用いたコンピュータは「第二世代」と呼ばれ、さまざまコンピュータが開発された(1960~1965年)。高級言語(FORTRAN、COBOL、ALGOLなど)を用いてプログラミングが可能になり、パイプライン、仮想記憶、マルチプログラミングやタイムシェアリングシステムなどが先駆的に導入された。
ICを用いたコンピュータは「第三世代」と呼ばれた(1965~1970年)。IBMの伝統的メインフレームであるSystem 360が発表され、現在でもこのシリーズは上位互換性を保って広く使われている。オペレーティングシステムが本格的に導入され、DEC PDP-8に始まりPDP-11・VAX-11などのミニコンピュータが研究室などに設置され、研究室単位でコンピュータを専有できるようになった。
1970年代以降のコンピュータは、アーキテクチャ的な革新はなく、代わりに高性能化と低価格化が進む。シングルプロセッサのIntel i4004に始まり、UNIXをはじめとするワークステーションや、BASIC/DOSやMac/Windowsなどにつながるパーソナルコンピュータが可能となった。
プログラム内蔵方式のコンピュータのことを、「ノイマン型コンピュータ」と呼ぶ。天才ジョン・フォン・ノイマンの名前に由来する。
後日注記:コンピュータは戦争から生まれた。ミサイルを飛ばす際の弾道計算は、人間が常に手作業で行うことは現実的でない。第二次世界大戦の勃発とともに、ミサイルの弾道計算のため、コンピュータを作ることがアメリカにとって急務の課題となる。
世界最初の電子計算機(コンピュータ)である1946年のENIACは、真空管による計算によりとても高速に弾道計算を行うことができたが、別の用途に使おうとすると配線そのものを付け替える必要があった。
これに対してフォン・ノイマンはプログラムそのものをデータとして内蔵する「プログラム内蔵方式」を次世代機EDVACのために提案。これにより、ノイマン型コンピュータが誕生した。
詳しくは以下の書籍が参考になる。
コンピュータ科学も参照のこと。
2023.02.08-09編集
かつてのメインフレームを中心としたコンピュータ産業について言えば、「IBMは最強」だったということです。
世界中のコンピュータの多くはIBM製でした。IBMは世界中で、巨大なシェアを持っていたのです。
かつてのIBMの得意技が、「囲い込み戦略」です。IBMの製品を使うユーザーは、IBM以外の製品が使えなくなります。IBM製品だけを使わざるを得なくなり、ほかの製品を使えなくなってしまうのです。
これは、今、MicrosoftのWindowsがやっているのとまったく同じで、かつてからIBMはクローズド製品であり、囲い込みが得意だったのです。
ですが、そのような盤石のIBMも、マイクロプロセッサが登場し、WindowsとIntelの新しい「パソコン」と呼ばれる勢力によって、一気に敗北してしまいました。
詳しくは、TRON開発者の坂村健さんによる「痛快! コンピュータ学」に、IBMの歴史の一端が書かれています。参考になさってください。
2023.02.06
昔のコンピュータ技術に詳しい父親の話を参考にしています。
リレーを使ったコンピュータは、金属片が電磁力によって移動することで、電流の流れ方をスイッチのように切り替えることで論理回路を変化させ、その中を流れる電流の流れ方を変えることで、二進数の計算を行えるようにした。
リレーは、計算のたびに「カシャン」と音が鳴り、巨大だった。部屋いっぱいのコンピュータが計算のたびにカシャンカシャンと音を立てた。また、金属片を物質的に移動させるため、計算には金属片の移動のために時間がかかった。
コンピュータの計算原理も参照のこと。
真空管は、リレーの後に登場した。真空管は真空の中に電子を放出するフィラメントがあり、この電子がプレートと呼ばれる金属片にぶつかることで計算を行う。フィラメントとプレートの間にはグリッドと呼ばれる網があり、これが飛び交う電子を遮断することで、OnとOffを作り出した。
真空管は物質の物理的な移動を伴うリレーに比べて、光の速度で飛び交う電子の移動を使うため、格段に計算するスピードが高速になった。ここで、「電気計算機」は「電子計算機」になった。
だが、真空管は熱を放出し、たくさんの消費電力が必要となると同時に、コンピュータがある部屋はとても暑くなった。また、大きさは巨大だった。そして、フィラメントは消耗品であり、壊れやすく、壊れた時はどこが壊れたのかが分からず、ひとつひとつ目で確認する必要があった。
トランジスタが発明されると、コンピュータの機体のサイズが小さくなり、消費電力も少なくなった。トランジスタはP型とN型の金属を結合した「半導体」と呼ばれるシリコンによる部品で、一方通行の電子の流れを、電力が通る「導通」と通らない「不導通」の2つの場合に分けることでOnとOffを作り出した。
トランジスタは、小さなコンピュータを可能とし、消費電力も少なくなった。これによって、卓上における段ボールほどの大きさの「小さくて家でも使える」ようなコンピュータが可能となった。また、頑丈になって壊れにくくなった。だが、壊れた時にどこが壊れたのか分からないのは相変わらずで、真空管のように目で確認することもできず、専用の機材を使って確認する必要があった。
ICは集積回路という意味で、たくさんのトランジスタと同じOnとOffを制御する機能を持った小さな回路を、シリコンの中に微小かつ超集積的に書き込むことで作られる。
ICはさらに小さなコンピュータを可能とした。現代のコンピュータでは、ICをもっと巨大にしたLSIと呼ばれる技術でプロセッサが作られている。
電子機器も参照のこと。
ここまで、コンピュータで計算するための素子の話をしてきたが、ここからは計算方法の話である。
日本の嶋正利というエンジニアが、電卓を作るためにひとつの革命的な思いつきをした。それは、今までハードウェアに物理的に書きこまれていた「計算のための論理回路」を、「プログラム」と呼ばれるCPUに対する命令とし、メモリから「CPU(中央処理装置)」に読み出して、読み出した命令を実行する、というもの。
計算をするための機能を物理的な機体で行うのではなく、「プログラムによって行う」という新しい発想をし、Intelと協力して、最初期の4bitのマイクロプロセッサである「Intel 4004」を開発した。このIntelの新しいプロセッサによって、マイクロコンピュータ(マイコン)の歴史が始まった。これが今のDOSやWindowsに当たる流れである。
Intelや古いコンピュータ(2.パソコン)やホビーパソコンも参照のこと。
現代のLSI(ICの巨大版)では、写真印刷の技術を応用して、大きな図面を小さなシリコンの素子に書き込んで作られている。1mmの中に何億という素子が書き込まれている。
LSIは、日本の得意技術だったが、コスト削減やグローバル競争などで海外に工場と労働者を雇う関係から、最近では韓国のサムスンや中国のハーウェイなどに技術が流出している。日本国内の工場や労働者も減ってきている。
電子計算機は電子の移動によってコンピュータが計算するが、電子の速度は光の速度であり、できるだけ電子に抵抗する不純なものが無いように、絶対零度で動くプロセッサなどが将来的に研究されている。
また、光の速度よりも高速になるために、バイオコンピュータや量子コンピュータが研究されている。バイオコンピュータについては、人間の脳は不思議なもので、電子と光の速度で動くLSIよりも素早く答えを出すことがある。このため、バイオコンピュータでさらに高速になる可能性はある。また、量子コンピュータは量子の重ね合わせによって並列処理を行うもので、実現すれば今のコンピュータよりも異次元的な速さで計算ができるとされている。
そもそも、人間の脳というのは、計算だけをしているわけではなく、計算以外のもっと違った活動から素早く答えを出している。そのため、「計算しないコンピュータ」、すなわち計算よりも素早く答えを出すようなコンピュータも研究されている。
昔のコンピュータ技術に詳しい父親の話を参考にしています。
ミニコン(ミニコンピュータ)は、主にDECが作っていた、メインフレームに対する小型のコンピュータ。
当時のメインフレームがあまりに大型で大規模だったのに対して、オフィスや研究室にも設置できるような、小型の(冷蔵庫ほどの大きさ)コンピュータを指す。
DECのPDP-11はミニコンの代表的な機種で、エレガントな機械語の命令セットや洗練された設計でプログラマに大人気となり、初期のUNIXもこれの上で開発された。あまりに人気だったため、ソ連や東ドイツなど鉄のカーテンを越えてコピーされた。後継としてVAXがある。
また、ミニコンはメインフレームの端末として使われることも多く、性能の高いメインフレームのタイムシェアリングシステムをミニコンからネットワークで操作した。
ミニコンの時代、まだOSが一般的でなく、ソニーなど各社が販売したミニコンは統一規格がなかった。そのため、データなどの相互のやり取りに苦労した。次第にミニコンでもUNIXが動くようになり、そのうちUNIXのワークステーションが一般的になると、性能や価格などの面でUNIXやWindowsに負けていき、DECはコンパックに買収された。買収されるまで、DECはIBMと並び称されるコンピュータ大企業だった。
ミニコンの性能は、今のパソコン技術から見ると、ひよこのようなものである。メモリはキロバイト単位で、8インチの巨大な1メガバイト程度のフロッピーディスクを使ってデータをやり取りしていた。
(自分の書いたFacebookより。)
UNIXも参照のこと。
DECの大人気ミニコンであるVAX 11は、命令形態を単純化したRISC型CPUとは真反対の考え方をした、多種多様な命令セットとオペランドの形態を持つコンピュータである。
語長は32ビットで、語長が16ビットだったPDP 11との互換性から16ビットを語と呼ぶ。レジスタは16個あり、汎用レジスタと特殊レジスタを区別しない。またデータ形式は14種類あり、命令は約300種類、オペランドの指定方法は多種多様である。
この結果、同一のプログラムであっても、VAX用に書くと簡潔で短いプログラムが書ける。その代わり、ハードウェアの設計が複雑怪奇になり、パイプラインによる高速化の期待できるMIPSのようなRISC型のCPUに比べて高速化が難しい。
(計算機アーキテクチャ (情報工学入門選書)を参考に執筆しました。)
CPUアーキテクチャも参照のこと。
2023.03.30
最初の頃のバッチ処理を目的とした大型コンピュータは、専門のオペレーターがコンピュータを操作し、利用者はオペレーターにプログラムをパンチカードに記述して手渡し、処理が終わると印刷された結果を受け取っていたため、コンピュータと利用者の接点というのはほとんどなかった。
これに対して、ミニコンが生まれると、コンピュータを研究室単位で利用することが可能になった。タイムシェアリングシステムにおいて、コンピュータには直接キーボードやモニタを通じて接し、操作には文字列によるコマンドを、ディスプレイには文字を表示することのできるキャラクタ型のディスプレイを用いた。
その後に、UNIXの普及によって、大学のような研究室ではUNIXワークステーションが主に使われるようになり、ネットワークを使った分散処理ができるようになった。ワークステーションではコマンド操作だけではなく、X11のようなウィンドウシステムを用いたビットマップ型のモニタが登場し、フォント、カーソル、ポインティングデバイスが使われるようになった。
そして、マイクロプロセッサが登場すると、個人向けの安価なパソコンが登場する。パソコンは当初MS-DOSのようにワークステーションよりも制限された機能しか持たなかったが、マイクロプロセッサの処理能力が進歩すると、Windowsのようにパソコンでもウィンドウシステムが搭載されるようになった。
(放送大学「コンピュータの動作と管理 ('17)」を参考に執筆しました。)
2023.03.30
UNIX使いとして注目すべき書籍として、かつてのMITでの分散ネットワークによるコンピューティングシステムの先駆の歴史となる以下の本が参考になる。
MITアテナプロジェクトはX Window SystemやKerberosの開発で有名だが、この本ではアテナプロジェクトの目指す「産学共同での先駆的な分散コンピューティング」という、大学という拠点をベースにした巨大プロジェクトの開発と運用がどのようなものであるかが分かる。
プログラミング言語や技術の勉強だけでは分からない、「巨大ITプロジェクトとは何か」ということが分かる良い本である。
2023.05.09
UNIXやLinuxの歴史について詳しくは、Linux歴史やUNIXなどを参照してください。
古いコンピュータ(2.パソコン)やホビーパソコンを参照のこと。
コンピュータ科学を参照のこと。
コンピュータの計算原理を参照のこと。