(57)【特許請求の範囲】
【請求項１】
少なくとも一つの第１のワード線と、
少なくとも一つの第２のワード線と、
複数の第１のビット線と、
複数の第２のビット線と、
上記第１のワード線の一端側が接続され、所定のタイミングで当該第１のワード線を駆動する第１のデコーダと、
上記第２のワード線の一端側が接続され、所定のタイミングで当該第２のワード線を駆動する第２のデコーダと、
記憶ノードを有する複数の記憶素子がマトリクス状に配列され、上記第２のビット線が第１の方向に延びるように配線され、上記第１のビット線が上記第１の方向と略直交する第２の方向に延びるように配線され、上記第１のデコーダにより上記第１のワード線が駆動されているときに上記記憶ノードと上記第１のビット線とを電気的に接続し、上記第２のデコーダにより上記第２のワード線が駆動されているときに上記記憶ノードと上記第２のビット線とを電気的に接続し、かつ、上記第１のワード線および第２のワード線は、上記マトリクス配列された記憶素子のうち、あらかじめ設定されている複数ビットからなるデータ単位のビット数分の所定の斜め方向に配列された複数の記憶素子に接続されているメモリセルアレイと、
上記メモリセルアレイの上記第２の方向側の縁部に配置され、上記第１のビット線に転送されたデータを読み出し、当該第１のビット線に書き込みデータを転送する第１の回路と、
上記メモリセルアレイの上記第１の方向側の縁部に配置され、上記第２のビット線に転送されたデータを読み出し、当該第２のビット線に書き込みデータを転送する第２の回路と、
上記第１の回路により上記第１のビット線を通してデータを上記メモリセルアレイに書き込むときに、上記データを上記第１のビット線に対してワード幅で循環シフトして上記第１の回路に出力するバレルシフタと、
上記第１の回路から上記バレルシフタを介して入力された上記データ単位の複数のビットに基づいて所定の第１の演算処理を行い、当該第１の演算処理の結果を上記バレルシフタに出力する第１の演算器と、
上記第１の演算器から出力されるデータを上記バレルシフタを用いて循環シフトして上記第２の方向にデータを最上位ビットから最下位ビットの順または最下位ビットから最上位ビットの順になるように再配列し、このデータが上記メモリセルに記憶された後に上記第２のデコーダで読み出され上記第２の回路を介して入力され、該入力されたデータを上記データ単位で第２の演算処理を行う第２の演算器と、
を有する記憶装置。
【請求項２】
上記第１の回路は、上記第１の演算器の演算データを上記第１のビット線にワード単位で転送し、かつ、上記第１のデコーダにより上記第１のワード線を駆動して演算データを上記メモリセルアレイに書き込み、
上記第２の回路は、上記第２の演算器の演算データを上記第２のビット線に転送し、かつ、上記第２のデコーダにより上記第２のワード線を駆動して演算データを上記メモリセルアレイに書き込む
請求項１記載の記憶装置。
【請求項３】
上記第２の回路は、上記第１の回路により演算データが上記メモリセルアレイに書き込まれた後、上記第２のデコーダにより上記第２のワード線を駆動して上記第２のビット線にワード単位の複数のビットからなる記憶データを読み出して上記第２の演算器に出力する
請求項２記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶素子がマトリクス状に配置された記憶装置および演算機能付記憶装置に関するものである。
【０００２】
【従来の技術】
一般に、ＳＲＡＭやＤＲＡＭ等の記憶装置は、記憶素子（以下、メモリセル）がマトリクス状に配置されたメモリセルアレイを有する。
【０００３】
図１は、この種の記憶装置の基本的な構成を示す図である。
この記憶装置は、図１に示すように、メモリセルアレイ１、ロウデコーダ２、センスアンプ３を主構成要素として有している。
【０００４】
メモリセルアレイ１は、格子状に配列された互いに直交するワードＷＬとビット線ＢＬ（実際はビット線対）の交差位置に図示しないメモリセルが配置されている。
【０００５】
図２は、ＳＲＡＭセルの構成例を示す回路図である。
このＳＲＡＭセルは、図２に示すように、ｐチャネルＭＯＳ（ＰＭＯＳ）トランジスタＰＴ１，ＰＴ２、ｎチャネルＭＯＳ（ＮＭＯＳ）トランジスタＮＴ１〜ＮＴ４により構成されている。
電源電圧ＶCCの供給ラインと接地ＧＮＤとの間に、ＰＭＯＳトランジスタＰＴ１とＮＭＯＳトランジスタＮＴ１が直列に接続され、互いのゲート同士が接続されてインバータＩＮＶ１が構成されている。そして、このゲート同士の接続点によりインバータＩＮＶ１の入力ノードが構成され、ドレイン同士の接続点によりインバータＩＮＶ１の出力ノード（第１の記憶ノード）ＮＤ１が構成されている。
同様に、ＰＭＯＳトランジスタＰＴ２とＮＭＯＳトランジスタＮＴ２が直列に接続され、互いのゲート同士が接続されてインバータＩＮＶ２が構成されている。そして、このゲート同士の接続点によりインバータＩＮＶ２の入力ノードが構成され、ドレイン同士の接続点によりインバータＩＮＶ２の出力ノード（第２の記憶ノード）ＮＤ２が構成されている。
そして、インバータＩＮＶ１の入力ノードとなるＰＭＯＳトランジスタＰＴ１とＮＭＯＳトランジスタＮＴ１のゲート同士の接続点が、インバータＩＮＶ２の出力ノード（第２の記憶ノード）ＮＤ２に接続され、インバータＩＮＶ２の入力ノードとなるＰＭＯＳトランジスタＰＴ２とＮＭＯＳトランジスタＮＴ２のゲート同士の接続点が、インバータＩＮＶ１の出力ノード（第１の記憶ノード）ＮＤ１に接続されている。
すなわち、インバータＩＮＶ１とインバータＩＮＶ２の入出力同士を交差結合することによりラッチ型の記憶素子が構成されている。
【０００６】
さらに、第１の記憶ノードＮＤ１がＮＭＯＳトランジスタＮＴ３を介してビット線ＢＬに接続され、第２の記憶ノードＮＤ２がＮＭＯＳトランジスタＮＴ４を介してビット線ＸＢＬに接続されている。
そして、アクセストランジスタとしてのＮＭＯＳトランジスタＮＴ３，ＮＴ４のゲートが共通のワード線ＷＬに接続されて、一つのメモリセルが構成されている。
【０００７】
この記憶装置において、たとえば特定のメモリセルの記憶データを読み出す場合、アドレス指定された１本のワード線ＷＬがロウデコーダ２により駆動され、このワード線に接続されたメモリセルの相補的な記憶データがビット線対ＢＬ，ＸＢＬに伝達されて、アドレス指定された図示しないカラムスイッチが導通状態に保持された、ビット線ＢＬ，ＸＢＬのデータがセンスアンプに転送され、読み出される。
特定のメモリセルに所望のデータを書き込む場合は、アドレス指定された１本のワード線ＷＬがロウデコーダ２により駆動され、アドレス指定されたビット線対ＢＬ，ＸＢＬに相補的データ（電源電圧ＶCCレベルの「１」データと接地レベルの「０」データ）が供給されて、書き込みが行われる。
【０００８】
【発明が解決しようとする課題】
上述したように、一般的な記憶装置は、同一カラムのデータがビット位置に合わせて入出力され、カラム方向のアクセス順は時間方向に任意で、ビット方向の並びは固定となっている。
【０００９】
しかしながら、上述した従来の記憶装置では、メモリセルアレイ１へのデータの書き込み、メモリセルアレイ１からのデータの読み出しは、一方向しか行えないことから、たとえば２次元のアドレス要素を用い、横方向と縦方向に対して同様な演算を行ってＭＩＰＭＡＰ画像を作成する画像処理装置等に搭載した場合には、演算処理に応じた効率の良いアクセスを行うことが困難である。
【００１０】
すなわち、これらの記憶装置は、画像を処理する画像処理装置等に用いられるが、この際、メモリセルアレイに書き込まれた画像を一端読み出して、一方向のたとえばローパスフィルタ演算等を行い、さらに直交する方向のローパスフィルタ演算を行う等の処理を行う場合には、複数のメモリセルアレイを用意して、この種の演算に対応する必要があり、画像処理装置の大型化、複雑化を招き、効率のよいデータアクセスを実現することが困難である。
【００１１】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、効率的なデータのアクセスを可能とする記憶装置を提供することにある。
【００２２】
【課題を解決するための手段】
本発明の第１の観点に係る記憶装置は、少なくとも一つの第１のワード線と、少なくとも一つの第２のワード線と、複数の第１のビット線と、複数の第２のビット線と、上記第１のワード線の一端側が接続され、所定のタイミングで当該第１のワード線を駆動する第１のデコーダと、上記第２のワード線の一端側が接続され、所定のタイミングで当該第２のワード線を駆動する第２のデコーダと、記憶ノードを有する複数の記憶素子がマトリクス状に配列され、上記第２のビット線が第１の方向に延びるように配線され、上記第１のビット線が上記第１の方向と略直交する第２の方向に延びるように配線され、上記第１のデコーダにより上記第１のワード線が駆動されているときに上記記憶ノードと上記第１のビット線とを電気的に接続し、上記第２のデコーダにより上記第２のワード線が駆動されているときに上記記憶ノードと上記第２のビット線とを電気的に接続し、かつ、上記第１のワード線および第２のワード線は、上記マトリクス配列された記憶素子のうち、あらかじめ設定されている複数ビットからなるデータ単位のビット数分の所定の斜め方向に配列された複数の記憶素子に接続されているメモリセルアレイと、上記メモリセルアレイの上記第２の方向側の縁部に配置され、上記第１のビット線に転送されたデータを読み出し、当該第１のビット線に書き込みデータを転送する第１の回路と、上記メモリセルアレイの上記第１の方向側の縁部に配置され、上記第２のビット線に転送されたデータを読み出し、当該第２のビット線に書き込みデータを転送する第２の回路と、上記第１の回路により上記第１のビット線を通してデータを上記メモリセルアレイに書き込むときに、上記データを上記第１のビット線に対してワード幅で循環シフトして上記第１の回路に出力するバレルシフタと、上記第１の回路から上記バレルシフタを介して入力された上記データ単位の複数のビットに基づいて所定の第１の演算処理を行い、当該第１の演算処理の結果を上記バレルシフタに出力する第１の演算器と、上記第１の演算器から出力されるデータを上記バレルシフタを用いて循環シフトして上記第２の方向にデータを最上位ビットから最下位ビットの順または最下位ビットから最上位ビットの順になるように再配列し、このデータが上記メモリセルに記憶された後に上記第２のデコーダで読み出され上記第２の回路を介して入力され、該入力されたデータを上記データ単位で第２の演算処理を行う第２の演算器と、を有する。
【００２４】
また、第１の観点では、上記第１の回路は、上記第１の演算器の演算データを上記第１のビット線にワード単位で転送し、かつ、上記第１のデコーダにより上記第１のワード線を駆動して演算データを上記メモリセルアレイに書き込み、上記第２の回路は、上記第２の演算器の演算データを上記第２のビット線に転送し、かつ、上記第２のデコーダにより上記第２のワード線を駆動して演算データを上記メモリセルアレイに書き込む。
【００２５】
第１の観点では、上記第２の回路は、上記第２の回路は、上記第１の回路により演算データが上記メモリセルアレイに書き込まれた後、上記第２のデコーダにより上記第２のワード線を駆動して上記第２のビット線にワード単位の複数のビットからなる記憶データを読み出して上記第２の演算器に出力する。
【００２６】
本発明によれば、たとえば第１のデコーダにより第１のワード線駆動されて、メモリセルアレイの所定アドレスの記憶素子の記憶ノードから第１のビット線の所望のデータが読み出される。
第１のビット線に転送されたデータは、第１の回路に読み出され、演算器に出力される。
演算器では、第１の回路により読み出されたデータに基づいて所定の演算処理が行される。そして、当該演算処理結果が第１の回路に出力される。
これに伴い、第１の回路では、演算器の演算データが第１のビット線に転送され、かつ、第１のデコーダにより第１のワード線が駆動される、これにより、演算器の演算データがメモリセルアレイに書き込まれる。
次に、第２の回路では、第１の回路により演算データがメモリセルアレイに書き込まれた後、第２のデコーダにより第２のワード線が駆動され、第２のビット線に記憶データが読み出される。
【００２７】
【発明の実施の形態】
第１実施形態
図３は、本発明に係る記憶装置の第１の実施形態を示す基本概念図である。
【００２８】
本記憶装置１０は、格子状に配列された互いに直交するワード線およびビット線の交差位置にメモリセルがマトリクス状に配置されている方形のメモリセルアレイの、互いに隣接して垂直な２つの縁（辺）部のデータの入出力ポートをそれぞれ配置することで、異なる辺部のポート間でメモリセルの位置を示す２次元のアドレス要素を入れ替えてアクセスすることを可能とした記憶装置である。
【００２９】
以下、記憶装置１０の各構成要素、特に２方向のデータの入出力ポートを有するメモリセルアレイの構造を中心に、説明する。
【００３０】
本記憶装置１０は、図３に示すように、メモリセルアレイ１１、第１のカラムデコーダ１２、第２のカラムデコーダ１３、第１のセンスアンプ１４、および第２のセンスアンプ１５を主構成要素として有している。
なお、第１のセンスアンプ１４と図示しない制御系により第１の回路が構成され、第２のセンスアンプ１５と図示しない制御系により第２の回路が構成されている。
なお、本実施形態では、簡単化のため、ワード方向（第１の方向）、ビット方向（第２の方向）の２方向におけるカラムスイッチ等は省略している。
【００３１】
メモリセルアレイ１１は、たとえばＳＲＡＭセルをマトリクス状に配列して構成され、図３に示すように、方形状に形成されている。
そして、第１縁（左辺）１１１側に第１のカラムデコーダ１２が配置され、第２縁（下辺）１１２側に第２のカラムデコーダ１３が配置され、第３縁（上辺）１１３側に第１のセンスアンプ１４が配置され、第４縁（右辺）１１４側に第２のセンスアンプ１５が配置されている。
そして、第１のカラムデコーダ１２により駆動される第１のワード線（第１のカラム選択線）ＷＬが第１縁１１１から第４縁１１４にわたって、ワード方向に複数本（図３では１本のみ示している）、所定間隔をおいて配置されている。
一方、第２のカラムデコーダ１３により駆動される第２のワード線（第２のカラム選択線）ＲＷＬが第２縁１１２から第３縁１１３にわたって、ビット方向に複数本（図３では１本のみ示している）、所定間隔をおいて配置されている。
さらに、第１のセンスアンプ１４とのデータの授受を行う第１のビット線対ＢＬ（ＸＢＬ）が第２縁１１２から第３縁１１３にわたって、ビット方向に複数本、所定間隔をおいて配置されている。
また、第２のセンスアンプ１５とのデータの授受を行う第２のビット線対ＲＢＬ（ＸＲＢＬ）が第１縁１１１から第４縁１１４にわたって、ワード方向に複数本、所定間隔をおいて配置されている。
【００３２】
図４は、本第１の実施形態に係るメモリセルアレイ１１の具体的な一構成例を示す回路図である。
このメモリセルアレイ１１は、いわゆる１６個の縦横アクセスＳＲＡＭセルＣＥＬ（１，１）〜ＣＥＬ（４，４）が４×４のマトリクス状に配列されている。
各ＳＲＡＭセルＣＥＬ（１，１）〜ＣＥＬ（４，４）は同様の構成を有している。したがって、具体的な構成については、図５に関連付けて説明する。
【００３３】
図５は、本第１の実施形態に係るＳＲＡＭセルの具体的な一構成例を示す回路図である。
このＳＲＡＭセルＣＥＬ（ｍ，ｎ）は、図５に示すように、ＰＭＯＳトランジスタＰＴ１１，ＰＴ１２、ＮＭＯＳトランジスタＮＴ１１〜ＮＴ１８により構成されている。
【００３４】
電源電圧ＶCCの供給ラインと接地ＧＮＤとの間に、ＰＭＯＳトランジスタＰＴ１１とＮＭＯＳトランジスタＮＴ１１が直列に接続され、互いのゲート同士が接続されてインバータＩＮＶ１１が構成されている。そして、このゲート同士の接続点によりインバータＩＮＶ１１の入力ノードＮＤ１１が構成され、ドレイン同士の接続点によりインバータＩＮＶ１１の出力ノード（第１の記憶ノード）ＮＤ１２が構成されている。
同様に、ＰＭＯＳトランジスタＰＴ１２とＮＭＯＳトランジスタＮＴ１２が直列に接続され、互いのゲート同士が接続されてインバータＩＮＶ１２が構成されている。そして、このゲート同士の接続点によりインバータＩＮＶ１２の入力ノードＮＤ１３が構成され、ドレイン同士の接続点によりインバータＩＮＶ１２の出力ノード（第２の記憶ノード）ＮＤ１４が構成されている。
そして、インバータＩＮＶ１１の入力ノードＮＤ１１となるＰＭＯＳトランジスタＰＴ１とＮＭＯＳトランジスタＮＴ１のゲート同士の接続点が、インバータＩＮＶ１２の出力ノード（第２の記憶ノード）ＮＤ１４に接続され、インバータＩＮＶ１２の入力ノードＮＤ１３となるＰＭＯＳトランジスタＰＴ１２とＮＭＯＳトランジスタＮＴ１２のゲート同士の接続点が、インバータＩＮＶ１１の出力ノード（第１の記憶ノード）ＮＤ１２に接続されている。
すなわち、インバータＩＮＶ１１とインバータＩＮＶ１２の入出力同士を交差結合することによりラッチ型の記憶素子が構成されている。
第１の記憶ノードＮＤ１２がＮＭＯＳトランジスタＮＴ１３を介して第１のビット線ＢＬに接続され、第２の記憶ノードＮＤ１４がＮＭＯＳトランジスタＮＴ１４を介して第１のビット線ＸＢＬに接続されている。
そして、アクセストランジスタとしてのＮＭＯＳトランジスタＮＴ１３，ＮＴ１４のゲートが共通の第１のワード線ＷＬに接続されている。
【００３５】
さらに、第２のビット線ＲＢＬと接地ＧＮＤとの間にＮＭＯＳトランジスタＮＴ１５，ＮＴ１６が直列に接続され、第２のビット線ＸＲＢＬと接地ＧＮＤとの間にＮＭＯＳトランジスタＮＴ１７，ＮＴ１８が直列に接続されている。
ＮＭＯＳトランジスタＮＴ１６のゲートがインバータＩＮＶ１１の入力ノードＮＤ１１に接続され、ＮＭＯＳトランジスタＮＴ１８のゲートがインバータＩＮＶ１２の入力ノードＮＤ１３に接続されている。
そして、ＮＭＯＳトランジスタＮＴ１５のゲートおよびＮＭＯＳトランジスタＮＴ１７のゲートが共通の第２のワード線ＲＷＬに接続されている。
【００３６】
以上のような構成を有するＳＲＡＭセルＣＥＬ（ｍ，ｎ）が、図４に示すようにマトリクス状に配列されるが、図４のメモリセルアレイ１１のおけるＳＲＡＭセルＣＥＬ（ｍ，ｎ）と第１のワード線ＷＬ，第１のビット線ＢＬ，ＸＢＬ、第２のワード線ＲＷＬ，第２のビットＲＢＬ，ＸＲＢＬとの接続関係は以下のようになっている。
【００３７】
第１行に配置されたＳＲＡＭセルＣＥＬ（１，１）〜ＣＥＬ（１，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４が共通の第１のワード線ＷＬ０に接続され、ＮＭＯＳトランジスタＮＴ１５が第２のビット線ＲＢＬ０に接続され、ＮＭＯＳトランジスタＮＴ１７が第２のビット線ＸＲＢＬ０に接続されている。
第２行に配置されたＳＲＡＭセルＣＥＬ（２，１）〜ＣＥＬ（２，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４が共通の第１のワード線ＷＬ１に接続され、ＮＭＯＳトランジスタＮＴ１５が第２のビット線ＲＢＬ１に接続され、ＮＭＯＳトランジスタＮＴ１７が第２のビット線ＸＲＢＬ１に接続されている。
第３行に配置されたＳＲＡＭセルＣＥＬ（３，１）〜ＣＥＬ（３，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４が共通の第１のワード線ＷＬ２に接続され、ＮＭＯＳトランジスタＮＴ１５が第２のビット線ＲＢＬ２に接続され、ＮＭＯＳトランジスタＮＴ１７が第２のビット線ＸＲＢＬ２に接続されている。
第４行に配置されたＳＲＡＭセルＣＥＬ（４，１）〜ＣＥＬ（４，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４が共通の第１のワード線ＷＬ３に接続され、ＮＭＯＳトランジスタＮＴ１５が第２のビット線ＲＢＬ３に接続され、ＮＭＯＳトランジスタＮＴ１７が第２のビット線ＸＲＢＬ３に接続されている。
【００３８】
第１列に配置されたＳＲＡＭセルＣＥＬ（１，１），ＣＥＬ（２，１），ＣＥＬ（３，１），ＣＥＬ（４，１）の各第１の記憶ノードＮＤ１２がＮＭＯＳトランジスタＮＴ１３を介して共通の第１のビット線ＢＬ０に接続され、各第２の記憶ノードＮＤ１４がＮＭＯＳトランジスタＮＴ１４を介して共通の第１のビット線ＸＢＬ０に接続され、ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートが共通の第２のワード線ＲＷＬ０に接続されている。
第２列に配置されたＳＲＡＭセルＣＥＬ（１，２），ＣＥＬ（２，２），ＣＥＬ（３，２），ＣＥＬ（４，２）の各第１の記憶ノードＮＤ１２がＮＭＯＳトランジスタＮＴ１３を介して共通の第１のビット線ＢＬ１に接続され、各第２の記憶ノードＮＤ１４がＮＭＯＳトランジスタＮＴ１４を介して共通の第１のビット線ＸＢＬ１に接続され、ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートが共通の第２のワード線ＲＷＬ１に接続されている。
第３列に配置されたＳＲＡＭセルＣＥＬ（１，３），ＣＥＬ（２，３），ＣＥＬ（３，３），ＣＥＬ（４，３）の各第１の記憶ノードＮＤ１２がＮＭＯＳトランジスタＮＴ１３を介して共通の第１のビット線ＢＬ２に接続され、各第２の記憶ノードＮＤ１４がＮＭＯＳトランジスタＮＴ１４を介して共通の第１のビット線ＸＢＬ２に接続され、ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートが共通の第２のワード線ＲＷＬ２に接続されている。
第４列に配置されたＳＲＡＭセルＣＥＬ（１，４），ＣＥＬ（２，４），ＣＥＬ（３，４），ＣＥＬ（４，４）の各第１の記憶ノードＮＤ１２がＮＭＯＳトランジスタＮＴ１３を介して共通の第１のビット線ＢＬ３に接続され、各第２の記憶ノードＮＤ１４がＮＭＯＳトランジスタＮＴ１４を介して共通の第１のビット線ＸＢＬ３に接続され、ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートが共通の第２のワード線ＲＷＬ３に接続されている。
【００３９】
この記憶装置１０において、たとえば特定のＳＲＡＭセルＣＥＬ（１，１）に記憶データを書き込む場合には、アドレス指定された１本の第１のワード線ＷＬ０が第１のカラムデコーダ１２により駆動され、アドレス指定された第１のビット線対ＢＬ０，ＸＢＬ０に第１のセンスアンプ１４により相補的データ（電源電圧ＶCCレベルの「１」データと接地レベルの「０」データ）が供給されて、書き込みが行われる。
【００４０】
また、たとえば特定のＳＲＡＭセルＣＥＬ（１，１）の記憶データを第１のセンスアンプ１４に読み出す場合、アドレス指定された１本の第１のワード線ＷＬ０が第１のカラムデコーダ１２により駆動される。
この第１のワード線ＷＬ０に接続されたメモリセルの相補的な記憶データが第１のビット線対ＢＬ０，ＸＢＬ０、ＢＬ１，ＸＢＬ１、ＢＬ２，ＸＢＬ２、ＢＬ３，ＸＢＬ３に伝達される。
そして、アドレス指定された図示しないカラムスイッチが導通状態に保持された、ビット線ＢＬ０，ＸＢＬ０のデータが第１のセンスアンプ１４に転送され、読み出される。
【００４１】
また、たとえば特定のＳＲＡＭセルＣＥＬ（１，１）の記憶データを第２のセンスアンプ１５に読み出す場合、アドレス指定された１本の第２のワード線ＲＷＬ０が第２のカラムデコーダ１３により駆動される。
この第２のワード線ＲＷＬ０に接続されたメモリセルの相補的な記憶データが第２のビット線対ＲＢＬ０，ＸＲＢＬ０、ＲＢＬ１，ＸＲＢＬ１、ＲＢＬ２，ＸＲＢＬ２、ＲＢＬ３，ＸＲＢＬ３に伝達される。
そして、アドレス指定された図示しないカラムスイッチが導通状態に保持された、ビット線ＲＢＬ０，ＸＲＢＬ０のデータが第２のセンスアンプ１５に転送され、読み出される。
【００４２】
以上説明したように、本第１の実施形態によれば、格子状に配列された互いに直交するワード線およびビット線の交差位置にメモリセルがマトリクス状に配置されている方形のメモリセルアレイの、互いに隣接して垂直な２つの縁（辺）部１１３，１１４の２方向にデータの入出力を行うように構成したことから、異なる辺部のポート間でメモリセルの位置を示す２次元のアドレス要素を入れ替えてアクセスすることが可能である。
この場合、図３中に示すＡグループ（第１グループ）とＢグループ（第２グループ）とでカラムとビットとの関係が入れ代わる。
Ａグループから書き込むときにカラムを指定することが、Ｂグループで読むときのビットを指定することになる。
したがって、読み書きをあわせてカラムの制御を行うことにより、いわゆるクロスバ相当の自由度でデータの入出力を行うことが可能となる。
【００４３】
たとえば、図６に示すように、本第１の実施形態の係る記憶装置１０を用いてＡおよびＢの２系統の第１の演算器１６、第２の演算器１７を配置して、さらに、第１のアドレス生成器１８および第２のアドレス生成器１９を設けて、読み書きをあわせてカラムの制御を行うことにより、２次元のアドレス要素を用い、横方向と縦方向に対して同様な演算を行って所望の画像を作成することできる演算器機能付記憶装置２０を構成することが可能である。
なお、図６のメモリセルアレイ１１は、６４ビット×６４ビット×１６バンクの容量を有する。
これにより、効率的なデータのアクセスを実現でき、ひいては、画像処理装置の大型化、複雑化を防止でき、効率のよいデータアクセス並びに演算処理の効率アップを図ることができる利点がある。
【００４４】
図７は、本第１の実施形態の係る記憶装置１０を用いた演算機能付記憶装置の他の構成例を示す図である。
この画像処理装置２０Ａは、３つの記憶装置１０−１〜１０−３をビット方向に縦続接続し、演算器１６−１〜１６−３は第１のセンスアンプ１４−１〜１４−３の出力側のみ配置するとともに、アドレス生成器１８−１〜１８−３も第１のデコーダ１２−１〜１２−３のアドレス制御用の回路のみを設けている。
さらに、画像処理装置２０Ａは、初段の記憶装置１０−１の第２のセンスアンプを読み出し用のセンスアンプ１５−１Ｒと書き込み用のセンスアンプ１５−１Ｗとに分割し、同様に、２段目の記憶装置１０−２の第２のセンスアンプを読み出し用のセンスアンプ１５−２Ｒと書き込み用のセンスアンプ１５−２Ｗとに分割し、３段目の記憶装置１０−３の第２のセンスアンプを読み出し用のセンスアンプ１５−３Ｒと構成している。
さらに、画像処理装置２０Ａは、各段の第２のデコーダ１３−１〜１３−３をいわゆるグローバルバスＧＢＳに接続している。
なお、書き込み用のセンスアンプ１５−１Ｗ、１５−２Ｗは、次段の演算機能付記憶装置の第２のビット線に前段の読み出しデータを転送して、書き込みを行う。このとき、第２のデコーダにより第２のワード線ＲＷＬが駆動される。
【００４５】
この画像処理装置２０Ａでは、第２のセンスアンプを読み出し（リード）と書き込み（ライト）に分割し、図７中、左から書き込み、右へ読み出しを行い、いわゆる横方向にバケツリレー方式でデータを交換する。
このような構成においても、効率のよいデータアクセス並びに演算処理の効率アップを図ることができる利点がある。
【００４６】
第２実施形態
図８は、本発明に係る記憶装置の第２の実施形態の要部を示す回路図である。
【００４７】
本第２の実施形態に係る記憶装置１０Ａが上述した第１の実施形態に係る記憶装置１０と異なる点は、メモリセルアレイ１１ａにおいて、ワード線アクセスを行または列方向に配列されたメモリセルに対して行う代わりに、斜め方向（本実施形態では、右上から左下方向）にアクセスするように構成したことにある。
したがって、図８においては、第２の実施形態に係る要部であるメモリセルアレイのみ示している。
【００４８】
また、図９は、本第２の実施形態に係るメモリセルの具体的な構成例を示す回路図である。
図９のメモリセルＣＥＬ（ｍ，ｎ）ａは、基本的には、図５の構成と同様であることから、符号は図５と同一の符号を用いている。
ただし、第１のワード線ＷＬ、および第２のワード線ＲＷＬが斜め方向（本実施形態では、右上から左下方向）のメモリセルと接続可能なように、階段状に形成されている。
第１のワード線ＷＬはコンタクトＣＮＴ１１〜ＣＮＴ１４を介して階段状に形成され、第２のワード線ＲＷＬはコンタクトＣＮＴ２１〜ＣＮＴ２４を介して階段状に形成されている。
【００４９】
第１のワード線ＷＬ０が、斜めに配列された配置されたＳＲＡＭセルＣＥＬ（１，１），ＣＥＬ（２，２），ＣＥＬ（３，３），ＣＥＬ（４，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４のゲートに接続されている。
同様に、第２のワード線ＲＷＬ０がＳＲＡＭセルＣＥＬ（１，１），ＣＥＬ（２，２），ＣＥＬ（３，３），ＣＥＬ（４，４）の各ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートに接続されている。
【００５０】
第１のワード線ＷＬ１が、斜めに配列された配置されたＳＲＡＭセルＣＥＬ（２，１），ＣＥＬ（３，２），ＣＥＬ（４，３）とＣＥＬ（１，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４のゲートに接続されている。
同様に、第２のワード線ＲＷＬ１がＳＲＡＭセルＣＥＬ（２，１），ＣＥＬ（３，２），ＣＥＬ（４，３）とＣＥＬ（１，４）の各ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートに接続されている。
【００５１】
第１のワード線ＷＬ２が、斜めに配列された配置されたＳＲＡＭセルＣＥＬ（３，１），ＣＥＬ（４，２）とＣＥＬ（１，３）とＣＥＬ（２，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４のゲートに接続されている。
同様に、第２のワード線ＲＷＬ１がＳＲＡＭセルＣＥＬ（３，１），ＣＥＬ（４，２）とＣＥＬ（１，３）とＣＥＬ（２，４）の各ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートに接続されている。
【００５２】
第１のワード線ＷＬ３が、ＳＲＡＭセル（４，１）と斜めに配列された配置されたＳＲＡＭセルＣＥＬ（１，２），ＣＥＬ（２，３）とＣＥＬ（３，４）の各ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４のゲートに接続されている。
同様に、第２のワード線ＲＷＬ１がＳＲＡＭセル（４，１）と斜めに配列された配置されたＳＲＡＭセルＣＥＬ（１，２），ＣＥＬ（２，３）とＣＥＬ（３，４）の各ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートに接続されている。
【００５３】
メモリセルアレイを図８および図９のように斜めワードアクセスに構成した理由は、効率のよいワード単位アクセスを実現するためである。
本第２の実施形態に係る斜めワードアクセスについて、図１０に関連付けて、さらに詳細に説明する。
ここでは、ワード幅が８ビットの場合を例に説明する。
【００５４】
通常、データ単位は８ビット等であるので、ワード単位で転置することが望ましいが、単純に構成するとビット（ｄ０〜ｄ７）単位の転置となる。
そこて、ワード線（カラム選択線）によって、アクティブになるメモリセルを通常の行方向または列方向、すなわち一直線ではなく斜め方向となるように構成する。
しかし、そのままであると、ワード内のビット配置がずれてしまうことから、読み書きいずれかの側にバレルシフタ３０を配置して、カラムｍｏｄワード幅でシフトするように構成する。
【００５５】
図１０の構成例では、バレルシフタのｄ０〜ｄ７の順番で入力されたデータを左シフト量としてカラムｍｏｄワード幅として、ビット線ＢＬ０（ＸＢＬ０）にデータｄ２、ビット線ＢＬ１（ＸＢＬ１）にデータｄ３、ビット線ＢＬ２（ＸＢＬ２）にデータｄ４、ビット線ＢＬ３（ＸＢＬ３）にデータｄ５、ビット線ＢＬ４（ＸＢＬ４）にデータｄ６、ビット線ＢＬ５（ＸＢＬ５）にデータｄ７、ビット線ＢＬ６（ＸＢＬ６）にデータｄ０、ビット線ＢＬ７（ＸＢＬ７）にデータｄ１を転送して、ワード線ＷＬ２を駆動して対応するセルＣＥＬ（３，１），ＣＥＬ（４，２），ＣＥＬ（５，３），ＣＥＬ（６，４），ＣＥＬ（７，５），ＣＥＬ（８，６），ＣＥＬ（１，７），ＣＥＬ（２，８）に書き込む。
そして、ワード線ＲＷＬ２を駆動することにより、ビット線ＲＢＬ０（ＸＲＢＬ０）にデータｄ０、ビット線ＲＢＬ１（ＸＲＢＬ１）にデータｄ１、ビット線ＲＢＬ２（ＸＲＢＬ２）にデータｄ２、ビット線ＲＢＬ３（ＸＲＢＬ３）にデータｄ３、ビット線ＲＢＬ４（ＸＲＢＬ４）にデータｄ４、ビット線ＲＢＬ５（ＸＲＢＬ５）にデータｄ５、ビット線ＲＢＬ６（ＸＲＢＬ６）にデータｄ６、ビット線ＲＢＬ７（ＸＲＢＬ７）にデータｄ７がそれぞれ読み出される。
【００５６】
また、図１１および図１２は、図１０における８×８のメモリセルアレイをセルグループＣＧＲとして６４ビット×６４ビットの場合の書き込みおよび読み出し例を模式的に示す図である。図１１が書き込みの場合、図１２が読み出しの場合を示す。
なお、図１１および図１２では、特性のワードのみ記載している。
本第２の実施形態に係る斜めワードアクセス構成を採用することにより、図１１に示すように、各セルグループに８ビット（１ワード）単位で書き込むことができ、図１２に示すように、８ビット（１ワード）単位で、データ列にビット配置を生じることなく読み出すことができる。
【００５７】
図１３は、本第２の実施形態の係る記憶装置１０Ａを用いた演算機能付記憶装置の構成例を示す図である。
なお、図１３のメモリセルアレイ１１ｃは、５１２ビット×５１２ビット（２５６Ｋビット）で、セルグループとしては、３２ビット×３２ビットの容量を有する。
この演算機能付記憶装置２０Ｂは、基本的には、バレルシフタ３０ｂを除いて、図６の記憶装置２０と同様の構成を有しいる。
すなわち、本第２の実施形態では、記憶装置１０Ａを用いてＡおよびＢの２系統の第１の演算器１６ｂ、第２の演算器１７ｂを配置して、さらに、第１のアドレス生成器１８ｂおよび第２のアドレス生成器１９ｂを設けて、読み書きをあわせてカラムの制御を行うことにより、２次元のアドレス要素を用い、横方向と縦方向に対して同様な演算を行って所望の画像、たとえばＭＩＰＭＡＰ画像を作成することできる演算器機能付記憶装置２０Ｂを構成することが可能である。
また、バレルシフタ３０ｂは、３２ビット×１６の能力を有する。
【００５８】
図１４は、ＭＩＰＭＡＰ作成例について説明するための図である。
この例では、図１４（Ａ）に示す元画像に対して、まず縦方向のローパスフィルタ演算を行う。
これにより、図１４（Ｂ）に示すような、高さが２分の１になった中間画像ができる。
この中間画像に対して、横方向のローパスフィルタ演算を行う。
これにより、図１４（Ｃ）に示すような、縦横が２分の１でローパスフィルタ処理が行われた画像が得られる。この場合、ＭＩＰＭＡＰの１レベル以下の画像になる。
【００５９】
図１５は、このＭＩＰＭＡＰ作成を行う場合のアドレスマップ例を示す図である。
この例では、図１５（Ａ）に示すように、６４画素（ｐｉｘ）×６４画素（ｐｉｘ）元画像を０〜１５のサブワードに分割する。
１サブワードは、１６画素（ｐｉｘ）×１６画素（ｐｉｘ）、すなわち１６ワード×１６ワードの大きさである。
本第２の実施形態では、図１５（Ｄ）に示すように、５１２要素を９ビットで表し、上位４ビット（ビット５〜ビット８）で１６ワードを表し、下位５ビット（ビット０〜ビット４）で３２サブワードを表す。
原理的には、図１５（Ｅ）に示すように、１６ワード×１６ワードのセルアレイが３２ワード分あるようなイメージとなる。
そして、上述した縦方向のローパスフィルタ演算を行うことにより、図１５（Ｂ）に示すような、高さが２分の１（３２画素）になった中間画像ができる。
この中間画像に対して、横方向のローパスフィルタ演算を行うことにより、図１５（Ｃ）に示すような、縦横が２分の１（３２画素×３２画素）でローパスフィルタ処理が行われた画像が得られる。
【００６０】
図１６は、このＭＩＰＭＡＰ作成を図１３の装置で行う場合の処理フローを示す図である。
【００６１】
まず、ステップＳＴ１において、Ａ系統からメモリセルアレイ１１ｃに元画像を書き込む。
次に、ステップＳＴ２において、Ａポートから横方向並列にメモリセルアレイ１１ｃの画像データを読み出す。
そして、ステップＳＴ３において、第１の演算器１６ｂでローパスフィルタ演算を行い、ステップＳＴ４において、ポートＡからメモリセルアレイ１１ｃに演算結果の中間画像データを書き込む。
以上のステップＳＴ２〜ＳＴ４の処理を全画素分終了するまで行う（ステップＳＴ５）。
次に、ステップＳＴ６において、Ｂポートから横方向並列にメモリセルアレイ１１ｃの画像データを読み出す。
そして、ステップＳＴ７において、第２の演算器１７ｂでローパスフィルタ演算を行う。以上のステップＳＴ６〜ＳＴ７の処理を全画素分終了するまで行う（ステップＳＴ８）。
そして、ステップＳＴ９において、演算結果の画像を出力する。
【００６２】
以上の図１３の装置で行うＭＩＰＭＡＰ作成動作おけるバレルシフタ３０ｂを利用したデータ配置の処理について、図１７および図１８に関連付けてさらに詳細に説明する。
なお、図１８においては、（０，０），（０，３２）等はピクセル座標（ｘ，ｙ）を示し、〔３１〕，〔３０〕，・・・，〔０〕はビット位置を示している。
【００６３】
図１７および図１８に示すように、バレルシフタ３０ｂ−１〜（３０ｂ−１６）と本第２の実施形態に係る斜めワードアクセスを利用して、図中、横方向のセルに同一のビットが並ぶようにデータを配置する。
具体的には、たとえば図１８に示すように、第１行目に最上位ビット（ＭＳＢ）であるデータｄ３１が配置され、第２行目にデータｄ３０が配置され、順番にして、１セルグループの最下位行にデータｄ０が配置される。
そして、ワード内ビット配置を維持したまま出力を行う。
【００６４】
以上のように、斜めワードアクセス構成を有する演算機能付記憶装置２０Ｂでは、効率的なデータのアクセスを実現でき、ひいては、画像処理装置の大型化、複雑化を防止でき、効率のよいデータアクセス並びに演算処理の効率アップを図ることができる利点がある。
【００６５】
なお、ＳＲＡＭセルＣＥＬ（ｍ，ｎ）の構成は、図５の構成に限定されるものではなく、たとえば図１９のように構成することも可能である。
この図１９のＳＲＡＭセルＣＥＬ（ｍ，ｎ）ａは、図５の接地側に配置されるＮＭＯＳトランジスタＮＴ１６，ＮＴ１８を省略した構成となっている。
ただし、ＮＭＯＳトランジスタＮＴ１５は第１の記憶ノードＮＤ１２と第２のビット線ＲＢＬとの間に接続され、ＮＭＯＳトランジスタＮＴ１７は第２の記憶ノードＮＤ１４と第２のビット線ＸＲＢＬとの間に接続される。
また、ＮＭＯＳトランジスタＮＴ１３，ＮＴ１４のゲートが共通の第１のワード線ＷＬ１１に接続され、ＮＭＯＳトランジスタＮＴ１５，ＮＴ１７のゲートが共通の第２のワード線ＷＬ１２に接続される。
すなわち、図１９のＳＲＡＭセルＣＥＬ（ｍ，ｎ）ａは、ＡおよびＢの両系統において、読み書きを行うことが可能である。
【００６６】
この図９のＳＲＡＭセルＣＥＬ（ｍ，ｎ）ａを用いることにより、Ａ系統に加えてＢ系統からのデータの書き込みを行うことができるようになる。
【００６７】
図２０は、このＭＩＰＭＡＰ作成を図１９のメモリセルを用いた場合の処理フローを示す図である。
【００６８】
まず、ステップＳＴ１１において、Ａ系統またはＢ系統からメモリセルアレイ１１ｃに元画像を書き込む。
次に、ステップＳＴ１２において、Ａポートから横方向並列にメモリセルアレイ１１ｃの画像データを読み出す。
そして、ステップＳＴ１３において、第１の演算器１６ｂでローパスフィルタ演算を行い、ステップＳＴ１４において、ポートＡからメモリセルアレイ１１ｃに演算結果の中間画像データを書き込む。
以上のステップＳＴ１２〜ＳＴ１４の処理を全画素分終了するまで行う（ステップＳＴ１５）。
次に、ステップＳＴ１６において、Ｂポートから横方向並列にメモリセルアレイ１１ｃの画像データを読み出す。
そして、ステップＳＴ１７において、第２の演算器１７ｂでローパスフィルタ演算を行い、ステップＳＴ１８において、ポートＢからメモリセルアレイ１１ｃに演算結果の画像データを書き込む。
以上のステップＳＴ１６〜ＳＴ１８の処理を全画素分終了するまで行う（ステップＳＴ１９）。
そして、ステップＳＴ２０において、演算結果の画像をＡ系統またはＢ系統から出力する。
【００６９】
【発明の効果】
以上説明したように、本発明によれば、効率的なデータのアクセスを実現でき、ひいては、画像処理装置の大型化、複雑化を防止でき、効率のよいデータアクセス並びに演算処理の効率アップを図ることができる利点がある。
【図面の簡単な説明】
【図１】一般的な記憶装置の基本的な構成を示す図である。
【図２】ＳＲＡＭセルの構成例を示す回路図である。
【図３】本発明に係る記憶装置の第１の実施形態を示す基本概念図である。
【図４】本第１の実施形態に係るメモリセルアレイの具体的な一構成例を示す回路図である。
【図５】本第１の実施形態に係るＳＲＡＭセルの具体的な一構成例を示す回路図である。
【図６】本第１の実施形態の係る記憶装置を用いた演算機能付記憶装置の構成例を示す図である。
【図７】本第１の実施形態の係る記憶装置を用いた演算機能付記憶装置の他の構成例を示す図である。
【図８】本発明に係る記憶装置の第２の実施形態の要部を示す回路図である。
【図９】本第２の実施形態に係るメモリセルの具体的な構成例を示す回路図である。
【図１０】本第２の実施形態に係る斜めワードアクセスについて説明するための図である。
【図１１】図１０における８×８のメモリセルアレイをセルグループＣＧＲとして６４ビット×６４ビットの場合の書き込みを模式的に示す図である。
【図１２】図１０における８×８のメモリセルアレイをセルグループＣＧＲとして６４ビット×６４ビットの場合の読み出しを模式的に示す図である。
【図１３】本第２の実施形態に係る記憶装置を用いた演算機能付記憶装置の構成例を示す図である。
【図１４】ＭＩＰＭＡＰ作成例について説明するための図である。
【図１５】ＭＩＰＭＡＰ作成を行う場合のアドレスマップ例を示す図である。
【図１６】このＭＩＰＭＡＰ作成を図１３の装置で行う場合の処理フローを示す図である。
【図１７】図１３の装置で行うＭＩＰＭＡＰ作成動作におけるバレルシフタを利用したデータ配置の処理について説明するための図である。
【図１８】図１３の装置で行うＭＩＰＭＡＰ作成動作におけるバレルシフタを利用したデータ配置の処理について説明するための図である。
【図１９】本実施形態に係るメモリセルアレイの具体的な他の構成例を示す回路図である。
【図２０】ＭＩＰＭＡＰ作成を図１９のメモリセルを用いた場合の処理フローを示す図である。
【符号の説明】
１０，１０Ａ，１０Ｂ…記憶装置、１１，１１ａ〜１１ｂ…メモリセルアレイ、１２…第１のカラムデコーダ、１３…第２のカラムデコーダ、１４，１４−１〜１４−３…第１のセンスアンプ、１５…第２のセンスアンプ、１５−１Ｒ〜１５−３Ｒ…読み出し用第２のセンスアンプ、１５−ＷＲ〜１５−２Ｗ…書き込み用第２のセンスアンプ、１６，１６−１〜１６−３…第１の演算器、１７…第２の演算器、１８…第１のアドレス生成器、１９…第２のアドレス生成器、２０，２０Ａ，２０Ｂ…演算機能付記憶装置。
【図１】
0004250900.tif 000002
【図２】
0004250900.tif 000003
【図３】
0004250900.tif 000004
【図４】
0004250900.tif 000005
【図５】
0004250900.tif 000006
【図６】
0004250900.tif 000007
【図７】
0004250900.tif 000008
【図８】
0004250900.tif 000009
【図９】
0004250900.tif 000010
【図１０】
0004250900.tif 000011
【図１１】
0004250900.tif 000012
【図１２】
0004250900.tif 000013
【図１３】
0004250900.tif 000014
【図１４】
0004250900.tif 000015
【図１５】
0004250900.tif 000016
【図１６】
0004250900.tif 000017
【図１７】
0004250900.tif 000018
【図１８】
0004250900.tif 000019
【図１９】
0004250900.tif 000020
【図２０】
0004250900.tif 000021