このレポートでも取り上げた次期XScaleプロセッサ「PXA27x」シリーズ(Bulverde)が12日、発表された。ここではIDF Japan Spring 2004などでの取材をまじえ、このプロセッサについて解説する。 ●単体プロセッサから、RAM/フラッシュ搭載型まで 4月12日に発表されたのは、PXA270という単体のプロセッサで、主にPDAやスマートフォン高級機などに搭載されるもの。 このシリーズには、フラッシュメモリやDRAMなどを載せたバージョンもある。これらは「フォールデッド・スタックド・チップ・スケール・パッケージ」と呼ばれ、CPUダイと別に、フラッシュメモリやSDRAMなどのメモリダイを積載したものを2つ折りにしたシートで結合するという方式がとられている。このようにすることで、それぞれを単体で利用した場合と比べフットプリントが60%程度小さくなるという。 最近のPDAでは、高機能なものは様々なデバイスが装備されている関係で、基板も高密度なものが使われることがある。このような場合には、フラッシュROMやRAMを載せたチップは有利だ。すでにPXA255と同じコアを使うPXA260シリーズを載せたPocketPCなども登場している(東芝のGenio e400など)。しかし、PXA260シリーズは、16/32MBのフラッシュメモリ搭載品しかないために、日本語フォントなどを搭載する日本国内向けのPDA用としては、ちょっとフラッシュ容量が不足気味だ。その点を反省してか、PXA27xシリーズでは、32/64MBのフラッシュメモリを搭載している。 クロック周波数は、最大624MHzだが、これは、PXA270のみ。PXA271~3については、最大クロック周波数は,表のようになる。
●どこが変わったのか? PXA270は、簡単にいえばPXA255の強化版である。すでにいくつものPDAに採用されたPXA255だが、PDAやスマートフォンの動向を見て強化された。 アーキテクチャ関連の強化ポイントとしては、ワイヤレスMMXやワイヤレスSpeedStepがある。前者は、いわゆるSIMD演算を提供するもので、動画再生などのマルチメディア処理を高速化する。ワイヤレスSpeedStepは、従来のXScaleの省電力機能が強化され、負荷に応じたクロック/電源電圧の変更をサポートする。 また、PXA270シリーズには256KBのスタティックRAMが内蔵されている。これはセキュリティ機能を実現するためのもので、プロセッサのみがこのRAMにアクセスすることができ、外部の機器が信号ピンを介してこのSRAMへアクセスすることはできない。 これに加えて、ワイヤレスTrustedモジュールと呼ばれるソフトウェア、改ざんを検出するTrusted Boot ROMなどが提供され、内部メモリに格納したパスワードなどのセキュリティ関連情報を保護できるようになっている。 PXAシリーズは、バッテリ駆動される小型機器が主要なターゲットであり、さまざまな周辺回路やインターフェイスを内蔵している。今回は次のようなインターフェイスが追加された。
PXA255のMMCインターフェイスは、4bit入出力が可能なSD/SDIO対応インターフェイスに強化され、USBクライアントインターフェイスはUSB-on-the-Goに対応した。 「QuickCapture」はCMOSイメージセンサーを接続するためのインターフェイスで、PXA270は、そこからの画像データに対して、内蔵LCDコントローラ経由でのプレビューやキャプチャ機能などを持つ。つまり、CMOSセンサーさえ接続してやれば、カメラ機能を実現できるわけである。 これらの強化点は、最近のPDAやスマートフォンならば装備しているような機能を実現するためのもの。従来のPXA255では汎用I/O(GPIO)と外部回路を使って実現していた機能を内蔵したことで、より低コストで製品を作ることを可能にしている。 もっとも、XScaleのようなARMアーキテクチャのプロセッサでは、コア設計を購入して必要なインターフェイスなどを内蔵したプロセッサを作ることができる。なので、メーカーは必要なインターフェイスを集積したデバイスを作ることが可能だ。XScaleは、アーキテクチャ的にはARMだが、Intelはコア設計を外販することはなく、完成したデバイスとしてのみ販売する。このため、必要と考えられるインターフェイスは全て入れておく必要があるわけだ。 逆に変わっていないのは、CPUのパイプラインやキャッシュメモリなどである。以前紹介したように、ワイヤレスMMXはARMプロセッサのコプロセッサ命令として定義されている。コアの命令アーキテクチャは、PXA255と同じくARM Version 5(ARM V5TE)である。このためARM命令の実行に関しては、クロックが同じなら、PXA270とPXA255では差がない。 Intelの資料によれば、312MHzのコアクロックでワイヤレスMMXを使った場合、ワイヤレスMMXを使わない場合の520MHz動作に匹敵する。CPUの消費電力はクロックに比例して大きくなるため、最大クロックを下げることでシステムの消費電力を下げることが可能になるわけだ。 ただこうしたことが可能なのは、どちらかというと携帯電話のような、仕様に対してギリギリの性能を持つデバイスで採用するような場合だ。PDAでは、高性能アプリケーションや大量データの扱いなど、まだまだ性能的には不足気味だ。だから、低価格を狙った製品でもなければクロック周波数を落とすようなことはなく、各社とも最高クロックで動作させることがほとんどである。 では、ワイヤレスMMXがまったく不要なのかというとそうでもなく、最近のPDAなどがほとんど装備しているMP3などの音楽再生やビデオの再生といった機能についてみれば、かなり有効な強化ポイントである。
●ワイヤレスSpeedStep PXA270シリーズは、低消費電力にかなり注力したデバイスになっている。というのも、ARMプロセッサ全体が低消費電力化の傾向にあり、PDAやスマートフォンを作る側から見れば、よりバッテリ寿命を長くできるデバイスが「いいデバイス」であるという評価になるからだ。 その一方でPDA、スマートデバイス用のプロセッサには、より高い処理性能が望まれている。動画再生など、負荷の重い処理を行なう必要が出てきたからである。逆にいうと、CPUを高性能化しなければならないので、より低消費電力化が必要となったともいえる。
PXA270には、ワイヤレスSpeedStepと呼ばれる、消費電力を削減する機能がある。これはCPUの動作モード(クロック)と駆動電圧を動的に変更することで、低消費電力とする機構である。ワイヤレスSpeedStepは、PXA270シリーズが持つ機能と、Intelが提供する「Power Manager」というソフトウェアモジュールによって実現される。 低消費電力化は、動作時のクロックと電源電圧を制御することと、アイドル時や停止時の消費電力を下げることの2つで行なわれる。また、ワイヤレスMMXを併用することで、必要最大クロック数を下げることが可能になるため、それによる低消費電力化の寄与分もある。 PXA720は、動作周波数を変える「クロックモード」、CPUを止めた状態での消費電力に関わる「パワーモード」があり、さらにクロック周波数をクロックモードとは別に段階的に変更する方法や、メモリバスの速度に関するモードがある。 クロックモードには「Turbo」、「Half Turbo」、「Run」、「13M」の4つのモードがある。これらはCPUの動作クロック(コアクロック)を決めるもので、RunモードとTurboモードのクロック周波数は、それぞれ専用のレジスタに設定した値で決まる。 Half Turboモードとは、Turboモードの半分のクロック周波数とするモードで、その動作周波数はTurboモードの設定から自動的に決まる。Runモードは、あまり負荷が高くない場合に対応するモードで、この動作周波数もレジスタの設定によって決まる。PXA270は、104~624MHzの間でクロックを変更でき、たとえば、Turboモードに624MHzを設定し、Runモードに208MHzを設定するといった使い方をする。 このモードとは別に上記の範囲内でクロックを段階的に変更することも可能だ。ただしこの場合には、モード変更よりもクロック関連レジスタ変更などの手順が増える。OSなどによって、あまり細かくクロック周波数の制御を行なわないような場合には、Turbo/Half Turbo/Runモードの3段階のみとすることで、クロック周波数を簡単に変更できるようになる。 最も消費電力が少ない動作モードとして、13MHzでクロックを動かす13Mモードも用意されている。これは、低消費電力としたいが、処理が続いていてCPUを止めることができないような場合に利用する。 クロックモードがCPU動作中のモードなら、パワーモードはCPUを止めたときのモードである。なぜ停止状態がいくつもあるのかというと、待機している状態に応じて消費電力を減らすためである。ただし、低消費電力であればあるほど、通常状態(Normalモード)への復帰に必要な処理が増え、時間がかかる。 パワーモードには、通常の実行状態である「Normal」モードのほかに「Idle」、「Deep-Idle」、「Standby」、「Sleep」、「Deep Sleep」の6段階ある。このうちNormalモードのときに、前記のクロックモードが有効になる。またDeep-Idleモードだけは、クロックモードの13Mモードから遷移するようになっている。
各モードへ入るにはCPUが対応する命令を実行するが、Deep Sleepモードの場合には、その他のパワーモードからバッテリ異常などの信号を受けても移行する。Idel/Deep-Idle/Standbyの場合には、CPUの内部状態が保持されているため、割り込み信号でNormalモードへ復帰できる。これに対してSleep/Deep-Sleepの場合には、限られた外部イベントの発生でのみ復帰する。この場合にはCPUの内部状態も保持されておらず、専用の起動処理を行なわねばならないため、他のモードよりも復帰に時間が必要となる。 PDAなどでは、電源スイッチで電源のON/OFFをしているように見えるが、実際にはメモリをバックアップしておき、CPUを停止状態にして、周辺回路の電源を落としているだけということが多い。このようにすることで、タイマーでCPUを起動させてアラーム関連の処理を行なったり、ユーザーが予定表ボタンを押したときに実行を再開してプログラムを実行するといったことが可能になる。 また、バッテリ交換時やバッテリ容量が動作できないほど低下してしまったときには、最も消費電力の少ないモードで待機し、なるべくなら、完全な初期化(コールドスタート)をしないで再開できるようにする。というわけで、最近のPDAでは、CPUまわりの電源を完全に落としてしまうことはなく、僅かながらも電力を供給し、使い勝手を向上させているわけだ。 Intelの提供するPower Managerは、OSやアプリケーションからの情報を元に、これらの複雑なモードを制御する。アプリケーションからの負荷情報があれば、負荷に応じてクロックを動的に変更させることも可能である。 PXA270自身には電源電圧を変更する機能はないので、外部の電源コントローラを使って動作クロックやパワーモードに応じた設定を行なう。コントローラのドライバを用意することで、Power Managerがクロックモードなどの変更に応じて電源電圧などを制御することが可能になる。こうした制御には、PXA270シリーズが持つI2Cインターフェイスが使われることが多い。 ●2700G マルチメディア・アクセラレータ PXA270シリーズは、Intelが提供する「2700G マルチメディア・アクセラレータ」を利用することができる。 このデバイスは、Marathonというコードネームで呼ばれていたもので、PXA270シリーズと同時に発表された。Intelによれば、電気的には、PXA270以前のXScaleコアと2700Gを組み合わせることは可能だが、2700G用に提供するソフトウェアモジュールにワイヤレスMMXを使っているために、実際にはPXA270シリーズ専用となってしまうという。 2700Gは、2D/3Dのアクセラレータ機能とビデオの再生機能を持つグラフィックコントローラで、2つのディスプレイを接続することが可能。これは、液晶とは別にCRT出力などを持つ場合を想定しているという。 この2700Gには、内蔵フレームバッファの容量により「2700G5」と「2700G3」の2種類がある。容量はそれぞれ704KB(G5)と384KB(G3)で、2700G5は内蔵フレームバッファでVGA(640×480ドット)/16bitカラー表示が可能。外部にメモリを接続してフレームバッファとすることもでき、この場合には、どちらも最大SXGA(1,280×1,024ドット)まで対応できる。 また、PXA270が内蔵するLCDコントローラの出力を使うことも可能で、内蔵したLCDスイッチにより、2つのLCDパネル出力に対して2700GグラフィックエンジンとPXA270シリーズLCDコントローラ出力を切り替えることができる。たとえば、プレゼンテーション画像などをCRTに表示する場合には、2700Gのグラフィックアクセラレータを使い、PDAのLCDには、PXA270の内蔵LCDコントローラからの画像を表示するといった使い方や、グラフィック対応ゲームのときだけ、2700Gの機能を使うといったことが可能になる。 現在のPDAやスマートフォンでは、必ずしも常に3Dグラフィックスなどの機能は必要なく、また、あまり解像度が高くないQVGA~VGA程度であれば、内蔵LCDコントローラを使っても問題がないからである。もちろん、GUIや画像表示に2700Gのグラフィックアクセラレーション機能を使えば高速化が期待できるが、その分消費電力も大きくなってしまう。 2700Gが持つグラフィックエンジンは、75MHzで動作し、32bit精度を持つ。 2Dグラフィックスでは、クリッピングやラスタオペレーション(ROP2/3/4)、アルファ・ブレンディング、アンチエイリアスなどの機能があり、16/18/24bitカラーがサポートされている。2Dフィルレートは15,000Mピクセル/sec。 3Dでは、フラット/グーローシェーディングが可能で、32bitのZバッファ、テクスチャ(DirectX互換の2/4bitテクスチャ圧縮対応)などがサポートされている。3D性能は、944,000トライアングル/secである。 さらにメディア対応としてMPEG-2/MPEG-4の再生支援機能がある。オーバーレイ表示が可能で、ハードウェアによる逆DCT演算、色空間変換、動き補償、Windows Media Video 9.0アクセラレーションなどを持ち、ソースデータの最大幅は768ドットまで、表示に関してはSXGAまでのハードウェアスケーリングが可能。性能としては、MPEG-2の720×480ドットで30fps、MPEG-4の640×480ドットで30fpsとなっている。 PCのグラフィックエンジンからみれば、たいしたことはないかもしれないが、PDAやスマートフォンクラスならば、かなりのハイスペック、いやオーバースペックといってもいいかもしれない。 ●PXA2700+2700Gの使い道 日本に限っていえば、PDA系でのPXA270シリーズの採用はある程度のインパクトがあるだろう。USBのホストになれるばかりか、CMOSセンサーを接続するだけでカメラを内蔵でき、さらにグラフィック機能が強化される。シャープのザウルスSL700/800シリーズは、XScaleを採用していながら、外付けのグラフィックコントローラー(ATIのIMAGION 100)を使っている。このクラスなら、PXA270+2700Gといった組合せがあってもおかしくはない。メモリースティックのインターフェイスが追加されたのは、ソニーのPDAを意識したようにも見える。 2700Gは高性能なPDAでの利用も考えられるが、もう1つの用途は、MicrosoftのMCX(Media Center Extender)やWindows Portable Media Centerなどだろう。PXA270シリーズと組合せることで、高性能なメディアプレーヤーを作ることが可能になる。PDAや携帯電話でも動画再生といった用途はあるが、世界的に見れば日本以外ではここまで高性能なPDAやスマートフォンの機能は、ほとんど必要ない状態である。 ネットワークに接続して動画などの再生を行なうMCXや携帯型のメディアプレーヤーであるWindows Portable Media Centerには、こうした機能が必須だ。特にバッテリ駆動されるWindows Portable Media Centerは、低消費電力でメディア性能に優れたPXA270にうってつけのターゲットである。 スマートフォンは、まだ機種も少なく、PDAもこのところは停滞気味である。となると、新たな市場を見つける必要がある。つまりMicrosoftの戦略に合わせ、ネットワークプレーヤーや携帯型プレーヤーにも注力していくというのが、Intelの新たな戦略なのではないだろうか。 □関連記事 (2004年4月21日)
[Text by 塩田紳二]
【PC Watchホームページ】
|
|