これに対して、これまで携帯電話のような簡易な機器では、メインCPUが直接カメラを制御していた。組み込み系ではプロセッサーと周辺デバイスの接続も、簡易なインターフェースが好まれるし、モバイル系デバイスではインターフェース自体の消費電力も低いもの(例えば信号の電圧が低いもの)を使う傾向があった。このような場合には、「I2C」※1のような組み込み向け汎用のインターフェースや、単純なシリアル通信、1bitのデジタル信号(GPIOと呼ばれる組み込み系CPUのインターフェース)や専用のインターフェースなどが使われる。
※1 Inter-Integrated Circuitの略。2本の信号線で最大112個のデバイスを接続可能なシリアルバス。10kbps~3.4Mbps程度の通信が可能。旧フィリップス社の半導体部門(現NXPセミコンダクター)で開発された。
Windows RTの開発にあたり、マイクロソフトはこうした組み込み用インターフェースに対応した。やり方としては、既存のUSBやクラスドライバーという仕組みを使い、ここに「シンプル・ペリフェラル・バス」(SP-Bus)を定義。I2Cや「UART」といった、組み込み向けのインターフェースバスを扱えるようにした。
PCのハードウェアでは、USBやPCI Expressといったひとつのインターフェースでデバイスを接続するが、組み込み系では、デバイスの接続に例えばI2CとGPIOを組み合わせたり、あるいはUARTとGPIOを組み合わせて使うことがある。デバイスとのデータのやりとりにはI2Cを使うが、デバイスからの割り込み信号は、GPIO経由で受け取るといった接続形態で設計するわけだ。
またUSBなどでは、デバイス自身がホストに対して「自分はどのようなデバイスであるか」を通知する機能がある。だが組み込み系の場合、基板上に実装されるデバイスが抜き差しされることは基本的にありえないので、このような面倒は必要ない。プログラムは特定のアドレスに特定のデバイスがあることを前提に作られる。そのためARM系システムでは、組み込まれているデバイスを表データなどで表現し、これをファームウェアの一部となる「ACPI」で管理する。そのほかにもWindows RTでは、SD I/Oや、Embedded MMC※2などがサポートされる。
※2 MMCのインターフェースを組み込み用にしたストレージ用フラッシュメモリーの接続インターフェース。
Windows RTの場合、I2CやUART、GPIOについてはそれぞれにデバイスドライバーが必要になるが、上位とのインターフェースはSP-BusのAPIに統一される。接続されたデバイスは、USBのようなクラスドライバー構成となるわけだ。例えばタッチパネルの場合、カーネル側からはI2C接続でもUSB接続であっても、どちらもHID(Human Interface Device)であるかのように見える。そのため上位のモジュールでは、USB接続もI2C接続も同じように、「HIDによるポインティングデバイス」として扱うことが可能になる。
こうしたデバイスドライバーは、原則として半導体メーカー側が開発する。また半導体メーカーは、内蔵GPUなどのデバイスドライバーも開発して、ハードウェアメーカーに提供する。Windows RTの場合、GPUはPCと同じくDirectXを使って制御する。DirectXではGPUの仕様をバージョンごとに定義しており、これに準拠するグラフィックスドライバーを組み込むことで、Windowsが持つグラフィックス機能を利用できるようになる。
なお、Windows 7からはすべての描画がDirectX経由となったために、条件を満たしたDirectXドライバーさえあれば、Windowsを動作させられる。ただし、Windows 8/RTには、GPUを使わずビデオメモリーを直接操作する「ソフトウェアGPUドライバー」も存在する。これはWindowsのセットアップやブルースクリーン時など、Windowsが動作してない場合に描画を行なうためのものとなっている。
この連載の記事
-
第34回
PC
Windows 8の狙いは、UIの変化よりもAPIの変化が本質 -
第33回
PC
Windows 8が動作しなくなった? 新しくなった修復機能 -
第32回
PC
Windows 8でIMEに求められる新しい要素とはなにか? -
第31回
PC
Windows 8の無線LANをコマンドラインで細かく制御 -
第30回
PC
Windows 8をマウスで使いやすくするレジストリの小技 -
第29回
PC
周辺機器・アプリがWindows 8/RTで動くか確認する方法 -
第28回
PC
Windows 8のキーボードショートカットを全公開 -
第27回
PC
Windows 8が使いにくい? マウスを変えると印象も変わる -
第26回
PC
実はNFCに対応しているWindows 8 ただしアプリは不足 -
第25回
PC
実は扱いがまったく異なるWindows 8でのタッチパネル -
第24回
PC
Surfaceから見えるWindows RTの実像と、将来PCへの影響 - この連載の一覧へ