このページの本文へ

塩田紳二のWindows 8 IN-N-OUT 第24回

Surfaceから見えるWindows RTの実像と、将来PCへの影響

2012年11月09日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

分解せずにSurfaceの中身を見る

 Windows RTには、ハードウェア情報を表示する「msinfo32」(システム情報)が搭載されている。これを使って、Surfaceのハードウェア詳細を見てみることにしよう。msinfo32には、I/Oの割り当てを表示する機能がある。これをみるとメモリーに割り当てられているI/Oは、4GBのメモリー空間のうち2~3GBの範囲になっている。32bitのメモリー空間は、16進数で表現すると「0x00000000~0xFFFFFFFF」となる。これを1GB単位で分けると、以下のようになる。I/Oはこのうち、2番目の「0x4000000~0x7FFFFFFF」に集中している。

  • 0x00000000-0x3FFFFFFF:最初の1GB分
  • 0x40000000-0x7FFFFFFF
  • 0x80000000-0xBFFFFFFF
  • 0xC0000000-0xFFFFFFFF:最後の1GB分

SurfaceのメモリーI/O割り当て。「0x4000000」から「0x7FFFFFFF」の間にほとんどが割り当てられている

 ARMプロセッサーはI/Oアドレス空間を持たないため、msinfo32「I/O」の項目には何も表示されない。x86/x64のシステムでは、PS/2キーボードなどのデバイスがI/Oアドレス空間に割り当てられている。

ARMプロセッサーはI/Oアドレス空間を持たないため、「I/O」の割り当てはなにもない

x86/x64では、I/Oアドレス空間にデバイスが割り当てられている

 ARMプロセッサーでは、各種デバイスがUSB経由ではなく、組み込みデバイス用のインターフェースである「I2C」や「GPIO」などで接続されているという点も、大きな違いだ。I2Cは「Inter-Integrated Circuit」の略で、「I2C」とも表記する。読み方は「アイ・スクエア・シー」である。

 I2Cは2本の信号線を使って、データをシリアル転送するインターフェース規格で、基板上でのデバイス間接続に使われる。信号線が少ないほど、基板上のパターンを減らせて設計コストが削減できる、というのが特徴だ。各I2Cデバイスはアドレスを持っており、ホスト側はアドレスを指定して、デバイスと通信する。長く使われた仕様で随時拡張されてきたため、伝送速度は100kbpsから3.4Mbpsまでと幅がある。また、接続可能なデバイス(アドレス空間の大きさ)も、7bitから10bitと幅がある。

 GPIOは「General Purpose I/O」の略で、簡単に言えば1bitのデジタル信号線で、入力/出力などを決めて固定的に利用する信号線だ。例えばLEDのオンオフを制御したり、キーやスイッチの状態を入力するなどの場合に使われる。I2Cよりも単純で、ほとんど機能部分を持たない回路(LEDの点灯回路など)を制御するような使い方をする。

Surfaceのデバイスマネージャを見ると、I2CやGPIOといったインターフェースにデバイスが割り当てられている。内蔵デバイスの接続にはUSBを使っていない

 PCの内蔵USBデバイスは、USBインターフェース自体が比較的大きな回路になってしまうので、消費電力も小さくない。本来外部のケーブルで接続する規格であるため、信号電圧も大きい。I2CやGPIOはデバイス側がUSBに比べて単純なので、消費電力も少ない利点がある。

 マイクロソフトはWindows 8でARMプロセッサーに対応するために、OS側でI2CやGPIOなどに対応した。最近ではインテルのAtomプロセッサーも携帯電話向けに出荷されるため、I2CやGPIOを装備している。WindowsがARMに対応したことで、I2Cなどがサポートされるとなると、今後のPCの設計にも、ある程度影響が出ることになるだろう。特に高速性が必要ないデバイスなどは、PCでもI2CやGPIOでの接続が主流となるかもしれない。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン