特に統合型GPUで不足するメモリ帯域とGDDR6

サムスンのGDDR6の情報ページ

パソコン、コンピュータのジャンルではCPUの性能が他のパーツをずっと上回るスピードで進化を続けてきました。

メインメモリやストレージもさまざまな面で進化を続けてはいるのですが、実際の所CPUの性能向上について行けていません。結果として現状、CPUの性能とメインメモリやストレージの性能の間には大きなギャップが生じています。

いくつかのシーンでCPU以外のパーツがコンピュータ全体の性能の足かせになる部分が増えています。

今回はこの辺りの事情をいくつかのケースを取り上げる形でまとめてみます。

CPU単独でも不足するメモリ帯域

現在パソコンのメインメモリで多く使われているのはDDR4というタイプのメモリです。DDR、「ダブルデータレート」というデータの読み出し方法を採用する前のメモリよりも、数倍以上高速なメモリの転送速度を実現しています。

ですが、そこまで高速化したメモリでも現在のCPUが要求するメモリの読み出し速度・書き出し速度を満たしきることが出来ません。

一度CPUからメインメモリの読み出し、書き込みの必要性が生じるとCPUは何十クロックにも渡って動作がほぼ止まってしまう状態になります。

これはおおざっぱに言ってメインメモリの速度とCPUの動作速度のギャップの大きさから来るものです。その速度差を埋めるために最近のCPUは比較的容量が大きめでメインメモリよりもずっと高速な「キャッシュメモリ」という領域をCPU上に備えています。

良くアクセスするデータやプログラムをメインメモリからキャッシュメモリ上にコピーしておき、そのデータ/プログラムを使用する際にはメインメモリまでアクセスに行かず、キャッシュメモリとのやりとりだけで済ますことでCPUが完全に止まってしまう状況を最低限まで減らしています。

現在のCPUは効率的にうまく動いてくれるキャッシュメモリの仕組みがないと、実性能が恐らく1/10以下に落ちてしまうでしょう。

さらにメモリの速度が必要なのはGPU

現在のパソコンのパーツで最もメモリの転送速度への要求が高いのはグラフィック用途です。画面表示のためのさまざまな処理、画面に表示する3Dのオブジェクトの演算のために、大量の高速なメモリを必要としています。

このため画面のグラフィック描画向けのプロセッサであるGPU向けには、汎用のメモリとは異なる構造を持ち、高速なメモリ読みだしが可能なGDDRというタイプのメモリが製造されています。

構造が複雑になる分、一般のメモリよりも価格は高くなります。その代わり通常のメモリの数倍以上のデータの転送速度が実現できます。

ただ、現在のGPUのハイエンド機種はどんどん規模が大きくなり、その性能を満たすためのメモリ性能もどんどんハードルが高くなっています。GDDR系のメモリを使っても、ビデオカードの性能を縛っているのは未だにメモリ周りに一因があります。

さらに高いメモリの転送速度を実現するためにHBMなどの新方式のメモリも生まれだしていますが、まだまだコストが高くなかなかそれが一般化する状況にはなっていません。

合わせ技でより厳しい統合GPU

今現在、一番メモリが性能のネックとなっているのはCPUにGPUが統合されたチップです。特にGPU部、グラフィック性能がメモリの転送速度の制限による割を食っている形になります。

CPUのメインメモリには恐らく主にコストの面からGDDR系ではなく、一般的なメモリであるDDR4メモリが使われます。このメモリは現状GDDR系の最上位であるGDDR5メモリの数分の1以下の転送速度しか出ません。

このため完全に統合GPU側はメモリ帯域不足で性能が縛られてしまっています。

統合GPU自体の規模を大きくすることである程度グラフィック性能は上がってくるのですが、メモリの転送速度がネックとなってGPUの規模差ほどには性能が伸びません。

ですので、統合GPUの規模をある程度以上大きくする意味は実はあまりないのかもしれません。統合GPUのチップ自体にコストをかけて規模を大きくしても、実際の性能の引き上げ効果は薄めになってしまうからです。

AMDの統合GPU搭載Ryzenではメインメモリにオーバークロック版の高速メモリを使用できます。実際にこのAPU版Ryzenではメモリ速度が速いほどグラフィック性能が高まることがレビューで分かっています。

ただ、オーバークロック版のメモリはその分価格が高く、どこまでメモリに予算を割くか今のメモリが高騰している状況とも合わせ判断が難しい部分です。

統合GPUを積んだCPUを使ってPCを組むメリットの一つは、ビデオカードがいらなくなることでコストを低く抑えられることですから、メモリにお金をかけすぎてしまうのは本末転倒になりかけません

さらに上に書いたとおりDDR4メモリを使っている限り、どこまで高速なメモリを使ったとしてもメモリの転送速度の限界は高くはなく、あまり高くないところでグラフィック性能の上限にぶつかってしまうからです。

別の実例としてはATOM系のCPUを積んだPCのグラフィック性能のお話がわかりやすいかもしれません。

ATOM系のCPUを採用したPCでは一般に統合GPUの性能がもう一つです。これはATOM x7以外のATOM系CPUはメインメモリがシングルチャンネル構成で、よりメモリ帯域の不足が顕著だからです。

実際ATOM x7とデュアルチャンネルメモリ構成を取ったSurface 3では、ATOMのイメージを超えるグラフィック性能が実現されています。

統合GPUの性能を出し切ったPlayStation4

ソニーのゲームコンソールであるPlayStation4の心臓部は、いわゆる統合GPUを載せたCPUを採用しています。AMDのローパワー向けのCPUコアを8つと1500SP相当ぐらいのRadeonを統合したチップを搭載します。

原理的な面から見ると一般的なDDR4メモリを使ったのでは、いくら規模の大きなGPUを使っているからと言ってもメモリ帯域不足で性能は全く出ないでしょう。

これを解消するためにPlayStation4ではメインメモリを全てGDDR系のメモリにしてしまうと言う、ある意味暴挙とも言えるような大胆な構成を取ってきました。

これによりPlayStation4は統合GPUを採用しながら、最新のゲームコンソールとして十分なグラフィック性能を発揮できる足回りを獲得しているのです。

コストさえかければ統合GPU搭載のPCでもそれなりに高いグラフィック性能が実現できます。ただ、ゲームコンソールよりも容量の大きなメモリが必要なことの多いパソコンでは、メインメモリにそれほど単価の高いチップを使うことが難しい現実があります。

PlayStation4に関しては、あの価格で8GBものGDDR系メモリを搭載できたこと自体、発売当時にはかなり衝撃的な内容でもありました。

より膨らむGPUのメモリ速度に対応するGDDR6登場へ

現在はGPU用のメモリチップにはGDDR5という規格のメモリが使われることが増えています。

ハイエンドGPUの規模はどんどん大きくなり動作クロックも上がっています。それに引きずられる形でメモリの転送速度へのニーズも留まることを知りません。

現状、GPU用のメモリは「どれだけ高速でも良い」のです。

全く異なった構成でより高いメモリ転送速度を実現するHBM2なども製品化されていますが、まだまだチップ自体も実装のためのコストも高く一般化するには至っていません。

汎用性の高いGDDR系のメモリチップにもより高いデータの転送速度が求められています。このためにGDDR5から転送速度を一気に2倍近くに引き上げられるGDDR6メモリの規格化が行なわれています。

このメモリを使うと、現在ハイエンドのGPUで使われている384bit幅のメモリインタフェースを使えば、最大864GB/sものデータ転送速度が実現できます。

また、メインストリームクラスのGPUで一般的な256bitのメモリインタフェースでも、512GB/s程度のメモリバンド幅が実現でき、既存のHBM2に迫るメモリの転送速度が実現できます。

HBM2の特徴は高いメモリ転送速度の他に低い消費電力もあり、こちらはGDDR系のメモリでは対抗がまず無理なところです。ですが、その分GDDR系メモリは実装コストがHBM系メモリよりもずっと低いメリットがあります。

このような事情から、まだしばらく一般的なビデオカードではGDDR系のメモリが使われることになるでしょう。

グラフィック用途だけではなく、HPC向けでも比較的低価格で容量の大きなメモリを準備するには、HBM系ではなくGDDR系のメモリが使われることになるかもしれません。