News 2002年9月11日 11:26 PM 更新

明かされたBaniasの秘密――マイクロアーキテクチャの技術的特徴

Baniasのマイクロアーキテクチャ上の特徴は、ノートPC向けの専用プロセッサとして最初から設計されたことだ。そこではパフォーマンスと低消費電力の両立が目指され、精度の高い分岐予測やシステムバスの高度な電源管理といった新技術が盛り込まれている

 Baniasのマイクロアーキテクチャの最大の特徴は、ノートPC向けの専用プロセッサとして設計されたことにある。こう言うと「なんだ」と言われそうだが、これが従来のモバイルプロセッサと最も異なる点だ。従来のモバイルプロセッサと呼ばれるものは、デスクトップPC向けとして最大のパフォーマンスを得ることを目標に設計されたプロセッサに、何らかの仕様変更などを施してモバイルプロセッサに仕立て上げていたからだ。

 例えばデスクトップのPentium 4は、75ワットの熱設計電力枠で作られ、その枠内でパフォーマンスが最大になるようになっている。ところが、より小さいきょう体やバッテリ駆動が求められるモバイルプロセッサは、熱設計電力枠も30ワットに下がる。すると(75Wの枠で最適化されているプロセッサは)、どうしてもプロセッサパワーに制限をかけざるを得ない。例え発熱の問題を解消したとしても、バッテリ駆動時に消費電力を抑える必要はあるだろう。それでパフォーマンスがガタガタに落ちてしまうようでは、本当の意味でモバイルに最適なプロセッサとは言えない。

 そこでBaniasは、ノートPCに搭載しバッテリで駆動させることをあらかじめ考慮し、そうした場合にパフォーマンスが良くなるようにという視点からマイクロアーキテクチャの設計を行っている。だから、より低い消費電力にチューニングした時、BaniasはPentium 4よりも大幅にパフォーマンスが良くなるのである。


Baniasは絶対性能でデスクトッププロセッサに負けるが、ノートPCに搭載できる電力であれば、パフォーマンスが良くなる

 そのBaniasプロセッサのアーキテクチャ上の特徴として、Intelは、「Advanced Branch Prediction」、「Dedicated Stack Manager」、「Micro-Op Fusion」、「Power Optimized Processor System Bus」という、ハイパフォーマンスと低消費電力を両立させる技術要素を挙げている。

 このうちAdvanced Branch Predictionは、プログラムの分岐予測精度を向上させる機能だ。分岐予測精度の向上はパフォーマンスアップに不可欠な要素だが、消費電力の低減にも寄与する。分岐予測が外れると、それまでパイプラインの中で処理された途中経過がすべて破棄されてしまう。つまり、せっかく電力を使ってプログラムの実行が進められていたのに、その時に使った電力は何らパフォーマンスに寄与しないからだ。逆に言えば、予測ミスを減らすことで電力の無駄を抑えることができるわけである。

 BaniasではJITコンパイラやオブジェクト指向プログラミングで作られたコードなど、近年よく使われるようになったプログラムコードの傾向を分析し、その結果を分岐予測ロジックに新機能として組み込むことで予測精度を上げている。向上幅は20%にも達するという。

 Dedicated Stack Managerは、プロセッサが割り込み無しで命令を実行できるよう、スタック管理を行う専用のハードウェア。パフォーマンス向上にも寄与するが、消費電力低減にもつながる。というのも、スタック命令が通常のパイプラインを通らず、専用のハードウェアで処理されるため、プロセッサの内部命令(μOPs)の数が減り、大規模なパイプラインではなく小規模のスタック管理機能が動作するだけで良くなるからだ。Intelのテストでは、μOPsが5%以上も減ったという。

 Micro-Ops Fusionは、同時にいくつかの命令が実行可能な場合、それらを1つの命令にまとめることで、性能を向上させると共に消費電力の低減も図る。基調講演では「目的地が同じ者同士が1台のタクシーに相乗りして移動するようなもの」と表現していた。

 その動作の詳細は明らかではない部分もあるが、大まかに言うと次のようになる。

 レジスタとメモリ内データの演算命令があったとすると、それをこれまでの命令デコーダでμOPsに変換するとメモリからのロードと演算命令、2つのμOPsが発生し、それぞれが別々に命令バッファで管理される。

 しかし、Baniasはロードと演算の2つの命令の意味を持つ1個のμOPsを生成する。こうすることでμOPsの数が減り、命令スケジューリングにかかるハードウェアリソースを削減、結果的に消費電力も抑えられる。ただし、命令の意味はμOPs2個分であるため、実行ユニットに引き渡される際には、直前で2個のμOPsへと変換される。これにより、命令スケジューラで管理しなければならないμOPsは10%以上減る。

 Power Optimized Processor System Busは、システムバスの電源管理を細かく行う。また、低電圧動作、バッファ管理を動的に最適化する機能、バスターミネータのオンダイ実装などの特徴も持っている。近年のシステムバスは高クロック化が進んでおり、消費電力を無視できないレベルにまで達している。そこで、バスに対して必要な時だけ電力を供給することにより消費電力を低減するのだ。

 Baniasのシステムバスは、基本的なプロトコルがPentium 4と共通になっており、パフォーマンス面ではPentium 4レベルのシステムバス性能を備えていると考えられる(Odemが存在しない頃、BaniasはPentium 4向けチップセットでデモされたことがあった)。つまり、高性能のシステムバスをそのまま維持しながら、省電力を実現したバス技術と言えるだろう。

 Baniasには第3世代となる新しいSpeedStepも実装される。新しいSpeedStepは複数の動作周波数ステップを持ち、アダプティブに(プログラムの実行状況に合わせて)速度の調整が行われるようになる。また多段階の切り替えになったことで、クロック周波数上下の振れ幅もより大きくなっている。

 最後に互換性だが、SSE2をサポートしているほか、APICも実装しているようだ。ノートPCでマルチプロセッサ構成は考えにくいが、ブレードサーバなどへ応用を考えているのかもしれない。

 なお、今回の「Intel Developer Forum Fall 2002」で、IntelはBaniasに関する情報を数多く公開しているが、そのすべてが公開されたわけではない。ここまで触れたように、アーキテクチャのディテールは判明したが、より細かな技術仕様の正式発表は、10月に開催される「Microprocessor Forum」まで待たなければならないようだ。

関連記事
▼ 明かされたBaniasの秘密――そのシステムプラットフォーム
▼ Intel、Baniasのアーキテクチャを語る――IDF 2日目
▼ IBM、松下、東芝……IDFで展示された各社のBanias試作機

関連リンク
▼ 特集:Intel Developer Forum Fall 2002レポート

[本田雅一, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.