ロードマップでわかる!当世プロセッサー事情 第636回
イロモノだと思っていたSamsungのプロセッサー内蔵メモリーがわりと本気だった AIプロセッサーの昨今
2021年10月11日 12時00分更新
3ヵ月近く間が空いてしまったが、AIプロセッサーに戻りたい。今週のお題は、SamsungのPIM(Processor In Memory)である。このSamsungのPIMは連載606回で一度触れている。この時はISSCCにおける発表をベースにPIMの内部構造をお届けした。
実のところ、この時の説明はまだ研究室レベルの話であり、それもあって記事の最後では「今回のものはあくまでも研究レベルの話で、今すぐこれで製品を実用化できるものではない。研究レベルであれば問題ないが、実際にこれを利用するためには開発環境と稼働環境について、OSレベルから手を入れる必要がある(少なくとも今のLinuxのままでは動作しない)」と書いたのだが、今年のHot Chipsでこれをひっくり返す発表があった。
データの移動を減らして電力を下げるため
プロセッサーをメモリー内部に入れるアイデア
PIMについて簡単にまとめておけば、AIに限らず処理性能を高めつつ消費電力を抑えようとすると、どうしてもデータの移動が大きな問題にならざるを得ない。単に、高い処理性能のためには高いメモリー帯域が必要というだけでなく、メモリーとCPUの間でのデータ移動に必要な電力が高くなりすぎる、という問題である。
これを一気に解決するのが、プロセッサーをメモリー内部に入れるというアイディアだ。PIMがProcessor In Memoryの略なのは、まさにこれを狙った効果である。
「ノイマン型プロセッサーは煩雑にメモリーとの間でデータのやり取りが行なわれる」とまで描かれてしまうと、なんと評したものか……。Hot Chipsは一応IEEEが主催する学会なので、こういう大げさな表現も許されると言えば許されるのだが
もっともここにx64コアやArm v9コアなどを突っ込むのはさすがに無理がある。プロセッサーの実装密度はメモリーと比較して桁違いに大きいからだ。
例えば1bitの記憶素子を構成するのに、DRAMならトランジスタ1個、SRAMでもトランジスタが8個あれば足りる。32bit演算(C=A+B)を実現するのに、記憶領域はA~Cそれぞれ32bitづつ必要だから、DRAMならトランジスタ96個、SRAMなら768個必要になる。
これに対してプロセッサーは、Intel 4004ですら2200個、8080なら4500個ほどだ。32bit演算が普通にできる80386だと、トランジスタ数は27万5000個である。要するに、汎用のプロセッサーをメモリーに組み込もうとすると、メモリーとプロセッサの比率がかなりおかしなことになる。
これは汎用プロセッサーを組み込もうとするから無理があるのであって、特定機能に絞ったプロセッサーを作れば回路規模もずっと小さくなるので、メモリーに組み込むことも現実的になる。SamsungのPIMの場合、畳み込み演算に必要な乗加算と積和回路のみを実装することで回路規模を最小に抑えたことで、HBM2メモリーセルと混載させることが可能になった。
具体的な混載のさせ方、PIMがサポートする命令やPIMに対する命令の与え方、PIMとDRAMセルとのデータのやり取りの方法といった技法は連載606回で説明した通りだが、今回もう少し詳細も明らかにされたのでこちらを説明したい。
ちなみにSamsungはHBM2メモリーにAquaboltという商品名を付けており、それもあって今回のHBM2ベースのPIMはAquabolt-XLという名称が付けられている。
まずPIMの内部構造について説明しよう。連載606回では下図で説明したが、これをもう少し見やすくしたのがその下の画像だ。
PIMの演算ユニットは16レーンのFP16 SIMDエンジンというのは今回初発表である。命令種類が全部で9つ、というのは606回でも説明したが、その内訳が下の画像だ。
RISC風命令とあるのは、演算結果は汎用レジスターにしか書き出さないというあたりであろうか。これをメモリーセルに戻すには、そのあとMOVE命令を実行する必要があるわけだ。
また連載606回で「論文を読む限りは、すべてのPCUには共通の命令が与えられることになり、一斉に処理する格好になる。」と書いたが、この詳細が下の画像だ。
この遷移に関してはPIMのConfiguration Registerに値を設定することで実施される格好だ。復帰は同じくConfiguration RegisterのABMR(All-Bank Mode Register)に0を設定することで行なうようだが、PIMのプログラムからの復帰はできないのだろうか?
Single BankとAll Bankはメモリーセルへのアクセスのみであり、PIMを動かすのはAll BankからAB-PIMモードに推移させることで行なわれる格好だ。全バンク一緒に動作、ということなのでやはり全PCU上では同一のプログラムが稼働する格好になると思われる。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第894回
PC
AMD「Ryzen AI Embedded X100」のリアルタイムAI制御が、Jetsonの弱点であるCPU性能を突く -
第893回
PC
インテル製GPU「Crescent Island」の正体、容量480GBメモリーでエージェント型AIとKVキャッシュ問題に挑む -
第892回
PC
Hot Chipsで明かされた「Wildcat Lake」の全貌 Foverosを捨てMCPを選んだインテルの舞台裏 -
第891回
PC
謎多き次世代Xeon「Diamond Rapids」を解剖、3D Meshの進化と新命令セットAPXがもたらす変革 -
第890回
PC
Samsung「SF2P」の全貌! GAA最大の弱点であるPMOS性能低下を克服し、TSMC追撃へ準備万端 -
第889回
PC
なぜ巨大チップは歪んで壊れるのか? SK HynixのHBM4「MR-MUF」とTSMCのCoWoS-Lを襲う熱膨張の罠 -
第888回
PC
NVIDIA Rubin Ultra開発中止の真相! 180層CoWoS-Lの歪曲トラブルと、急造ラックNVL576に透ける苦肉の策 -
第887回
PC
AIなしではもはや限界 TSMCが明かすメモリー開発にAIが不可欠となった現実 -
第886回
PC
CFETの足を引っ張るPMOSを救え! imecが提案する新絶縁層と、あえて精度を緩める「Notch Alignment」の妙手 -
第885回
PC
TSMCも次世代「CFET」の全貌を披露! Forksheetスキップの背景と、世界最小6T SRAM実証で見えた2030年への布石 -
第884回
PC
Samsungが次世代CFETの試作に成功! IBMの10万ドル方式に対抗する、量産重視な「一括形成プロセス」のリアリティ - この連載の一覧へ
















