計算用RAM (C-RAM )は、処理要素が 同一チップ上に集積されたランダムアクセスメモリ です。これにより、C-RAMはSIMD コンピュータとして使用できます。また、メモリチップ内のメモリ帯域幅をより効率的に利用することも可能です。メモリ内で計算を行う一般的な手法は、メモリ内処理(PIM)と呼ばれます。
概要 計算用RAMの最も影響力のある実装は、バークレーIRAMプロジェクト から生まれた。ベクトルIRAM(V-IRAM)は、DRAM とベクトルプロセッサを 同じチップ上に統合したものである。[ 1 ]
再構成可能アーキテクチャDRAM(RADram)は、再構成可能なコンピューティング FPGA ロジック要素が同じチップ上に統合されたDRAMです。 [ 2 ] SimpleScalarシミュレーションによると、RADram(従来のプロセッサを搭載したシステム)は、従来のDRAM(同じプロセッサを搭載したシステム)よりも、いくつかの問題で桁違いに優れたパフォーマンスを発揮できることが示されています。
並列処理が可能なはずの 計算問題の中には、CPUとDRAM間のフォン・ノイマン・ボトルネック によって既に制限されているものがある。一部の研究者は、同じ総コストで、計算用RAMで構築されたマシンは、このような問題において従来の汎用コンピュータよりも桁違いに高速に動作すると予想している。[ 3 ]
2011年現在、「DRAMプロセス」(層数が少なく、高容量に最適化)と「CPUプロセス」(高周波に最適化、通常DRAMの2倍のBEOL 層数、層数が増えるごとに歩留まりが低下し製造コストが増加するため、このようなチップはDRAMに比べて平方ミリメートルあたりの価格が比較的高い)は十分に区別されており、計算用RAMには3つのアプローチが存在する。
CPUに最適化されたプロセスと、多くの組み込みSRAMを使用するデバイスから始め、組み込みSRAMを組み込みDRAM(eDRAM )に置き換えるための追加のプロセスステップを追加することで(平方ミリメートルあたりのコストはさらに高くなります)、SRAM面積を約3分の1に削減し(チップあたりの正味コストを削減します)。 別々のCPUチップとDRAMチップを備えたシステムから始め、DRAMプロセスの限界内で動作し、DRAMにわずかな面積を追加するだけで、DRAMに少量の「コプロセッサ」演算能力を追加し、CPUとDRAM間の狭いボトルネックによって遅くなる処理(メモリの選択した領域をゼロフィルしたり、ある場所から別の場所に大きなデータブロックをコピーしたり、特定のバイトがデータブロック内のどこにあるか(もしあれば)を検索したり)を実行します。結果として得られるシステム(変更されていないCPUチップと「スマートDRAM」チップ)は、元のシステムと同等以上の速度を持ち、コストはわずかに低くなる可能性があります。わずかな追加面積のコストは、高価なテスト時間の節約によって十分に回収できると予想されます。これは、「スマートDRAM」には十分な演算能力があるため、DRAMが満載されたウェハで、従来のように高価な外部自動テスト装置 を使用して一度に1つのDRAMチップを完全にテストするのではなく、ほとんどのテストを内部で並列に実行できるためです。[ 1 ] DRAMに最適化されたプロセスから始め、そのプロセスを微調整して「CPUプロセス」に少し近づけ、そのプロセスの制約内で(比較的低周波数だが低消費電力で非常に高い帯域幅を持つ)汎用CPUを構築する。 DRAMプロセス技術に基づいて構築されるように設計されたCPU(CPU向けに最適化された「CPU」または「ロジック」プロセス技術ではなく)には、 バークレーIRAMプロジェクト 、TOMIテクノロジー[ 4 ] [ 5 ] 、 AT&T DSP1 などがあります。
オフチップメモリへのメモリバスはオンチップメモリバスの何倍もの容量を持つため、DRAMとCPUチップが分離したシステムは、同じコンピュータ性能を持つIRAMシステムよりも数倍の エネルギー消費量 を持つ可能性がある。[ 1 ]
計算用DRAMは従来のDRAMよりも高温で動作することが予想され、チップ温度の上昇はDRAMストレージセルからの電荷リークの加速につながるため、計算用DRAMはより頻繁なDRAMリフレッシュ が必要になると予想される。[ 2 ]
プロセッサ・イン・メモリ/ニアメモリプロセッサ・イン・メモリ/ニア・メモリ(PINM)とは、 コンピュータのプロセッサ(CPU)が メモリ と密接に結合されており、一般的には同じシリコンチップ 上にあるものを指します。
このように処理コンポーネントとメモリコンポーネントを統合する主な目的は、メモリのレイテンシを 減らし、帯域幅 を増やすことです。あるいは、データを移動させる必要がある距離を短縮することで、システムの電力要件を減らすことができます。[ 6 ] 現在のプロセッサの複雑さ(ひいては消費電力 )の多くは、メモリの停止を回避するための戦略に起因しています。
DRAMベースのPIM分類 これらの4つのグループは、メモリ内処理に関する 文献で使用されている 、 メモリ配列の近くにロジックを追加するメモリ近傍処理 (PnM)と、メモリセルと回路自体を使用して計算を実行するメモリ使用処理 (PuM)という、より広範な区別に対応しています。 [ 9 ]
RAMベースのニアメモリおよびインメモリ設計は、以下の4つのグループに分類できます。
DIMMレベルのアプローチでは、処理ユニットをメモリチップの近くに配置します(メモリ近傍処理の一形態) 。これらのアプローチでは、データレイアウトの変更は最小限または不要です(例:Chameleon [ 10 ] 、RecNMP [ 11 ] )。 ロジック層レベルのアプローチでは、3Dスタックメモリのロジック層に処理ユニットを埋め込み、3Dスタックメモリの高い帯域幅(メモリ近傍処理) の恩恵を受けることができます(例:TOP_PIM [ 12 ] )。 バンクレベルのアプローチでは、各バンクの近く(メモリ近傍処理) にメモリ層内に処理ユニットを配置します。UPMEMとSamsungのPIM [ 13 ] は、これらのアプローチの例です。サブアレイレベルのアプローチでは、各サブアレイ内のデータを処理します。セルのアナログ動作を利用して、行全体に対してビット演算を実行する設計は、メモリを使用した処理の一形態です。サブアレイレベルのアプローチは最高のアクセス並列性を提供しますが、多くの場合、メモリ行全体に対するビット演算(DRISA [ 14 ] など)や、単一ワールドALUを使用したメモリ行の逐次処理(Fulcrum [ 15 ] など)といった単純な操作しか実行しません。
参考文献 1 2 3 Christoforos E. Kozyrakis、Stylianos Perissakis、David Patterson、Thomas Anderson 他 「10億トランジスタ時代のスケーラブルプロセッサ:IRAM」 IEEE Computer(雑誌) 1997年。「Vector IRAMは、メモリ配列の並列内蔵自己テストエンジンとして動作し、DRAMのテスト時間と関連コストを大幅に削減できる」と述べている。 1 2 Mark Oskin、 Frederic T. Chong 、Timothy Sherwood。 「Active Pages: A Computation Model for Intelligent Memory」Wayback Machine に2017年9月22日に アーカイブ済み。1998年。 ↑ Daniel J. Bernstein 。 「NFSにおけるメッシュルーティングに関する歴史的考察」 。2002年。「計算用RAMのプログラミング」 ↑ 「TOMI:ミリワット級マイクロプロセッサ」 ↑ Yong-Bin Kim; Tom W. Chen (1998年11月11日) 「DRAM/ロジック統合技術の評価」(PDF) . www.ece.neu.edu . 2011年7月25日にオリジナル(PDF) からアーカイブ済み。 ↑ 「GYRFALCONがAIチップの出荷を開始」 . electronics-lab . 2018-10-10 . 2018年 12月5日 取得 。 ↑ IRAM ↑ 「PIM」 。 2015年11月9日に オリジナルからアーカイブ済み 。 2015年5月26日 に取得。 ↑ Mutlu, Onur; Ghose, Saugata; Gómez-Luna, Juan; Ausavarungnirun, Rachata (2022). "メモリ内処理に関する現代的入門書". Emerging Computing: From Devices to Systems – Looking Beyond Moore and Von Neumann . Springer. pp. 171–243 . arXiv : 2012.03112 . doi : 10.1007/978-981-16-7487-7_7 . ISBN 978-981-16-7486-0 。↑ Hadi Asghari-Moghaddam 他、「Chameleon: 大規模メモリシステム向けの汎用性と実用性に優れたニアDRAMアクセラレーションアーキテクチャ」。 ↑ Liu Ke 他、「RecNMP: ニアメモリ処理によるパーソナライズド推薦の高速化」。 ↑ Dongping, Zhang, et al., "TOP-PIM: スループット指向のプログラマブルメモリ処理". ↑ Sukhan Lee 他、「商用 DRAM 技術に基づく PIM のハードウェア アーキテクチャとソフトウェア スタック: 産業製品」。 ↑ Shuangchen Li ら、「DRISA: ドラムベースの再構成可能な in-situ アクセラレータ」。 ↑ Marzieh Lenjani 他、「Fulcrum: 柔軟で実用的な現場加速器に向けた簡素化された制御およびアクセス機構」。
参考文献 Duncan Elliott、Michael Stumm、W. Martin Snelgrove、Christian Cojocaru、Robert McKenzie、「計算RAM:メモリ内プロセッサの実装」、IEEE Design and Test of Computers 、vol. 16、no. 1、pp. 32–41、1999年1月~3月。doi : 10.1109 /54.748803。