USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る:“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(4/6 ページ)
今回は、USBこそがPCであることの条件を規定しているというお話。
ハードウェア的な観点でいえば、Intelがチップセット内にUSBのコントローラーを実装して提供していたから、マザーボードメーカーはUSBコネクターをチップセットにつなぐだけで、あとは周辺機器メーカー任せという話で実装の難易度は低かった。
1996年2月にIntelは430VX(Triton VX)および430HX(Triton II)とあわせて、APICとUSB 1.1をサポートしたPIIX3(82371SB)をリリースする(写真2)。
写真2:1995年にリリースされたPIIX(82371FB)と基本的には同じだが、図の下側の濃い部分(USBとAPIC)がPIIX3で追加された。出典はIntelの"82371FB (PIIX) AND 82371SB (PIIX3) PCI ISA IDE XCELERATOR"というデータシート
1998年3月にリリースしたSpecification UpdateではErrataが15個(うち14個がUSB関連)で、しかもPIIX3のRevision Upで解消されるのはそのうち7つだけ(写真3)といった具合に、製品クオリティーに達しているとは言いがたいレベルだった。
写真3:Intelの"Intel 82371FB (PIIX) and 82371SB (PIIX3) PCI ISA IDE Xcelerator Specification Update March 1998"からの抜粋
これをサポートするソフトウェアの方も大変だった。
USBを最初にサポートしたOSはWindows 95のOSR(OEM Service Release) 2であった(公式にはOSR 2.1以降)が、確かOSR 2の段階だと「UHCIは試したけどOHCIはテストしてない(当時OHCIのコントローラーの実物がないため、テストできなかった)」とかドキュメントに書いてあった始末で、実際OHCIだとうまく動かなかったりした。OSR 2.1で多少改善した記憶はある。
どういうことかというと、IntelはUSBのコントローラーをUHCI(Universal Host Controller Interface)という名称で提供したが、なぜか当初このUHCIのAPIとかを一切公開しなかった(その後、EHCIを公開した後で公開している)のである。それもあって、UHCIのライセンスを受けたVIA Technologies以外の互換チップセットベンダーはUSBのコントローラーを実装できなかった。
この対抗策としてOHCI(Open Host Controller Interface)という規格がCompaq、Microsoft、National Semiconductorの3社により策定された。ただこれは当然Microsoftを始めとするソフトウェアベンダーにとっては面倒以外の何物でもなかった。
Copyright © ITmedia, Inc. All Rights Reserved.