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プロセッサでも利用される「可能性がある」事を認めた。

というあたりが、プレゼンテーションに記載されていない主な項目となる。

Photo01:"Leverages 4 Issue Intel Core Micro-architecture Technology"という書き方をしているあたり、Conroeと同じ4 issueではあっても、その構造は異なっているとおもうべきだろう。

Photo02:それを端的に示すのが、"New System Architecture"という文言。単にバスやメモリコントローラが変わったことだけを指すわけではないと思うが。

これをもう少し噛み砕こう。まず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"としか答えてくれなかった)。