後藤弘茂のWeekly海外ニュース

AMDがGPU統合CPU「Llano」のCPUコアの技術を発表



●APUの中核となる32nmプロセスのCPUコア
ISSCCの会場となったサンフランシスコマリオットホテル

 AMDは、来年(2011年)早期に投入する予定の、32nm SOIプロセスの「K10(Hound)」系CPUコアの概要を明らかにした。米サンフランシスコで開催されたISSCC(IEEE International Solid-State Circuits Conference)で明らかにされた。32nmのK10系コアは、CPUにGPUコアを統合したAPU(Accelerated Processing Unit)の最初の製品「Llano(リャノ)」のコアとして使われる見込みだ。32nmのコアの世代名が“K10”になるかどうかわからないが、ISSCCで発表されたコアが、「FUSION(フュージョン)」と呼ばれていたCPU+GPU統合の心臓となることは間違いない。

 ちなみに、AMDはパフォーマンスデスクトップPCには、32nm世代では「Bulldozer(ブルドーザ)」を投入する。つまり、32nmでは、パフォーマンス向けにはBulldozerのディスクリートCPU、メインストリーム向けにはK10系のAPUを提供する。BulldozerもAPUへと向かうが、最初のフェイズでは、ディスクリート=Bulldozer、APU=K10と、2系統に分かれることになる。


AMDのデスクトップCPU移行図
(PDFはこちら)

 LlanoはノートPCとデスクトップPC向けの32nm APUで、1個のダイに2~4個のCPUコアとDirectX 11対応GPUコア、PCI Expressホストなどを統合する。ISSCCでの発表では、Llanoのコアと見られる32nmのCPUコアのサイズはわずか9.96平方mmで、ついに10平方mmを切った。1MBのL2キャッシュ(プラス新しく加わったパワーゲーティングリング)と合わせても面積は17.7平方mmに過ぎない。

 CPUコアだけを見ると、32nm版のK10系CPUコアのサイズは、45nm版のIntelのAtom(Bonnell:ボンネル)系CPUコアのサイズとそれほど変わらない。つまり、Llano世代のCPUコアのコストは、Atomコア並となる。もちろん、Atomを32nmに移行させればCPUコアは半分程度のサイズになるので、単純な比較はできない。

 しかし、IntelのNehalem(ネヘイレム)系CPUコアのように、32nmで256KBのL2キャッシュ込みのサイズが17平方mm近い大型コアと比べると、同プロセスでのK10系コアが、はるかに小さいことは確かだ。

 ちなみに、AMDのChuck Moore氏(Corporate Fellow and CTO Technology Development)は、2008年12月のCPUカンファレンス「Micro41」で、22nm時にはOpteronコア(K10コア)が約5平方mmの面積に、1MBキャッシュが約4.5平方mmになると予測している。32nm版のコアを見る限り、このペースで進んでいる。Bulldozerでも、2個のCPUコアを融合させたCPUモジュールが2個のCPUコアより小さなサイズになると予想される。CPUコアを大型化し続けるIntelと、CPUコアを小さく保とうとし始めたAMDで、方向が分かれて行くと見られる。

AMD CPUのコアダイサイズの推移
(PDFはこちら)

●アーキテクチャも拡張した32nm版コア

 下の図は、ISSCCで発表された32nm CPUコアのフロアプラン図(「DIGEST OF TECHNICAL PAPERS」に掲載の図)に若干手を加えたものだ。発表された図の機能ブロックの区分が若干ずれていたため、従来のK10コアのブロック図をベースに描き加えた。機能ブロックは、およその推定位置を示している。

32nmのK10コア
(PDFはこちら)
32nmと45nm K10コアの比較
(PDFはこちら)

 この32nmコアも、ほぼK10 CPUのレイアウトを踏襲している。AMDは、昨年(2009年)11月に開催した「2009 Financial Analyst Day」では、ディスクリートのCPUとGPUそれぞれとして成熟した技術を、APUとして融合させると説明していた。ただし、ISSCCで明らかにされた32nm版のK10系コアは、従来のK10コアよりもかなり拡張されていた。

 ISSCCで発表された32nm K10コアのアーキテクチャ上の拡張は以下の通り。アーキテクチャ上の拡張は、それほど大きくはないが、効率の向上に寄与しそうな部分が含まれている。命令ウインドウは従来の72エントリから84エントリへと拡張された。最も重要な点は、新しいCステイトで、これは後述する省電力機能と密接に関わっている。

◎32nm版でのアーキテクチャ上の拡張
・命令ウインドウを拡張し、整数/浮動小数点(FP)の実行スループットを向上
・ハードウェア整数除算
・浮動小数点演算(FP)命令のレイテンシを短縮
・データプリフェッチを拡張
・メモリフィルとキャッシュステイトのトランジションを高速化
・フルのプロセッサステイトのセーブを含めたI/OベースのCステイト
・バーチャライゼーションの高速化のためのTLBの拡張

●45nm K10コアと比べると電力がガクっと下がる

 32nm版のK10系コアで最も拡張されたのは、省電力関係だ。省電力フィーチャの面では、32nmのK10系コアは、45nmまでのコアとは全く別モノと言ってよさそうだ。それほど多くの拡張がなされている。これまで、AMDコアはIntelと比べると省電力機能において弱い面があったが、32nm世代ではかなり追いついた。

 実際に、45nm世代と比べると、32nmコアでは、かなりの電力が低減されている。45nmコアと比較した場合、32nmコアは同パフォーマンス時にダイナミック成分で84%、スタティック成分(リーク電流)で68%にまで電力消費が下がるという。現状のプロセス技術では、これはかなり良好な省電力化だ。

 ちなみに、32nmコア全体の消費電力のうち71%がダイナミック、29%がスタティックとなっている。現在のパフォーマンスCPUでは、さまざまな省電力手段を使っても、リーク電流(スタティック成分)は20%台までしか減らすことができない。AMDも、その事情は同じだ。

32nmと45nmの消費電力比較
(PDFはこちら)
CPUコア消費電力の内訳
(PDFはこちら)

 今回、AMD CPUの製造を担当するGLOBALFOUNDRIESは、32nm SOIプロセスで「High-K Metal-Gate (HKMG)」を採用した。HKMGは、ゲートリーク電流を抑えるのに有利となる。CPUコアの内部のL1キャッシュでは、従来の6T(6トランジスタ)SRAMセルに変えて、8T SRAMセルを採用した。8Tセル化により、より低電圧での動作が容易になったのと同時に、リードとライトを分離することで、同サイクルでのリード&ライトが容易になったという。コアのSRAMを8TにするのはIntelと同じだ。

 AMDはこれまで、CPUの中でしきい電圧(Vt)の異なるトランジスタを使い分け、特にしきい電圧が高くリーク電流の少ない高Vt(HVt)デバイスを多用してきた。しかし、32nmでは、HVtトランジスタの比率を下げ、しきい電圧は標準(RVt)でも、チャネル長の長いトランジスタ(LC-RVt)を多く採用した。より低い電圧で高いパフォーマンスを出せるためだという。このアプローチはIntelと共通している。

 アクティブ時の電力を下げるテクニックとしてCPUではクロックゲーティングが使われている。アイドル状態の機能ブロックへのクロック供給を止めることで、アクティブ電力を下げる。AMDは今回、細かな単位でクロックゲーティングを行なうことで、より効率的なクロック停止を行なえるようにした。

 AMDは今回の32nmコアからパワーモニタ回路をCPUの中に入れた。これは、CPUコアのさまざまなステイトをモニタして、きめ細かなパワーマネージメントを行なうものだ。IntelもNehalem(ネヘイレム)にパワーマネージメントを行なうプロセッサを内蔵したが、AMDの方法も同種のものだ。

 Intel CPUで本格的なパワーモニタ&パワー制御回路を内蔵したのは、IA-64プロセッサの「Montecito(モンテシト)」だった。Montecitoを含めたIA-64系CPUは、元Hewlett-PackardのPA-RISCのアーキテクトだったSamuel Naffziger氏が中心となって開発していた。実は、今回のISSCCのAMDの論文には、Samuel Naffziger氏の名前がある。Samuel Naffzigerは現在AMDに移籍しており、32nm版K10の開発に関わったようだ。だとすると、Intelとアプローチが似た省電力技術が採用されているのも当然かも知れない。

●AMDもパワーゲーティングを実装

 AMDは、このように、32nmプロセスでは省電力技術をてんこ盛りにした。その結果、電力の削減をある程度向上させることが可能になった。こうした省電力技術は、同じ32nmのBulldozerでも、ある程度採用されて行くだろう。もっとも、32nmのK10系コアの方が省電力性はより重要だ。それは、32nmのK10系コアは、パフォーマンスデスクトップではなく、メインストリームデスクトップやノートPCをターゲットとしているからだ。その市場では、省電力が重要となるため、電力削減を徹底して行なった32nmコアの方向は合致するだろう。

 特に、モバイルデバイスでの利用に向いた省電力機能も、32nmのK10では実装されている。それはパワーゲーティングだ。パワーゲーティングではアイドル状態のCPUコアへの電力供給をストップ。それによって、リーク電流を大幅に削減する。AMDの場合、CPUコアとL2キャッシュのペアになったブロック単位でパワーゲーティングを行なう。

 パワーゲーティングも、Intelが一足早く45nmから採用している。ただし、AMDのパワーゲーティングにはいくつか違いがある。まず実装では、Intelのように、分厚い金属化レイヤを形成する特別なプロセスを使わない方法を採用した。実装がより簡単になるという利点がある。パワーゲートリングは、CPUコアとL2キャッシュの回りを囲うように設置されている。

 また、Intelはパワーゲーティングのために、CPUコアのステイトを保持する特別なSRAMをCPUに実装、パワーオフからの復帰を高速化した。しかし、AMDの実装では、CPUコアのステイトは、CPU外部のDRAMに待避される。そのため、原理的にIntelのパワーゲーティングより、オンオフのレイテンシが長い。実際の機器では、パワーオフからの復帰に時間がかかることになり、どの程度実用性があるのかは、まだわからない。

K10のパワーゲーティングのシーケンス
(PDFはこちら)

 パワーゲーティングの実効性は不明だが、AMDが今回の32nm K10系コアで、徹底した低消費電力化を図ったことは確かだ。これまでにない規模の省電力機能の拡張がなされており、AMDが電力を重視していることがわかる。今後は、AMDはモバイルPCでも強味を出して行くと推測される。