コンピュテーショナルRAM

コンピュテーショナルRAM（略：C-RAM）は同一チップ上に統合された処理素子付きランダムアクセス・メモリである。これはC-RAMをSIMDコンピュータとして使用されることを可能にする。またこれはメモリチップ内のメモリ帯域幅をより効率的に使うことも可能にする。メモリ内で計算を行う一般的なテクニックはProcessing-In-Memory（PIM、メモリ内処理）と呼ばれる。

概要
コンピュテーショナルRAMの実装で最も影響したものはから来ていた。ベクターIRAM（V-IRAM）は同一チップ上に統合されたベクター・プロセッサとDRAMを結合させるChristoforos E. Kozyrakis,
Stylianos Perissakis,
David Patterson,
Thomas Anderson, et al.
"Scalable Processors in the Billion-Transistor Era: IRAM".
IEEE Computer (magazine).
1997.
says
"Vector IRAM ...
can operate as a parallel built-in self-test engine for
the memory array, significantly reducing the DRAM
testing time and the associated cost."。

再構成可能アーキテクチャDRAM（RADram）は同一チップ上に統合された再構成可能コンピューティングFPGA論理素子付きDRAMであるMark Oskin, Frederic T. Chong, and Timothy Sherwood.
"Active Pages: A Computation Model for Intelligent Memory".
1998.。SimpleScalarシミュレーションは（在来型のプロセッサを持つシステムで）RADramが一部の問題に関しては（前者と同じプロセッサを持つシステムで）従来のDRAMよりも桁違いに優れたパフォーマンスを実現できることを示している。

いくつかのを持つ計算問題はCPU―DRAM間のフォン・ノイマン・ボトルネックによって既に制限されている。一部の研究者は（同額の総費用において）コンピュテーショナルRAMで構築されたマシンは、この種の問題に関して従来の汎用コンピュータよりも桁違いに高速に実行できると予想しているDaniel J. Bernstein.
"Historical notes on mesh routing in NFS".
2002.
"programming a computational RAM"。

2011年時点では、「DRAMプロセス（2〜3層; 大容量向けに最適化）」と「CPUプロセス（高周波向けに最適化; 通常はDRAMの2倍のBEOL層があり; 層が追加されるたびに歩留まりが低下し製造コストが増加するため、このようなチップは相対的にDRAMと比較して平方ミリメートルあたりのコストが高い）」はコンピュテーショナルRAMを実現する3つのアプローチを支えるには十分な他とは全く別個な性質を持つ:

 CPU最適化プロセスと大量の埋込みSRAMで開始する場合、（平方ミリメートルあたりのコストがさらに高くなる）埋込みSRAMを埋込みDRAM（eDRAM）に置き換えることを可能にする追加の処理工程を追加し、SRAM領域の面積が約(≈)3倍節約され（結果チップあたりの純コストが削減される）。
 CPUとDRAMチップ分離式のシステムから開始する場合、CPU―DRAM間の狭いボトルネックによって速度が低下する可能性のある(メモリの選択された領域をゼロフィルし、巨大なデータのブロックをある場所から別の場所にコピーし、データのブロック内で指定されたバイトが（どこかにある場合）発生する場所を見つけるなどをする)処理を実行するために、(DRAMプロセスの制限内で動作しそしてDRAMに少しエリアを食う)「コプロセッサ」の計算能力を少量DRAMに追加する。結果として得られるシステム変更されていないCPUチップと「スマートDRAM」チップは、元のシステムと少なくとも同じ速度でありながら、コストがわずかに低くなる可能性がある。少量の追加領域のコストは（「スマートDRAM」における計算能力はDRAM満載のウェハについて並行して内部的に大抵のテストを実行するのに十分な計算能力が現在あるため）高価な外部を使用して一度に1つずつDRAMチップを完全にテストするという従来のアプローチではなく、高価なテスト時間の節約として十分に回収されることが期待される。
 DRAM最適化プロセスで開始する場合、プロセスを微調整して「CPUプロセス」に少し寄せ、そのプロセスの制限内で（比較的低周波、しかし低電力かつ超高帯域幅な）汎用CPUを構築する。

（特にCPU用に最適化された「CPU」または「ロジック」プロセス技術ではなく）DRAMプロセス技術に基づいて製造されるように設計された一部のCPUには、TOMIテクノロジー"TOMI the milliwatt microprocessor"Yong-Bin Kim and Tom W. Chen.
"Assessing Merged DRAM/Logic Technology".
1998.、そしてAT&T DSP1が含まれる。

オフ=チップ・メモリ用メモリ・バスにはオン=チップ・メモリ・バスの何倍もの静電容量があるため、DRAMチップとCPUチップが分離しているシステムでは、同じのIRAMシステムの数倍のが発生する可能性がある。

コンピュテーショナルDRAMは在来のDRAMよりも高温で動作し、そしてチップ温度が上昇した結果としてDRAMの格納セルからの漏電がより速くなることが予想されるため、コンピュテーショナルDRAMでは、より頻繁なDRAMリフレッシュが必要になることが予想される。

 プロセッサ＝イン＝/ニア＝メモリ 

プロセッサ＝イン＝/ニア＝メモリ (PINM)は一般的に同一シリコンチップ上に、コンピュータ・プロセッサ (CPU)とメモリが緊密に結合された物を指す。

この手法における処理コンポーネントと記憶コンポーネントの統合の主目的はメモリレイテンシの削減との向上にある。その他にも、距離の削減はデータ移動に伴うシステムの電力要求を減らすことにつながる。現在のプロセッサの複雑さ（そしてそれゆえ消費電力）の大半は、メモリ・ストールを回避するための戦略に起因する。

一例
 1980年代において、FORTHが実行されるタイニーCPUはPUSHとPOPを改善するためにDRAMチップに組み付けられていた。FORTHはであり、これはその効率性を改善した。
 トランスピュータも80年代初頭に作られたそれは本質的にはプロセッサ=イン=メモリにさせる性格を与えられた大規模なオンチップメモリを同様に持った。
 著名なPIMプロジェクトにはカリフォルニア大学バークレー校のバークレーIRAMプロジェクトIRAMと ノートルダム大学のPIMプロジェクトの取り組みが含まれる。

DRAMベースのPIMタクソノミー（分類法）
DRAMベースのニア=メモリとイン=メモリ設計は以下の４つのグループにカテゴライズされる:
 DIMMレベル・アプローチでは処理ユニットをメモリチップ付近に置く。 これらのアプローチはデータ・レイアウトにおいて最小／無変更を要求する（例えば、ChameleonHadi Asghari-Moghaddam, et al., "Chameleon: Versatile and practical near-DRAM acceleration architecture for large memory systems".とRecNMPLiu Ke, et al., "RecNMP: Accelerating Personalized Recommendation with Near-Memory Processing".）。
 論理層レベル・アプローチは3D積層メモリの論理層に処理ユニットが組み込まれ、3D積層メモリの高帯域幅からの利益を得られる（例えば、TOP_PIMDongping, Zhang, et al., "TOP-PIM: Throughput-oriented programmable processing in memory".）。
 バンク=レベル・アプローチは処理ユニットを各バンク近く、メモリ層の中に置く。UPMEMとサムスンのPIMSukhan Lee, et al., "Hardware Architecture and Software Stack for PIM Based on Commercial DRAM Technology : Industrial Product". がこれらのアプローチの一例である。
 サブアレイ=レベル・アプローチはデータを各サブアレイ内で処理する。サブアレイ=レベル・アプローチは最高のアクセス並列性を提供するが、しかしメモリ行全体に対するビット単位の演算や（例えば、DRISAShuangchen Li, et al.,"DRISA: A dram-based reconfigurable in-situ accelerator".）もしくはシングル=ワードALUを使用したメモリ行の逐次処理（例えば、FulcrumMarzieh Lenjani, et al., "Fulcrum: a Simplified Control and Access Mechanism
toward Flexible and Practical In-situ Accelerators".）のような単純な演算だけを実行することが多い。

関連項目

 SyNAPSEは同様に1つのチップ内でプロセッシングとメモリを結合する。


 ザ・マシン (コンピュータ・アーキテクチャ)
 シリアル・コンピュータ#超並列マシン
 スクラッチパッドメモリ

 外部リンク 

 ASCII.jp
 Samsung
2021年
10月11日イロモノだと思っていたSamsungのプロセッサー内蔵メモリーがわりと本気だった AIプロセッサーの昨今
03月15日Samsungがついにメモリー内にプロセッサーを統合 AIプロセッサーの昨今
GIGAZINE
AIをさらに効率的に動かせる新型チップ「NeuRRAM」発表、より小型のデバイスで大規模なAIアルゴリズムの実行と精度アップが可能に2022年11月16日

脚注

ビブリオグラフィ
 Duncan Elliott, Michael Stumm, W. Martin Snelgrove, Christian Cojocaru, Robert McKenzie, "Computational RAM: Implementing Processors in Memory", IEEE Design and Test of Computers, vol. 16, no. 1,  pp. 32–41, Jan–Mar 1999. .

Category:主記憶装置
Category:コンピュータアーキテクチャ