後藤弘茂のWeekly海外ニュース
HaswellのeDRAMにJEDECの次世代DRAMで対抗するAMDのメモリ戦略
(2013/7/8 00:00)
増大するAPUのパフォーマンスに釣り合うメモリ帯域
AMDは次世代のAPU「Kaveri(カヴェリ)」で、GPUコアのパフォーマンスを大幅に高める。現行のTrinity(トリニティ)/Richland(リッチランド)系では、GPUコアの積和算(MAD)ユニット数は384ユニットだが、Kaveriでは512ユニットへと33%増えると見られる。しかし、現在のAPUのグラフィックスでの問題点は、演算ユニット側だけでなく、メモリ帯域側にもある。標準のコモディティDRAMでモジュールを使うことが前提となっているAPUやCPUでは、メモリ帯域をディスクリートGPU並みに高めることが難しい。
IntelもGPUコアのパフォーマンスを高めたHaswellで同じ問題に直面した。この問題を解決するため、Intelは最新の「Haswell」(ハズウェル)では「GT3e」構成のグラフィックスコアのバージョンで、eDRAMをパッケージに内蔵する手法を採った。
AMDのJoe Macri氏(CTO, Fusion)も、GPUコアを統合したAPUではメモリ帯域がボトルネックになることを認める。その上で、Intelが採ったような、超広帯域DRAMをCPUパッケージに統合する手法が理に適っていると同意する。つまり、AMDもIntelと同じ技術的な方向性を持っている。Macri氏は次のように説明する。
「基本的に、広帯域メモリをプロセッシングノードにタイトに接続することは、正しい方向性だ。Intelの方法も、アイディア自体は、正しいと考えている。実際、我々も(IntelのeDRAMと)似たようなソリューションを長年に渡って検討してきた。
しかし、問題はコストとアプローチにある。こうしたタイプのソリューションは、低いコストで、できる限りより多くのシステムに提供できるようにしなければならない。エンドユーザーが、どのハイエンドAPUでも、メモリのコストを気にせずに買うことができなければいけない。そのためには、(パッケージに組み込む)DRAMのコストを低く抑える必要がある」。
AMDも、コスト的な条件さえ整えばパッケージに広帯域DRAMを取り込もうと考えている。それ以外に、今のPCのアーキテクチャでメモリ帯域問題を解決する道がないためで、当然の方向と言える。
実際、AMDのKaveriは、GPUコアの生パフォーマンス的には、HaswellのGT3eへの対抗する位置にある。しかし、AMDはKaveriでは、IntelのeDRAMのようなソリューションを用意しない。それは、CPUパッケージにDRAMを取り込む場合は、低コストに抑える必要があるが、現状ではそれは難しい。まだ時期が熟していないという。
「Intelのコンセプトは、方向性自体は正しいが、実装方法は間違えていると思う。Intelは間違えた選択を行なった。Intelの採った(カスタムDRAM)のアプローチでは、コストが高くつきすぎるからだ。多くの顧客に広く提供はできない。
IntelのeDRAMのソリューションと比べれば、誰もがディスクリートグラフィックスを選ぶだろう。50ドルをプラスすれば、ずっと優れたディスクリートGPUソリューションが、GDDR5メモリ付きで手に入るからだ」。
Intelの採った方法では、コストがかかるため、全てのハイエンドAPUにeDRAMを採用することができないとAMDは指摘する。そのため、eDRAMソリューションを標準にして広めることができず、価格も高く設定しなければならない。そうなると、ディスクリートGPUに対する競争力が失われるというのがAMDの主張だ。
JEDECの広帯域DRAMの採用を視野に入れるAMD
AMDは、コストを下げるためにはオンパッケージのメモリに、カスタム設計のDRAMを使うのは間違えていると見ている。DRAMは標準化された規格の方が、はるかに低価格になるからだ。Macri氏は次のように指摘する。
「DRAMのコストについて言えば、JEDEC(半導体の標準化団体)で標準化されたDRAMなら安く抑えられる。DRAMメーカーが製造するメモリなら、コストに最適化されたプロセス技術で、より高い歩留まりで製造されるため、システム当たりのコストを下げることができる。DRAMが安ければ、より多くの顧客に広帯域DRAMのソリューションを提供することができる。
我々は、(パッケージに取り込むことができる広帯域DRAMでは)JEDECで“Wide I/O2”や“HBM”(High Bandwidth Memory)などを設計している。近い将来には、JEDECの標準的なDRAMで、多くの選択肢が産まれると考えている。将来、APUにDRAMを組み合わせるソリューションを提供する場合も、価格的にAMDのディスクリートグラフィックスソリューションより明確に低くなければいけないと考えている。その上で、優れたゲーム体験を含む、高いグラフィックス性能を提供する」。
IntelとAMDの大きな違いは、カスタム設計の特殊なDRAMを使うか、JEDEC規格の汎用のDRAMを使うかという点になる。Intelは自社Fabで製造する自社のeDRAMでHaswellのメモリ帯域を拡張した。それに対して、AMDはあくまでもJEDECの標準DRAM規格にこだわる。その方がDRAMチップ自体のコストを低減できるからだ。そして、現在、JEDECにおいて急ピッチで規格化を進めている広帯域メモリのWide I/O2とHBMが候補として指摘されている。
ただし、Macri氏のこの発言の裏には、自社で半導体Fabを持つIntelと、ファブレスのAMDの立場の違いもある。Intelは、今回、Haswell向けのeDRAMを自社で製造する。カスタムDRAMをほかの半導体メーカーに外注する場合とは異なる。Intelは、自社のFabのキャパシティをeDRAMチップの製造で埋めるため、コストの感覚はAMDとは異なる。
ワンチップで最高256GB/secを実現するHBM
Wide I/O2とHBM(High Bandwidth Memory)は、どちらもJEDECで規格化しているスタックドタイプのメモリ規格だ。いずれも超幅広インターフェイスで、マイクロバンプをピンに採用する。Wide I/O2とHBMのどちらも、Through Silicon Via(TSV)技術によってCPUやGPUの上に重ねるスタックが可能だ。また、複数のDRAMチップをTSVを使ってスタックすることもできる。違いは、Wide I/O2がモバイル向けに消費電力に焦点を合わせているのに対して、HBMはグラフィックスやHPC向けにパフォーマンスにフォーカスする点。パフォーマンスを重視するならHBM、ノートPCで電力を重視するならWide I/O2という選択になりそうだ。
Wide I/O2は1チップ256~512ピン(インターフェイス幅が異なる2種類のダイがある)で、ピン当たり転送レートは800Mbps(オーバークロック時には1Gbps)がターゲット。1チップ当たりのメモリ帯域は25.6~51.2GB/sec(オーバークロック時には68GB/sec)が予定されている。それに対して、HBMは1,024ピンで、転送レートは1~2Gbpsのレンジ、1チップ当たりのメモリ帯域は128~256GB/secを目指す。ワンチップで256GB/secのメモリ帯域になると、384-bit幅のインターフェイスのGDDR5に匹敵する。インターフェイス幅は下のようになっている。
対するHaswellのeDRAMは1チップで、帯域は片方向50GB/sec以上で、双方向なら100GB/secを超えるという。シリアルインターフェイスが片方向256-bitずつの構成だ。転送レートは1.6Gbpsと見られる。
下のメモリ帯域のチャートでは、中央あたりにある赤い点がHaswellのeDRAMで、その上がHBM、左端がWide I/O2となっている。HBMならHaswell eDRAMを大きく上回るメモリ帯域を実現できる。Wide I/O2ならHaswell eDRAMの片方向分のメモリ帯域をワンチップで実現できる。
Wide I/O2は2014年内の導入を目指して規格を策定中だ。HBMは、すでにサンプルDRAMチップのテスト段階で、Wide I/O2よりも先行したスケジュールで進んでいるという。以前の記事でHBMの製品の導入を2015年と書いたが、実際には2014年中に製品化されるペースだという。つまり、Kaveriの次のAPUあたりならギリギリ間に合う時期にDRAMが出てくる。下はJEDECが5月に開催した「Mobile Forum 2013」のスライドだ。
AMDはもともとGPUでスタックDRAM技術の先行導入を考えていた。設計が容易なGPUで導入して、それからAPU/CPUで応用する計画だったと見られる。また、当初はGPUに直接DRAMをスタックする方向を検討していたと言われる。
しかし、現在のAMDは、APUやGPUに直接Wide I/O2やHBMを載せるのではなく、シリコンインタポーザと呼ばれるシリコンの基板の上にAPUやGPUとDRAMチップを載せるソリューションを考えている。“2.5D”と呼ばれるスタックの方法で、APUやGPUに複雑なTSVの生成プロセスを使う必要がないことが利点だ。より安全に高い歩留まりでAPUやGPUを製造することができる。
DDR3/4との併用となる可能性が高いHBMやWide I/O2
Wide I/O2やHBMは、TSVでDRAMチップをスタックすることでメモリ容量を高めることができる。GPUでHBMを使う場合は、基本的にはビデオメモリを全てHBMで実装してしまう。つまり、GDDR5の代わりにHBMを使う方法が一般的になると見られる。モバイルSoC(System on a Chip)でWide I/O2を使う場合も同様で、メインメモリを全てWide I/O2で実装するのが一般的になるだろう。
しかし、PCでのAPUの場合は、低コストに大容量のメインメモリを実現しなければならないという制約がある。そのため、DDR3やDDR4のPC向けコモディティDRAMで容量を稼ぎ、増設を可能にし、その一方で、Wide I/O2やHBMをパッケージに取りこんでメモリ帯域も拡張するという方式になる可能性が高い。実際、HaswellのeDRAMソリューションはそうしたアプローチだ。
その場合、Wide I/O2やHBMをどう使うかが大きな課題となる。IntelのeDRAMのようにキャッシュとするなら、キャッシュアクセスのためのタグRAMが必要となる。Wide I/O2やHBMは、ワンチップが4~8Gbitの容量からスタートするので、タグRAMが増大してしまい、効率的ではない。下は推定されるHaswellのeDRAMソリューションのダイレイアウトで、ダイ(半導体本体)を大型化している原因の1つはタグRAMだと推測される。
しかし、ハードウェアでキャッシュとして制御しない場合も、問題が生じる。例えば、スクラッチパッドメモリとすると、明示的にソフトウェアで制御しなければならなくなり、ソフトウェア側が複雑になる。パッケージ内の広帯域DRAMと、外側のDDR3/4の両方をメインメモリとして連続する物理アドレスで制御する場合も、ソフトウェア側がメモリの違いを管理する必要が出てくる。
以前ならGPU用のメモリとして固定する手もあった。しかし、AMDはGPUを汎用に使うために、GPUコアとCPUコアのアドレス空間を共通化しようとしており、そうした流れに合わない。AMDがHBMかWide I/O2をAPUに持って来る時に、どういったアプローチを取るかが注目される。