Nehalem Detail
こちらの記事では主に直近の製品についてレポートしたが、引き続き、もう少し先の製品についてもレポートしてみたい。まずはPenrynの次世代であるNehalemについてである。Nehalemというコード名自体は昨年秋のIDF Fall 2006で「それとなく」公開されていたが、公式にアナウンスされたのはIDFに先立つ今年3月29日の電話会議の席上である。この時点で、
- 4命令同時発行
- Symmetric Multi-Threadingの搭載
- マルチレベルの共有キャッシュ
- 1~8個のコアを集積
- GPUやメモリコントローラの統合
- Point-to-Point Serial Interconnectの採用
といった特徴が語られることになったが、IDFにおいてもここから大きく踏み出すような話はなかった。とはいえ、細かな補足情報に関してはいくつか語ってくれたので、まずはこれをまとめてみたい。
基調講演ではこんなプレゼンテーション(Photo01,02)が示されており、話は当然ここに集中することになる。ただ、これをストレートに突っ込んで聞いても「今の時点では細かい話は出来ない」で終わりである。そこで色々回り道をして聞いた結果をまとめると、
- Nehalem世代ではメモリコントローラ統合は必須。純技術的に言えば、メモリコントローラを統合しないコアを作ることも可能だが、現実問題として現時点で予定しているのは、全てメモリコントローラを統合したものになる予定。
- そのメモリコントローラだが、「我々はUnbufferタイプとBufferタイプの両方をサポートする」という言い回しで、Unbuffered DDR3と恐らくはFB-DIMM2をサポートする。Registered DDR3に関しては言及はなかった。
- SMT(Simultaneous Multi-Threading)を利用する理由は、Pentium 4世代とは異なっている。NetBurstでは、実行ユニットの利用効率の低さをHyper-Threadingで補う形になっていた。対してNehalemの場合、SMTを使うからといって実行ユニットの利用効率が低い訳ではない。むしろ(NetBurstに比べて)少ないパイプライン段数のため、複数スレッドを効果的に切り替えることができる。ちなみにNehalem世代をHyper-Threadingと呼ばないのは、Hyper-Threadingという単語は製品の機能の名称となっているからで、Nehalem世代でどんな名前になるかはまだ決まっていない。
- 最大8コアまでを集積する予定だが、1ダイで8コアまで集積するかについて現時点では明言されていない。ただ「非常に良いMCM(Multi Chip Module)技術を持っている」という言い回しからすると、最低でも2ダイになる公算が高い。
- グラフィックについては現時点での情報公開は一切なし。ただ当然ながら全てのセグメント向けCPUにグラフィックを統合するわけではないとしており、モバイルやIA(Internet Appliance)向け、場合によってはビジネスデスクトップ向けにはGraphics統合コアを提供する一方、サーバー向けにはグラフィックなしという事になりそう。
- Multi-Level Shared Cacheに関しては、例えば共有L3キャッシュを持つという話なのか、もしくは逆に複数コア間でL1キャッシュの共有を図るのか、も今回は明確にされなかった。
- CSIについても、今回は殆ど情報はなし。ただ、Intelは注意深く"Point-to-Point Scaerial Link"といった言い方を崩さないが、質問者がCSIという言い方をしてもそれを一切否定はしなかった。
- CSIはNehalemのみならず、将来のItaniumプロセッサでも利用される「可能性がある」事を認めた。
というあたりが、プレゼンテーションに記載されていない主な項目となる。
これをもう少し噛み砕こう。まずCSIについて。昨年のレポートではGeneseoと混在して説明してしまったが、これは全く異なるものであることが今回明確に示されている。では具体的に何か? という話は現時点では不明である。ただしScalableというキーワードがついている事や、最近のIntelのSerial Interconnectの動向を見ていると、
- 電気的にはPCI Expressなどに似た単方向、Point-to-Point、Embedded ClockのDifferential Signalを使ったSerial Link。送信と受信を別に分離することで、全二重を構成すると見られる。AMDのHyperTransport Linkと似ている面もあるが、あくまでSerial Linkに固執すると思われる。
- バス幅及びバス速度が恐らくScalable。将来出てくるバリュー向け製品は1bit幅のリンクの可能性が大。対してサーバー向けなどは最大4~8bit幅程度の可能性が高い。速度は恐らく2.5Gbpsの倍数(2.5GHz/5GHz/10GHz)になると思われる。
- 論理層プロトコルは独自。ある程度は後述するGeneseoと共通点もあるかもしれないが、プロセッサ間通信などをサポートするために、同じではないだろう。
といったあたりに落ち着くのではないかと筆者は考えている(これをさる関係者にぶつけてみたが、残念ながらニヤっと笑って"Stay tune"としか答えてくれなかった)。