連載

IT管理者のためのPCエンサイクロペディア
−基礎から学ぶPCアーキテクチャ入門−

第7回 PCのエンジン「プロセッサ」の歴史(1)〜i8088からIntel386までの道のり
2. Intel386の登場はx86アーキテクチャ隆盛の始まり

元麻布春男
2002/08/17


フル32bit化を実現したIntel386プロセッサ

 1985年10月にリリースされたi80386プロセッサは、Intelの86系における初の32bitプロセッサである。当初リリースされたi80386は、レジスタ長や演算器のデータ幅、アドレス空間、アドレス・バス、データ・バスなどがすべて32bit化されたプロセッサだったが、後に外部データ・バス幅を16bit化したi80386SXもリリースされた。また、i80386SXのリリースに伴い、オリジナルのi80386はi80386DXと改称されたが、1991年にカリフォルニア州裁判所により「386」といった数字の羅列は商標として認められないという判断が下されたため、最終的にIntel386DX、Intel386SXという名称を採用することとなった。ここでは、特に区別する必要がない限り、2つをまとめてIntel386と呼ぶことにする。

Intel386 DX
x86アーキテクチャを採用したIntel初の32bitプロセッサ。1.5μmプロセスで製造され、27万5000トランジスタが実装されていた。

 Intel386の最大の改良点は、前述のようにあらゆる点で32bit化されたこと、および32bitプロテクト・モードの新設である。例えば外部アドレス・バスの32bit化により、Intel386は4Gbytesの物理メモリ空間を手に入れた。これはi80286でサポート可能な16Mbytesの256倍に相当する。さらに、煩わしいセグメント・メモリ・アーキテクチャを使わずに、4Gbytesのフラットでリニアなメモリ空間を実現している。これらは、UNIXなど当時の近代的なOSを実行するのに適した仕様だった。

 また過去の資産の継承という点では、プロテクト・モードに仮想86モードが加えられたことも見逃せない。仮想86モードとは、プロテクト・モード内にi8086プロセッサ相当のエミュレーション環境を複数設けて、これらを実行可能にする動作モードである。これによりプロテクト・モード環境で動作するOS上で、複数のDOSアプリケーションを実行する、といったことが可能になった。これはDOSからプロテクト・モードを活用したOS環境へ移行しようとしていたPCに、まさに求められていた機能である。

 こうした改良により、Intel386はPC向けの新しいマルチタスクOSにふさわしいプラットフォームとなった。実際、この後に登場する86系プロセッサの(ユーザーやプログラマから見た)ソフトウェア・モデルは、すべてこのIntel386をベースに、マイナーチェンジを施したもの、といっても過言ではないほどだ。ちなみに、x86アーキテクチャの後継として、これが全面的に改められるのはItaniumアーキテクチャを待たねばならなかった。

Intel初の32bitプロセッサはi80386ではなかった?
 
Intelは32bit世代において、x86アーキテクチャとは全く異なるプロセッサ・アーキテクチャへ移行することを模索していたようだ。1981年、Intelがi80386に先立って発表した32bitプロセッサ「iAPX 432」にその片鱗がうかがえる。これは、プロセッサの32bit化に伴い、アーキテクチャだけでなく命令セットもすべて変更し、来るべき32bit時代にふさわしいものにしようというものだった。iAPX 432は、例えば原子力システムの制御など大規模かつクリティカルな用途も想定されており、「マイクロメインフレーム(micromainframe)」とも呼ばれていた。そのアーキテクチャは、米国防総省が提唱したプログラミング言語「Ada」を効率よく実行できるように設計されていたなど、当時の86系プロセッサとは指向がまったく異なるプロセッサだった。

 資料によれば、1984年時点では、動作クロック5MHz/7MHz/8MHzの3種類のiAPX 432がラインアップされている。最終的には、1986年ごろまで製造が続けられたようだ。しかし、iAPX 432はあまりにも野心的な設計であったためか、プロセッサを構成するチップとして「General Data Processor」が2種類のほか、「Interface Processor」「Bus Interface Unit」「Memory Control Unit」の合計5つにも分かれてしまった。当時の半導体製造技術の限界から、これらは1チップに統合できず、価格も高くなり、また性能も高められなかったようで、ほとんど売れなかったという。いまではIntelのプロセッサの歴史からも抹殺されているほどである。(デジタルアドバンテージ)

Intel386を脅かしたセカンド・ソースの80286

 このように優れたアーキテクチャを持つIntel386だが、問題がなかったわけではない。それは性能だ。同じ動作クロック周波数で比較してi80286がi8086の2.5倍近い性能を誇ったのに対し、同じ動作クロック周波数のIntel386とi80286は、リアル・モード対応のアプリケーションの実行性能がほとんど変わらなかった。つまりDOSアプリケーションを利用する限り、16MHzのi80286と16MHzのIntel386は、性能がほぼ同じだったのである。

 この問題がさらにねじれることになったのは、セカンド・ソースの問題が絡んだことだ。当時の半導体業界では、シェアを拡大したり、安定した供給を実現したりするため、あるいは1社では供給量が十分でない場合に備えて、自社開発の半導体チップをほかの会社が製造することを認める場合が少なくなかった。オリジナルの会社から、合法的に製造を認められた会社をセカンド・ソースと呼ぶ。Intelも例外ではなく、当初は86系プロセッサについて、日本電気やAMD、Harris Semiconductor、Siemensといったベンダをセカンド・ソースとして認めていた。しかし、IntelはIntel386からセカンド・ソースを認めなくなり*4、急にセカンド・ソースのライセンスが停止されたAMDやHarris Semiconductorは、IntelのIntel386に対して、独自に高速化した80286で対抗することにした。AMDやHarris Semiconductorの80286は、16MHz/20MHz/25MHzといった、Intelではラインアップされていない動作クロック周波数に到達したのである。

*4 日本電気は自社開発のi8086/8088互換プロセッサ「V20」「V30」により、Intelとライセンス紛争になったため、セカンド・ソースとしてはi8086までだった。またAMDはクリーンルーム方式で、Intel386やIntel486の互換プロセッサの開発も並行して行っていた。

 そもそもIntelは、i80286プロセッサの最高動作クロックを12MHzにとどめ、16MHz以上はIntel386に切り替える方針であった。つまり、同一の動作クロック周波数ではi80286に対して性能的な優位性の乏しいIntel386だが、i80286では提供されない高クロック品を提供することで、性能面でも差別化を図る、という戦略だったのだ。しかし、AMDやHarris Semiconductorが高クロックの80286をリリースしたことで、この戦略に狂いが生じた。Intel386は市場でセカンド・ソースの80286と戦うことを余儀なくされたのである。この戦いはIntelにとって予想以上に困難で、Dell Computerをはじめとする多くの大手PCベンダが、こぞって高クロックの80286を採用した。この動きには、セカンド・ソースがIntelのデザインに基づいており、互換性の懸念は一切ないことも影響していた。1989年のIntel486DXのリリース、1990年のWindows 3.0のリリースなどにより、ハッキリと86系プロセッサの世代交代が進むことになるが、それまでは高クロックの80286は有力な選択肢であった。

RISCの勃興と敗退

 もう1つ、Intel386を脅かしていたのは、当時勃興しつつあったRISCプロセッサの存在だ。MIPSやSPARCといったRISCプロセッサは、整数演算性能でIntel386の数倍、浮動小数点演算性能にいたっては10倍以上の性能を誇った。浮動小数点演算性能で大差がつく理由の1つは、Intel386が浮動小数点演算ユニット(FPU)を内蔵していないことによるが、外付けの数値演算コプロセッサ(詳細は次回以降で述べる)をインストールしてもなお、RISCプロセッサとの間には大きな性能差があった。86系プロセッサの持つ命令セット・アーキテクチャが複雑で、比較的低速なマイクロコード方式で解釈・実行せざるを得ず、高速な実行が難しかったからだ。また汎用レジスタなども少ないので、その分メイン・メモリへのアクセスなどが増え、これも高速化の妨げになっていた。

 RISCとの間の圧倒的な性能差は、もう1つの影響を及ぼす。それは、MicrosoftによるRISCプロセッサのサポートだ。Microsoftは、MIPS RISCをベースにしたコンピュータ・システムの推進団体であるACE(Advanced Computing Environment)イニシアティブの事実上の旗振り役であり、コンピュータのハードウェア標準であるARCS(Advanced RISC Computing Specification)の策定、ARCSの主力OSであるWindows NTの提供など大きな役割を果たした。結論からいえば、ACEイニシアティブは、スタート直前に主力のシステム・ベンダになると思われていたCompaqがシステムの発表を取りやめたことで、勢いを失ってしまう。また、Intelによる着実なプロセッサの高性能化と、遅々として進まないARCS上のソフトウェア資源の蓄積により、最終的にはACEイニシアティブは自然消滅する形となり、皮肉にも後には86系プロセッサのみをサポートしたWindows NTが残されることになった。だが、当時Microsoftが、RISCプロセッサとIntel386間の性能差にどれだけ危機感を持っていたか分かろうというものだ。

 Intel386は、現在につながるソフトウェア・モデルを完成させたという点で、特筆すべき優秀なプロセッサであったことは間違いない。だが、性能的には必ずしも抜きんでた存在ではなかった。現在、世界最大の半導体メーカーとして君臨するIntelだが、恐らくIntel386の時代が、会社としては最も危うい時期だったのではないかと思う。

 次回は、Intel386の後継であるIntel486から、x86アーキテクチャとして初めてスーパースカラーを採用したPentiumシリーズまでの歴史を解説していく。記事の終わり


 INDEX
  第7回 PCのエンジン「プロセッサ」の歴史(1)〜i8088からIntel386までの道のり
    1.IBM PCシリーズに採用された86系16bitプロセッサたち
  2.Intel386の登場はx86アーキテクチャ隆盛の始まり
 
 「System Insiderの連載」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間