CPUはいよいよ8コア(オクタコア:Octa-core)の世界に突入する。Conference)でIntelは、同社初のオクタコアCPU「Nehalem-EX」の概要を明らかにした。Nehalem-EXは、元々「Beckton(ベックトン)」というコードネームで知られていた。Nehalemアーキテクチャの8個のCPUコアに、24MBのL3キャッシュを搭載する。Nehalem-EX自体は、MP(Multi-Processor)サーバーをメインターゲットにしたハイエンドのサーバー向けCPUだ。8コアは、おそらくコンシューマ向けPCにとってもすぐ目前にある。Intelが、今のところパフォーマンスCPUについては、CPUコア数を増やし続ける戦略を取っているからだ。今日のMPサーバーCPUは、明日のハイエンドデスクトップCPUとなっている。7xxx(Dunnington:ダニングトン)」を投入した。来年(2010年)の第2四半期には6コアのハイエンドデスクトップ向けCPU「Gulftown(ガルフタウン)」を投入する。MPサーバーCPU→デスクトップCPUへと、アーキテクチャは異なるがCPUコア数は継承されている。そのため、MPサーバーCPUのアーキテクチャは、将来のハイエンドデスクトップCPUを占う手がかりとなる。ちなみに、Intelがデュアルコアに移行した当初はロードマップが混乱しており、PC向けCPUがクアッドコアなのに、MPサーバーCPUはデュアルコアといった逆転現象が起きていた。Module)技術により2個のCPUダイをワンパッケージに載せた疑似マルチコア製品だった。昨年後半からは、MPサーバーの方がCPUコア数が多くなり、上位の製品もネイティブマルチコアになった。Intelの製品構成は、Nehalemが登場した2008年になってようやく正常に戻ったと言える。今後は、MP向けに最もCPUコア数の多い製品が投入され、1プロセス世代後に、そのCPUコア数がパフォーマンスデスクトップに降りてくるパターンになると予想される。※別ウィンドウで開きますPDF版はこちらまた、Nehalem-EXは、Nehalemアーキテクチャのスケーラビリティを検証するいい例でもある。Nehalemアーキテクチャで、Intelは、4コアから8コアと2コア、そして6コアへと派生させる。2(Merom)系マイクロアーキテクチャとの大きな違いとなっている。※別ウィンドウで開きますPDF版はこちら●23億トランジスタを載せたモンスターチップNehalemアーキテクチャを開発したのは、Intelのオレゴン州ヒルズボロの開発センター。今回のNehalem-EXはカリフォルニア州サンタクララのチームによる発表だった。サンタクララは、IA-64系のサーバーCPUを担当しており、サーバー向け派生チップであるNehalem-EXも担当したと見られる。下がNehalem-EXのダイレイアウトだ。ISSCCの資料をベースに一部に推測と補完を加えている。そのため、厳密には正確ではないが、概要はわかる。Nehalem-EXのダイレイアウト※別ウィンドウで開きますPDF版はこちら基本の構成は、CPUダイの中央を横断するように、システムロジック(ハブやルーター、メモリコントローラなど)を集積。ダイ中央の上下に、8スライスに分割された、24MBの共有L3キャッシュを集積する。L3キャッシュとペアになるように、8個のCPUコアを配置。Interconnect(QPI)」を4リンク。ダイの下にメモリインターフェイスを、こちらは発表では明示されなかったが4チャネル搭載した。Nehalem-EXの製造プロセス技術は、クアッドコアNehalemと同じ45nmプロセス。トランジスタ数は23億トランジスタ。ない膨大なトランジスタ数で、クアッドコアNehalemの7億3,100万と比較すると約3倍となる。ダイサイズはクアッドコアと比較して2.4倍程度(600平方mm前後)と見られる。TDPは、クアッドコアと同じ130Wに抑える。チップパッケージは49.1×56.4mmと大型で、CPUダイの他にプロセッサ情報を入れたROMチップが搭載されている。LGAソケットのランド数は1,567。64系サーバーCPUは、IA-64系CPUとソケット互換にするプランだったが、途中から変更となり現在のプランはソケット互換ではない。●CPUコア自体はクアッドコアNehalem系とよく似るNehalem-EXのダイレイアウトを見てすぐに気がつくのは、Nehalem-EXのCPUコア自体は、クアッドコアのNehalemのCPUコアと極めて似ていることだ。CPUコアの縦横比率がほぼ同じだけでなく、よく見ると、CPUコア内部のレイアウトもほぼそっくりだ。CPUコア自体にはあまり手を加えず、そのまま流用したことを示唆している。Nehalem-EXと、クアッドコアのNehalemを比較したのが下の図だ。CPUコアサイズを比較して、ほぼ同スケールだと思われる比率にしてある。Nehalem-EXとNehalem(Bloomfield)※別ウィンドウで開きますPDF版はこちらNehalem系CPUでは、256KBのL2キャッシュを含めたCPUコアが矩形のCPUコアブロックにまとめられている。矩形であるため、CPUコア数を増減させた場合のレイアウトが容易で、派生品を開発しやすい。Nehalem-EXのレイアウトでそれが実証されている。CPUコア自体がほぼ変わらないことは、Nehalem-EXでもL1とL2のキャッシュ量とレイテンシがクアッドコアNehalemと変わらないことを示している。Nehalem系では命令とデータ32KBずつのL1キャッシュが4サイクル、各CPUコア専用の256KBのL2キャッシュが10サイクルとなっている。2系まではL2の量とレイテンシは各CPUで異なったが、NehalemでL2までは一定となった。Interconnect(QPI)を4リンク備えたNehalem-EXでは、QPIを2リンクまでしか備えないNehalem-EP(Gainestown:ゲインズタウン)より多様なマルチプロセッサ構成を取ることができる。4ソケットで、2個のCPUしか搭載しない場合は、使われていないCPUソケットに対するQPIリンクを無効にすることで省電力化を図ることもできる。各QPIポート毎に2Wの電力削減が可能だという。最大8ソケットの構成も可能となる。※別ウィンドウで開きますPDF版はこちら●大型化したシステムロジック部分クアッドコアNehalemと、オクタコアNehalem-EXを比較すると、CPUコア以外のシステムロジック部分がNehalem-EXでは肥大化していることがわかる。Nehalem-EXのダイ中央の帯状のシステムロジックは、クアッドコアNehalemダイのほぼ同じ場所にあるシステムロジックと比べて3倍以上の面積を取っているように見える。CPUコアやインターフェイスリンク数が増えると、調停のためのシステムロジックが増える。システムロジックブロックの中央には「ルーター」があり、その左右にそれぞれ「ハブ」が配置されている。今回は、各ブロックの接続がわかるダイヤグラムは公開されなかったため詳細はわからないが、Nehalem-EXが8コアの接続に大きなリソースを割いていることがわかる。8コアで共有する24MBのL3キャッシュは8つの「スライス(Slice)」に分割されている。Intelは、キャッシュをサブアレイに分割して、アクセス時にアクティブにする領域を小さくすることで電力消費を下げているが、Nehalem-EXでも同じテクニックが使われている。各スライスは48のサブアレイに分かれており、1アクセスでパワーアップされるのは全体の3.125%だけとなるという。L3キャッシュスライス※別ウィンドウで開きますPDF版はこちらCPUコアとL3キャッシュスライスは、配置上ペアになっているように見えるが、Nehalem-EXでは分離して有効/無効の制御ができる。CPUコアやL3キャッシュスライス上に、欠陥があった場合は、そのコアやL3キャッシュスライスを無効にすることで、CPUコア数やL3キャッシュ量を減らしてリカバリさせることができる。Nehalem-EXのL3キャッシュには、データアレイはColumnとRowに冗長回路が、タグアレイはColumnに冗長回路がある。それらの領域に欠陥があった場合は、冗長回路に振り替えることでカバーできる。タグのRowなどに欠陥があった場合は、L3キャッシュスライス自体が使えなくなる。CPUコアも同様で、欠陥があった場合は動作できない。Nehalem-EXの場合は、どのCPUコアとどのL3キャッシュスライスも、個別に無効することができる。下の図は、CPUコアの2と5、L3キャッシュスライス1と6にそれぞれ欠陥があり無効化した場合の例だ。※別ウィンドウで開きますPDF版はこちら●さまざまな省電力機能を搭載Nehalem-EXも、クアッドコアNehalemと同様にパワーゲーティングなどの省電力機能を備えている。各CPUコアがスリープ状態になったり、上記のように無効にされると、クロックだけでなく電力供給自体をカットする。そのため、各CPUコア毎にパワースイッチを備え、スイッチをターンオフすることで、電力供給をオフにする。スイッチング電流だけでなく、リーク電流(Leakage)もカットされる。CPUコアのリーク電流は、アクティブ状態の最低電圧0.85V時に比べて40%削減されるという。L3キャッシュエリアにはスリープトランジスタ技術を使うことで、リーク電流を大幅に抑えている。L3キャッシュには、アクティブ、スリープ、シャットオフの3つのオペレーションモードがある。リーク電流を、スリープ時には35%に削減、シャットオフ時には電圧を0.36Vにまで落とすことで83%の削減がされる。ISSCCでは、Nehalem-EXの赤外線イメージが示され、無効にされたコアとキャッシュの領域がほぼ発熱がない状態にあることが示された。Storage」へと待避させる。このSRAM領域はCPUコアとは別電圧が供給され、常に内容が保持される。Unit)」が搭載されている。Nehalem-EXでも、PCUがダイレイアウト上に見える。●リーク電流を消費電力全体の16%に削減Intelは、現在、CPUの回路設計においてチャネル長の異なるトランジスタを使い分けている。クリティカルパスには、高速化のためにチャネル長が短く高速だがリーク電流がやや多いトランジスタを使う。クリティカルではない部分には、チャネル長が長く低速だがリーク電流が小さな「Long-Le」トランジスタを使う。他のメーカーのように、しきい電圧(Vt)が異なるトランジスタを使わない。Leakage)を抑制できるため、スイッチングは約10%遅くなるが、リーケッジは1/3になると説明していた。Nehalem-EXの場合は、CPUコア群のトランジスタの58%と、キャッシュアレイ以外のアンコア部分のトランジスタの85%がチャネル長の長いタイプとなっている。した省電力設計の結果、Nehalem-EXでは、トータルの消費電力のうちリーク電流が占める割合は16%にまで抑えられたという。先端CPUでは、最近は30%程度がリーク電流であることが多かった。全体の比率では、電力消費のうち54.6%がCPUコア部分、アンコア部分が33.4%で、I/O部分が11.2%となっている。※別ウィンドウで開きますPDF版はこちらNehalem-EXのクロックドメインは大きく分けて3つ。CPUコアとL2キャッシュなどのコアドメインと、L3キャッシュとシステムロジックなどのアンコアドメイン、そしてメモリインターフェイスやQPIのI/Oドメインだ。全部で16個のPLLが配置されている。CPUコアで8個、QPIで4個、メモリインターフェイスで2個、アンコア領域用(L3を含む)が1個、フィルタ用が1個。各領域で独立したクロック設定が可能となっている。電圧ドメインは、4つ。8個のCPUコアに対して供給するコアドメインが0.85Vから1.1Vの可変。L3キャッシュとシステムロジックに対するアンコアドメインが0.9Vから1.1Vで固定。I/Oに対するI/Oドメインが1.1Vで固定。この他に、PLLとオンダイサーマルセンサ用のドメインがある。※別ウィンドウで開きますPDF版はこちらIntelは、最後のNetBurst系CPUとなったデュアルコアMPサーバーCPU「Tulsa(タルサ)」で、Long-LeデバイスやL3キャッシュのシャットオフなどを取り入れた。Nehalem-EXは、その延長線上にあることがわかる。Nehalemのベースアーキテクチャのスケーラビリティも証明された。8コアになって肥大化したシステムロジック部分が示すように、マルチコア化のオーバーヘッドも明瞭となっている。今後、CPUコア数をさらに増やす場合には、ハブで接続する現在の方式とは異なる、オンチップインターコネクト技術が必要となるだろう。B.E.)やLarrabeeが採用したリングバスが最もありうる解だと推定される。