JP2018073402A - Dram基盤プロセシングユニット - Google Patents

Dram基盤プロセシングユニット Download PDF

Info

Publication number
JP2018073402A
JP2018073402A JP2017201264A JP2017201264A JP2018073402A JP 2018073402 A JP2018073402 A JP 2018073402A JP 2017201264 A JP2017201264 A JP 2017201264A JP 2017201264 A JP2017201264 A JP 2017201264A JP 2018073402 A JP2018073402 A JP 2018073402A
Authority
JP
Japan
Prior art keywords
dram
computing
dpu
rows
cell array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017201264A
Other languages
English (en)
Other versions
JP2018073402A5 (ja
JP6799520B2 (ja
Inventor
双 辰 李,
Shaungchen Li
双 辰 李,
迪 民 牛,
Dimin Niu
迪 民 牛,
クリシュナ マラディ,
Malladi Krishna
クリシュナ マラディ,
宏 忠 ズン,
Hongzhong Zheng
宏 忠 ズン,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2018073402A publication Critical patent/JP2018073402A/ja
Publication of JP2018073402A5 publication Critical patent/JP2018073402A5/ja
Application granted granted Critical
Publication of JP6799520B2 publication Critical patent/JP6799520B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40622Partial refresh of memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/403Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh
    • G11C11/405Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh with three charge-transfer gates, e.g. MOS transistors, per cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating

Abstract

【課題】多様な動作に対してプログラム可能であり、再構成可能であるDPUを提供する。【解決手段】DPU100は少なくとも1つのコンピューティングセルアレイ107とコントローラ114を含む。少なくとも1つのコンピューティングセルアレイはアレイ内に配置された複数のDRAM基盤のコンピューティングセルを含む。コントローラは少なくとも1つのコンピューティングセルアレイと連結され、少なくとも1つのコンピューティングセルアレイを構成する。少なくとも1つのカラムは少なくとも3つのローのDRAM基盤のコンピューティングセルを含む。少なくとも3つのローのDRAM基盤のコンピューティングセルは、少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、少なくとも3つのローの第3ロー内にロジック機能の結果を格納するように構成される。【選択図】図1

Description

本発明はメモリシステムに係り、さらに詳細にはDRAM基盤プロセシングユニット(DPU、Dynamic Random Access Memory Processing Unit)に関する。
一般的に、GPU(Graphics Processing Unit)とTPU(Tensor Processing Unit)とがディープラーニング(deep learning)プロセシングのために使用される。ディープラーニングプロセシングはGPU又はTPUによって効率的に処理できない高度に並列化されたプロセシングを含む。
HEMSOTH, Nicole, ‘‘The Next Wave of Deep Learning Architectures’’, The Next Platform, website (http://www.nextplatform.com/2016/09/07/next−wave−deep−learning−architectures/), September 7, 2016(5 pages). SONG, Lili et al., ‘‘C−Brain: A Deep Learning Accelerator that Tames the Diversity of CNNs through Adaptive Data−level Parallelization’’, DAC ‘16, June 5, 2016(6 pages). XU, Lifan et al., ‘‘Scaling Deep Learning on Multiple In−Memory Processors’’, AMD Research, Advanced Micro Devices, Inc.(7 pages).
本発明は上述した技術的課題を解決するためのものであって、本発明の目的はDRAM基盤プロセシングユニットを提供することにある。
本発明の実施形態に係るDPU(Dynamic Random Access Memory Processing Unit)は少なくとも1つのコンピューティングセルアレイとコントローラとを含む。少なくとも1つのコンピューティングセルアレイは少なくとも1つのカラム(column)を含むアレイ内に配置された複数のDRAM(Dynamic Random Access Memory)基盤のコンピューティングセルを含む。コントローラは少なくとも1つのコンピューティングセルアレイと連結され、DPU動作を遂行するように少なくとも1つのコンピューティングセルアレイを構成する。少なくとも1つのカラムは少なくとも3つのロー(row)のDRAM基盤のコンピューティングセルを含む。少なくとも3つのローのDRAM基盤のコンピューティングセルは、少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、少なくとも3つのローの第3ロー内にロジック機能の結果を格納するように構成される。
本発明の他の実施形態に係るDPUは少なくとも1つのコンピューティングセルアレイ、少なくとも1つのデータセルアレイ、及びコントローラを含む。少なくとも1つのコンピューティングセルアレイは第1の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤のコンピューティングセルを含む。少なくとも1つのデータセルアレイは第2の少なくとも1つのカラム内に配置された少なくとも1つのDRAM基盤のメモリセルを含む。コントローラは少なくとも1つのコンピューティングセルアレイと連結され、DPU動作を遂行するように少なくとも1つのコンピューティングセルアレイを構成し、メモリ動作を遂行するために少なくとも1つのデータセルアレイと連結されるコントローラを含む。第1の少なくとも1つのカラムは少なくとも3つのローのDRAM基盤のコンピューティングセルを含む。少なくとも3つのローのDRAM基盤のコンピューティングセルは、少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、少なくとも3つのローの第3ロー内にロジック機能の結果を格納するように構成される。
本発明の他の実施形態に係るDPUは少なくとも1つのコンピューティングセルアレイ、少なくとも1つの確率コンピューティングセルアレイ、及びコントローラを含む。少なくとも1つのコンピューティングセルアレイは第1の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤のコンピューティングセルを含む。少なくとも1つの確率コンピューティングセルアレイは第2の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤の確率コンピューティングセルを含む。コントローラは少なくとも1つのコンピューティングセルアレイと連結され、DPU動作を遂行するように少なくとも1つのコンピューティングセルアレイを構成し、確率ロジック動作を遂行するために少なくとも1つの確率コンピューティングセルアレイと連結される。第1の少なくとも1つのカラムは第1の少なくとも3つのローのDRAM基盤のコンピューティングセルを含む。第1の少なくとも3つのローのDRAM基盤のコンピューティングセルは、第1の少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、第1の少なくとも3つのローの第3ロー内にロジック機能の結果を格納するように構成される。第2の少なくとも1つのカラムは第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルを含む。第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルは、第2の少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、第2の少なくとも3つのローの第3ロー内に前記ロジック機能の結果を格納するように構成される。
本発明は多様な動作に対してプログラム可能であり、再構成可能であるDPUを提供する。本発明の実施形態によれば、高性能、エネルギーの面において効率的であり安価なシステムを提供できる。
以下の説明において、本明細書の技術構成の様相が図面に図示された例示的な実施形態を参照して説明する。
本発明の実施形態に係るDPUを例示的に示すブロック図である。 コンピューティングセルアレイ(cell array)内のコンピューティングセルに対して使用される3つのトランジスタ、1つのキャパシターのDRAMコンピューティング−セル(computing−cell)トポグラフィ(topography)の例示的な実施形態を示す。 コンピューティングセルアレイ内のコンピューティングセルに対して使用される1つのトランジスタ、1つのキャパシターのDRAMコンピューティング−セルトポグラフィの他の例示的な実施形態を示す。 本発明の実施形態に係るイントラマットシフトアレイを例示的に示す。 本発明の実施形態に係るインターマットシフトアレイを例示的に示す。 本発明の実施形態に係る左側のインターマットシフトに対する隣接するコンピューティングセルカラムにおいて同様に配置された2つのコンピューティングセルの間のインターマットシフトインターコネクション(interconnection)構成を概念的に示す。 本発明の実施形態に係る左側のインターマットシフトに対する隣接するコンピューティングセルカラムにおいて同一でないように配置された2つのコンピューティングセルの間のインターマットシフトインターコネクション構成を概念的に示す。 本発明の実施形態に係るインターマットフォワーディングアレイを示す。 本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。 本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。 本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。 本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。 本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。 本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。 本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。 本発明の実施形態に係る確率的(stochastic)データ領域を含むDPUを例示的に示すブロック図である。 多重化動作としての確率的加算動作を提供する回路を図示する。 ANDロジック動作としての確率的乗算動作を提供する回路を図示する。 本発明の実施形態に係るDPUを含むシステム構造を示す。
以下において、多様な詳細な説明を本文の理解を提供するために提示する。しかし、このような詳細な説明無しに記載された本発明の思想が当業者によって容易に具現されることはよく理解されるべきである。他の例において、広く公知の方法、手続、構成、及び回路は本文を曖昧にしないために説明しない。
詳細な説明において‘‘1つの実施形態’’又は‘‘一実施形態’’を参照することは実施形態と連関された特定な特徴、構造、又は特性が本文の少なくとも1つの実施形態に含まれることを意味する。即ち、本文の多様な位置で使用される‘‘1つの実施形態で’’又は‘‘一実施形態で’’又は‘‘1つの実施形態に係って’’又は類似な意味を有する他の表現は同一の実施形態を参照することを要求しない。さらに、特定の特徴、構造、又は特性は適切な方式により1つ以上の実施形態に組合される。これと関連して、本明細書において使用する‘‘例示的な’’という単語は‘‘例(example、instance、illustration)として提供される’’ということを意味する。本明細書において‘‘例示的な’’のように記述した実施形態は他の実施形態に比べて必ず望ましいか、有利であると考えてはならない。また、本文において言及した内容にしたがって、単数用語は複数の形態を含み、複数用語は単数形態を含む。構成図面を含む多様な図面はただ説明の目的のために使用し、図示し、定量化しない。同様に、多様な波形及びタイミング図は単純に説明の目的のために図示する。例えば、一部の構成要素は明確性のために他の構成要素と比較して誇張して図示する。さらに、適切と考慮される場合、参照番号は対応する構成要素及び/又は類似の構成要素を示すために図面に使用した。
本明細書で使用した用語は単に特定の実施形態を説明するためであり、本発明の制限を意図しない。本明細書において使用したように、文脈上特に記載しない限り、単数形態の‘‘1つ’’は複数の形態も含むと意図する。‘‘構成される’’、‘‘構成されている’’、‘‘含む’’、及び‘‘含んでいる’’の用語を本明細書において使用する時、このような用語は定まれた特徴、整数、段階、動作、要素、及び/又は成分が存在を明示するが、1つ又はそれ以上の他の特徴、整数、段階、動作、要素、成分、及び/又はそれらのグループの追加又は存在を不可能にしない。‘‘第1’’、‘‘第2’’のような用語は先に説明した構成に対するラベルとして使用し、別の定義が無い限り特定の順序(例えば、空間的、時間的、論理的、等)を意図しない。その上に、同一の参照番号は同一であるか、或いは類似の機能を有する部品、構成、ブロック、回路、ユニット、又はモジュールと関連された2つ以上の図面にわたって使用する。しかし、このような使用は単純に説明の簡易化のためであり、このような構成及びユニットの構成又は構造的な細部事項がすべての実施形態又は共通的に参照される部分/モジュールにおいて同一と意図せず、単純に、本発明の特定実施形態を指称するための1つの手段である。
特に定義しない限り、すべての用語(技術又は科学用語を含む)は本発明の装置と方法が属する分野における当業者に通常的に理解される同一の意味を有する。また、辞書的な意味として定義された用語は関連された記述及び/又は本発明の説明の状況にしたがって解釈されなければならず、このように定義されない限り、理想的に理解されるか、或いは過度に形式的な意味として理解されてはならない。
本明細書に記述した発明は多様な動作に対してプログラム可能(programmable)であり、再構成可能な(reconfigurable) DPU(DRAM(Dynamic Random Access Memory) based Processing Unit)を提供する。例えば、多様な動作は加算、乗算、シフティング(shifting)、最大/最小(MIN/MAX)、及び比較(Comparison)等を含み、本発明はこれに制限されない。一実施形態において、DPUは3つのトランジスタ、1つのキャパシター(3T1C)DRAMプロセスと構造に基づく。他の実施形態において、若干の変化と共に、DPUは1つのトランジスタ、1つのキャパシター(1T1C)DRAMプロセスと構造に基づく。したがって、DPUは特定のコンピューティングロジック回路(例えば、加算器(adder)のような)を含まない。しかし、高度の並列動作を使用するメモリセルを使用する計算を提供する。一実施形態において、DPUは乗算(multiplication)動作がANDロジック動作に変換され、加算(addition)動作が多重化(multiplexing)動作に変換される確率的コンピューティングアレイを含む。
また、本明細書に記述した発明はDPUをプログラムし、再構成するためのISA(Instruction Set Architecture)とコンパイラ(compiler)、ドライバー、ライブラリ、フレームワーク(framework)拡張(extension)を含む環境(ecosystem)を含むシステム構造を提供する。
追加的に、本明細書に記述した発明はデータセンター及び/又はモバイルアプリケーションに適合なシステム構造を提供する。そして、システム構造はGPU/ASIC(Application Specific Integrated Circuit)(TPU)/FPGA(Field−Programmable Gate Array)マシンラーニングアプリケーションに対する代案である二進(binary)と固定小数点方式(fixed point)の計算の双方に対するマシンラーニングアプリケーションのためのPIM(Processor−in Memory)ソリューションを提供する。一実施形態において、本明細書に記述した発明は高性能であり、エネルギー効率的であり、安価なシステムを提供する。該当システムは例えば二進加重ニューラルネットワーク(Binary Weight Neural Network)に対する加速化されたディープラーニングを提供する。
本明細書に記述した発明は再構成及びプログラム可能であり、DRAM技術を利用して構成されるDPUと関連される。一実施形態において、DPUは多様な動作(例えば、加算、乗算、整列、等)を遂行するように構成されるDRAM基盤のメモリセルアレイとDRAM基盤のコンピューティングセルアレイを含む。
DPUの内部構成はサブアレイ(sub−array)の複数のバンクと連結されたシステムバスを含む。一実施形態において、システムバスはサブアレイのHツリー(tree)連結されたバンクを提供するように構成される。各々のサブアレイはローカルコントローラを含み、各々の独立的なサブアレイは分離的に又は同時に活性化される。一実施形態において、DRAM基盤のセルは2つのアレイ(データセルアレイとコンピューティングセルアレイ)に区分される。一実施形態において、コンピューティングセルアレイはDRAM基盤のメモリセルにより具現される。他の実施形態において、コンピューティングセルアレイはロジック回路を含むDRAM基盤のメモリセルにより具現される。DPU内部構造は、またデータ−シフティング(data−shifting)及びデータ−移動(data−movement)回路を含む。一部の実施形態において、確率的データ計算のために構成される第3DRAM基盤のセルアレイがあり得る。
図1は本発明の実施形態に係るDPU100を例示的に示すブロック図である。DPU100は1つ以上のバンク101a乃至101mを含む。図1においては、1つ以上のバンク101a乃至101mの中のバンク101a、101bのみを図示する。各バンク101は1つ以上のサブアレイ102a乃至102nを含む。図1においては、1つ以上のサブアレイ102a乃至102nの中のサブアレイ102a、102bのみを図示する。また、各バンク101はバッファ103を含む。バッファ103は個別のサブアレイ102と連結され、システムバス104と連結される。バッファ103はサブアレイ102内の全体ロー(row)を読み出し、以後該当ローを再び同一のバンク又は他のバンクに書き込む。バッファ103は、また該当ローデータのコピーをサブアレイ102内の複数のマット105a乃至105nにブロードキャスト(broadcast)する。一実施形態において、バンク101とシステムバス104はHツリー連結されたバンクを提供するように構成される。
各サブアレイ102は1つ以上のマット(又はレーン)105を含む。図1においては、1つ以上のマット105の中のサブアレイ102aのマット105a乃至105nのみを図示する。各マット105はデータセルアレイ106、コンピューティングセルアレイ107、及びイントラマット(intra−mat)シフトアレイ108を含むDPU100の領域である。マット105の例は破線109に囲まれるように図1において図示する。各マット105はデータセルアレイデコーダー110、コンピューティングセルアレイデコーダー111、インターマット(inter−mat)シフトアレイ112、及びインターマットフォワーディング(forwarding)アレイ113を隣接するマットと共有する。一実施形態において、データセルアレイデコーダー110、コンピューティングセルアレイデコーダー111、及びインターマットシフトアレイ112は隣接するマット105の間にサブアレイコントローラ114と交互に物理的に配置される。一実施形態において、データセルアレイデコーダー110、コンピューティングセルアレイデコーダー111は従来のDRAM−タイプのメモリデコーダーのように動作する。
一実施形態において、各マット105は通信のために(communicatively)サブアレイコントローラ114と連結される。各サブアレイコントローラ114は他のサブアレイコントローラ114と独立して構成される。サブアレイコントローラ114はアドレス(addr)としての命令をDRAMアドレスバスから受信する。アドレス(即ち、アドレス信号)に応答して、サブアレイコントローラ114はデータセルアレイ106とコンピューティングセルアレイ107との中の少なくとも1つに出力としてデコーディングされたアドレスを提供する。即ち、サブアレイコントローラ114は連関されたデータセルアレイ106に対するデータセルアレイデコーダー110によってデコーディングされたソース/目的地(destination)(src/dst)アドレスを出力する。そして、コンピューティングセルアレイ107の場合、サブアレイコントローラ114はコンピューティングセルアレイデコーダー111によってデコーディングされた動作/計算(op/calc)アドレスを出力する。また、サブアレイコントローラ114は2つ以上のサブアレイコントローラ114が組織化された方法により動作できるようにするDRAMバスからのアドレスとして命令を受信する。また、サブアレイコントローラ114はデータ移動回路を制御する。例えば、サブアレイコントローラ114はイントラマットシフトアレイ108、インターマットシフトアレイ112、及びインターマットフォワーディングアレイ113を制御する。
各データセルアレイ106は少なくとも1つのカラム(column)と少なくとも1つのロー(row)内に配置される1つ以上のDRAMセルを含む。一実施形態において、データセルアレイ106は従来のDRAMセルアレイのように構成される。一実施形態において、データセルアレイ106は2Kカラム及び16ローを含む。他の実施形態において、データセルアレイ106は2Kカラムより少ないか、或いは多いカラムを含み、及び/又は16ローより少ないか、或いは多いローを含む。
各コンピューティングセルアレイ107は少なくとも1つのカラムと少なくとも1つのロー内に配置される1つ以上のコンピューティングセルを含む。コンピューティングセルアレイ107内のカラムの数はデータセルアレイ106内のカラムの数と同一である。一実施形態において、コンピューティングセルアレイ107は2Kカラム及び16ローを含む。他の実施形態において、コンピューティングセルアレイ107は2Kカラムより少ないか、或いは多いカラムを含み、及び/又は16ローより少ないか、或いは多いローを含む。
図2はコンピューティングセルアレイ(cell array)107内のコンピューティングセルに対して使用される3つのトランジスタ、1つのキャパシター(3T1C)のDRAMコンピューティングセルトポグラフィ201の例示的な実施形態を示す。図2に図示したように、ローX内の3T1Cコンピューティングセルは第1トランジスタT1を含む。第1トランジスタT1はライトビットライン(Write BL)と電気的に連結されたソース端、キャパシターC1の第1端及び第2トランジスタT2のゲート端の双方に電気的に連結されたドレイン端、及び書込みイネーブル(WEN)ラインと電気的に連結されたゲート端を含む。キャパシターC1の第2端はグランド(ground)ラインと電気的に連結される。第2トランジスタT2はグラウンドラインと電気的に連結されたソース端、及び第3トランジスタT3のソース端と電気的に連結されたドレイン端を含む。第3トランジスタT3はワードラインWLと電気的に連結されたゲート端、読出しビットライン(Read BL)と電気的に連結されたドレイン端を含む。3T1Cコンピューティングセルトポグラフィ201は読出しビットラインと電気的に連結された入力とライトビットライン(Write BL)と電気的に連結された出力を含むセンスアンプ(Sense Amplifier、SA)を含む。
また、ローY内のコンピューティングセルとローR内のコンピューティングセルの双方はローX内のコンピューティングセルの配置と同様に3T1C DRAM構成に配置された3つのトランジスタT1乃至T3とキャパシターCとを含む。図2に図示した3つのコンピューティングセル及びセンスアンプ(SA)の例はNORロジック動作(即ち、‘X NOR Y’ロジック動作)を提供するように構成される。該当NORロジック動作の結果はローRに格納される。3T1C DRAMコンピューティングセルの1つのカラムのみを図2に明示的に図示したが、3T1Cコンピューティングセルが複数のカラム(例えば、2Kカラム)内に構成される等の他の実施形態が可能であることが理解されるべきである。また、3つ以上のローが提供される他の実施形態が可能であることが理解されるべきである。また、図2に図示した3T1C DRAMコンピューティングセル構成がNORロジック動作を提供するが、3T1C DRAMコンピューティングセルトポグラフィ201のNORロジック動作が多様な機能的な動作を提供するために使用されることが理解されるべきである。例えば、機能的な動作は排他ノア(XNOR)、加算(ADD)、セレクト(SET)、MAX、SIGN、多重化(MUX)、CSA(Conditional Sum Addition)ロジック、乗算、ポップカウント(popcount)、及びCOMPARE等を含む。但し、本発明はこれに制限されない。また、イントラマットシフトアレイ108とインターマットシフトアレイ112とはシフティング機能を提供する。
図3は図1のコンピューティングセルアレイ107内のコンピューティングセルに対して使用される1つのトランジスタ、1つのキャパシター(1T1C)のDRAMコンピューティングセルトポグラフィ202の他の例示的な実施形態を示す。図3に図示したように、1T1Cコンピューティングセルは第4トランジスタT4を含む。第4トランジスタT4はキャパシターC2の第1端と電気的に連結されたソース端、ビットラインBLと電気的に連結されたドレイン端、ワードラインWLと電気的に連結されたゲート端を含む。キャパシターC2の第2端はグラウドラインと電気的に連結される。ビットラインBLはセンスアンプ(SA)の入力と電気的に連結される。センスアンプ(SA)の出力は多重化器(MUX)の第1入力、第5トランジスタT5のドレイン端、及びALU(Arithmetic Logic Unit)の入力と電気的に連結される。多重化器(MUX)の出力はラッチ(LATCH)の入力と電気的に連結される。第5トランジスタT5のソース端はラッチ(LATCH)の出力と電気的に連結される。ALUの出力は多重化器(MUX)の第2入力と電気的に連結される。図3において、第5トランジスタT5、多重化器(MUX)、ラッチ(LATCH)、及びALUは各々コントローラ114から制御信号CNTL1乃至NTL4を受信する。一実施形態において、ALUはNOR機能を提供するように構成される。図3のビットラインBLと電気的に連結されたロジック回路がNORロジック動作を提供しても、ビットラインBLと電気的に連結されたロジック回路(即ち、ALU)が他の機能動作(例えば、排他ノア(XNOR)、加算(ADD)、セレクト(SET)、MAX、SIGN、多重化(MUX)、CSA(Conditional Sum Addition)ロジック、乗算、ポップカウント、及びCOMPARE等)を提供することを理解すべきである。但し、本発明はこれに制限されない。また、イントラマットシフトアレイ108とインターマットシフトアレイ112とはシフティング機能を提供する。図3において1つの1T1Cコンピューティングセルのみを図示したが、複数のカラム及びローの1T1Cコンピューティングセルが提供されることは理解されるべきである。
図2及び図3から分かるように、DPUのコンピューティングセルは特定の複雑なコンピューティングロジックを含まない。但し、代わりに、DPUのコンピューティングセルは複数の、多様なタイプの計算を遂行する機能(ability)を提供する再プログラム可能な性質(nature)を有する相対的に単純なトポグラフィを含む。追加的に、DPUのトポグラフィは、さらに多くの計算をさらに速くてさらに効率的に遂行するためにメモリ構造に内在され、大量並列処理の長所を有するように配置される。
図4は本発明の実施形態に係るイントラマットシフトアレイ108を例示的に示す。イントラマットシフトアレイ108の説明を単純化するために、例えば図4に図示したように、4つのカラムのコンピューティングセルアレイ107の広さのマット105を考慮する。イントラマットシフトアレイ108はアレイ内に配置された複数の第6トランジスタT6(図4において1つのトランジスタのみをT6により表示する)、2シフトラインSL(nはマット105内のコンピューティングセルのカラムである)、n+2シフトレフト(left)コントロールラインSLcL、2シフトライト(right)コントロールラインSRcLs、及びnシフトマスクラインSMLを含む。イントラマットシフトアレイ108の第6トランジスタT6の一部はライトビットライン(Write BL)と2シフトラインSLとの間に電気的に連結され、イントラマットシフトアレイ108の他の第6トランジスタT6は読出しビットライン(Read BL)と2シフトラインSLとの間に連結される。このような第6トランジスタT6のゲートはn+2シフトレフトコントロールラインSLcLと2シフトライトコントロールラインSRcLsと電気的に連結される。イントラマットシフトアレイ108の他の第6トランジスタT6はnシフトマスクラインSML及び2シフトラインSLの間に電気的に連結される。イントラマットシフトアレイ108のコントロールラインはマット105と関連されたサブアレイコントローラ114と電気的に連結される。
コントロールラインSLcL、SRcL上の適合な信号によって、イントラマットシフトアレイ108はマット105内においてデータをレフト(left)シフト又はライト(right)シフトする。レフトシフティングに対して、データはサイン(sign)ビットで満たされ、1つの動作毎に1ビット又は(n−1)ビットぐらいシフトされる。nはマット105当たりのカラムの数である。ライトシフトに対して、命令による制御にしたがってデータは0又は1で満たされる。又は、データは2、2、・・・、2k−1、2マット当たりのカラムの数までシフトされる。2はカラムの数である。
図5は本発明の実施形態に係るインターマット(inter−mat)シフトアレイ112を例示的に示す。インターマットシフトアレイ112の説明を単純化するために、例えば図5乃至図7に図示したように、マット105が2つのカラムのコンピューティングセルアレイ107の広さであるマット105の構成を考慮する。即ち、各マット105はコンピューティングセル107aの第1カラムとコンピューティングセル107bの第2カラムとを含む。インターマットシフトアレイ112はトランジスタT112a、T112bとトランジスタT112c、T112d、データシフトライン112e、112f、及びインターマットシフトコントロールラインISLcLを含む。マット内において、トランジスタT112aはコンピューティングセル107aの第1カラムの読出しビットライン(Read BL)と電気的に連結されたソース端、データシフトライン112eと電気的に連結されたドレイン端を含む。トランジスタT112bはコンピューティングセル107bの第2カラムの読出しビットライン(Read BL)と電気的に連結されたソース端、データシフトライン112fと電気的に連結されたドレイン端を含む。データシフトライン112e、112fはバッファ103と電気的に連結される。バッファ103は図5に図示されない。相異なるマットとの間において、トランジスタT112cは隣接マット内のデータシフトライン112eと各々電気的に連結されたソース端及びドレイン端を含む。トランジスタT112dは隣接マット内のデータシフトライン112fと各々電気的に連結されたソース端及びドレイン端を含む。トランジスタT112c、T112dのゲートは各々相異なるインターマットシフトコントロールラインISLcLの各々と連結される。インターマットシフトコントロールラインISLcL上の適合な信号によって、インターマットシフトアレイ112は相異なるマットの間においてデータをレフトシフト又はライトシフトする。インターマットシフトアレイ112のコントロールラインはマット105と連関されたサブアレイコントローラ114と電気的に連結される。
図6は本発明の実施形態に係る左側のインターマットシフトに対する隣接するコンピューティングセルカラム105a、105bにより同様に配置された2つのコンピューティングセルの間のインターマットシフトインターコネクション(interconnection)構成を概念的に示す。図6のインターコネクション構成は利用されるインターコネクションノードによって概念的に図示する。利用されるインターコネクションノードは強調して図示する。例えば、トランジスタT112c、T112dは活性化され、これにしたがって導線経路が各々のトランジスタの間に形成される。したがって、左側のコンピューティングセルカラム105aと右側のコンピューティングセルカラム105bとの間でデータシフトライン112e、112fは連結される。トランジスタT112c、T112dのゲート端はアクティブ(active)インターマットシフトコントロールラインISLcLと電気的に連結される。マット105b内のトランジスタT112a、T112bはアクティブ化され、したがってマット105b内のコンピューティングセル107aの読出しビットライン(Read BL)はマット105bの左側であるマット105a内のコンピューティングセル107aのライトビットライン(Write BL)と電気的に連結される。また、これにしたがって、マット105b内のコンピューティングセル107bの読出しビットライン(Read BL)はマット105bの左側であるマット105a内のコンピューティングセル107bのライトビットライン((Write BL)と電気的に連結される。
図7は本発明の実施形態に係る左側のインターマットシフトに対する隣接するコンピューティングセルカラム105a、105bにより同一でないように配置された2つのコンピューティングセルの間のインターマットシフトインターコネクション(interconnection)構成を概念的に示す。図7のインターコネクション構成は利用されるインターコネクションノードによって概念的に図示している。利用されるインターコネクションノードは強調して図示する。例えば、トランジスタT112c、T112dは活性化されて導線経路が各々のトランジスタの間に形成される。したがって、左側のコンピューティングセルカラム105aと右側のコンピューティングセルカラム105bとの間でデータシフトライン112e、112fは連結される。トランジスタT112c、T112dのゲート端はアクティブインターマットシフトコントロールラインISLcLと電気的に連結される。マット105aのトランジスタT112a、T112bは活性化され、したがってマット105a内のコンピューティングセル107aのリードビットライン(Read BL)はマット105aの右側であるマット105b内のコンピューティングセル107aのライトビットライン(Write BL)と電気的に連結される。したがって、マット105a内のコンピューティングセル107bのリードビットライン(Read BL)はマット105aの右側であるマット105b内のコンピューティングセル107bのライトビットライン(Write BL)と電気的に連結される。
図8は本発明の実施形態に係るインターマットフォワーディングアレイ113を示す。インターマットフォワーディングアレイ113の説明を単純化するために、図8に図示したように2つのカラムのコンピューティングセルアレイ107広さのマット105の構成を考慮する。即ち、各マット105はコンピューティングセル107aの第1カラムとコンピューティングセル107bの第2カラムとを含む。マット105と共に、インターマットフォワーディングアレイ113はトランジスタT113a、T113b、トランジスタT113c、T113d、トランジスタT113e、T113f、2フォワーディングデータラインFDL、フォワーディングコントロールラインFCL、及び2フォワーディングセクションラインFSLを含む。ここで、nはマット内のコンピューティングセルカラムの数であり、mはセクションの数である。トランジスタT113a、T113bのソース端は各々コンピューティングセル107aの第1カラムのライトビットライン(Write BL)と読出しビットライン(Read BL)とに電気的に連結される。トランジスタT113a、T113bのドレイン端は第1データフォワーディングライン(FDL)113gに電気的に連結される。トランジスタT113c、T113dのソース端は各々コンピューティングセル107bの第2カラムのライトビットライン(Write BL)と読出しビットライン(Read BL)に電気的に連結される。トランジスタT113c、T113dのドレイン端は第2データフォワーディングラインFDL、113hに電気的に連結される。トランジスタT113e、T113fのソース端は各々トランジスタT113a、T113bのゲート端に電気的に連結される。トランジスタT113e、T113fのドレイン端の双方は同一のフォワーディングセクションラインFSLに連結される。トランジスタT113e、T113fのゲート端は各々相異なるフォワーディングコントロールラインFCLsに連結される。フォワーディングコントロールラインFCLs上の適合な信号によって、インターマットフォワーディングアレイ113はマットの間においてデータをフォワーディングする。インターマットフォワーディングアレイ113のコントロールラインは相互間にデータがフォワーディングされるマット105と連関されたサブアレイコントローラ114に電気的に連結される。
図9乃至図15は本発明の実施形態に係るDPUによって提供されるNORロジック基盤の動作を示す。図9乃至図15において、第1オペランド(operand)はローXに格納され、第2オペランドはローY又はローWに格納される。図9乃至図15内の矢印はコンピューティングセルの全体ローに対するNORロジック動作の入出力流れを示す。例えば、図9のローXはローXのコンピューティングセルに格納されたオペランドの全体ローを示す。ローX内に格納されたオペランド及びローY内に格納されたオペランドのNORロジック動作の結果は結果ローR内に格納される。一実施形態において、ローXとローYのオペランドは、例えば100個のカラム(例えば、x、x、・・・、x100及びy、y、・・・、y100)を含み、結果はローR(例えば、r、r、・・・、r100)内に格納される。即ち、x NORy=rである。ここで、iはカラムインデックス(index)である。他の実施形態において、ローXはロー内のコンピューティングセルの選択されたグループのみを示す。
図10はプレフィックス(prefix) Kogge−Stone アダー(Adder、加算器)に基づくNビット数に対するプールアダー動作を例示的に示す。図10において、第1NビットオペランドはローX内に格納され、第2NビットオペランドはローY内に格納される。図10内に図示した例示的な加算動作により、中間者(intermediate term)(G、P、G、P、G、P、・・・、GlogN+1、PlogN+1)が計算される。図10の最上のブロックはローX及びYからの入力オペランドを利用してG及びPを決定する5個の分離された動作を示す。第1動作において、最上のブロックはローXのインバース(inverse)(即ち、〜X)を決定し、これはロー1に格納される。第2動作はローYのインバース(即ち、〜Y)を決定し、これは(row)2に格納される。第3動作は‘ローXNORローY’の動作を決定し、これはロー3に格納される。第4動作は‘G0=ロー1NORロー2’を決定し、これはロー4に格納される。第5動作は‘P=ロー3NORロー4’を決定し、これはロー5に格納される。
図10の中間ブロックを参照すれば、最上ブロックからの中間結果G、Pが中間結果Gi+1、Pi+1を決定するために使用される。ここで、iは行インデックスである。即ち、図9の最上のブロックから決定された中間結果G、Pが中間結果G、Pを決定するために使用される。中間結果G、Pは中間結果G、Pを決定するために使用され、同一な過程によって中間結果GlogN+1、PlogN+1が決定される。図10の最下のブロックにおいて、結果ローR1と結果ローR2は各々プールアダー(full adder)動作に対するキャリー(carry)結果と総合(sum)結果を格納する。
図11は3T1C DRAMコンピューティングセルトポグラフィ201によって提供される例示的なセレクター(selector)動作を示す。ロー1はローXのインバース(即ち、〜X)の中間結果を格納する。ロー2はローYのインバース(即ち、〜Y)の中間結果を格納する。ロー3はローSのインバース(即ち、〜S)の中間結果を格納する。ロー4は‘ロー1NORロー3’の中間結果を格納する。ロー5は‘ロー2NORローS’の中間結果を格納する。ロー6は‘ロー4NORロー5’の中間結果を格納する。ローRはロー6のインバースの結果(S? X:Y)を格納する。
図12は3T1C DRAMコンピューティングセルトポグラフィ201によって提供される他の例示的なセレクター動作を示す。ロー1はローXのインバース(即ち、〜X)の中間結果を格納する。ロー2はローSのインバース(即ち、〜S)の中間結果を格納する。ロー3は‘ロー1NORローS’の中間結果を格納する。ロー4はローXのインバース(〜X)の中間結果を格納する。ローRは‘ロー3NORロー4’の結果(S? X:〜X)を格納する。
図13は3T1C DRAMコンピューティングセルトポグラフィ201によって提供される例示的なMAX/MIN動作を示す。ロー1はローYのインバース(即ち、〜Y)の中間結果を格納する。ロー2はローX+(〜Y+1)の中間結果を格納する。ロー3は‘Cout>>n’の中間結果を格納する。ロー4は‘Cout?X:Y’の中間結果を格納する。ローRは‘MAX(X:Y)’の結果を格納する。
図14は3T1CDRAMコンピューティングセルトポグラフィ201によって提供される例示的な1ビット乗算動作を示す。ロー1は‘ローXNORローW’の中間結果を格納する。ロー2は‘ローXNORロー1’の中間結果を格納する。ロー3は‘ローWNORロー1’の中間結果を格納する。結果ローRは‘ロー2NORロー3’の結果(即ち、‘ローX XNOR ローW’の結果)を格納する。
図15は3T1C DRAMコンピューティングセルトポグラフィ201によって提供される例示的な複数ビット乗算動作を示す。図15の上方のブロックにおいて、ロー1はローWのインバース(即ち、〜W)の中間結果を格納する。ロー2は2番目のレフトシフトされたローXのインバース(即ち、〜X<<2)の中間結果を格納する。ここで、iはインデックスである。ロー3は‘ロー1NORロー2’の中間結果(PP=〜W NOR〜X<<2)を格納する。図15の下方のブロックにおいて、ロー1は‘ローPP SUM ローPP(ΣPP)’の中間結果を格納する。ロー2は‘ロー2NORローWsign’の中間結果を格納する。ローRは‘X*W’の結果を格納する。
図16は本発明の実施形態に係る確率的(stochastic)データ領域715を含むDPU700を例示的に示すブロック図である。図1に図示したDPU100の構成要素と同一の参照インジケータ(indicator)を有するDPU700の多様な構成要素は類似であり、このような類似の構成要素の記述はここでは省略する。DPU700のサブアレイ102は、(実際の)データセルアレイ106、コンピューティングセルアレイ107、及びイントラマットシフトアレイ108と共に、確率的データアレイ715とコンバーターツー確率(converter−to−stochastic)アレイ716とを含む。
確率的データアレイ715は各々少なくとも1つのカラムと少なくとも1つのロー内に配置された1つ以上の確率的コンピューティングセルを含む。確率的データアレイ715内のカラムの数はデータセルアレイ106とコンピューティングセルアレイ107内のカラムの数と同一である。一実施形態において、確率的データアレイ715は2Kカラム及び16ローを含む。他の実施形態において、確率的データアレイ715は2Kカラムより少ないか、或いは多いカラム及び/又は16ローより少ないか、或いは多いローを含む。確率的データアレイ715内において、‘1‘が存在する確率が使用され、2ビットはnビット値を示すために使用される。コンバーターツー確率アレイ716内の乱数生成器は実数(real number)を確率的な数に変換するために使用される。ポップカウント動作は確率的な数を再び実数に変換するために使用される。
確率的なコンピューティング接近(approach)を使用して、加算は多重化動作に変換され、乗算はANDロジック動作に変換される。例えば、図17は多重化動作としての確率的加算動作を提供する回路を図示し、図18はANDロジック動作としての確率的乗算動作を提供する回路を図示する。確率的コンピューティングに対する従来の技術は巨大なメモリ容量を要求する。しかし、本明細書に記述する発明は高度に効率的な確率的コンピューティングを提供するために使用される。これはDRAM基盤のDPUが多い並列AND動作及びマックス(MUX)動作を遂行できるためである。本明細書に記述したDPUを使用する確率的コンピューティングは、またディープラーニングが一般的なアプリケーションである複雑な動作を加速化する。
図19は本発明の実施形態に係るDPUを含むシステム構造900を示す。システム構造900はハードウェアレイヤー910、ライブラリ及びドライバーレイヤー920、フレームワークレイヤー930、及びアプリケーションレイヤー940を含む。
ハードウェアレイヤー910は本明細書に記述したDPUのような内装されたDPUを含むハードウェア装置及び/又は構成要素を含む。装置及び/又は構成要素の一実施形態は1つ以上の内装されたDPUを含むPCIe装置911である。装置及び/又は構成要素の他の実施形態は1つ以上の内装されたDPUを含むDIMM(Dual In−line Memory Module)912である。システム構造900のハードウェアレイヤー910はPCIe装置及び/又はDIMMに制限されず、ハードウェアレイヤー910はDPUを含むSOC(System On Chip)装置又は他のメモリタイプ装置を含むことは容易に理解される。ハードウェアレイヤー910で装置及び/又は構成要素内に内装されるDPUは図1のDPU100及び/又は図16のDPU700と同様に構成される。他の実施形態において、DPUの特定コンピューティングセルアレイは図2の3T1Cコンピューティングセルトポグラフィ201又は図3の1T1Cコンピューティングセルトポグラフィ202を含むように構成される。
システム構造900のライブラリ及びドライバーレイヤー920はDPUライブラリ921、DPUドライバー922、及びDPUコンパイラ923を含む。DPUライブラリ921は、アプリケーションレイヤー940で動作できる多様なアプリケーションに対するハードウェアレイヤー910内のDPU内サブアレイ各々に対する、最適のマッピング機能、リソース割当機能、及びスケジューリング機能を提供するように構成される。
一実施形態において、DPUライブラリ921は移動(move)、加算、乗算等の動作を含むフレームワークレイヤー930に対するハイ−レベル(high−level)API(Application Programming Interface)を提供する。例えば、DPUライブラリ921は、また標準タイプのルーチン(routines)に対する具現を含む。標準タイプのルーチンに対する具現は、加速化されたディープラーニングプロセスに対して適用されるフォワード(forward)及びバックワード(backward)コンヴォリューション(convolution)、プリング(pooling)、標準化(normalization)、及び活性化(activation)レイヤーを含む。但し、本発明はこれに制限されない。一実施形態において、DPUライブラリ921はCNN(Convolution Neural Network)の全体コンヴォリューションレイヤーに対する計算をマッピングするAPI類似機能を含む。追加的に、DPUライブラリ921はDPU上へのコンヴォリューションレイヤー計算のマッピングを最適化するためのAPI類似機能を含む。
また、DPUライブラリ921は、タスク(task)(例えば、配置(batch)、出力チャンネル、ピクセル、入力チャンネル、コンヴォリューションカーネル)内のすべての個別又は複数の並列性(parallelism)をチップ、バンク、サブアレイ及び/又はマットレベルに該当DPU並列性にマッピングして、リソース割当を最適化するためのAPI類似機能を含む。追加的に、DPUライブラリ921は、性能(即ち、データ移動流れ)と消費電力との間において均衡を維持(trade off)する、初期化及び/又はランタイム(runtime)の時に最適のDPU構成を提供するAPI類似機能を含む。DPUライブラリ921によって提供される他のAPI類似機能はデザインノブ(knob)タイプ機能を含む。例えば、デザインノブタイプ機能はバンク当たり活性化されたサブアレイの数、活性化されたサブアレイ当たりの入力機能マップの数、機能マップのパーティショニング(partitioning)、及び/又はコンヴォリューションカーネルの再使用スキームの設定を含む。続いて、他のAPI類似機能は各サブアレイに対して特定タスク(例えば、コンヴォリューションコンピューティング、チャンネル圧縮(sum up)、及び/又はデータディスパッチング(dispatching))の割当によって、追加的なリソース割当最適化を提供する。仮にオペランドが整数と確率的数字との間で変換されれば、DPUライブラリ921は精密度制限を満足させながらも、オーバーヘッド(overhead)を最小化するAPI類似機能を含む。精密度が予想より低い場合、DPUライブラリ921は確率的表現のための追加的なビットを使用して値を再び計算するか、又は他のハードウェア(例えば、CPU(Central Processing Unit))にタスクを分担(offload)するAPI類似機能を含む。
DPUライブラリ921は、またDPU内の活性化されたサブアレイをスケジュールするのと同時にデータ移動をスケジュールして、データ移動がコンピューティング動作によって隠されるAPI類似機能を含む。
DPUライブラリ921の他の様相は追加的なDPU開発のための拡張インターフェイスを含む。一実施形態において、DPUライブラリ921はNOR及びシフトロジックを利用して直接機能をプログラムして標準タイプ動作(例えば、加算、乗算、MAX/MIN等)と他の動作が提供されるようにするインターフェイスを提供する。拡張インターフェイスは、またインターフェイスを提供し、したがってDPUライブラリ921によって具体的に支援されない動作が、ライブラリ及びドライバーレイヤー920において、SoCコントローラ(図示せず)、CPU/GPU構成要素及び/又はCPU/TPU構成要素として分担される。DPUライブラリ921のその他の様相は、DPUメモリがコンピューティングのために使用されない場合に、メモリの拡張としてDPUのメモリを使用するためのAPI類似機能を提供する。
DPUドライバー922は、DPUハードウェアレイヤーをシステムに集積するために、ハードウェアレイヤー910におけるDPU、DPUライブラリ921、及びさらに高いレイヤーにおけるオペレーティングシステム(OS:Operating System)の間のインターフェイス連結を提供するように構成される。即ち、DPUドライバー922はDPUをシステムOS及びDPUライブラリ921に露出する。一実施形態において、DPUドライバー922は初期化時にDPUコントロールを提供する。一実施形態において、DPUドライバー922はDRAMタイプの住所又はDRAMタイプの住所のシークェンス(sequence)の形態により命令をDPUに伝送し、DPUの内或いは外へのデータ移動を制御する。DPUドライバー922はDPU−CPU及び/又はDPU−GPU通信を処理すると共に多重DPU通信を提供する。
DPUコンパイラ923は、DPUライブラリ921からのDPUコードを、DPUを制御するためにDPUドライバー922によって使用されるメモリ住所の形態であるDPU命令にコンパイルする。DPUコンパイラ923によって生成されたDPU命令はDPU内の1つ及び/又は2つのロー上において運営される単一命令(例えば、ベクトル命令、及び/又は集合(gathered)ベクトル、リード(read)オン(on)動作命令)である。
フレームワークレイヤー930は使いやすい(user−friendly)インターフェイスをライブラリ及びドライバーレイヤー920とハードウェアレイヤー910とに提供するように構成される。一実施形態において、フレームワークレイヤー930はアプリケーションレイヤー940において広範囲であるアプリケーションと互換可能な使いやすいインターフェイスを提供し、ハードウェアレイヤー910をユーザーに透明に(transparent)する。他の実施形態において、フレームワークレイヤー930は定量化(quantitation)機能を、例えばTorch7タイプアプリケーション、及びTensorFlowタイプアプリケーションのような既存の、従来の方法に追加するフレームワーク拡張を含む。但し、本発明はこれに制限されない。一実施形態において、フレームワークレイヤー930はトレーニング(training)アルゴリズムに正量化機能を追加することを含む。他の実施形態において、フレームワークレイヤー930は既存の割り算、乗算、平方根(square root)の配置(batch)−標準化(normalization)方法を割り算、乗算、平方根のシフト近似方法に置換を提供する。他の実施形態において、フレームワークレイヤー930はユーザーが計算のために使用するビットの数を設定する拡張を提供する。他の実施形態において、フレームワークレイヤー930はDPUライブラリ及びドライバーレイヤー920からフレームワークレイヤー930に多重DPU APIをラップ(wrap)するための容量を提供する。したがって、ユーザーは複数のGPUの使用と同様にハードウェアレイヤーにおいて複数のDPUを使用できる。フレームワークレイヤー930の他の機能はユーザーがハードウェアレイヤー910でDPU又はGPUに機能を割当するようにする。
アプリケーションレイヤー940は広範囲であるアプリケーション(例えば、イメージタッグ(tag)プロセシング、セルフ−ドライビング/パイロッティング(piloting)運送手段、アルファ碁タイプディープマインドアプリケーション及び/又は音声研究(speech research)等)を含む。但し、本発明はこれに制限されない。
当業者が認識できるように、本明細書に記述した革新的な概念は広範囲であるアプリケーションに掛けて変形され、変更される。したがって、請求する本発明の思想の範囲は上述の任意の例示的な教示に制限されてはならず、代わりに請求の範囲によって定義される。
100、700 DPU
101 バンク
102 サブアレイ
103 バッファ
104 システムバス
105 マット
106 データセルアレイ
107 コンピューティングセルアレイ
108 イントラマットシフトアレイ
110 データセルアレイデコーダー
111 コンピューティングセルアレイデコーダー
112 インターマットシフトアレイ
113 インターマットフォワーディングアレイ
114 サブアレイコントローラ
201、202 コンピューティングセルトポグラフィ
715 確率的データアレイ
716 コンバーターツー確率アレイ
900 システム構造
910 ハードウェアレイヤー
911 PCIe装置
912 DIMM
920 ライブラリ及びドライバーレイヤー
921 DPUライブラリ
922 DPUドライバー
923 DPUコンパイラ
930 フレームワークレイヤー
940 アプリケーションレイヤー

Claims (17)

  1. DRAM基盤プロセシングユニット(Dynamic Random Access Memory based Processing Unit、DPU)において、
    少なくとも1つのカラム(column)を含むアレイ内に配置された複数のDRAM(Dynamic Random Access Memory)基盤のコンピューティングセルを含む少なくとも1つのコンピューティングセルアレイと、
    前記少なくとも1つのコンピューティングセルアレイと連結され、DPU動作を遂行するように前記少なくとも1つのコンピューティングセルアレイを構成するコントローラと、を含み、
    前記少なくとも1つのカラムは、少なくとも3つのロー(row)のDRAM基盤のコンピューティングセルを含み、
    前記少なくとも3つのローのDRAM基盤のコンピューティングセルは、前記少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、前記少なくとも3つのローの第3ロー内に前記ロジック機能の結果を格納するように構成されることを特徴とするDPU。
  2. 前記少なくとも1つのカラムの前記DRAM基盤のコンピューティングセルの各々は、3つのトランジスタ、1つのキャパシター(3T1C)を含むDRAMメモリセルを含むことを特徴とする請求項1に記載のDPU。
  3. 前記少なくとも1つのカラムの前記DRAM基盤のコンピューティングセルは、NORロジック機能を提供することを特徴とする請求項2に記載のDPU。
  4. 前記少なくとも1つのカラムの前記DRAM基盤のコンピューティングセルの各々は、1つのトランジスタ、1つのキャパシター(1T1C)を含むDRAMメモリセルを含むことを特徴とする請求項1に記載のDPU。
  5. 前記DRAM基盤のコンピューティングセルの各々は、前記DRAM基盤のコンピューティングセルのビットラインと連結されたALU(Arithmetic Logic Unit)をさらに含み、前記ALUは、前記ロジック機能を提供することを特徴とする請求項4に記載のDPU。
  6. 少なくとも1つのカラム内に配置された少なくとも1つのDRAM基盤のコンピューティングセルを含む少なくとも1つのメモリセルアレイと、
    前記少なくとも3つのローのDRAM基盤のコンピューティングセルの読出しビットラインに電気的に連結された入力(input)を含み、前記少なくとも3つのローのDRAM基盤のコンピューティングセルの書込みビットラインに電気的に連結された出力(output)を含むセンスアンプ(sense amplifier)と、をさらに含み、
    前記コントローラは、
    前記少なくとも1つのメモリセルアレイとさらに連結され、メモリ動作を遂行するように前記少なくとも1つのメモリセルアレイを構成し、アドレスバスを通じて前記メモリ動作に対する命令を受信することを特徴とする請求項1に記載のDPU。
  7. 第2の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤の確率(stochastic)コンピューティングセルを含む少なくとも1つの確率コンピューティングセルアレイをさらに含み、
    前記第2の少なくとも1つのカラムは、第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルを含み、
    前記第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルは、前記第2の少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、前記第2の少なくとも3つのローの第3ロー内に前記ロジック機能の結果を格納するように構成され、
    前記コントローラは、
    前記少なくとも1つの確率コンピューティングセルアレイとさらに連結され、確率ロジック動作を遂行するように前記少なくとも1つの確率コンピューティングセルアレイを構成し、アドレスバスを通じて前記確率ロジック動作に対する命令を受信することを特徴とする請求項1に記載のDPU。
  8. 第1の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤のコンピューティングセルを含む少なくとも1つのコンピューティングセルアレイと、
    第2の少なくとも1つのカラム内に配置された少なくとも1つのDRAM基盤のコンピューティングセルを含む少なくとも1つのデータセルアレイと、
    前記少なくとも1つのコンピューティングセルアレイと連結され、DPU(DRAM基盤プロセシングユニット、Dynamic Random Access Memory based Processing Unit)動作を遂行するように前記少なくとも1つのコンピューティングセルアレイを構成し、メモリ動作を遂行するために前記少なくとも1つのデータセルアレイと連結されるコントローラと、を含み、
    前記第1の少なくとも1つのカラムは、少なくとも3つのローのDRAM基盤のコンピューティングセルを含み、
    前記少なくとも3つのローのDRAM基盤のコンピューティングセルは、前記少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、前記少なくとも3つのローの第3ロー内に前記ロジック機能の結果を格納するように構成されることを特徴とするDPU。
  9. 前記コントローラは、アドレスバスを通じて前記DPU動作に対する命令を受信する請求項2又は8に記載のDPU。
  10. 前記第1の少なくとも1つのカラムの前記DRAM基盤のコンピューティングセルの各々は、1つのトランジスタ、1つのキャパシター(1T1C)を含むDRAMメモリセルを含み、
    前記DRAM基盤のコンピューティングセルの各々は、前記DRAM基盤のコンピューティングセルのビットラインと連結されたALUをさらに含み、前記ALUは、前記ロジック機能を提供することを特徴とする請求項8に記載のDPU。
  11. 前記ALUは、NORロジック機能を提供することを特徴とする請求項5又は請求項10に記載のDPU。
  12. 第3の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤の確率コンピューティングセルを含む少なくとも1つの確率コンピューティングセルアレイをさらに含み、
    前記第3の少なくとも1つのカラムは、第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルを含み、
    前記第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルは、前記第2の少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、前記第2の少なくとも3つのローの第3ロー内に前記ロジック機能の結果を格納するように構成され、
    前記コントローラは、
    前記少なくとも1つの確率コンピューティングセルアレイとさらに連結され、確率ロジック動作を遂行するように前記少なくとも1つの確率コンピューティングセルアレイを構成し、アドレスバスを通じて前記確率ロジック動作に対する命令を受信することを特徴とする請求項8に記載のDPU。
  13. 前記第3の少なくとも1つのカラムの前記DRAM基盤の確率コンピューティングセルの各々は、
    3つのトランジスタと1つのキャパシター(3T1C)を含むDRAMメモリセルを含むか、或いは1つのトランジスタと1つのキャパシター(1T1C)を含むDRAMメモリセルを含むことを特徴とする請求項12に記載のDPU。
  14. 第1の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤のコンピューティングセルを含む少なくとも1つのコンピューティングセルアレイと、
    第2の少なくとも1つのカラムを含むアレイ内に配置された複数のDRAM基盤の確率コンピューティングセルを含む少なくとも1つの確率コンピューティングセルアレイと、
    前記少なくとも1つのコンピューティングセルアレイと連結され、DPU(DRAM基盤プロセシングユニット、Dynamic Random Access Memory based Processing Unit)動作を遂行するように前記少なくとも1つのコンピューティングセルアレイを構成し、確率ロジック動作を遂行するために前記少なくとも1つの確率コンピューティングセルアレイと連結されるコントローラと、を含み、
    前記第1の少なくとも1つのカラムは、第1の少なくとも3つの行のDRAM基盤のコンピューティングセルを含み、
    前記第1の少なくとも3つのローのDRAM基盤のコンピューティングセルは、前記第1の少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、前記第1の少なくとも3つのローの第3ロー内に前記ロジック機能の結果を格納するように構成され、
    前記第2の少なくとも1つのカラムは、第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルを含み、
    前記第2の少なくとも3つのローのDRAM基盤の確率コンピューティングセルは、前記第2の少なくとも3つのローの第1ロー及び第2ロー上で動作するロジック機能を提供するように構成され、前記第2の少なくとも3つのローの第3ロー内に前記ロジック機能の結果を格納するように構成されることを特徴とするDPU。
  15. 前記コントローラは、アドレス(address)バスを通じて前記DPU動作に対する命令を受信することを特徴とする請求項14に記載のDPU。
  16. 前記第1の少なくとも1つのカラムの前記DRAM基盤のコンピューティングセルの各々は、3つのトランジスタ、1つのキャパシター(3T1C)を含むDRAMメモリセルを含み、
    前記第1の少なくとも1つのカラムの前記DRAM基盤のコンピューティングセルは、NORロジック機能を提供することを特徴とする請求項8又は15に記載のDPU。
  17. 前記第2の少なくとも1つのカラムの前記DRAM基盤の確率コンピューティングセルの各々は、3つのトランジスタ、1つのキャパシター(3T1C)を含むDRAMメモリセルを含むことを特徴とする請求項14に記載のDPU。
JP2017201264A 2016-10-27 2017-10-17 Dram基盤プロセシングユニット Active JP6799520B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662413977P 2016-10-27 2016-10-27
US62/413977 2016-10-27
US201662418155P 2016-11-04 2016-11-04
US62/418155 2016-11-04
US15/426,033 US10242728B2 (en) 2016-10-27 2017-02-06 DPU architecture
US15/426033 2017-02-06

Publications (3)

Publication Number Publication Date
JP2018073402A true JP2018073402A (ja) 2018-05-10
JP2018073402A5 JP2018073402A5 (ja) 2020-11-26
JP6799520B2 JP6799520B2 (ja) 2020-12-16

Family

ID=62022501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017201264A Active JP6799520B2 (ja) 2016-10-27 2017-10-17 Dram基盤プロセシングユニット

Country Status (5)

Country Link
US (1) US10242728B2 (ja)
JP (1) JP6799520B2 (ja)
KR (1) KR102139213B1 (ja)
CN (1) CN108008974B (ja)
TW (1) TWI714806B (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249362B2 (en) 2016-12-06 2019-04-02 Gsi Technology, Inc. Computational memory cell and processing array device using the memory cells for XOR and XNOR computations
US11227653B1 (en) 2016-12-06 2022-01-18 Gsi Technology, Inc. Storage array circuits and methods for computational memory cells
US10770133B1 (en) 2016-12-06 2020-09-08 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells that provides write inhibits and read bit line pre-charge inhibits
US10777262B1 (en) 2016-12-06 2020-09-15 Gsi Technology, Inc. Read data processing circuits and methods associated memory cells
US10847212B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers
US10847213B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Write data processing circuits and methods associated with computational memory cells
US10860320B1 (en) 2016-12-06 2020-12-08 Gsi Technology, Inc. Orthogonal data transposition system and method during data transfers to/from a processing array
US10943648B1 (en) 2016-12-06 2021-03-09 Gsi Technology, Inc. Ultra low VDD memory cell with ratioless write port
US10521229B2 (en) 2016-12-06 2019-12-31 Gsi Technology, Inc. Computational memory cell and processing array device using memory cells
US10854284B1 (en) 2016-12-06 2020-12-01 Gsi Technology, Inc. Computational memory cell and processing array device with ratioless write port
US10891076B1 (en) 2016-12-06 2021-01-12 Gsi Technology, Inc. Results processing circuits and methods associated with computational memory cells
US10614875B2 (en) * 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
CN108985449B (zh) * 2018-06-28 2021-03-09 中国科学院计算技术研究所 一种对卷积神经网络处理器的控制方法及装置
US10755766B2 (en) 2018-09-04 2020-08-25 Micron Technology, Inc. Performing logical operations using a logical operation component based on a rate at which a digit line is discharged
KR20200057475A (ko) 2018-11-16 2020-05-26 삼성전자주식회사 연산 회로를 포함하는 메모리 장치 및 그것을 포함하는 뉴럴 네트워크 시스템
US11074008B2 (en) * 2019-03-29 2021-07-27 Intel Corporation Technologies for providing stochastic key-value storage
US10949214B2 (en) * 2019-03-29 2021-03-16 Intel Corporation Technologies for efficient exit from hyper dimensional space in the presence of errors
US11157692B2 (en) * 2019-03-29 2021-10-26 Western Digital Technologies, Inc. Neural networks using data processing units
US10777253B1 (en) * 2019-04-16 2020-09-15 International Business Machines Corporation Memory array for processing an N-bit word
US10877731B1 (en) 2019-06-18 2020-12-29 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features
US10958272B2 (en) 2019-06-18 2021-03-23 Gsi Technology, Inc. Computational memory cell and processing array device using complementary exclusive or memory cells
US10930341B1 (en) 2019-06-18 2021-02-23 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features
US11409527B2 (en) * 2019-07-15 2022-08-09 Cornell University Parallel processor in associative content addressable memory
US11435946B2 (en) * 2019-09-05 2022-09-06 Micron Technology, Inc. Intelligent wear leveling with reduced write-amplification for data storage devices configured on autonomous vehicles
DE112020004469T5 (de) * 2019-09-20 2022-08-04 Semiconductor Energy Laboratory Co., Ltd. Halbleitervorrichtung
US11226816B2 (en) * 2020-02-12 2022-01-18 Samsung Electronics Co., Ltd. Systems and methods for data placement for in-memory-compute
US20220058471A1 (en) * 2020-08-19 2022-02-24 Micron Technology, Inc. Neuron using posits
CN116136835B (zh) * 2023-04-19 2023-07-18 中国人民解放军国防科技大学 一种三进二出数值获取方法、装置及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838165A (en) * 1996-08-21 1998-11-17 Chatter; Mukesh High performance self modifying on-the-fly alterable logic FPGA, architecture and method
WO2004038599A1 (de) * 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US20110026323A1 (en) * 2009-07-30 2011-02-03 International Business Machines Corporation Gated Diode Memory Cells
US8238173B2 (en) * 2009-07-16 2012-08-07 Zikbit Ltd Using storage cells to perform computation
US8379433B2 (en) * 2010-09-15 2013-02-19 Texas Instruments Incorporated 3T DRAM cell with added capacitance on storage node
JP6106043B2 (ja) * 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US9455020B2 (en) * 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
DE102015214138A1 (de) 2014-07-28 2016-01-28 Victor Equipment Co. Automatisiertes Gasschneidsystem mit Hilfsbrenner
US9954533B2 (en) * 2014-12-16 2018-04-24 Samsung Electronics Co., Ltd. DRAM-based reconfigurable logic
US9697877B2 (en) * 2015-02-05 2017-07-04 The Board Of Trustees Of The University Of Illinois Compute memory

Also Published As

Publication number Publication date
TWI714806B (zh) 2021-01-01
US10242728B2 (en) 2019-03-26
TW201816592A (zh) 2018-05-01
KR20180046345A (ko) 2018-05-08
JP6799520B2 (ja) 2020-12-16
KR102139213B1 (ko) 2020-07-29
CN108008974B (zh) 2023-05-26
CN108008974A (zh) 2018-05-08
US20180122456A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
JP6799520B2 (ja) Dram基盤プロセシングユニット
JP6920169B2 (ja) Dram基盤の確率論的コンピューティングシステム
KR102182217B1 (ko) 디램 기반 프로세싱 유닛
JP7173709B2 (ja) ニューラルネットワーク回路
Angizi et al. Redram: A reconfigurable processing-in-dram platform for accelerating bulk bit-wise operations
Talati et al. mmpu—a real processing-in-memory architecture to combat the von neumann bottleneck
US20030222879A1 (en) Multiplier-based processor-in-memory architectures for image and graphics processing
JP7264897B2 (ja) メモリ装置及びそれを制御するための方法
US6948045B2 (en) Providing a register file memory with local addressing in a SIMD parallel processor
US10956813B2 (en) Compute-in-memory circuit having a multi-level read wire with isolated voltage distributions
Angizi et al. Pim-assembler: A processing-in-memory platform for genome assembly
Zhou et al. Flexidram: A flexible in-dram framework to enable parallel general-purpose computation
Nair et al. Fpga acceleration of gcn in light of the symmetry of graph adjacency matrix
US20220318610A1 (en) Programmable in-memory computing accelerator for low-precision deep neural network inference
Bottleneck mMPU—A Real Processing-in-Memory Architecture to Combat the von
US20230385624A1 (en) Computing in memory with artificial neurons
신현승 McDRAM: Low Latency and Energy-Efficient Matrix Computation in DRAM

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180214

AA79 Non-delivery of priority document

Free format text: JAPANESE INTERMEDIATE CODE: A24379

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201015

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201015

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201022

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201120

R150 Certificate of patent or registration of utility model

Ref document number: 6799520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250