News 2001年8月30日 09:56 PM 更新

ビデオで見るモバイル専用プロセッサ「Banias」の仕組み

注目のモバイル専用プロセッサ「Banias」の仕組みはどうなっているのか。Intelがプレス向けに配布した開発マネージャーによる解説ビデオをもとに,今一度整理してみよう。

 簡単なアーキテクチャが昨日,はじめて公表されたIntelのモバイル専用低消費電力プロセッサ「Banias」。モバイルプラットフォーム担当副社長,Frank Spindler氏の基調講演で,詳しいディテールが公開されるものと期待していたが,残念なことにあまり多くの情報は出てこなかった(もっとも,市場への投入は2003年だから,まだまだ先のことではある)。

 ただ,基調講演中,開発にあたっているIntelイスラエル開発センター,モバイルプラットフォームグループジェネラルマネージャーのMooly Eden氏自らが,Baniasの仕組みを解説したビデオが流された。

 ごく簡単な解説ではあるが,そのビデオクリップの30秒ロングバージョンがプレス向けに配布されたので,お届けしよう。

Baniasの仕組み解説ビデオ(WMV形式)
ブロードバンド版,約3.0MB
ナローバンド版,約1.3MB

Aggressive Clock Gating

 「Aggressive Clock Gating」は,プロセッサ中の利用していない回路のクロックを一時的に止める機能だ。回路内を役割ごとに分割し,それぞれのユニットが必要なときのみ動作するようにする。これによって,これまで無駄に動作していた部分を省き,余分な電力の消費を抑えるというものだ。回路をシリコン上に実装する際,省電力化のための特別な回路を埋め込むことで実現する。

 こうした省電力技術は,他の半導体でも使われている技術だが,Baniasでは各部の動作状況を独立して認識し,電源制御している点と,それらの実装に新開発のメソッドを使っっていること,そして,各部の電源制御を従来以上に徹底的し,細かく管理している点で異なるという。

 ビデオ中では,チップ上の動作する部分だけが明るくなる演出で表現している。

Special Sizing Techniques

 Special Sizing Techniquesは,プロセッサの回路を省電力化に向くように,コンパクトで効率的なレイアウト,回路設計にしていることを表している。高クロック周波数を狙うプロセッサの場合,回路上のタイミング的にキツイ部分の配線を短くするといった工夫で高速化を図っている場合があるが,Baniasでは電力消費に重きを置いてデザインされている。

 こうしたアプローチも,やはり他の半導体に見ることができるが,Baniasでは従来からの考え方を拡張したり,より積極的に回路全体に対して徹底することで,より消費電力を下げる方向で開発されている。

 ビデオ中では四角形が多数出てくるが,これはダイの上で各部がどのようにレイアウトされているかを模式的に表したもののようだ(もっとも,今ひとつわかりにくい)。たとえ話として,ポルシェとマツダの2台があるなら,どちらに乗っても到着するまでの時間は同じで,消費する燃料はマツダの方が少なくなる。これは速度の上限が道路によって決められているからだ,という話が紹介された。

Micro Ops Fusion

 公開された3つの仕組みのうち,アーキテクチャレベルでの取り組みはMicro Ops Fusionのみである。しかし,詳しく説明を行っていないこともあり,Micro Ops Fusionが正しくはどのような技術なのかを正確に把握できない。

 昨日の記事では「並列化できる二つのx86命令をあらかじめペアリングしておき,それを複数(このビデオでは4つ)のMicro Ops(Pentium IIIなどで使われている内部処理専用のRISCライクな命令セット)組み合わせたVLIW命令として送り込み,実行ユニットの直前でMicro Opsを分割して実行させるのではないか?」と推測した。

 こう推測した理由は,ビデオのアニメーション模式図を見ればわかるだろう。最初に出てくる左側のアニメーションは従来型の命令の流れ,右側のアニメーションがBaniasでの命令の流れを示している。

 その後に行われた説明によると,バイナリがプロセッサのパイプラインに入力されると,それが一連のMicro Opsのストリームに置き換えられてから実行ユニットに引き渡される。しかし,Micro Ops Fusionでは前処理でMicro Opsのストリームに置き換えず,二つのバイナリを融合(Fusion)してひとつの塊とし,実行ユニットの直前でMicro Opsに分割して実行されるという。

 よって,当たらずとも遠からずといったところだが,融合する2つのバイナリがx86命令そのものなのか,融合したあとの塊がMicro OpsのVLIW命令なのかは,Intelの説明では言及されていない。

 ビデオ中では「サンタクララからサンフランシスコまで最も早く移動したいとき,

  1. 車のスピードを上げる(より高いクロック周波数で実行する)
  2. 新しい近道を探して距離を減らす努力をする(必要なMicro Opsの数を減らす)

という2つの選択肢がある。Baniasでは後者を選択することで高速化を図った」と解説している。

 少々わかりにくい例えだが,ビデオ中のフロントエンドと実行ユニットの間を通る命令数が,Baniasでは少なくなるため,命令の流れを高速化可能で,かつ実行ユニットで考慮しなければならない命令数が半分になるため,効率よく処理できるということのようだ。

 いずれにしろ,ざっくりと言えば,命令の流れを再検討,最適化することで,処理の能率を向上させ,結果的にクロック当たりに処理できる命令数(IPC)を向上させるというアプローチであり,とにかく高クロックである方が高性能になるはず,という考え方とは正反対の考え方と言える。

関連記事
▼ モバイル向け新プロセッサ「Banias」とは,どんなものか?

[本田雅一, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.