29において、Xilinxは3次元積層メモリ「HBM2」を搭載し、高速のアクセラレータ接続インタフェースであるCCIXをサポートするFPGA「UltraScale+」を発表した。HBMファミリは、同社の第4世代の3次元LSIであり、FPGA自体が3チップで構成されており、これらのチップをシリコンインタポーザに搭載して接続して大きなチップとしている。XilinxのハイエンドFPGAでは、これまでもこのやり方が使われていたが、今回は、そのシリコンインタポーザに2個のHBM2メモリを搭載している点が新しい。2.8M個のシステムロジックセル、9024個のDSPブロック、合計341Mbitのオンチップメモリを集積している。Expressポートを持っている。ExpressはCCIXポートとして使うことができる。シリコンインタポーザには2個のHBM2メモリが搭載され、メモリインタフェースは、1024bitのデータとECC用の128bitの信号を1.8Gbpsで転送する。HBM2メモリの容量は、2個合計で8GBである。VIRTEXと書かれたチップは3チップをつないだFPGAである。その下に2個のHBM2チップが見える。HBMファミリの製品の一覧とその諸元を示す。ファミリにはFPGAチップが1、2、3チップのバリエーションがあり、さらに、1チップの製品にはHBM2が1個の製品がある。HBMファミリは4種類の製品がある。HBM(VU+HBM)の主要な特徴が書かれている。16nmプロセスで製造されるFPGAチップにはハードウェアのHBM2コントローラが搭載されており、HBM2コントローラは230GB/sのバンド幅を持つ。ハードのAXIスイッチを持ち、2個のHBM2の間で統一されたメモリアクセスを可能としている。FPGAチップにはハードIPのPCIeのコントローラが搭載され、このハードIPはCCIXプロトコルをサポートしている。16nmプロセスで製造されるFPGAチップには、HBMコントローラ、CCIXプロトコルをサポートするPCIeポートが搭載されている。FPGAでは、バンド幅は460GB/s、消費エネルギーは約7pJ/bitである。バンド幅は5倍に増加し、消費電力は1/4に減少している。消費電力の減少は、FPGAとの間の配線が短く、信号線の寄生容量が減少したことと、信号振幅が小さくなったことが効いている。HBM2は1対1接続しかできず、VU37Pの場合8GBの容量になってしまう。DIMMを使えばもっと大きな容量のメモリを接続できるという違いがある。前世代のVP7PとVU+HBMファミリのVU37Pの比較。メモリバンド幅は5倍に向上し、消費エネルギーは1/4に減少している。MC)が設けられており、コントローラは2つの64bit幅のスードチャネルを持っている。2つのスードチャネルはコマンドとアドレスバスをシェアしている。各チャネルの信号は128bitであるが、それぞれのスードチャネルは256bit幅であるので、HBM2との1.8Gbpsの1/4の速度でAXIインタフェースに接続される。HBM2に対応して、VU+HBMは8つのメモリコントローラを持っている。各メモリコントローラはアドレスとコマンドバスを共用する2つのスードチャネルを持っている次の図は、4つのマスタがHBM2の4つのチャネルを使うという使用状況でのHBMメモリのインタフェースの効率を測定したものである。5組の棒グラフがあるが、UNRと書かれた3番目の組は4つのマスタがどのチャネルにもランダムにアクセスするというもので、PTPと書かれているその他の4つの組は、マスタとHBMチャネルが1対1に対応するPoint-to-Point接続の場合である。最初の2つの組はメモリアクセスのアドレスがリニアに変わるアクセス、最後の2つの組はアドレスがランダムに変わるアクセスである。PTPはマスタとチャネルの対応が一番近くなる対応で、PTPWは一番遠くなる対応となっている。各組の3本の棒グラフは、左からReadWrite、ReadOnly、WriteOnlyアクセスとなっている。マスタとチャネルの対応がランダムに変化するUNRのケースはインタフェースの効率が60%~70%に低下している。PTPの場合はReadOnlyの場合は90%を若干超える効率となっているが、ReadWriteが混在すると70%から80%の効率に低下している。マスタとHBMチャネルの対応やアクセスするアドレスのシーケンスを変えた場合のインタフェース効率の違い※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。