1970年代、Intel社は史上最初のマイクロプロセッサといわれるi4004シリーズ(周辺チップを含む)をリリースしたが、これはそもそもが我が国のビジコン社に採用されるプログラマブル電卓に搭載するために設計・製造されたものが、ビジコン社から権利を買い戻したIntel社によって自社製品となったものである。以降、i8008やi8080といった8-bitマイコンのベースとなったマイクロプロセッサを経て、16-bitのi8086に進化していくが、この頃は当たり前のようにセカンドソース契約を締結すれば、他社がIntel社のプロセッサを製造することができた。さらにいえば、セカンドソース契約などを締結しなくても互換性を持つマイクロプロセッサ(当時はチップと言っていたが)を製造・販売することに法的制限はなく(さすがにデッドコピーは不可)、i8080よりも優れたZ80等、多くの互換チップが市場を席巻していた。当時は、マイクロプロセッサの使い道そのものが模索されていた時代でもあったので、誰もマイクロプロセッサ単体で儲けようなどとは思っておらず(例外はあっただろうが一般的に)、かなりおおらかな時代であったと言っていい。
さらに、当時は工業製品に関する特許権はあったものの、今日に言うソフトウェア単体での権利保護の概念はまだなく、かのBill Gates氏がMicrosoft BASICについて勝手にコピーするな的な発言に対し、「何を馬鹿なことを…」と多くの人々が思っていた時代である。もっといえば、今日では著作権にうるさいことで知られる任天堂も、TAITOのSPACE INVADER(いわゆるインベーダーゲーム)に対して、勝手に自社でコピーして売ればいい的なことを山内社長(当時)が発言していたことからも、当時はそういう時代であったと感じ取ることができるだろう。
しかし、日米半導体摩擦や貿易不均衡問題など、米国経済が不振に陥り、その中で出てきたものがソフトウェアの著作権である。従来、特許権等は工業製品、つまりハードウェアを大前提として取り決められていたため、どのような配線で実装するかや、判定ロジックなどは対象とならなかった(これも意匠・形状等を絡めるなどしての例外はある)。しかし、それでは労働力の安価なところで簡単にコピーされてしまうと言う危機感から、米国主導で著作権に関する既定が変わり、各国がそれを実装する必要に迫られた。こうして、何度かの改正を経てきてはいるが、基本線として「形のない」ソフトウェアというものが著作権法の保護対象となったのである。言うまでもないが、ソフトウェアの「器」ではなく、ソフトウェアそのものの概念と言える「形がない」ものも含めて指す。
こうして、マイクロプロセッサの内部ロジックは著作権法で保護される対象となり、形状が異なっていてもそれをそのまま実装することは不可能になった。唯一と言っていい方法は、オリジナルをコピーする権利を買うか、さもなくば茨の道となるブラックボックス判定による「完全でない互換製品」を作り上げるか、の二者択一しかない。Intel社のマイクロプロセッサは、16-bitまでの時代は各社にセカンドソース契約(オリジナルをコピーする権利)を与えていたが、32-bitプロセッサ、今日に言うIA-32については一切、セカンドソース契約を締結しないと宣言した(これもIBM社という例外有)。ここから、Intel社と互換プロセッサメーカとの激しい戦いの火蓋が切って落とされたのである。
はじめのうちは、32-bitプロセッサが普及していないこともあって、Z80で知られるZilog社等、Intel互換プロセッサを製造していたメーカも、ほとんどi80386に見向きもしなかったが、次世代(32-bit時代)への胎動を目前にして、32-bitプロセッサを用意してくるようになった。しかし、i80386互換を採ることができないため、32-bit拡張仕様は、各社独自の形で実装した。もちろん、IA-32で書かれたソフトウェアなど皆無に近い時代においては、どの32-bit拡張技術が主流になるかは誰にもわからないので、今日から見ればなぜIA-32と互換性のない32-bitアーキテクチャを搭載するのか?という疑義が出るが、当時はそうではなく、普及したものが主流になるというPCの歴史そのものであるデファクトスタンダードという概念を理解していれば、よくわかることだろう。
そして、32-bitアーキテクチャがIA-32、というよりはi80386が勝利をおさめたのは、Microsoft社協力による仮想86モードの搭載によってであった。仮想86モード(Virtual 8086 Mode)とは、i80386のプロテクトモードの一種で、32-bitプロテクトモードの上位にあるVMM(仮想マシンマネージャ。Virtual Machine Manager)が複数(一つ以上)の仮想8086環境を提供し管理するという、IBM System 360以来の仮想マシンの概念を採り入れたもので、仮想8086とは事実上、仮想MS-DOS実行環境のことであり、非公開コードが山盛りのMS-DOS実行環境として完全な形とするのは、Microsoft社の協力が必要不可欠だったからである。
と、いったところで次回に続きます。
コメント