JPH04248642A - メモリ集積回路のpimチップおよびその制御方法 - Google Patents

メモリ集積回路のpimチップおよびその制御方法

Info

Publication number
JPH04248642A
JPH04248642A JP3204045A JP20404591A JPH04248642A JP H04248642 A JPH04248642 A JP H04248642A JP 3204045 A JP3204045 A JP 3204045A JP 20404591 A JP20404591 A JP 20404591A JP H04248642 A JPH04248642 A JP H04248642A
Authority
JP
Japan
Prior art keywords
memory
data
processor
chip
output
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.)
Pending
Application number
JP3204045A
Other languages
English (en)
Inventor
Kenneth W Iobst
ケネス ダヴリュー. アイオブスト
David R Resnick
デビッド アール. レスニック
Kenneth R Wallgren
ケネス アール. ウォルグレン
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPH04248642A publication Critical patent/JPH04248642A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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
    • 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/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • 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
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)
  • Complex Calculations (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリと計算を同一の
集積回路上で結合して、データピン間に必要であった入
力/出力部のほとんどをなくすことによってプロセッサ
とメモリとの間の命令/データ帯域幅を最大にするプロ
セスインメモリ(PIM)チップに関するものである。
【0002】
【従来の技術】並列SIMDシミュレーションワークベ
ンチ(PASSWORK)についての研究から、多重命
令多重データ(MIMD)ベクトル装置が、市販の単一
命令多重データ(SIMD)装置の大域経路指定及びビ
ットシリアル演算をほぼ全速でシミュレートできること
がわかった。ハードウェアの集中/分散及びベクトルレ
ジスタのコーナターニングが、「ビットシリアル直交変
換命令を実行するための装置」と題する係属中のアイオ
ブスト(Iobst) の米国特許出願番号第533,
233 号に開示されているベクトル装置でこの種の高
性能SIMD計算をするのに重要である。
【0003】ベクトル装置とSIMD装置とを直接的に
比較すると、SIMD性能に対するその他の重要な限界
は、メモリ帯域幅と、一部の算術、すなわちベクトル装
置における全加算またはSIMD装置におけるプロセッ
サ間の計算に必要な多重論理演算とである。この研究の
結果から、同一の共用メモリ装置でMIMD及びSIM
Dの両方の計算を可能にするには、SIMDを完全に新
しい装置として構成するのではなく、従来装置にSIM
Dを盛り込む方法がよいことが暗示されている。
【0004】プロセッサとメモリとを同一のチップに集
積すれば、従来装置に基づいたSIMD性能をさらに高
めることも可能である。すなわち、単一ビットプロセッ
サを標準形ランダムアクセスメモリ(RAM)集積回路
(IC)の各列と対応させる新しい形式のメモリチップ
(プロセスインメモリ−PIMチップ)を設計すれば、
SIMD性能を数倍も向上させることができるであろう
。この性能向上は、電力、冷却及び/または空間要件を
さほど増加させることなく達成できることに注目する必
要がある。
【0005】この基本構想は、メモリ内で直接的に計算
することによって中央処理装置(CPU)とメモリとの
間の非ノイマンボトルネックを破壊して、従来形計算環
境からMIMD/SIMD混合計算環境へ自然に進化さ
せることができる。この混合計算環境の応用は、今開発
が始まったところである。
【0006】
【発明が解決しようとする課題】このような事情に鑑み
て本発明は、データピン間の入出力端子をほとんどをな
くすことによってプロセッサとメモリとの間の命令/デ
ータ帯域幅を最大にするためメモリ部と演算部を同一の
集積回路上に結合したPIMチップを提供するものであ
る。
【0007】本発明のさらなる目的によれば、アドレス
及びデータバスを介してPIMチップのメモリバンクを
制御するための方法が提供されている。
【0008】
【課題を解決するための手段】上記目的を達成するため
、本発明のPIMは、標準形メモリアレイに変更を加え
てその1つの参照行で読み取られた全データが、その行
の1ビットが1つのビットシリアルプロセッサに対応す
るようにして設けられた1組のビットシリアルプロセッ
サへ送られるようにしたプロセスインメモリ(PIM)
を構成する。プロセッサから計算された結果がメモリに
書き込まれるとき、各プロセッサに1つずつ得られるす
べての結果ビットも同時に書き込まれる。
【0009】メモリはこのように並列にアクセスされる
ので、単一エラー訂正二重エラー検出(SECDED)
能力が付け加えられて、適正な作動を確保するか、ある
いは不適当な作動であることを知らせる。性能が重要で
あるから、実行シーケンスは、メモリデータのロード及
びストアに他のデータの処理をオーバラップさせる。こ
のパイプライン処理を実行するためにRレジスタが付け
加えられている。
【0010】PIMチップは2つのモードで作動できる
。外部世界に対して、ICは通常の読み取り/書き込み
メモリとして使用できる。計算プロセッサ及び追加制御
回線によって能力を追加することによって、メモリアク
セスサイクル(読み取りまたは書き込み)に代わってプ
ロセッサで結果を計算することができる。
【0011】PIMチップを計算用に使用する場合(P
IMモード)、チップピンから行デコーダにアドレスが
与えられる。その結果、1行のデータがメモリから取り
出される。データはエラー訂正されてから、クロックサ
イクルの終わり/次のクロックサイクルの始めでRレジ
スタ内にラッチされる。
【0012】次のクロックサイクルでは、プロセッサは
外部コマンド/制御回線の制御を受けながらそのデータ
を計算シーケンスの一部として使用する。計算結果をプ
ロセッサからメモリに記憶したい場合、メモリロードサ
イクルに代えて記憶サイクルにする。メモリアレイへ移
動中の記憶データにエラー訂正チェックビットが加えら
れる。
【0013】多数のプロセッサ間、及び多数のプロセッ
サから1つまたは複数レベルのチップ外制御器へのデー
タの流れを容易にするためにプロセッサに追加される2
つの通信ネットワークがある。これらのネットワークは
、グローバル・オアネットワーク(GOR)及び並列プ
リフィクスネットワーク(PPN)として知られている
【0014】チップが通常の書き込みに使用される時、
まずデータがメモリから読み出され、エラー訂正が行わ
れてから、Rレジスタに入れる前に書き込みデータと併
合される。次に、変更データを入れたRレジスタの内容
が、途中でエラー訂正論理を通ってメモリへ送り戻され
る。これが必要であるのは、書き込みポートからチップ
に入ってくるビット数がメモリに書き込まれるデータ量
よりも少ないためである。
【0015】この併合パスによって、適当なエラー訂正
情報を書き込み中のワード用に再構成することができる
。通常の読み取りに用いられた場合、1行のデータがメ
モリから取り出されて、エラー訂正をしてからRレジス
タに入れられる。次のクロックサイクルで、チップから
送り出すビットの適当なサブセットをアドレスビットが
選択する。
【0016】通常の読み取り/書き込みモードでは、P
IMチップバンクはアドレスバスに行及び列のアドレス
を受け取り、データバスに読み取り/書き込みデータを
受け取る。PIMモードでは、PIMチップバンクはア
ドレスバスに行アドレスを受け取り、データバスに実行
すべきSIMD命令を受け取る。SIMD命令をアドレ
スバスの未使用の列アドレス回線で送ってもよい。この
ように、SIMD命令のシーケンスは、すべてのプロセ
ッサ間にメモリ参照及び演算をオーバラップして完全に
パイプライン化することができる。
【0017】
【作用】チップには多数の単一ビット計算プロセッサが
含まれ、それらはすべて並列駆動され、各チップ上のプ
ロセッサの数は数個から数千まで渡っている。チップを
合わせてメモリバンクのグループ化またはシステム化に
することによって、コンピュータ内の既存のメモリサブ
システムをパーソナルコンピュータからスーパコンピュ
ータに変えることができる。
【0018】
【実施例】本発明の実施例を図面を参照して説明する。 図1において、プロセスインメモリ(PIM)回路を説
明する。回路の基本構成素子は、付加ローカルメモリ素
子4を備えたビットシリアルプロセッサ2である。ロー
カルメモリ素子は、各クロックサイクル中にエラー訂正
回路(ECC)論理を介して1ビットをビットシリアル
プロセッサへ、またはそれから移動することができる。
【0019】このため、PIM構造のクロック速度はメ
モリアクセスにECC時間を加えた値に設定されている
。あるいは、各クロックサイクル中に、やはりECC論
理で処理した後、外部読み取り及び書き込みを実施でき
る。また、チップ上のプロセッサ素子間及びチップ間の
通信経路を形成する論理が追加されている。
【0020】1つのビットシリアルプロセッサに対応し
たメモリは、1ビット幅のメモリ列で示されている。列
が連結されてメモリアレイ6が形成されている。同様に
1組のビットシリアルプロセッサが連結されており、通
常は機能的にメモリアレイの下方に位置しているように
見える。これは、メモリアレイへの単一行アドレスが、
すべて並列になっているビットシリアルプロセッサの各
々に1ビット与えることを意味している。
【0021】すべてのメモリアクセス、内部及び外部参
照、及び読み取り書き込み動作は並行動作である。これ
は、PIM命令中、列アドレスビットは使用されないこ
とを意味している。外部参照のための通常の列デコーダ
及びセレクタを移動させることによってチップ構造、E
CC処理及び結果的なタイミング変化を変えることがで
きる。メモリアレイには、以下に詳細に説明するように
余分のチェック列8が設けられている。
【0022】メモリアレイ6とプロセッサ2との間には
、以下に詳細に説明する行デコードチェッカ12を備え
たエラー検出訂正回路10が配置されている。
【0023】Rレジスタ14がエラー検出訂正回路10
とプロセッサ2との間に配置されて、メモリデータのロ
ード及びストアを他のデータの処理とオーバラップさせ
るパイプライン化を行っている。
【0024】PIMチップは2つのモードで、すなわち
通常の読み取り/書き込みメモリとして、または計算用
として(PIMモード)作動できる。計算プロセッサ2
と付加制御回線16によって能力を追加することによっ
て、メモリアクセスサイクルの代わりにプロセッサで結
果を計算できるようになる。
【0025】チップを計算用に使用する場合、チップピ
ンから行デコーダ18にアドレスが与えられる。その結
果、1行のデータがメモリから取り出される。データは
エラー訂正されてから、クロックサイクルの終わり/次
のクロックサイクルの始めでRレジスタ内にラッチされ
る。次のクロックサイクルでは、プロセッサは外部制御
及びコマンド回線16の制御を受けながらそのデータを
計算シーケンスの一部として使用する。計算結果をプロ
セッサからメモリに記憶したい場合、メモリロードサイ
クルに代えて記憶サイクルにする。メモリアレイへ移動
中にエラー訂正データが記憶データに加えられる。
【0026】チップを通常の書き込みに使用する場合、
まずデータがメモリ4から読み出され、エラー訂正が行
われてから、Rレジスタ14に入れる前に書き込みデー
タと併合される。次に、新しいデータを入れたRレジス
タの内容が、途中でエラー訂正論理を通ってメモリへ送
り戻される。これが必要であるのは、書き込みポートか
らチップに入ってくるビット数がメモリに書き込まれる
データ量よりも少ないためである。この併合パスによっ
て、適当なエラー訂正情報を書き込み中のワード用に再
構成することができる。
【0027】通常の読み取りに用いられた場合、1行の
データがメモリから取り出されて、エラー訂正をしてか
らRレジスタに入れられる。次のクロックサイクルで、
列アドレスビットはチップから送り出されるビットの適
当なサブセットを読み取りセレクタ22から選択する。
【0028】図示の実施例では、256のプロセッサが
設けられており、これにSECDEDチェックバイト列
を加えると、メモリアレイは合計312列になる。各列
の高さは2Kビットであると予想される。このため、メ
モリは2048×312=638,976(624K)
ビットを有する。メモリアレイは物理的にこの大きさの
構成する必要はなく、他のものにしても良好に動作する
【0029】PIMチップ上の各プロセッサはビットシ
リアル計算ユニットである。すべてのプロセッサは同一
であって、並行に制御される。すなわち、すべてのプロ
セッサはそれぞれ異なったデータについて同時に同一の
演算を実行する。このように、プロセッサはSIMDコ
ンピュータアーキテクチャを実施する。
【0030】次に図2を参照しながら、1つのビットシ
リアルプロセッサについて詳細に説明する。プロセッサ
には幾つかのマルチプレクサ24、26、27、28、
30、31、32、33、34、36、37が設けられ
ており、それらは、計算結果を条件に合わせて他のプロ
セッサまたはメモリへ伝播する手段を含む固定機能算術
論理ユニット(ALU)38に出力を送る。
【0031】ALU38はA,B及びCと呼ばれる3つ
の入力信号を受けて、これら3つの入力の3つの固定機
能結果を計算する。その結果は、合計(A*B*C)、
繰り上げ(A・B+A・C+B・C)及びストリング比
較(C+A*B)である。マルチプレクサの能力を利用
して、全組の論理演算を繰り上げ機能から実行すること
ができる。例えば、C入力を遮断(C=0)することに
よって、A及びBの論理積が計算され、C入力を導通(
C=1)させることによってA及びBの論理和が計算さ
れる。
【0032】いくつかのマルチプレクサがプロセッサ内
のデータ経路及び機能を選択する。マルチプレクサを作
動させるデータソースは、メモリから送られるか、内部
通信ネットワークを介して他のプロセッサから送られる
か、内部的に発生して保管されている結果から送られる
【0033】ALUのA,B及びC入力を送る3つの主
要マルチプレクサ24、26、28がある。各マルチプ
レクサはそれぞれの制御/コマンド回線で制御されてい
る。図面において、制御回線がFn で示されており、
ここでnは1から20までの数字である。すべての制御
回線はチップから出ている。マルチプレクサ24、26
、28の各々は3つの独立した制御回線で駆動される。 そのうちの2つの回線はデコードされて4つの入力の内
の1つを選択するのに対して、第3の回線は選択信号の
状態を反転させる。
【0034】第1マルチプレクサ24は、制御回線の制
御を受けながら、直前のクロックサイクルから得られた
マルチプレクサ24の先行出力(この状態はマルチプレ
クサ24に対応したフリップフロップ40で保管されて
いる)、メモリから読み出されたデータ、別の制御/コ
マンド回線で駆動される別のマルチプレクサによってい
ずれかが選択されるALUからの合計または繰り上げ結
果、及び論理ゼロから選択することができる。これらの
信号はいずれも各クロックサイクル時にALUのA入力
へ、おそらく反転させて送ることができる。
【0035】第2マルチプレクサ26は、様々な通信経
路から選択するか、前に計算されている一部の結果を戻
す二次レベルマルチプレクサ27から第1入力を受ける
以外、第1マルチプレクサ24と同じデータ入力を受け
る。制御回線は、第1マルチプレクサに接続された制御
回線と同一機能を果たすが、それらから独立している。 第1マルチプレクサの場合と同様に、ALUに送られる
データは必要に応じて反転させることができる。
【0036】第3マルチプレクサ28は、直前のクロッ
クサイクルから得られたマルチプレクサの先行出力(こ
の状態は第3マルチプレクサ28に結合したフリップフ
ロップ42に保持されている)、第2マルチプレクサ2
6へ送られる通信マルチプレクサ27からのデータと同
じもの、別の制御/コマンド回線で駆動される別のマル
チプレクサによっていずれかが選択されるALUからの
合計または繰り上げの2信号の比較結果、及び論理ゼロ
から選択することができる。選択されたデータは、3つ
の独立した制御回線の制御を受けながらおそらく反転さ
せてALUへ送られる。
【0037】いずれのSIMD装置も、一部のプロセッ
サが特定の演算を実施しないようにする機構を必要とす
る。PIMに選択されたこの機構は、条件付き記憶であ
る。すなわち、一部のプロセッサがコマンドを実行する
ことを禁止するのではなく、すべてのプロセッサにコマ
ンドを実行させるが、計算結果を記憶しないというもの
である。
【0038】この形式の条件制御を実施するため、3つ
のフリップフロップ35がマルチプレクサ31、33、
36及び37と共にプロセッサに加えられている。いず
れのサイクルにおいても、マルチプレクサは3つの内の
いずれを選択することもでき、あるいは論理ゼロを選択
することもできる。前述のマルチプレクサと同様に、選
択された入力の状態を反転させることができる。このた
め、例えば入力として論理ゼロを選択すると、反転信号
/コマンドを活動化させることによって出力を論理1に
することができる。
【0039】SIMD命令シーケンスが実行されると、
メモリからの古いデータがAマルチプレクサに対応した
フリップフロップにロードされて、計算結果がALUか
らBマルチプレクサへ送られる。マルチプレクサ36か
ら入力を受けるマルチプレクサ33が論理1を出力して
いる場合、Bデータがメモリ記憶経路を進むことが阻止
されるか、Aマルチプレクサからのデータの進路が阻止
される。
【0040】データは、一般的にメモリからマルチプレ
クサ26を介して、またはALUから計算結果としてマ
ルチプレクサ26または28を介してロードされたデー
タから記憶許可フリップフロップ35にロードされる。 コマンド回線が別のマルチプレクサ34を介していずれ
かの結果を選択し、さらなるコマンド回線が(もしある
ならば)どの記憶許可ビット35にロードするかを選択
する。
【0041】データは、各プロセッサから、PIMチッ
プ上またはそれ以外のプロセッサ間の通信を行うネット
ワークへ送られる。ネットワークには、グローバル・オ
アネットワーク(GOR)及び並列プリフィクスネット
ワーク(PPN)の2種類がある。GORは多数から個
、または個から多数への通信に用いられるのに対して、
PPNは多数から多数への通信に用いられる。
【0042】GORへ送られるデータは、記憶許可ビッ
ト35の1つで進路が阻止される。これにより、特定の
プロセッサの記憶許可ビットを論理1にする一方、その
他のプロセッサの記憶許可ビットを論理ゼロにすること
よってその特定プロセッサがGORネットワークを駆動
することができる。
【0043】あるいは、チップ上のすべてのプロセッサ
がGORネットワークを駆動して、すべてのプロセッサ
のグローバル・オアを個々のプロセッサまたはチップ外
の高レベルの制御器へ送り戻すこともできる。チップ上
のすべてのプロセッサ間のグローバル・オアは多重レベ
ルORゲート49を介して実行される。
【0044】GOR及びPPNの両ネットワークからの
データは、個別のコマンド回線で制御される別のマルチ
プレクサ27によって選択される。このデータは、第2
及び第3マルチプレクサ26、28のいずれか(または
両方)で選択できる。
【0045】次に図3を参照しながら、並列プリフィク
スネットワークについて説明する。このネットワークの
名前は、走査または平行プリフィクスと呼ばれる数学機
能に由来している。図3のネットワークは、多くの並列
を可能にして関係オペレータ間の並列プリフィクスを高
速化できるようにしてこの機能を実行する。
【0046】加算についてのプリフィクス演算は走査と
呼ばれ、以下のように定義される。
【0047】Xi   = Xiー1  +Yi 但し
i=1〜n、X0 =1 または X1  = Y1  X2  =  X1  +Y2  X3  = X2  +Y3  X4  = X3  +Y4  演算の連鎖に注目されたい。このように説明した場合、
各結果はすべての先行結果の影響を受ける。しかし、等
式は次にように展開できる。
【0048】X1  = Y1  X2  = Y1  +Y2  X3  = Y1  +Y2  +Y3 X4  = 
Y1  +Y2  +Y3  +Y4 各プロセッサは
単一データ項Y1 〜Ynでスタートする。PPNは、
Y2 のコピーを保持しているプロセッサがそのデータ
をY1 を保持しているプロセッサに送ることができる
ようにすると同時に、Y4 を保持しているプロセッサ
がそのデータをY3 を保持しているプロセッサに送る
等ができるようにする。各プロセッサは、データについ
て必要な演算(この例では加算)を他の同様な演算と並
行して実行して、さらなる計算に使用できる途中結果を
得ることにより、すべてのプロセッサで結果が得られる
、すなわちプロセッサ1にはX1 が、プロセッサ2に
はX2 が得られる。
【0049】このネットワークをハードウェアで実行し
てそれを一般的プロセッサ通信に利用することによって
、2つの利点が得られる。このネットワークは、第1に
、直列に連続して実行せざるを得ない幾つかの機能を並
行して実行でき、第2に、シリコンで非常に効果的にチ
ップにわずかな経路空間をとるだけで並列機能が達成さ
れるネットワークはプロセッサ間ですべての対数レベル
で実行される。一次レベルではプロセッサはデータを左
側のプロセッサに送ることができる一方、右側のプロセ
ッサからデータを受け取る。次のレベルでは、特定のプ
ロセッサがそれの左側に隣接した2つのプロセッサにデ
ータを送る。さらに次のレベルでは、データを受け取る
プロセッサの数が二倍になる一方、データを送るプロセ
ッサの数は半分に減る。すべてのプロセッサはすべての
レベルからデータを受け取る。外部で実行中の実行プロ
グラムによって状態が制御されている制御回線が必要な
レベルを選択する。すべてのプロセッサは同一レベルを
選択する。
【0050】PPNの基本実行からの幾つかの拡張が設
けられている。このため、あるレベルを完成させるため
に必要な接続が実行される。すなわち例えばレベル0で
は、偶数番号のプロセッサがそれに左側のプロセッサに
データを送ることができるが、これはPPN機能では必
要でない。また、データ移動を逆方向に、すなわち右方
向へ実行する別のレベル0がPPNネットワークに加え
られる。さらに、右方向及び左方向データ移動接続部の
端部に、通信を拡張モードまたは循環モードで実行でき
るようにするマルチプレクサ46、48が付け加えられ
ている。循環モードでは、チップの最後のプロセッサが
最初のプロセッサを駆動する(反対方向のデータ移動の
場合、最初のプロセッサが最後のプロセッサを駆動する
)。拡張モードでは、端部プロセッサはチップ外からデ
ータを受け取る。これによって、1チップ以上の通信ネ
ットワークを構築することができる。
【0051】プロセッサの数及び実際の最大チップ寸法
によって定められる限界のため、各プロセッサに使用で
きるメモリ量は限られている。また、使用可能な数のプ
ロセッサを完全に利用することができないようにするプ
ログラム及びアルゴリズムがある。両問題を同時に解決
する試みは列減少と呼ばれ、図4を参照しながら以下に
説明する。
【0052】プロセッサはグループ化されるため、以前
は各プロセッサの専有であったメモリがグループ間で共
用される。付加アドレス回線として機能する付加制御回
線が要求されたデータを特定のメモリ列からグループ内
のすべてのプロセッサへ送る。このため、グループ内の
各プロセッサは同一データで計算する(グループの一部
であるかどうかに関係なく、すべてのプロセッサは同一
機能を実行することを憶えておかれたい)。データを記
憶したい場合、記憶するデータのアドレスに対応したプ
ロセッサを使用可能にして、新しく計算された結果をメ
モリへ送る一方、グループ内で記憶アドレスに対応して
いないプロセッサは、前に記憶アドレスから取り出され
た古いデータを複写する。
【0053】すなわち、複数のメモリ素子50、52、
54、56にはそれぞれプロセッサ58、60、62、
64が対応して設けられている。第1セレクタ66がメ
モリ素子の出力部をプロセッサの入力部に接続するため
、各プロセッサはメモリ素子の1つからの出力を入力と
して受け取る。複数のマルチプレクサ68、70、72
、74が各プロセッサの出力部をそれに対応したメモリ
素子の入力部に接続している。各メモリ素子の出力部は
フィードバック回線76を介して対応のマルチプレクサ
にも接続している。デコーダ78がマルチプレクサ68
、70、72、74を制御して、メモリ素子及びプロセ
ッサの出力の1つをメモリ素子への入力として選択する
。このため、複数のプロセッサは効果的に単一のプロセ
ッサに減じられ、その単一プロセッサに使用できるメモ
リ量は、メモリ素子の数の倍数に増加する。
【0054】複数のメモリ素子及びプロセッサを配列し
て、単一のセレクタ及び単一のデコーダを備えた1つの
グループにすることができる。
【0055】上記の実行は、すべてのメモリを処理グル
ープから1つのプロセッサへ送り、そのプロセッサから
の結果を正しい記憶アドレスへ送る論理に置き換えるこ
ともできる。この実行は、機能的に正確であるが、論理
経路に余分なタイミングスキューを持ち込み、上記のデ
ータの条件記憶の実行が非常に複雑になる。
【0056】通常の外部エラー訂正に代わって、メモリ
(すべての外部読み取り装置を含む)から読み取られて
いるすべてのデータを訂正し、メモリ(やはり外部読み
取り装置を含む)へ書き込まれるすべてのデータのため
のチェックバイトを発生し、メモリ(やはり外部書き込
み装置を含む)へ書き込まれるすべてのデータのための
チェックバイトを発生する1組の内部SECDEDブロ
ックが設けられている。SECDEDは、32データビ
ット及び7チェックビットの39ビットグループの反復
セットとして実行される。データビットには対応のビッ
トシリアルプロセッサが設けられているが、チェックビ
ットにはない。対になった39ビットグループはそれら
のビットがインターリーブされている。このため、78
ビットグループ(78=2(32+7))では、偶数番
号のビットが1つのSECDEDグループに対応してお
り、奇数番号のビットが別のものに対応している。これ
は、隣接した短絡ビット線のようなエラーが2ビットの
回復不能のエラーとしてではなく、2つの単一回復可能
エラーとして現れることを意味する。トレードオフとし
て、インターリーブド72ビットグループを考えること
ができる。メモリグループは144列(144=2(6
4+8))になる。合計が312列ではなく288列で
あって、(提案されている4グループではなく)2メモ
リグループになる。
【0057】その他のオンチップエラー検出論理もある
。受信データ及びアドレスのパリティは、SIMDコマ
ンドのパリティと同様に受信後に別々に検査される。 チップからの読み取りデータのパリティはデータと一緒
に送られる。アクセスされた行パリティチェックもある
。受信アドレスの行部分のパリティが、実際にアクセス
された行のパリティを内容として含む特定のメモリ列の
内容と比較される。いずれかのパリティによって検出さ
れたエラーまたはSECDED不良はチップ状態レジス
タに設定される。チップ状態は通常の読み取り経路から
確認されるか、チップ保守ポートからアクセスすること
ができる。
【0058】外部読み取り及び書き込みタイミングはエ
ラー訂正論理の影響を受ける。読み取り動作時には、デ
ータはメモリから読み取られ、エラー訂正された後、R
レジスタに入れられる。最初の2つのアドレスビットが
このレジスタに入る途中に分解される。第2サイクルに
おいてアドレッシング選択が完了して、データがその部
分から送り出される。アドレッシング及びデータ経路に
よって、インターリーブドSECDEDグループの64
データ列がチップ上及びチップ外の1つのデータビット
を駆動するようになっている。
【0059】外部書き込みの場合、読み取りアドレスの
ワードが読み取られ、エラー訂正さされた後、4書き込
みビットと併合されてRレジスタに入る。次のクロック
サイクルで、レジスタに保持されているデータからチェ
ックビットが発生し、合計312ビットが書き込まれる
。外部アドレスを第2メモリサイクルから有効に保つレ
ジスタが設けられているので、チップピンのデータ及び
アドレスは1サイクル期間中だけ有効であればよい。
【0060】上記の最後の2文節は、PIMチップが外
部世界に対して同期インターフェースを示すことを指摘
している。読み取りの場合、データは読み取り動作を開
始するクロックから第2クロックエッジ後に有効となる
。少なくともチップレベルにおいて、新しい読み取りサ
イクルがすべてのクロックで開始されるが、データエラ
ーがある場合には訂正データをメモリに書き込むことが
望ましく、これには別に1つのクロックサイクルが必要
になる。書き込みの場合、チップは2クロックサイクル
に渡って作動するが、データは両サイクルに渡って有効
である必要はない。もちろん、PIMチップクロックが
コンピュータシステムの他のものと同じクロック速度で
あると言っているわけではない。
【0061】また、PIMチップには幾つかのエラー検
出機構があり、以下のものが含まれる。
【0062】データパリティの検出及び発生:第5ビッ
トは読み取り及び書き込みの両方において4ビットデー
タインターフェースを伴う。
【0063】アドレスパリティ:パリティビットは、受
信アドレス毎に外部読み取り書き込み用か、PIMモー
ド参照用かが検査される。
【0064】コマンドパリティ:SIMDコマンド毎に
パリティビットが検査される。
【0065】行パリティ:参照された行のパリティを内
容に含む特別の列がメモリアレイに加えられる。このビ
ットは、受信行アドレスのパリティと比較される。ここ
では列減少モードと違いがない。
【0066】これらのエラーのすべては、SECDED
論理で検出された単一ビット及び多重ビットエラーと一
緒にPIM状態フリップフロップに入れられる。これら
は通常のメモリアクセス回線を介して読み取られるか、
チップ保全ポートを介して読み取られる。
【0067】保全ポートはJTAG/IEEE  11
49.1にすることができる。チップ状態に加えて、一
部のチップ試験情報をこのポートからアクセスできる。
【0068】一部のデータ経路を制御したり、他の方法
では試験が非常に難しい(あるいは不可能である)いく
つかの診断的機能を実施するための様々なビットがチッ
プに埋め込まれている。チェックバイト発生を停止させ
るための制御ビットが設けられている。これによってS
ECDED論理を検査することができる。なすべきこと
は、書き込みチェックバイトを全ゼロデータワードで発
生する値と同じ値にすることである。制御ビットは、行
パリティ論理内で比較を反転させることもできる。その
時、いずれのPIM参照も行パリティエラー状態ビット
を設定しなければならない。他のビットがPPNデータ
経路指定を行う。
【0069】要約すると、メモリチップレベルでのシス
テムエラーを検出する方法は、チップに入ってくる多重
ビットインターフェースでのパリティエラーを検出する
段階と、検出されたパリティエラーの各々の状態を保持
する段階とを有している。次に、メモリアレイ行デコー
ダ回路のエラーが検出されて、そのエラー状態が保持さ
れる。単一ビットメモリエラーが検出、訂正され、2ビ
ットメモリエラーが検出されて、その状態が保持される
【0070】メモリ素子の行は訂正サブグループに細分
割されて、その各サブグループは複数列を有しており、
それらの列は1つ置きに別々のエラー検出訂正回路に接
続されている。次にチップからのエラー状態が読み取ら
れ、同時にクリアされる。単一ビットエラー状態及び多
重ビットエラー状態は保守用に個別に維持される。
【0071】PIMモード実行は、メモリ参照が読み取
りか書き込みかを判断するためにR/W回線が用いられ
る点で、通常の読み取り/書き込み制御に非常によく似
ている。PIM読み取りモードでは、アドレス回線が制
御用に用いられ、データ回線が状態/制御情報をCPU
に戻すために用いられる(1ビット/PIMデータ回線
)。PIM書き込みモードでは、データ回線がPIM制
御に用いられ、アドレス回線がプロセッサ間の行選択の
特定化に用いられる。
【0072】メモリチップでの処理における効果的な命
令デコード及び基本コードセグメントの実行を行う方法
も考えられる。この方法によれば、入力されるコマンド
、アドレス及びデータ情報は別々のパイプラインに記憶
される。これらの情報はコマンド情報に従って第1の適
当な時にアクセスされて、コマンドシーケンスによって
定められた高レベルの機能を実行する。情報は算術論理
ユニットによって演算されて、それによって得られた出
力結果がデータパイプラインに再入力される。データ及
びアドレスパイプラインはコマンド情報に従って第2の
適当な時にアクセスされて、この情報がメモリに記憶さ
れる。
【0073】以上に本発明を好適な実施例について説明
してきたが、発明の概念から逸脱しない範囲内において
様々な変更及び変化を加えることができることは当業者
には明らかであろう。
【0074】
【発明の効果】メモリチップ内の処理は、同一集積回路
上でメモリ部と演算部とを結合させているので、データ
ピン間の入出力端子がほとんどなくなり、プロセッサと
メモリとの間の命令/データ帯域幅を最大にすることが
できる。
【0075】チップには、並行に駆動される多数の単一
ビット計算プロセッサが含まれているため単一命令多重
データの計算を迅速に処理することができ、さらにエラ
ー訂正論理もチップに組み込まれているためメモリデー
タ内のエラーを発生時に検出して訂正できる。したがっ
て、本発明は高性能なPIM装置を構成する。
【図面の簡単な説明】
【図1】本発明によるPIMチップのブロック図である
【図2】図1のPIMチップのビットシリアルプロセッ
サの概略図である。
【図3】図1のPIMチップのグローバル・オア/並列
プリフィクスネットワークを説明する概要図である。
【図4】メモリの列減少を行うための再構成可能メモリ
プロセッサのブロック図である。
【符号の説明】
2  プロセッサ 4   メモリアレイ 24,26,27,28,30,31,32,33,3
4,36,37   マルチプレクサ35 フリップフ
ロップ 38 算術論理ユニット

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 メモリ及び他のプロセッサからのデータ
    を処理する装置であって、 (a)それぞれ複数のデータ入力部、複数の第1コマン
    ド入力部(F1−n )及び1つの出力部を備えており
    、またそれぞれが各クロックパルスで前記コマンド入力
    部からのコマンドに従って新しいデータ及び先に計算さ
    れているデータのうちの一方を選択する3つのセレクタ
    装置(A,B,C)と、 (b)前記セレクタ装置の出力部に接続されて、前記セ
    レクタ装置からのデータの算術及び論理機能を計算して
    出力を発生する機能ユニットと、 (c)機能ユニットの出力をセレクタ装置入力部、別の
    プロセッサ及びメモリのうちの1つへ選択的に送る手段
    と、 (d)新しく計算されたデータ及び基準データを外部コ
    マンドに従って選択的に記憶する手段とを有しているこ
    とを特徴とする装置。
  2. 【請求項2】 前記セレクタ装置がマルチプレクサであ
    ることを特徴とする請求項1の装置。
  3. 【請求項3】 前記データ入力部は、メモリから新しい
    データを、他のプロセッサから新しいデータを、前記機
    能ユニット出力部から送り戻されてきた先に計算されて
    いるデータを、さらにコマンド制御に従った強制データ
    出力を受け取ることを特徴とする請求項2の装置。
  4. 【請求項4】 前記機能ユニットは算術論理ユニットを
    有していることを特徴とする請求項3の装置。
  5. 【請求項5】 前記算術論理ユニットは、合計、繰り上
    げ及びストリング比較機能を実施することを特徴とする
    請求項4の装置。
  6. 【請求項6】 任意の関係オペレータ間で汎用並列プリ
    フィクス演算機能を実施するためのネットワーク装置で
    あって、 (a)ゼロレベルから始まる複数の連続的な通信レベル
    を定める手段と、 (b)Lがレベル数を表す時に各々が2のL乗のプロセ
    ッサを有する複数の連続グループを前記レベルの各々に
    定める手段とを有しており、 (c)1グループ内の各プロセッサには、先行グループ
    からの出力を有する単一の入力が対応しており、これに
    よって一連の命令がレベルゼロからレベルLまでのレベ
    ルに対応して発行されて、2のL乗の値である並列プリ
    フィクスが計算されるようになっており、(d)レベル
    L及び後続レベルの入力が、先行入力のすべてを受け取
    っている各グループの単一のプロセッサに対応している
    ことを特徴とする装置。
  7. 【請求項7】 あるレベルの前記グループは連続対に配
    列されており、各対の一方のグループがデータを前記対
    の他のグループへ送ることによって、並列プリフィクス
    の演算演算を定めることを特徴とする請求項6の装置。
  8. 【請求項8】 あるレベルのグループのうちの最後のグ
    ループからの出力が全レベルの第1グループの入力部を
    選択的に駆動可能にしたことを特徴とする請求項6の装
    置。
  9. 【請求項9】 さらに複数のネットワークを有し、1つ
    のネットワークのあるレベルのグループのうちの最後の
    グループからの出力が別のネットワークの全レベルの第
    1グループの入力部を選択的に駆動可能にしたことを特
    徴とする請求項6の装置。
  10. 【請求項10】 再構成可能なメモリプロセッサであっ
    て、 (a)複数のメモリ素子と、 (b)それぞれ前記メモリ素子に対応した複数のプロセ
    ッサと、 (c)前記メモリ素子の出力部を前記プロセッサの入力
    部に接続して、各プロセッサが前記メモリ素子の1つか
    らの出力を入力として受け取るようにする第1セレクタ
    手段と、 (d)前記プロセッサの各々の出力部を前記プロセッサ
    に対応したメモリ素子の入力部に接続すると共に、各メ
    モリ素子の出力部を接続した第2セレクタ手段と、(e
    )前記メモリ素子への入力として前記メモリ素子及びプ
    ロセッサの出力のうちの一方を選択するように前記第2
    セレクタ手段を制御し、これにより複数のプロセッサが
    効果的に単一のプロセッサに減少され、かつその単一の
    プロセッサに使用可能なメモリ量をメモリ素子の数の因
    数により増大させるようにした手段と、を備えているこ
    とを特徴とする装置。
  11. 【請求項11】 前記第2セレクタ手段は、それぞれ前
    記複数のメモリ素子に接続されている複数のマルチプレ
    クサからなることを特徴とする請求項10の装置。
  12. 【請求項12】 前記制御手段がデコーダからなること
    を特徴とする請求項11の装置。
  13. 【請求項13】 複数のメモリ素子及びプロセッサで1
    グループが構成されており、前記グループに単一の第1
    セレクタ手段及び単一のデコーダが設けられていること
    を特徴とする請求項12の装置。
  14. 【請求項14】 メモリチップレベルでのシステムエラ
    ーを検出する方法であって、 (a)チップに入ってくる多重ビットインターフェース
    でのパリティエラーを検出して、前記検出されたパリテ
    ィエラーの各々の状態を保持する段階と、(b)メモリ
    アレイの行デコーダ回路のエラーを検出してその状態を
    保持する段階と、 (c)単一ビットメモリエラーを検出して訂正し、2重
    のビットメモリエラーを検出してその状態を保持する段
    階と、を有することを特徴とする方法。
  15. 【請求項15】 さらに、1行のメモリ素子を細分割し
    て、それぞれ複数列を有する訂正サブグループを形成す
    る段階を有しており、それらの列が1つ置きに別々のエ
    ラー検出訂正回路に接続されていることを特徴とする請
    求項14の方法。
  16. 【請求項16】 さらに、チップから前記エラー状態を
    読み取り、同時にエラー状態をクリアする段階を有して
    いることを特徴とする請求項15の方法。
  17. 【請求項17】 さらに、保守のために単一ビットエラ
    ー状態と多重ビットエラー状態とを別々に維持する段階
    を有していることを特徴とする請求項15の方法。
  18. 【請求項18】 メモリチップでの処理において効果的
    な命令のデコード及び基本コードセグメントの実行を行
    う方法であって、 (a)入力コマンド、アドレス及びデータ情報を別々の
    パイプラインに記憶する段階と、 (b)コマンド情報に従って第1の適当な時に前記情報
    をアクセスして、コマンドシーケンスによって定められ
    た高レベルの機能を実行する段階と、 (c)前記情報を演算して出力結果を発生し、それをデ
    ータパイプラインに再入力する段階と、(d)コマンド
    情報に従って第2の適当な時にデータ及びアドレスパイ
    プラインをアクセスして、この情報をメモリ素子に記憶
    する段階とを有することを特徴とする方法。
JP3204045A 1991-01-18 1991-07-18 メモリ集積回路のpimチップおよびその制御方法 Pending JPH04248642A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US64363391A 1991-01-18 1991-01-18
US643633 1991-01-18

Publications (1)

Publication Number Publication Date
JPH04248642A true JPH04248642A (ja) 1992-09-04

Family

ID=24581652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3204045A Pending JPH04248642A (ja) 1991-01-18 1991-07-18 メモリ集積回路のpimチップおよびその制御方法

Country Status (4)

Country Link
US (1) US5396641A (ja)
JP (1) JPH04248642A (ja)
DE (1) DE4134192A1 (ja)
GB (1) GB2252185B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418637B2 (en) 2003-08-07 2008-08-26 International Business Machines Corporation Methods and apparatus for testing integrated circuits

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590345A (en) 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
KR940004434A (ko) * 1992-08-25 1994-03-15 윌리엄 이. 힐러 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법
KR960015851B1 (ko) * 1994-07-12 1996-11-22 재단법인 한국전자통신연구소 반향 제거회로의 제어 방법(Controlling Method of Echo Canceller Circuit)
US5832291A (en) * 1995-12-15 1998-11-03 Raytheon Company Data processor with dynamic and selectable interconnections between processor array, external memory and I/O ports
KR100263030B1 (ko) * 1996-01-26 2000-08-01 윤종용 중앙처리장치 구동 주파수 자동 선택 장치 및 그 제어방법
JP3075184B2 (ja) * 1996-08-02 2000-08-07 日本電気株式会社 演算処理機能付主記憶システム及びその制御方法
US6226738B1 (en) 1997-08-01 2001-05-01 Micron Technology, Inc. Split embedded DRAM processor
US6760833B1 (en) 1997-08-01 2004-07-06 Micron Technology, Inc. Split embedded DRAM processor
US6026478A (en) * 1997-08-01 2000-02-15 Micron Technology, Inc. Split embedded DRAM processor
US8489861B2 (en) * 1997-12-23 2013-07-16 Round Rock Research, Llc Split embedded DRAM processor
US6112288A (en) * 1998-05-19 2000-08-29 Paracel, Inc. Dynamic configurable system of parallel modules comprising chain of chips comprising parallel pipeline chain of processors with master controller feeding command and data
ITMI981564A1 (it) * 1998-07-09 2000-01-09 St Microelectronics Srl Memoria non volatile in grado di eseguire un programma autonomamente
US6295597B1 (en) 1998-08-11 2001-09-25 Cray, Inc. Apparatus and method for improved vector processing to support extended-length integer arithmetic
US6279072B1 (en) * 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
EP1267272B1 (en) 2001-06-11 2011-08-17 Zoran Microelectronics Ltd. A specialized memory device
US7546438B2 (en) * 2001-07-19 2009-06-09 Chung Shine C Algorithm mapping, specialized instructions and architecture features for smart memory computing
US6970988B1 (en) * 2001-07-19 2005-11-29 Chung Shine C Algorithm mapping, specialized instructions and architecture features for smart memory computing
GB2399900B (en) * 2003-03-27 2005-10-05 Micron Technology Inc Data reording processor and method for use in an active memory device
AU2004241602B2 (en) * 2003-05-20 2008-05-08 Syndiant, Inc. Digital backplane
JP2006099232A (ja) * 2004-09-28 2006-04-13 Renesas Technology Corp 半導体信号処理装置
US20060190700A1 (en) * 2005-02-22 2006-08-24 International Business Machines Corporation Handling permanent and transient errors using a SIMD unit
US8028198B2 (en) 2007-07-30 2011-09-27 Micron Technology, Inc. Devices, methods, and apparatuses for detection, sensing, and reporting functionality for semiconductor memory
US7721175B2 (en) * 2007-08-21 2010-05-18 Micron Technology, Inc. System, apparatus, and method for memory built-in self testing using microcode sequencers
US9477636B2 (en) * 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
KR102548591B1 (ko) * 2016-05-30 2023-06-29 삼성전자주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102479212B1 (ko) 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10592121B2 (en) 2017-09-14 2020-03-17 Samsung Electronics Co., Ltd. Quasi-synchronous protocol for large bandwidth memory systems
US10528426B2 (en) * 2017-11-30 2020-01-07 Western Digital Technologies, Inc. Methods, systems and devices for recovering from corruptions in data processing units in non-volatile memory devices
DE102020105628A1 (de) * 2019-03-11 2020-09-17 Samsung Electronics Co., Ltd. Verfahren zur Durchführung interner Verarbeitungsvorgänge mit vordefinierter Protokollschnittstelle einer Speichervorrichtung

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1089225B (it) * 1977-12-23 1985-06-18 Honeywell Inf Systems Memoria con dispositivo rivelatore e correttore a intervento selettivo
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor
CA1180457A (en) * 1981-04-17 1985-01-02 Peter N. Crockett Pipelined control apparatus with multi-process address storage
US5146608A (en) * 1983-05-31 1992-09-08 Hillis W Daniel Parallel processor array system controlled in response to composition status signal
EP0150177A1 (en) * 1983-07-11 1985-08-07 Prime Computer, Inc. Data processing system
US4888682A (en) * 1983-09-09 1989-12-19 International Business Machines Corp. Parallel vector processor using multiple dedicated processors and vector registers divided into smaller registers
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US4791560A (en) * 1985-07-31 1988-12-13 Unisys Corporation Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
US4760525A (en) * 1986-06-10 1988-07-26 The United States Of America As Represented By The Secretary Of The Air Force Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction
GB8618943D0 (en) * 1986-08-02 1986-09-10 Int Computers Ltd Data processing apparatus
JPS6353678A (ja) * 1986-08-22 1988-03-07 Hitachi Ltd ベクトル処理装置
US4843540A (en) * 1986-09-02 1989-06-27 The Trustees Of Columbia University In The City Of New York Parallel processing method
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
US4760517A (en) * 1986-10-17 1988-07-26 Integrated Device Technology, Inc. Thirty-two bit, bit slice processor
US4912710A (en) * 1988-02-29 1990-03-27 Harris Corporation Self-checking random access memory
US5001671A (en) * 1989-06-27 1991-03-19 Vitelic Corporation Controller for dual ported memory
US5203002A (en) * 1989-12-27 1993-04-13 Wetzel Glen F System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418637B2 (en) 2003-08-07 2008-08-26 International Business Machines Corporation Methods and apparatus for testing integrated circuits
US7681095B2 (en) 2003-08-07 2010-03-16 International Business Machines Corporation Methods and apparatus for testing integrated circuits

Also Published As

Publication number Publication date
GB2252185B (en) 1995-08-02
US5396641A (en) 1995-03-07
GB2252185A (en) 1992-07-29
GB9118071D0 (en) 1991-10-09
DE4134192A1 (de) 1992-07-23

Similar Documents

Publication Publication Date Title
JPH04248642A (ja) メモリ集積回路のpimチップおよびその制御方法
US8089819B2 (en) Semiconductor device and semiconductor signal processing apparatus
US11048428B2 (en) Apparatuses and methods for memory alignment
US5276895A (en) Massively parallel array processing system
US5692121A (en) Recovery unit for mirrored processors
US5230079A (en) Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register
US5481749A (en) Shift register divided into a number of cells and a number of stages within each cell to permit bit and multiple bit shifting
US20060143428A1 (en) Semiconductor signal processing device
KR20150083028A (ko) 데이터 처리 장치
US20180060069A1 (en) Apparatus and methods related to microcode instructions
US5457789A (en) Method and apparatus for performing memory protection operations in a single instruction multiple data system
US10768899B2 (en) Matrix normal/transpose read and a reconfigurable data processor including same
JPH05197521A (ja) オペランド情報の静的および動的マスキングを同時かつ独立して行うデータ・プロセッサ
EP0520788A2 (en) Semiconductor memory devices
US5335234A (en) Error correction code pipeline for interleaved memory system
US9823689B2 (en) Variable clocked serial array processor
US4697233A (en) Partial duplication of pipelined stack with data integrity checking
Esonu et al. Fault-tolerant design methodology for systolic array architectures
GB2286700A (en) Dynamically reconfigurable memory processor
US5153521A (en) Broken wire detector for use in a massively parallel array processing system
US20070169022A1 (en) Processor having multiple instruction sources and execution modes
EP4260467A1 (en) Programmable error correction code encoding and decoding logic
Saha et al. A cellular automata based fault tolerant approach in designing test hardware for L1 cache module
JPH034944B2 (ja)
JP2000081989A (ja) プロセッサおよび該プロセッサを用いた巡回符号化処理方法