【IDFレポート】姿を見せ始めたBanias

これまで秘密のベールの奥に隠されていた(というのは言い過ぎかもしれないが)Baniasだが、今回その一端が明らかにされた。

○さわりが紹介された基調講演

Photo01 : 基調講演のプレゼンテーションより。フロアプランは、Pentium IIIともPentium 4とも異なって見える

Baniasは130nmプロセスで製造されるが、そのトランジスタ数は7,700万にも達しており、NorthwoodコアのPentium 4(5,500万トランジスタ)をはるかに上回っている。ただ、そのフロアプラン(Photo01)を見ると、面積比で5分の2近くがL2キャッシュのSRAMで占められている。Intelは伝統的に6トランジスタのSRAMセルを使っており、仮に1MBのL2ならばそのトランジスタ数は4,800万という計算になり、ロジック回路のトランジスタ数は2,900万となる。同じ計算をPentium 4に行うと、ロジック回路は3,100万トランジスタとなるから、Pentium 4ほどの複雑な回路ではない、ということだろうか。

Photo02 : Baniasの特徴をまとめて。今回、Next Generation Intel SpeedStep Technologyには何の説明もなかった

さて、Baniasの特徴として挙げられているのは、Photo02に示すような内容である。まず実行ユニットに関しては
・投機実行をさらに最適化した。
・分岐予測をさらに強化した。
・Micro-Ops Fusion
・スタック管理専用回路を用意した。
といった項目が、データバンド幅に関しては
・消費電力を抑えた大容量L2キャッシュ
・高速なシステムバス
・強化されたプリフェッチ
・SSE2
などが挙げられ、電力管理については
・きめ細かなハードウェアゲーティング
・新世代Speed Stepを搭載
がそれぞれ搭載されることになるという。

Photo03 : この説明は、Baniasそのものと言うよりも、モバイルに必要なセキュリティ機能を実装した例であるが、しっかりBaniasとOdemが居るのが判る

基調講演では、これらの内容が詳細に説明されることはなかったが、実際にBaniasを使ったシステムの内部基盤が公開されたり(Photo03)、SamsungのBanias搭載ノートが紹介されるなど、Baniasに向けてノートPCベンダーの準備も出来ている事が示された。

○一部機能のディテールが紹介

基調講演に続くテクニカルセッションでは、一部の特徴について、詳細がさらに説明された。

Photo04 : "All mobile segments"という文言が曲者で、何かこの絵を見ていると下はPDAにまでBaniasを考えているかのように見える

まず最初に強調されたのは、Baniasはモバイル向けとしてゼロから開発されたアーキテクチャであり、既存のモバイル製品の様にデスクトップ向け製品をモバイル向けに変更した訳ではないということだ。この結果、モバイル向けに高いスケーラビリティと、デスクトップ向けを改良した製品よりも高いパフォーマンスを得ることが出来たとしている。(Photo04)これについてはちょっと含むところがあるのだが、それは後述したい。

Photo05 : Advanced Branch Predictionについて。例えばLoop detectionをどうやって行っているか、という事は今回説明はなかった

ついで、投機実行と分岐予測に関する詳細が説明された。(Photo05)投機実行に関しては、
・JIT(Just In Time:例えばJAVAとかC#といったJITコンパイラを利用するもの)やOOC(Object Oriented Code:オブジェクト指向言語。C++とか古くはSmalltalkに代表される、オブジェクトベースでの振る舞いが規定されたもの)といった、従来のプログラミングモデルでは取り扱えない複雑なプログラムの動きをカバーする。
・局所ループから大域ループまで、すべてのサイズのループ構造を認識する。
といった事が挙げられており、これまでのマイクロプロセッサとは次元の異なる投機実行を行う事をもくろんでいる事が分かる。また、分岐予測についても、従来のBi-Modal/Global branch(大域分岐と、局所的な分岐)以外に
・ループ構造の検出
・間接分岐予測
という項目が挙げられている。

多少プログラミングの話に入り込むが、例えばループ構造といっても、処理系によってループ制御命令は異なってくるから、例えば特定の命令だけをキャプチャしてループ構造と認識するのでは片手落ちであり、その分岐により、再び元の処理に戻るかどうかといった処理の流れを見ているのではないかと推察されるが、これをハードウェアで実装するのはなかなかに手間がかかる。それは投機実行の側にも言えることで、確かに従来のPentium→Pentium II→Pentium 4といった流れとは明らかに異なるアーキテクチャである。

Photo06 : Micro-Ops Fusion概念図 

もうひとつ、Micro-Ops Fusionについても説明があった。(Photo06)は、分かりやすい一例である。"add eax, dwort ptr data"という命令は、EAXレジスタの内容と、"data"というアドレスが指す先のメモリの内容を加算せよ、という処理になる。この場合の処理は
・ポインタが指す先のメモリの内容をキャッシュに読み込む(LD)
・読み込んだデータとEAXの内容を加算する(OP)
という2つの動作になるわけだ。

さてMicro-Ops Fusionがない場合、LDとOPは独立にデコードされ、スケジュールされて処理が行われる訳だが、LDが完了しないとOPは実行できないから、結果としてスケジューラ内部にOPだけが長く滞在し、ひいてはスケジューラが満杯になるという訳だ。これに対し、Micro-Ops Fusionを利用すると、LDとOPをまとめた状態でスケジューリングを行い、処理の段階で初めて分かれることになる。この処理の場合、LDが実行できればすぐにOPを開始できる(*1)訳で、無駄にスケジューラを占有することもないし、デコーダ→スケジューラのパスを無駄に占有することもないから、ひいては1クロックあたりのデコード能力の向上にもつながるというわけだ。

Photo07 : Dedicated Stack Manager概念図

Dedicated Stack Managerに関しての簡単な概念も説明された。IA-32の場合、x86時代からの継承ということもあって、スタックをプログラム中で大量に使用する。さて、ここで問題になるのはスタック操作である。PUSH/POP/CALL/RETといった命令(スタックポインタの操作やサブルーチンへのジャンプや復帰)は、いずれもスタックポインタの操作を伴うことになるが、例えばスタックを1段積む場合、現在のスタックポインタの位置(ESP)にアドレスを格納し、スタックポインタを1つ進める(ESP+4)という処理が行われることになる。ところがこのESP+4という処理、まずデコード段でMicro-Opsを消費する上、32bitのALU演算となるため効率が悪い。そこで、デコーダから直接ESPを操作できるエンジンを用意し、ここでESPの操作のみを行うようにすることで、Micro-Opsを平均5%以上削減できるようになった、という事だ。(Photo07)

○Baniasとは何か?

今回のIDFでの情報公開はここまでで、この先は10月のMicroprocessor Forumで更に詳細が発表されるという。ただ、ここまでの話をまとめる限り、BaniasはこれまでのIntelのMicroArchitectureとは全く互換性が無い、という印象を受ける。一応スケジューラの構造などを見る限り、完全アウトオブオーダーを実装し、命令セットがスーパースケーラになっていることも間違いない。が、それが例えば既存のNetBurstと互換性があるかといえば、どうも違うようだ。

今回、基調講演で展示されていたSamsungのBanias搭載ノートは1300MHz駆動だったそうだが、その程度のクロックで既存のMobile Pentium 4-Mノートと互角以上の性能を出す以上、そもそもMicroArchitectureの改良程度で収まる訳もない。ついシステムバスが既存のPentium 4バスと互換(OdemチップセットにNorthwoodを繋いでのデモが前回のIDFで行われていたから、非互換ではないだろう)ということでPentium 4互換なイメージを持っていたが、たとえるならばPentium IIIのシステムバスをPentium 4バスにして、ついでにSSE2を搭載してL2を1MBに増やした、といったほどにPentium 4とBaniasは異なるもののようだ。では、その実態は……というのはMicroprocessor Forumまで待つしかなさそうだ。

ちなみに会場にはいくつかのBanias搭載ノートのサンプルが展示されていたので、簡単にまとめておく。(Photo08~12)

Photo08 : Banias搭載のPanasonic CF-L2。製品というよりも、とりあえずCF-L2の筐体にBaniasを搭載したプロトタイプに見える
Photo09 : Toshibaのプロトタイプ。大きさから見てUltra Low Voltage版Baniasと思われるが、ノーコメントとの返事だった
Photo10 : NECのプロトタイプ
Photo11 : そのほかにも多数のBanias搭載のプロトタイプが展示されていた
 

(*1)細かく言えば、キャッシュミスすればLDの完了にかなり時間が掛かるから、その間Opは待たされることになるが、逆にオンキャッシュならばほとんどディレイない。

(大原雄介)

【News Special】IDFレポート
http://pcweb.mycom.co.jp/news/special/2002/09/10/01.html

インテル、モバイルコンピューティングの未来はBaniasと4つの指針
http://pcweb.mycom.co.jp/news/2002/08/29/06.html

【インタビュー】新プロセッサ「Banias」とは? チャンドラシーカ氏に尋ねる
http://pcweb.mycom.co.jp/news/2002/04/18/24.html

Intel
http://www.intel.com/



人気記事

一覧

イチオシ記事

新着記事