
昔ながらのIBM PC、PC/AT互換機からDOS/Vマシン、さらにはArmベースのWindows PC、M1 Mac、そしてラズパイまでがPCと呼ばれている昨今。その源流から辿っていく第19回は、Hardware Design Guide、System Design Guideとは何だったのかという点について。
Windows 95(英語版)は1995年7月に発売された。このWindows 95がPCというものの概念を大きく変えたのは言うまでもないことで、不完全というか、いろいろと制約が大きかったWindows 3.xのGUIが大幅に使いやすくなった。語弊を恐れずに言えば、やっとMacintoshを超える使い勝手が手に入った、としても良いかもしれない。システム的な面でいっても、なんだかんだいいつつDOSの上のアプリケーションという域から脱しきれなかった(※1)。
※1:とはいえ32bitで動作するProtect ModeそのものはDOSとは別の世界ではあったのだが
この構図そのものはWindows 95でも同じで、特にHeap領域が1MB固定というあたりはいろいろ制約があったものの、見かけ上はDOSが完全に遮蔽され、システムの管理そのものがWindows 95から可能になったという部分はWindows 3.xとは別物に仕上がった。
完全にDOSの影響から脱するのはWindows NT系列への切り替えを待たざるを得ず、広く利用されるようになったWindows 2000の登場を待たねばならなかったものの、「DOSを知らないと結構使うのに困る」Windows 3.xに対し「DOSを知らなくても何とか使える」Windows 9xがPCに与えた影響は大きい。
これに先立つ1994年11月、Microsoftは出版部門(Microsoft press)経由で“Hardware Design Guide”を出版している。現在では“Hardware Design Guide for Microsoft Windows 95“として知られているこの本(というか、仕様書)、出版時には何しろまだWindows 95という名前が使えない(当時は開発コードを利用して「Windows "Chicago"」などと記事には書いていた)から最初の版にはWindows 95の文字はない。ただ邦訳の方はもうWindows 95発売後ということもあり、Windows 95の名前がモロに出ている。
ちなみに1994年11月に出版ということは、この時点での原稿はもう少し前(7月かそのあたり?)のもので、その後にいくつか変更とか追加があり、それもあって後追いの形で“Hardware Design Guide Supplement”という書籍も発売になっている。邦訳版の方はこの2冊の内容をまとめた格好だ。Windows 95の方も発売直前まで修正などが行われていたから、どうしても書籍の内容が古くなったり漏れが出るのは避けられないわけで、これは当時としても別に珍しい話ではなかった。
さて問題はこの中身である。
MicrosoftがPCの仕様を決めた意義
これはWindows 95を動かすために必要となるハードウェアの仕様をまとめたもので、Windows 95がMicrosoftの開発によるものだから、Microsoftがこれを出すのはまぁ自然と言うか、PCベンダーに対してそうした仕様を提示するのは当然なのだが、面白いのはこれがIntelと共著になっていることだ。要するにWindows 95を動かすためのハードウェア仕様を、MicrosoftとIntelが共同で決めた、ということになる。もっともこの時点では、例えばUSBは存在していないし、ACPIもまだ仕様策定の作業の最中であって、この時点ではAPMしかない。
それどころかキーボードはPS/2に移行しつつもまだそれ以前のPCキーボードが広く使われていたし、マウスもPS/2マウスだけでなくBus Mouseが広く使われていた。プリンタはIEEE-1284(いわゆるCentronics interface)がメインで、例外的にSCSI接続プリンタとか変なものがあったりしたという具合。CD-ROM I/FもまだATAPIが出てくる前の話だ。もっと言うならば、そもそもPnP ISAがリリースされたのが1994年5月で、拡張カードのマーケットがゆっくりとPnP ISA対応に移行を始めようという時期だったから、「どこからどこまでのハードウェアをWindows 95でサポートするか」という話を決めるのは、PCベンダーだけでなく当のMicrosoftにとっても重要な話であり、こうした書籍というか仕様書が出てくることそのものはごく真っ当である。
ただその仕様策定にIntelが全面協力していたというあたりに、この当時のWintelの結びつきの強さが見える。当時はまだIALが活発に活動を行っていた時期であり、MicrosoftとしてもこのIALの存在を前提に仕様策定作業を共同で行っていた、と考えるのが自然だろう。
正直、“Hardware Design Guide for Microsoft Windows 95”に関して言えば、「Windows 95でサポートする既存ハードウェアを示すとともに、その仕様を改めて定める」以上のものではなかった。
PnP ISAに関してはWindows 95で多少新機能が追加になっているから改定の部分もあるが、全体としてみれば新しいハードウェアの提案などは殆ど無い。まぁ考えてみれば当然の話であって、そうでなくても野心的なソフトウェアというかOSなのに、新しいハードウェアとか仕様を入れたら失敗待ったなしである。堅実に行きたい、というのは自然な流れであろう。
だんだん変わっていくのは、これに続く仕様がリリースされてからである。
このあとMicrosoftは、
- PC 97 Hardware Design Guide
- PC 98 System Design Guide
- PC 99 System Design Guide
- PC 2001 System Design Guide
を、相変わらずIntelと共著でリリースする。
PC 97まではHardware Design Guideなのか、PC 98以降だとSystem Design Guideになっているのが興味深い。またこのPC 97 Hardware Design Guideも趣が深い。全体はPart 1(System Design Issues)からPart 4(Device Design Guidelines)+付録の構成だが、例えばPart 2を見ると、
- Chapter 3 Basic PC 97
- Chapter 4 Workstation PC 97
- Chapter 5 Entertainment PC 97
という3つの章に分かれ、それぞれのPCの構成目的と必要な要素、オプションなどが定義されているという具合だ。
ちなみにそれぞれのMicrosoftによる定義は、
- Basic PC 97:全てのカテゴリーのユーザーに対し、機能と性能のベースラインとなる標準的なPC(Desktop及びMobile)。Basic PC 97システムは、Windows 95またはWindows NT Workstationで動作する、典型的なWindowsベースのアプリケーションを稼働させるためのものである。ただしBasicと言いつつも、これは従来のOS(≒MS-DOS)で要求されるものより、はるかに高い性能要件となっている。
- Workstation PC 97:Win32ベースのアプリケーションで、グラフィックスや演算処理などの複雑な要求をサポートするために設計されたPC System向けの拡張コンポーネントの定義が追加されている。Windows 95またはWindows NT Workstationの稼働を前提にしているが、CADやEngineering Computing、ソフトウェア開発、コンテンツ開発などの複雑なアプリケーションに使用する場合は、Windows NT Workstationを利用することを前提にする。
- Entertainment PC 97:ゲーム・教育・Personal Communication、Internet接続、ビデオ再生などに最適化された、Interactive Multimedia System向けの拡張コンポーネントの定義が追加されている。他のシステムとの機能の違いはGaming向けの3DとFull-motionのMPEG-2 Video再生を含む高度なグラフィックスとHi-Fi Audioのサポート、ホームステレオ、電話、VCR、カムコーダー、デジタル衛星システムなどの家電製品への接続など。
となっている。
この定義にどこまで意味があったのか? というのは微妙なところだが、一応PC 99まではこれにMobile PCを加えた4つのPCが定義されていた。実をいうと、これに先立ちMicrosoftではSIPC(The Simple Interactive Personal Computer)という取り組み(というか、Initiative)を1996年に発表している。
これは1996年のWinHECで発表されたもので、TVとPCの融合というか、PCをTVと同じような家電製品に位置付けるための取り組みで、当初は500ドル程度で提供できることを目論んでいた。このSIPCそのものは、もうちょい壮大な思惑もあったのだが、結果としてポシャったのでその話は置いておく。
履歴入りのWord文章をそのまま公開
ただPC 97 Hardware Design GuideのChapter 1にはこんな文章が入るはずだった(写真1)。
写真1:これは出版されたPC 97 Hardware Design Guideには含まれていない。赤字で、かつ打ち消し線が入っていることから分かるように、当初は掲載される予定だったのが丸ごと削除された形だ。そういう履歴入りのWord文章をそのまま公開するMicrosoftもどうかとは思うのだがSIPCそのものは立ち消えになったものの、まだPCメーカーはSIPCのことを覚えている訳で、それを打ち消すためにもこうした文章が必要と考えられたのだろう。
このPC 97と、それに続くPC 98/99/2001で、Microsoft(とIntel)にとっての“PCに対する要求”がいろいろと明確になってくる。簡単に列挙すると、
- PC 97:Pentium 120MHz以上、もしくはMIPS R4x00/DEC Alpha 21064(EV4)、もしくはIBMのPowerPCベースのCPU、および16MB RAMを搭載したもの
- PC 98:Pentium MMX 200MHz(か同等以上)のプロセッサと256KBのL2キャッシュ、32MB RAMを搭載。またACPI 1.0とFast BIOS Power-up機能、BIOS Y2K Compliance、PXE prebootのサポートが必須
- PC 99:動作周波数300MHz以上のCPUと64MB RAMを搭載するほか、USBを装備する事。またISAスロットとNon PnPデバイスは排除する事を強く推奨
- PC 2001:動作周波数667MHz以上のCPUと64MBのRAMを搭載。APIC/IO-APICの搭載が必須
といった形で、毎年少しづつ「PCの能力の最低基準の引き上げ」と「レガシーデバイスの排除」が進められていく。
もちろんこうした基準に合わないPCであってもWindowsは稼働した(このあたりは、古いマシンをバッサリとサポートから排除していったApple Computerとの違いでもある)が、新規のマシンの性能底上げを図るとともにLegacy Deviceの排除によって、PCを使いやすくしようという両社の努力は、結果的にPCの底上げやMS-DOSからの脱却に大きく貢献することになった。
4月2日の記事で、Intelは1999年のIntel 810でISA Busを排除し、代わりにLPC Busを導入した話をご紹介したが、これはPC 99の要件にISA Busの撤廃がうたわれていたことが大きい。
逆に言えば、Intelとしては(可能なら)ISA Busをもっと早期に撤廃したかったのだろうが、当時まだPCIはやや高価に付いた。なので、低速で構わない周辺機器(キーボード/マウス入出力などその最たるものだ)を安価に接続でき、かつLegacyでない(つまりPlug&Play的に、OSからどんなデバイスがどう接続されているかを認識できる機能を持つ)I/Fが必要であり、これを満足するLPC Busを開発して実装するとともに、周辺機器ベンダーにこのLPC Busに対応した製品を出荷してもらえるよう働きかける必要があった。
これの準備には相応の時間が掛かったため、それが間に合う1999年まで、PC 9x System Design GuideにISAというかLegacy Device撤廃を盛り込むことは待ってもらった、というのが実情に近い。
というのはIntelの純正チップセットはそんなわけで1999年以降ISA Busは存在していなかったが、AMDの方は? というと、例えばVIAのVT82C686シリーズSouth BridgeはISA Busベースだが、これは2001年に入ってもまだ使われていた。
このあたりが全部PCIやLPCに切り替わり、ISAが無くなるのは2002年に入ってからのことで、要するに別にISAを撤廃しなくても、Windows 9x/NTの稼働には何の問題もなかった。このあたりの懐の広さがMicrosoftであるが、その分Legacy Deviceの撤廃に時間が掛かったのは致し方ないところだろう。とは言え、長期的にはLegacy Deviceを廃すべきであり、PC 9x/PC 2001のガイドラインはこのために大きな力となった。
コネクターの色分けを定義
使い勝手の面でも、このPC 9xシリーズは大きく貢献した。例えばPS/2キーボードとPS/2マウスのコネクターはPC 97で導入されたし、PC 99ではI/Fの色別の区分けが初めて定義された(写真2)。
この色の区分けは現在も利用されている(写真3)。
写真3:猫の毛とか埃まみれなのは筆者宅の仕様なのでご容赦いただきたい。Mic-Inがピンクとか、Line Outがライムなのは、PC 99のColor-coding schemeに定められているからだこれは例えばヘッドフォンをバックパネルにつなぐときに、「同じ色のコネクターを同じレセプタクルとかプラグに装着する」という、使いやすさを高めるための工夫である。
加えて、新しいデバイスの定義もいろいろ行われた。例えばPC 97ではBaseline Audio for PC 97(写真4)とPC 97 Advanced Audioという新しいAudio I/Fの基準が定められた。
これが俗に“AC 97”(Audio Codec 97)と呼ばれるもので、まずはマザーボードにAC 97 Codecを標準搭載、その後はサウスブリッジにCodecそのもの統合することで、いわゆるオーディオカードの需要がたちまち消え失せることになった(ここでいち早くAC 97 Codecをリリースしたことで、マザーボードベンダー向けに膨大な売り上げを確保したのが台湾Realtek Semiconductorである)。
System Design Guideはなぜ終わったのか
実はPC 97で定められたものはかなり多い。すぐに廃れてしまった(なにしろEthernetに移行してしまった)がModem 97という規格もあった(正式にはModem for PC 97)。仕様だけで言えば、USB、IEEE1394、PCI、ISA、ATA、ATAPI、SCSI、PC Card、Serial、 Parallel、Wireless、Input Components、Graphic、Video、Audio、Storage、Modem、Network Communications、Printers、Scanners and Digital Camerasと17種類のカテゴリーに分かれてそれぞれ仕様が定められているのだが、AC 97の様に新しく定められたものはなく、既存のデバイスに対してPC 97の要求仕様を定めた格好になる。
このPC 97での要求仕様は、それぞれのデバイスの仕様にほぼ取り込まれており、なのでPC 97の目的は果たされたと考えてよい。続くPC 98/99/2001はこの仕様のバージョンアップというべきか。例えばAudioでは、PC 99ではCodecの仕様がこんな具合(写真5)に細かく定められているが、これはPC 97では未定だった部分を明確にしたという格好である。
このシリーズがPC 2001で終わったのは、これに関してIntel側で担当していたIALが解体されたことと無縁ではないだろうが、PCというものの方向性がこの辺りから変わり始めていた事も関係しているかもしれない。Wintelの蜜月時代(ただしにこやかに握手しながら足で蹴りあう類の蜜月、という話はこの記事でもちょっと触れた)が終わりに近づいてきたからだ。
この時期、Microsoftは非x86プラットフォームへのWindows移植を真剣に検討し始めている。そもそもWindows NTがその走りではあったが、Windows CEも非x86プラットフォームに向けて広く提供されるなど、少なくともMicrosoft自身はx86に縛られることを良しとせず、これは当然Intelには気に入らない動きである。かくしてMicrosoftはこの後、広い意味での協力関係をIntelとは維持しつつも、以前の緊密さとは一線を画した形で付き合い始め、これは当然PCの方向性にも影響を与える事になる。
関連記事
PCの在り方をMicrosoftとIntelが規定した時代 PC 9x/200x System Design Guideとは何だったのか - ITmedia NEWS
Read More



No comments:
Post a Comment