Baniasのエンジニアリングサンプル。右上はチップセットのOdem |
会期:9月9日~12日(現地時間)
会場:San Jose Convention Center
Intelがついに次世代モバイルCPU「Banias(コードネーム)」のマイクロアーキテクチャの詳細を明らかにした。9日より開催中のIntel Developer Forum Conferenceの基調講演、および技術トラックの会場において、Baniasのマイクロアーキテクチャ、さらにはBaniasプラットフォームの詳細などが解説された。本レポートでは、IDFで明らかになった内容や、情報筋などにより明らかになった情報を元に、これまでにわかったBaniasの姿についてお伝えしていく。
●マイクロOpsをできるだけ減らすことで低消費電力を実現
Baniasの特徴は、IntelのCPUとしては初めて0からモバイル用に設計されたCPUであるということだ。これまでIntelのモバイル向けCPUは、良くも悪くもデスクトップPC向けCPUの低電圧化による消費電力を下げたCPUだった。このため、消費電力はなんとかノートPCに入るレベルに収まってきたが、元々がデスクトップPC用であるため、パフォーマンスあたりの消費電力という観点では十分とは言えないものだった。そこで、Baniasではいくつかの方法でパフォーマンスを低下させないで、消費電力を抑える設計が行なわれている。これによりサーマルエンベロープをPentium IIIの時代に戻しつつ、パフォーマンスはPentium 4に匹敵するものとなっている。
これを実現するために、Baniasの実行ユニットはとにかくマイクロOps(マイクロ命令)の数を削減し、できるだけCPUが動作することを減らすことで無駄な消費電力の発生を防ぐというアーキテクチャが採用されている。たとえば、分岐予測が強化されている。分岐予測とは、分岐命令がある時に、分岐前の結果がでていない場合でも先に実行し、分岐前の結果と矛盾が生じたときには結果を廃棄、一致した場合には結果を採用することで、実行速度を高めるというアプローチで、最近のCPUには必ず採用されている。当たり前だが、分岐予測がはずれて結果を破棄することになれば、分岐予測に基づいて行なわれた演算は無駄になる。つまり、CPU的には無駄な消費電力が発生するという訳だ。
そこで、Baniasでは“Advanced Branch Prediction”という仕組みが採用されている。具体的には、標準的なプログラムの動作を記録していき、新しいプログラミングの方式でも対応できるようにしている。さらに、Baniasでは2モードの分岐予測を備えており、ループ検知や副次的な分岐予測エンジンを備えている。こうした改良により分岐予測の失敗は20%も軽減されているという。
Baniasではスタックマネージャも改良されている。通常IA-32の命令セットはSWスタックの管理を明示的に行なっている。だが、このスタックの管理というのはオーバーヘットが大きく、無駄なマイクロOpsの発生の原因ともなってしまっていた。そこで、Baniasでは“Dedicated Stack Manager”と呼ばれる方式を採用し、スタックポイントを管理し、オーバーヘッドが発生することなしに内部アカウンティングの管理が行なえるようになっている。これにより、マイクロOpsの発生を5%程度押さえることができるという。
最後に、昨年のIDF Fallでも公開された“Micro Ops Fusion”だ。プログラムが発生するIA-32の命令セットは、デコーダによりMPU内部の機械語であるマイクロOpsに変換される。通常であれば、マイクロ命令はそれぞれ個別に実行ユニットに送られることになるが、Baniasでは2つのマイクロOpsとメモリオペランドを1つにまとめて実行ユニットに送ることができる。そして、実行時には再びそれぞれのマイクロOpsに分離されて実行される。分離後にはOut-of-Order実行(実行する順序を入れ替えて実行する手法)やスーパースカラ(複数の命令を平行して実行していく)などの実行方式も許可されている。これにより、10%ほどマイクロOpsを削減することができるという。このように、Baniasでは、とにかくマイクロOpsの数を減らし、効率のよい命令実行が行なわれているのだ。
また、Baniasは大容量のL2キャッシュを搭載している。「L2キャッシュは消費電力が少なく、パフォーマンスの向上という意味でもメリットがある」(Intel モバイルプラットフォームグループ CPUアーキテクチャディレクター オフリ・ウェシェスラー氏)との通り、L2キャッシュは消費電力が少なく、さらに電力密度を下げるという意味でも大きな意味を持っている。なお、容量に関しては明らかにされなかったが、これに関してはすでにソースにより1MBであることが確認されており、2003年の第4四半期に予定されている0.09μmバージョンであるDothan(ドゥーサン)では2MBに増量される。
また、BaniasのL2キャッシュはプリフェッチ機能を備え、必要なデータを予測しあらかじめキャッシュに格納しておく。Baniasにように大容量のキャッシュを搭載している場合には、非常に有効な機能だと考えられ、パフォーマンスの向上に大きな影響があるだろう。
BaniasのCPUコア。ダイの1/3程度はL2キャッシュにより占められている | Baniasのマイクロアーキテクチャの説明 |
●次世代のSpeedStepテクノロジをサポート
「Baniasの省電力に最も貢献しているのがクロックゲーティングだ」(Intel モバイルプラットフォームグループ イスラエルデザインセンター ジェネラルマネージャ モリー・イーデン氏)との言葉の通り、Baniasの低消費電力を実現する鍵が、この“Aggressive Clock Gating”と名付けられた最新のクロックゲーティング技術だ。
クロックゲーティングとは、MPUの利用していない部分の電力をこまめに切って、消費電力を低減する。クロックゲーティング自体は、他のMPUやビデオチップなどにも採用されているテクニックだが、Baniasではこれをより高度に行なっている。たとえば、利用していないパイプラインが見つかれば、すぐにこれをシャットダウンする。だだ、パイプラインがシャットダウンしていれば、命令が実行できないので、実行する必要がある時には、すぐに通常状態へ戻す必要がある。そこで、Baniasでは復帰のレイテンシ(つまり復帰にかかる時間)をこれまでのシリコンよりも劇的に低減することにより、より高度なクロックゲーティングが可能になっているのだ。
次世代のSpeedStep技術を説明するスライド |
また、Baniasでは新しいSpeedStepテクノロジがサポートされる。
現在モバイルPentium 4-M、モバイルPentium III-Mでは、コードネームGeyserville IIことエンハンストSpeedStepテクノロジが採用されている。エンハンストSpeedStepでは、従来のSpeedStepでサポートされていたパフォーマンスモードとバッテリーモードという2つのモードに加えて、アダプティブモードというCPU負荷に応じて両モードを動的にスイッチングするモードが付け加えられていた。BaniasでサポートされるのはGeyserville IIIのコードネームで呼ばれる新しいSpeedStepテクノロジだ。
Geyserville IIIでは、アダプティブモードに関しては従来のように2ステップではなく、複数のステップが付け加えられる可能性が高い。何ステップ用意されているのかという質問に対して「ユーザーが満足するステップが用意されている」(Intel モバイルプラットフォームグループ CPUアーキテクチャディレクター オフリ・ウェシェスラー氏)と答え、複数のステップが用意されていることを示唆している。
●システムバスに関しても低消費電力の仕組みを実現
システムバスに関しても省電力が実現されている。Baniasのシステムバスは、「Pentium 4のシステムバスとは異なるが、似ている技術が採用されている」(モバイルプロダクトグループジェネラルマネージャ兼副社長 アナンド・チャンドラシーカ氏)と、基本的にはPentium 4のシステムバスの改良版となっている。実クロックは100MHzで、QDR(Quad Data Rate)を採用しているため、400MHz相当となりバス帯域幅は3.2GB/Secに達する。バスプロトコルなどはPentium 4と大きな違いはないが、駆動電圧はPentium 4に比べて大幅に下げられている。このほかにもいくつかの相違点があるようで、たとえばバッファコントロールやオンダイターミネーションは動的に行なわれる。
なお、BaniasではIA-32の拡張命令として、MMX、SSE、SSE2に対応している。
●低消費電力を実現しながら、高いパフォーマンスを実現するBanias
今回は技術発表ということもあり、マーケティング的な要素を含むクロック周波数は発表されなかった。だが、OEMメーカー筋の情報では、すでにリリース時のクロックも決定されている。具体的には表1のようになっているという。
【表1 Baniasの予想クロックと消費電力】
TDP | バッテリーモード | 平均消費電力 | リリース予定(2003年) | |
---|---|---|---|---|
1.80GHz | 21W | 未定 | 未定 | 第4四半期 |
1.70GHz | 24.5W/1.35V | 600MHz/0.85V | 1W以下 | 第2四半期 |
1.60GHz | 24.5W/1.35V | 600MHz/0.85V | 1W以下 | 第1四半期 |
1.20GHz-LV | 12W/1.10V | 600MHz/0.85V | 1W以下 | 第4四半期 |
1.10GH-LV | 12W/1.10V | 600MHz/0.85V | 1W以下 | 第4四半期 |
1GHz-ULV | 7W/1.00V | 600MHz/0.85V | 1W以下 | 第4四半期 |
900MH-ULV | 7W/1.00V | 600MHz/0.85V | 1W以下 | 第2四半期 |
これをみてわかるように、Baniasは25Wがリミットのシン&ライト、12Wがリミットとなる低電圧版(Low Voltage:LV)のサブノート向け、7Wがリミットとなる超低電圧版(Ultra Low Voltage:ULV)のミニノート向けという3種類のラインナップが用意されている。
Baniasを利用してMPEG-4をエンコードしたときの消費電力。エンコード時のみ消費電力が跳ね上がるが、終わると1W以下に下がる |
これは、Pentium IIIの時代の25W(シン&ライト)、11W(サブノート)、7W(ミニノート)というラインとほぼ同等であり、サーマルエンベロープ的にはBaniasでPentium IIIの時代に戻れることになる。実際、動作に消費電力の指標である平均消費電力は、Baniasでは1W以下が実現されている(モバイルPentium 4-Mは2W以下)。チャンドラシーカ氏の基調講演でも。MEPG-4のエンコード時には7Wまであがったが、エンコードが終了すると1W以下に下がるというデモが行なわれていた(フルパワーで7WということでULV版が使われた可能性が高い)。そうした意味でも、バッテリー駆動時間に与える影響は少なくないだろう。
なお、パフォーマンスに関してだが、「現時点では具体的な性能を明らかにすることはできないが、きっと驚いてもらえる性能だ」(ウェシェスラー氏)というだけで、今回はオフィシャルには公開されなかった。だが、情報筋によれば、OEMメーカーに対してはBaniasは同時期にリリースされる予定のモバイルPentium 4を上回るというデータが公開されているという。第1四半期にリリースされる予定のBanias 1.60GHzは同時期にリリースされる予定のモバイルPentium 4 2.40GHz-Mに比べて、MobileMark2002において17%、WebMark2001において14%ほど上回っているという(グラフ)。実クロックで800MHzも上回るモバイルPentium 4を凌駕するほどのパフォーマンスであれば、十分驚くに値する性能だと言えるだろう。
Banias 1.60GHzとモバイルPentium 4-Mとのパフォーマンス比較(筆者予想) |
さて、驚くべきは、こうしたBaniasのトランジスタ数がPentium 4(Northwoodコア)の5,500万トランジスタよりも多い、7,700万トランジスタであることだ(ただし、L2キャッシュが倍になっているので直接は比較できないが)。トランジスタ数が増えているのに、Pentium 4よりも消費電力が低く、かつパフォーマンスに関してもPentium 4に匹敵する、これがBaniasのすごさなのだ。
□IDFのホームページ(英文)
http://www.intel.com/idf/us/fall2002/
□関連記事
【9月10日】IDF Fall 2002 基調講演レポート
Banias、LaGrande、Madisonなど盛りだくさんの内容
http://pc.watch.impress.co.jp/docs/2002/0910/idf02.htm
【7月29日】【海外】Intel、Banias後継の第2世代モバイルCPU「Dothan」を来年後半に投入
http://pc.watch.impress.co.jp/docs/2002/0729/kaigai01.htm
【6月28日】【TECHXNY】IntelがBaniasに向けて2種類のブランドを検討中
~Baniasはデュアルバンドの無線LANをサポート
http://pc.watch.impress.co.jp/docs/2002/0628/tech10.htm
(2002年9月11日)
[Reported by 笠原一輝@ユービック・コンピューティング]