IBM i のウンチクを語ろう
~ その48: コンピュータの「生存競争」から読み解くITの歴史と市場動向 -4
皆さん、こんにちは。今回も引き続きPC市場を眺めます。前回は8 ビットのマイクロ・プロセッサ市場においてザイログ社のZ80が大きなシェアを獲得したところまでお話しました。大きな要因となっていたと考えられるのは、市場において優勢だったインテル8080プロセッサに対する上位互換性と、パフォーマンスや使い勝手の向上でした。
個人的な事で恐縮ですが、安井が初めて個人で購入したコンピュータと名の付く機械は、モトローラ6800という8ビットプロセッサ搭載のマイクロコンピュータ(マイコン、現在のPCの原形にあたります)でした。インテルの80系(8080)かモトローラの68系(6800)かでマイコン界が二分されていた時期に、ややマイナーながらスッキリとした構造を気に入って68系を選択したのですが、80系が次第に市場を制するにつれて、「何でこんなに複雑でわかりにくい構造が好まれるのだろう」と恨めしく思ったものです。80系支持者はこれとは正反対の意見を持っていたようなので、「どっちもどっち」ではありましたが。その後16ビット、32ビットとテクノロジーが進化するにつれて、インテル80系プロセッサの複雑さは改善どころかより一層「改悪」の方向に進んだ、少なくとも68系支持者の私にとってはそう見えたにも関わらず、その後の生存競争を勝ち抜いています。この「理不尽さ」を目の当たりにして、市場が生き残る製品を選別する際に、機能の優位性だけが決定要因になるわけではないのだと感じるようになったのを憶えています。
かつてのプロセッサが4ビットから8ビットに進化したように、一度により大きなデータを効率良く処理したい、より大きなメモリ空間を扱えるようにしたいという市場の欲求に応える形で、プロセッサも16ビットの時代を迎えます。インテルは1978年に8086、モトローラは1979年に68000、ザイログも同年にZ8000を登場させます。前の世代の市場の勢力図から順当に推移するとすれば、Z8000が継続的にシェアを獲得するはずですが、最も優勢になったのはインテル製プロセッサでした。
16ビット化にあたり3社の戦略は大きく二つに割れました。モトローラとザイログは過去にとらわれる事なく、16ビットプロセッサの理想を目指したのではないかと思います。これに対して、インテルは前世代の8ビットプロセッサ用プログラムがそのまま稼働するよう、上位互換性を維持しながら進化させました。16ビットの構造が8ビット構造を内包しており、プログラマはどちらのモードが有効になっているのかを常に意識する、という煩わしさを受け入れなければなりません。また、使い易さの尺度の一つである、直交性についても望ましいものではありませんでした。プロセッサの内部には作業場としてデータを一時保管するレジスタと呼ばれるスペースがあり、どのレジスタにデータを保管しても同じ処理が行える事を直交性が高いと言い、一般的に使い勝手が良いとされます。直交性が低いとその逆、というわけです。モトローラとザイログは直交性の高さを追求したのに対して、インテルは旧世代の直交性をそのまま踏襲した構造になっていました。
16ビットの時代になると、内部の構造に拘りながらプログラミングを手掛ける旧来のマイコン・マニアに加えて、アプリケーションが動きさえすればその中身には頓着しない新しいタイプのユーザーが登場します。時を同じくして、従来の「マイコン」に代えて「パーソナル・コンピュータ(PC)」という呼称が市民権を得るようになります。マイコンの技術レベルが高度化したためにアマチュアの手にはなかなか負えなくなってきた一方で、多くのメーカーが使い易さを追求したために、ユーザーの裾野が拡がったというわけです。かつてのユーザーが製品選択において重視したのは内部構造でありプロセッサのアーキテクチャーでしたが、より多くの種類のアプリケーションが稼働し、より多くの情報が巷に溢れていることの方が重要になってきます。採用するべきプロセッサの決定権が、個人からPCメーカーへと移っていったという見方もできると思います。
さらに企業にもPC利用が浸透します。大きなきっかけとなったのは、IBM PC用のLotus 1-2-3というスプレッドシート・アプリケーション、今で言うところのMS Excelに相当する製品です。IBM PC所有者がLotus 1-2-3を選択するのではなく、Lotus 1-2-3を使用するためにIBM PCを購入する、という位にヒットしました。いわゆるキラーアプリケーションです。ちなみに初代IBM PCに搭載されていたのはインテル8088という8086のバリエーション製品で、OSはWindowsの源流にあたるMS-DOS(Microsoft Disk Operating System)でした。再び私事で恐縮ながら、安井にとってのコンピュータ二代目がこれでした。かつてIBM汎用機がヒットしたのを受けていくつかの互換機メーカーが生まれたのと同様に、多くのIBM PC互換機が登場し一大勢力となります。
モトローラ68000が搭載されたマシンとして有名なのは、アップル・コンピュータ(現社名はアップル)のマッキントッシュでしょうか。他にいくつかのUNIXワークステーションがモトローラやザイログ製プロセッサを搭載しましたが、圧倒的に優勢になったのはインテル・プロセッサ搭載機でした。個人用PCの世界を乱暴に表現するならば、モトローラ・プロセッサ搭載のマッキントッシュ対インテル・プロセッサ搭載のIBM PCとその互換機群、となります。これを稼働するアプリケーションやユーザーの特徴の観点から言い換えると、マニアックだったり趣味性が強かったりする少数派対拘りの少ないその他大勢、という具合に市場は色分けされました。
16ビットプロセッサの市場動向は32ビット化においても維持され、インテル・プロセッサは事実上の標準の地位を確立します。そのまま64ビット・テクノロジーに推移すると思われたのですが、インテルはハイエンドサーバー市場に狙いを定めたのでしょうか。それまでの戦略を転換し、旧来からの互換性よりも、パフォーマンスを追求する事を優先したようです。新たな64ビットプロセッサとして、HP社と共同開発したItaniumを2001年に登場させます。
ItaniumのEPIC(Explicitly Parallel Instruction Computing: 定着した日本語訳は見当たらないのですが、「明示的に並列化された命令によるコンピューティング」といったところでしょうか)と呼ばれるアーキテクチャーは、それまでに無い画期的なものだったと思います。多くのプロセッサの内部には複数の演算ユニットが含まれていて、命令を並列的に処理する事で全体の能力を稼ぐ事ができるようになっています。ややこしい事に常にそうできるとは限らず、プログラムのロジックを壊してしまわないように、命令を一つずつ順番に処理しなければならならない場合もあります。通常のプロセッサはプログラム実行中にその構造を見通せる限られた範囲内で、並列処理の可否を判断しなければなりません。並列度を向上させようにも限界があるために、せっかくの内部演算ユニットが遊んでしまう可能性があります。EPICではプログラムのコンパイル時に構造を広く見通しながら、並列処理できる箇所にあらかじめ「印」を付けるので、プロセッサの余計な負荷を排除しながら、より多くの資源を性能向上に振り向ける事ができるようになります。すなわちEPICの最大性能を引き出すには、プログラムを再度コンパイルし直さなければならない、というわけです。32ビット世代のアプリケーションをコンパイルせずにそのまま稼働させる事は不可能ではありませんでしたが、パフォーマンスはよろしくなかったという問題もありました。
世間に蓄積された膨大な量の32ビット・アプリケーションの先行きが一時不透明になります。そのままマシンをItanium搭載機に置換えてもパフォーマンスは向上せず、だからと言って再コンパイルの手間を掛けるのも煩わしい、というジレンマに陥ります。その間隙を突いて躍進したのがAMD社のOpteronプロセッサです。それまでのインテルの戦略、旧世代との互換性を維持しながら進化させる、をそのまま64ビット世代にも適用すると、大手のサーバー・メーカーやマイクロソフト社が続々とOpteron支持を表明します。インテル社はこの状況を座視するわけにもいかず、従来の戦略を踏襲したXeonプロセッサを登場させることで窮地から逃れ、現在に至ります。インテルのプロセッサ・アーキテクチャーは、実はAMD社の後塵を拝していたのですね。その後多くのメーカーがItaniumサポートを打ち切り、Xeonへの切換えを表明し、インテルはとうとう2021年7月末の出荷を最終とする旨発表するに至りました。
これまで何回かに分けて、汎用機、UNIX、プロセッサの歴史を概観しながら、製品生き残りの要因を探ってまいりました。なかなか面白いものだな、と思っていただければ幸いです。System/360はシリーズ内各モデルをまたがってプログラムを共通化できた事、UNIXはC言語で記述される事で稼働するマシンの幅を拡げると共に、通信のTCP/IPプロトコルを標準搭載した事が市場での成功要因になりました。テクノロジーの世代交代時に旧来との互換性を維持した、System/360に対するSystem/370、特にプロセッサにおけるAMDとインテルの戦略は、他製品に対する優位性を決定的なものにしました。もう少しまとめると、プログラムやデータがより広い空間で存在できるようなマシン、またはそれらが長期的に存在できるようなマシンが生存競争を潜り抜けてきたと言えそうです。空間的拡がりはオープン性、時間的拡がりは資産継承性、もしこれらを同時に兼ね備えるマシンがあったとしたら無敵でしょうね。
ではまた