(57)【特許請求の範囲】
【請求項１】
第１のワード線、
前記第１のワード線と交差するように配置される第２のワード線、
前記第１のワード線と交差するように配置されるビット線の対、
前記ビット線の対と平行に配置される検索線の対、
前記ビット線の対と交差するように配置される一致線の対、および
データを格納するデータ記憶部と、前記検索線と前記データ記憶部の記憶データとに従って前記一致線の対を駆動する検索／読出部とを含むメモリセルを備え、前記データ記憶部は、前記第１のワード線の選択時、前記ビット線対との間でデータの授受を行いかつ前記検索線対の選択時、前記検索／読出部は、前記一致線対に前記データ記憶部の記憶データを読出す、半導体記憶装置。
【請求項２】
前記データ記憶部は、相補データを記憶する第１のデータ記憶部と、前記第１のデータ記憶部と別に設けられ相補データを記憶する第２のデータ記憶部とを含み、
前記検索／読出部は、前記検索線対の第１の検索線の信号電位と前記第１のデータ記憶部の記憶データに従って前記一致線対の第１の一致線を選択的に駆動する第１の検索／読出ゲートと、前記第２のデータ記憶部の記憶データと前記検索線対の第２の検索線の信号電位に従って、前記一致線対の第２の一致線を選択的に駆動する第２の検索／読出ゲートとを有する、請求項１記載の半導体記憶装置。
【請求項３】
前記第１および第２のデータ記憶部の記憶データにより１ビットの３値データを格納し、前記一致線対の信号電位を同一電位とする記憶データにより、前記一致線対のデータをうける転送先でのデータの書込を禁止する、請求項２記載の半導体記憶装置。
【請求項４】
前記データ記憶部は、１ビットの記憶データとして相補データ信号を格納し、
前記メモリセルは、さらに、前記データ記憶部と別に配置され、前記データ記憶部の記憶データに従う前記検索／読出部による前記一致線対の駆動動作にマスクをかけるマスクデータを格納するマスクデータ格納部を備える、請求項１記載の半導体記憶装置。
【請求項５】
前記ビット線の対は、前記データ記憶部に対して設けられる第１のビット線対と、前記マスクデータ記憶部に対して設けられる第２のビット線対とを有し、
前記マスクデータ記憶部は、前記第１のワード線の選択時、前記第２のビット線対を介して伝達されるデータをマスクデータとして格納する、請求項４記載の半導体記憶装置。
【請求項６】
第１のワード線、
前記第１のワード線と交差するように配置される第２のワード線、
前記第１のワード線と交差するように配置されるビット線の対、
前記ビット線の対と交差するように配置される一致線の対、
データを格納するデータ記憶部と、前記ビット線の対の電位と前記データ記憶部の記憶データとに従って前記一致線の対を駆動する検索／読出部とを含むメモリセルを備え、前記データ記憶部は、前記第１のワード線の選択時、前記ビット線の対との間でデータの授受を行い、かつ前記第２のワード線の選択時前記一致線対のデータを記憶する、半導体記憶装置。
【請求項７】
前記データ記憶部は、前記第１のワード線の電位に従ってデータを記憶する記憶ノードを前記ビット線対に結合する第１導電型のトランジスタで構成される第１の選択ゲートと、前記第２のワード線の信号電位に従って前記一致線対を全記憶ノードに結合する第２導電型のトランジスタで構成される第２の選択ゲートを備える、請求項６記載の半導体記憶装置。
【請求項８】
前記検索／読出部は、前記ビット線対の電位に従って選択的に導通し、導通時、前記データ記憶部の記憶データに従って前記一致線の対を駆動する第２導電型のトランジスタで構成される検索／読出ゲートを備える、請求項７記載の半導体記憶装置。
【請求項９】
前記ビット線の対は、第１のビット線対と第２のビット線対とを備え、
前記データ記憶部は、（ｉ）第１導電型のトランジスタで構成される第１のアクセスゲートを含み、前記第１のワード線の選択時、前記第１のアクセスゲートを介して前記第１のビット線対との間で相補データを授受する第１のデータ記憶部と、（ｉｉ）第１導電型のトランジスタで構成される第２のアクセスゲートを含み、前記第１のワード線の選択時前記第２のアクセスゲートを介して前記第２のビット線対との間で相補データを授受する第２のデータ記憶部とを有し、
前記検索／読出部は、前記第１のビット線対の第１のビット線の電位に従って選択的に導通し、導通時、前記第１のデータ記憶部の記憶データに従って前記一致線対の第１の一致線を駆動する第２の導電型のトランジスタで構成される第１の検索／読出ゲートと、前記第２のビット線対の第１のビット線の電位に従って選択的に導通し、導通時、前記第２のデータ記憶部の記憶データに従って前記一致線対の第２の一致線を駆動する前記第２導電型のトランジスタで構成される第２の検索／読出ゲートを備える、請求項６記載の半導体記憶装置。
【請求項１０】
前記メモリセルは、前記データ記憶部と別に配置され、前記データ記憶部の記憶データの前記一致線対への読出にマスクをかけるマスクデータを記憶するマスクデータ記憶部をさらに備える、請求項６記載の半導体記憶装置。
【請求項１１】
前記データ記憶部は、相補データを記憶する記憶ノードと、前記第１のワード線の電位に従って前記記憶ノードを前記ビット線対に結合する第１導電型のトランジスタで構成される第１のポートアクセスゲートと、前記第２のワード線の電位に従って前記記憶ノードへ前記一致線対上のデータを転送する第２導電型のトランジスタで構成される第２のポートアクセスゲートを備える、請求項１０記載の半導体記憶装置。
【請求項１２】
前記検索／読出部は、前記ビット線対の電位と前記データ記憶部の記憶データとに従って前記一致線対を駆動する前記第２導電型のトランジスタで構成される検索／読出ゲートを備える、請求項１１記載の半導体記憶装置。
【請求項１３】
前記検索／読出ゲートは、前記マスクデータに従って前記データ記憶部のデータに従う前記一致線対の駆動を選択的に禁止する前記第２導電型のトランジスタで構成されるマスクゲートトランジスタさらに備える、請求項１２記載の半導体記憶装置。
【請求項１４】
前記ビット線の対は、前記データ記憶部に結合される第１のビット線対と、前記マスクデータ記憶部に結合される第２のビット線対とを備え、
前記マスクデータ記憶部は、マスクデータを記憶するノードと、前記第１のワード線の電位に従って前記第２のビット線対と前記マスクデータ記憶ノードとを結合する第１導電型のトランジスタで構成される第１のゲートと、前記第２のワード線の電位に従って前記マスクデータ記憶ノードと前記一致線対とを結合する第２導電型のトランジスタで構成される第２のゲートとを備える、請求項１０記載の半導体記憶装置。
【請求項１５】
前記一致線対のデータをそれぞれ増幅するセンス回路、
前記センス回路の出力信号の論理レベルの一致を検出するゲート回路、および
前記センス回路の出力信号と前記ゲート回路の出力信号の一方を選択して内部データとして転送する内部転送回路をさらに備える、請求項１または６に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置に関し、特に、３値データを格納する内容参照メモリ（ＣＡＭ）に関する。より特定的には、この発明は、多ビットデータ配列の行および列を転置する直交変換機能を備えるＣＡＭに関する。
【０００２】
より特定的には、この発明は並列演算処理機能を備える半導体信号処理装置において外部データと演算処理データとの間の配列を変換するための直交変換機能を実現する半導体記憶装置に関する。
【背景技術】
【０００３】
携帯端末機器等の普及に伴って、音声および画像のような大量のデータを高速に処理するデジタル信号処理の重要性が高くなってきている。このようなデジタル信号処理には、一般に、専用の半導体装置として、ＤＳＰ（デジタル・シグナル・プロセッサ）が用いられる。音声および画像データに対するデジタル信号処理においては、フィルタ処理などのデータ処理が行なわれ、このような処理においては、積和演算を繰返す演算処理が多い。したがって、一般に、ＤＳＰの構成においては、乗算回路、加算回路および演算前後のデータの格納用のレジスタが設けられる。このような専用のＤＳＰを用いて、積和演算を１マシンサイクルで実行することとなり、高速演算処理が可能となる。
【０００４】
しかしながら、このＤＳＰにおいては、データワードが順次処理される。したがって、処理対象のデータ量が非常に多い場合には、専用のＤＳＰを用いても、性能を飛躍的に向上させることは困難である。たとえば、演算対象のデータが１万組ある場合、１つ１つのデータに対する演算を１マシンサイクルで実行することができたとしても、最低でも１万サイクルが演算に必要となる。したがって、専用のＤＳＰを用いてデータをシリアルに処理する場合、データ量が多くなるとそれに比例して処理時間が長くなり、高速処理を実現することが困難となる。
【０００５】
大量のデータを高速に処理するために、同一命令に従って複数のデータ項目を並列に処理するＳＩＭＤ（シングル・インストラクション・マルチプル・データ）プロセッサが知られている。ＳＩＭＤプロセッサにおいては、共通の命令に従って、複数の要素プロセッサにおいて異なるデータ項目を並列に処理する。このようなＳＩＭＤプロセッサにおいて、ある条件を満たすデータ項目を検索して処理を実行するために、内容参照メモリ（ＣＡＭ）を用いる構成が、特許文献１（特表２００４−５２０６６８号）に示されている。
【０００６】
この特許文献１においては、ＮチャネルＭＯＳトランジスタ（絶縁ゲート型電界効果トランジスタ）でメモリセルを構成し、相補データをメモリセルに格納する。ビット線を用いてデータの書込／読出をメモリセルに対して実行するとともに、このビット線を検索線としても利用し、検索データと記憶データとの一致／不一致に従って検索線を駆動する。この検索線として、２つの検索線が設けられ、データ“１”が一致していることを示すための１一致線と、データ“０”が、検索データおよび記憶データにおいて一致したときに駆動される０一致線が設けられる。これらの２つの検索線を利用することにより、データ“１”および“０”のいずれが一致しているかを判別する。
【０００７】
この特許文献１においては、また、メモリセル個々に、選択的にデータの書込を行なって、書込マスクを実現するために書込イネーブル信号に従って、ビット／検索線とメモリセルの記憶ノードとを選択的に接続する構成が示される。この特許文献１においては、並列にデータを格納し並列データの検索が可能なＣＡＭセルの並列メモリアレイと、この並列メモリアレイと直交するように直列ビットアレイとを配置し、直列ビットアレイの記憶データに従って並列ビットアレイへデータを伝達することにより、並列データワードの特定の位置のビットに対する選択的な並列書込を実現することを図る。
【０００８】
また、画像データのＤＣＴ変換（離散コサイン変換）などの処理を高速で行うことを意図する構成が、特許文献２（特開平１０−７４１４１号公報）において示されている。この特許文献２に示される構成においては、画像データがビットパラレルかつワードシリアルなシーケンスで、すなわちワード（画素データ）単位で入力し、直列／並列変換回路を用いてワードパラレルかつビットシリアルなデータ列に変換してメモリアレイに書込まれる。メモリアレイに対応して配置される演算器（ＡＬＵ）へデータを転送して、並列処理が実行される。メモリアレイは、画像データブロックに応じてブロックに分割されており、各ブロックにおいて、対応の画像ブロックを構成する画像データがメモリアレイの行ごとに、ワード単位で格納される。
【特許文献１】特表２００４−５２０６６８号
【特許文献２】特開平１０−７４１４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述の特許文献１に示される構成においては、ＳＩＭＤプロセッサのサブクラスの連想プロセッサにＣＡＭを利用する。このＣＡＭは、ＮチャネルＭＯＳトランジスタのみが構成要素として用いられるフルＮＭＯＳ構成であり、ビット線が検索線としても利用される。ＣＡＭセルのデータ書込に対しては、書込イネーブル信号を用いてマスクをかけることが可能である。検索時においては、ビット線に検索データが転送されて、このＣＡＭセル内の検索ゲートにより、一致線が駆動される。書込イネーブル信号は、ビット線とＣＡＭセルの内部の記憶ノードとの間の接続を制御するだけである。ＣＡＭセルから読出されたデータが転送先で格納されるとき、転送先でのデータ書込に対してマスクを転送データビットに対して行うことはできない。また、このようなデータ転送先でのデータ書込にマスクをかけるライトマスク機能については、特許文献１は何ら考慮していない。
【００１０】
また、この特許文献１に示されるＣＡＭセルは、フルＮＭＯＳ構成であり、ビット線と検索線とが共用されるために、ビット線を介してのデータの書込または読出時、このＣＡＭセル内の検索ゲートも導通する。ＣＡＭセルの検索ゲートは、データを記憶するフリップフロップのロー側電源ノードに結合され、このフリップフロップの記憶データに応じて、検索線がロー側電源電圧レベルに駆動される。したがって、ビット線を介してのＣＡＭセルのデータの書込または読出時においても、検索ゲートが導通し（相補データがビット線対に伝達される）、ＣＡＭセルのフリップフロップのロー側電源ノードが一致線に接続され、この書込または読出時の消費電流が増大する（一致線は、ロー側電源電圧レベルに維持される）。
【００１１】
また、ＣＡＭセル構成においては１対の一致線が用いられ、１一致線および０一致線を用いることにより、相補データを検索データとして検索が行なわれる。検索ゲートは、メモリセルロー側電源ノードに結合されるため、検索動作時、一致線をハイ側電源電圧レベルにプリチャージし、また、ＣＡＭセルがフルＮＭＯＳ構成のため、ビット／検索線はロー側電源電圧レベルにプリチャージする。従って、データ読出／書込時と検索動作時とでビット線のプリチャージ電圧レベルが異なり、ビット線電圧制御が複雑となる。
【００１２】
また、この特許文献１においては、ＣＡＭプロセッサが示されており、ＣＡＭの格納データが、処理される。このデータ処理時におけるＣＡＭの格納データの配列順序の変換などの処理の必要性については、特許文献１は何ら考慮していない。
【００１３】
また、特許文献２に示される構成においては、メモリアレイと対応の演算器との間で、ワード（１つの画素に対応するデータ）単位でデータが転送される。各ブロック個々に対応して設けられる演算器において、転送されたワードに対して同一処理が実行され、ＤＣＴ変換などのフィルタ処理が実行される。演算処理結果が、再びメモリアレイに書込まれ、再度、並列／直列変換を行なってビットシリアルかつワードパラレルなデータが、ビットパラレルかつワードシリアルなデータに変換されて、画面１ラインごとのデータが順次出力される。通常の処理においては、データのビット位置の変換は行なわれず、各演算器において通常の演算処理が転送されたデータに対して並列に実行される。
【００１４】
この特許文献２の構成では、画面１ラインの画素データを１行のメモリセルに格納して、行方向に整列する画像ブロックに対して並列に処理が実行される。画像の高精細化のために、この１ラインの画素数が増大した場合、メモリアレイが膨大なものとなる。たとえば、１画素のデータが８ビットで、１ラインの画素数が５１２個の場合でも、メモリアレイの１行においては、メモリセルが、８・５１２＝４Ｋビットとなり、１行のメモリセルが接続される行選択線（ワード線）の負荷が大きくなり、高速でメモリセルを選択してデータを演算部とのメモリセルとの間で転送することが困難となり、応じて高速処理を実現することができなくなる。
【００１５】
また、特許文献１および２においては、また、処理対象のデータの語構成が異なる場合、どのように並列処理を実行するかについては、何ら検討されてしていない。
【００１６】
本願発明者らは、演算処理対象のデータの語構成が異なる場合においても、高速で演算処理を行なう構成を既に考案している（特願２００４−１７１６５８号、特願２００４−３５８７１９号）。この本願発明者らによる信号処理装置においては、メモリアレイの各列（ビット線延在方向：エントリ）に対応して演算器を配置する。各エントリに処理対象のデータを格納し、演算器それぞれにおいてビットシリアル態様で演算処理を行なう。
【００１７】
この構成の場合、各列に対応するエントリにおいては、処理対象データが格納され、ビットシリアル態様で演算処理が実行され、データのビット幅（語構成）が異なる場合においても、演算処理サイクル数が長くなるだけであり、演算処理内容は変更されず、語構成の異なるデータに対しても演算処理を並列に実行することができる。
【００１８】
また、演算器それぞれにおいて並列に処理を実行するため、エントリ（列）の数に等しい数の演算器が並列処理を実行しており、各データワードをシーケンシャルに（ワードシリアル態様で）処理する場合に比べて、処理時間を短縮することができる。たとえば、エントリ数が１０２４であり、８ビットデータの２項演算処理を行なう場合、２項データの転送、演算および演算結果の格納に、それぞれ１マシンサイクルが必要とすると、それぞれ、８・２、８、および８サイクルが必要となり、合計３２サイクル（キャリーの格納にさらに１サイクル必要）の演算サイクルが必要となる。しかしながら、１０２４エントリにおいて並列演算処理を実行するため、１０２４個のデータを逐次演算処理する構成に比べて、大幅に演算時間を短縮することができる。
【００１９】
この信号処理装置において、処理の並列性という特徴を効果的に利用して、高速処理を実現するためには、演算前後のデータを格納するメモリ領域に対して効率的にデータ転送を行なうことが要求され、またこのデータ転送を行なう回路は、小占有面積かつ低消費電力により条件が要求される。
【００２０】
上述の特許文献１に示されるＣＡＭは、シングルポートメモリであり、このようなデータ配列の変換には対応することができない。
【００２１】
また、並列演算処理を行なう場合においても、データの処理内容によっては、並列度が低く（並列演算データ項目の数が少ない）場合、その処理性能を低下させずに高速処理を行なうことが要求される。
【００２２】
それゆえ、この発明の目的は、高速で、データ配列の変換を行なってデータを転送することのできる半導体記憶装置を提供することである。
【００２３】
この発明の他の目的は、並列度の低い演算においても処理性能を向上させることのできる半導体信号処理装置向け記憶装置を提供することである。
【課題を解決するための手段】
【００２４】
この発明の第１の観点に係る半導体記憶装置は、第１のワード線と、この第１のワード線と交差するように配置される第２のワード線と、第１のワード線と交差するように配置されるビット線と、ビット線と別に配置される検索線と、ビット線と交差するように配置される一致線対と、相補データを格納するデータ記憶部と、検索線の電位に応答して記憶部の記憶データに従って一致線の対を駆動する検索部とを含むメモリセルを備える。このメモリセルのデータ記憶部は、第１および第２のワード線の選択時、それぞれ、ビット線および一致線対に記憶データを読出す。
【００２５】
この発明の第２の観点に係る半導体記憶装置は、第１のワード線と、この第１のワード線と交差するように配置される第２のワード線と、第１のワード線と交差するように配置されるビット線と、ビット線と交差するように配置される一致線対と、相補データを格納するデータ記憶部と、ビット線の電位に従ってデータ記憶部の記憶データに従って一致線対を駆動する検索部とを含むメモリセルを備える。このデータ記憶部は、第１および第２のワード線の選択時、それぞれ、ビット線および一致線対に記憶データを読出す。
【発明の効果】
【００２６】
この発明に従うメモリセルにおいて、１対の検索線が設けられている。したがって、この検索線対を、相補データの転送経路として利用することができ、メモリセルに対する信号線の数を低減できる。また、第１および第２のワード線が設けられており、これらの選択時、メモリセルの記憶データが、ビット線および一致検索線対へ転送される。第１および第２のワード線は、交差するように配置されており、選択ワード線に接続されるメモリセルの配列を変更することができ、応じて、入出力データのビット配置順序を変換することができ、ビットシリアルかつワードパラレルがデータを、ワードシリアルかつビットパラレルなデータに容易に変更することができる。
【００２７】
また、検索線対を利用してデータを転送することにより、データ転送先において、データ書込に対してマスクをかけることが可能となり、外部のプロセッサのライトマスク指示に従って転送先においてライトマスクをかけることができ、ライトマスク機能を損なうことなくデータ配列の変換を行うことができる。
【００２８】
また、検索線の信号に従って転送先の演算器において演算に対するマスクをかけることが可能となり、必要データに対してのみ演算処理を実行することができ、演算の並列度が低い場合においても、必要なデータに対してのみ並列に演算処理を実行することができ、演算速度の低下を抑制することができる。
【発明を実施するための最良の形態】
【００２９】
［実施の形態１］
図１は、この発明に従う半導体記憶装置が適用される半導体信号処理システムの全体の構成を概略的に示す図である。図１において、信号処理システム１は、各種処理を実行する演算機能を実現するシステムＬＳＩ１０と、システムＬＳＩ１０と外部システムバス１５を介して接続される外部メモリとを含む。
【００３０】
外部メモリは、大容量メモリ１６と、高速メモリ１７と、システム立上げ時の命令などの固定情報を格納する読出専用メモリ（リード・オンリ・メモリ：ＲＯＭ）１８とを含む。大容量メモリ１６は、たとえばクロック同期型ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）で構成される。高速メモリ１７は、たとえば、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）で構成される。
【００３１】
システムＬＳＩ１０は、たとえばＳＯＣ（システム・オン・チップ）構成を有し、内部システムバス１９に並列に結合される基本演算ブロックＦＢ１−ＦＢｎと、これらの基本演算ブロックＦＢ１−ＦＢｎの処理動作を制御するホストＣＰＵ２と、信号処理システム１外部からの入力信号ＩＮを内部処理用データに変換する入力ポート２９と、内部システムバス１９から与えられた出力データを受けてシステム外部への出力信号ＯＵＴを生成する出力ポート２８を含む。これらの入力ポート２９および出力ポート２８は、たとえば、ライブラリ化されたＩＰ（インタレクチュアル・プロパティ）ブロックで構成され、データ／信号の入出力に必要な機能を実現する。
【００３２】
システムＬＳＩ１０は、さらに、基本演算ブロックＦＢ１−ＦＢｎからの割込信号を受付け、ホストＣＰＵ２に対して割込を通知する割込コントローラ２１と、ホストＣＰＵ２の各処理に必要な制御動作を行なうＣＰＵ周辺２２と、基本演算ブロックＦＢ１−ＦＢｎからの転送要求に従って外部メモリ（１６−１８）に対するデータ転送を行なうＤＭＡコントローラ２３と、ホストＣＰＵ２またはＤＭＡコントローラ２３からの指示に従って外部システムバス１５に接続されるメモリ１６−１８に対するアクセス制御を行なう外部バスコントローラ２４と、ホストＣＰＵ２のデータ処理を補助する専用ロジック２５とを含む。これら機能ブロック２１−２５、２８および２９およびホストＣＰＵ２が並列に内部システムバス１９に結合される。
【００３３】
ＣＰＵ周辺２２は、タイマおよびシリアルＩＯ（入出力）等のホストＣＰＵ２におけるプログラムおよびデバッグの用途に必要な機能を有する。専用ロジック２５は、たとえばＩＰブロックで構成され、既存の機能ブロックを用いて必要な処理機能を実現する。
【００３４】
ＤＭＡコントローラ２３は、ホストＣＰＵ２を介することなく直接、外部メモリ（１６−１８）へアクセスするために用いられる。このＤＭＡコントローラ２３の制御により、外部メモリ１６および／または１７とシステムＬＳＩ１０との間でデータを転送することができ、また、このシステムＬＳＩ１０へ直接アクセスすることができる。ＤＭＡコントローラ２３に対するＤＭＡ要求信号は、基本演算ブロックＦＢ１−ＦＢｎから与えられる。
【００３５】
基本演算ブロックＦＢ１−ＦＢｎは、同一構成を有しており、図１においては、代表的に、基本演算ブロックＦＢ１の構成を示す。
【００３６】
基本演算ブロックＦＢ１は、メモリセルアレイおよび演算器を含む主演算回路３０と、マイクロコード化された実行プログラムを格納するマイクロ命令メモリ３３と、基本演算ブロックＦＢ１の内部動作を制御するコントローラ３１と、アドレスポインタ等として用いられるレジスタ群３２と、コントローラ３１における中間処理データまたは作業用データを格納するワークデータメモリ３６と、基本演算ブロックＦＢ１内部と内部システムバス１９との間でのデータ／信号の転送を行なうシステムバスインターフェイス（Ｉ／Ｆ）５０を含む。
【００３７】
主演算回路３０は、メモリセルが行列状に配列されるメモリセルマット４０と、メモリセルマット４０の一方端側に配列される演算処理ユニット（ＡＬＵ）群４２を含む。
【００３８】
メモリセルマット４０においては、行列状に配列されるメモリセルが複数のエントリに分割され、各エントリに対応して演算処理ユニット（ＡＬＵ）４４が演算処理ユニット群４２において配置される。演算処理ユニット４４は、加算、論理式、一致形式（ＥＸＯＲ）、および反転（ＮＯＴ）などの演算を実行することができる。エントリと対応の演算処理ユニット４４の間でデータのロードおよびストアを行なって演算処理を実行する。
【００３９】
この演算処理ユニット群４２の演算処理ユニット４４間の接続経路を切換えるために、ＡＬＵ間相互接続用スイッチ回路４６が設けられる。このＡＬＵ間相互接続用スイッチ回路４６を用いて演算処理ユニット４４の接続経路を切換えることにより、メモリセルマット４０に格納されるデータ項目に対してコピー動作などのエントリ間でのデータ転送を行なって、処理を行なうことができる。
【００４０】
システムバスＩ／Ｆ５０により、ホストＣＰＵ２またはＤＭＡコントローラ２３が、メモリセルマット４０、コントローラ３１内の専用レジスタ、マイクロ命令メモリ３３およびワークデータメモリ３６へアクセスすることができる。
【００４１】
基本演算ブロックＦＢ１−ＦＢｎには、異なるアドレス領域（ＣＰアドレス領域）が割付けられる。また、基本演算ブロックＦＢ１−ＦＢｎ各々内のメモリセルマット４０、コントローラ３１内の制御レジスタ、マイクロ命令メモリ３３およびワークデータメモリ３６についても、それぞれ異なるアドレス（ＣＰＵアドレス）が割付けられる。各割付けられたアドレスに従って、ホストＣＰＵ２およびＤＭＡコントローラ２３が、アクセス対象の基本演算ブロックＦＢ（ＦＢ１−ＦＢｎ）を識別し、アクセス対象の基本演算ブロックに対するアクセスを実行する。
【００４２】
基本演算ブロックＦＢ１は、さらに、システムバスＩ／Ｆ５０との間でのデータ配列を変換する直交変換回路５２と、直交変換回路５２およびシステムバスＩ／Ｆ５０の一方を選択して主演算回路３０に結合する切換回路５４を含む。直交変換回路５２は、システムバスＩ／Ｆ５０からビットパラレルかつワードシリアルな態様で転送されるデータを、ワードパラレルかつビットシリアルな態様のデータに変換し、切換回路５４を介して主演算回路３０のメモリセルマット４０へ転送する。
【００４３】
メモリセルマット４０の各エントリに、異なるデータワードの同一位置のビットが並列に書込まれる。また、この直交変換回路５２は、主演算回路３０のメモリセルマット４０からワードパラレルかつビットシリアルに転送されるデータ列を直交変換して、ビットパラレルかつワードシリアルな態様のデータ列を生成してで転送する。これにより、システムバス１９とメモリセルマット４０における転送データの整合性を維持する。
【００４４】
ここで、直交変換は、ビットシリアルかつワードパラレルデータとビットパラレルかつワードシリアルデータの間の変換を示す。ビットシリアルデータは、データワードの各ビットが順次転送される態様を示し、ワードパラレルは、複数のデータワードが並列に転送される態様を示す。ビットパラレルは、１つのデータワードのビットが並列に転送される態様を示し、ワードシリアルは、データワードがワード単位で順次転送される態様を示す。
【００４５】
切換回路５４は、コントローラ３１からのワークデータを選択して、主演算回路３０に転送するように構成されてもよい。メモリセルマット４０をワークデータ格納領域として利用することが可能となり、ワークデータメモリ３６が不要となる。また、演算対象データを直交変換する必要のない場合には、この切換回路５４は、システムバスＩ／Ｆ５０を主演算回路３０に結合する。
【００４６】
基本演算ブロックＦＢ１−ＦＢｎそれぞれにおいて、データの入出力機能を分散して配置することにより、基本演算ブロック単位で、データの直交変換の有無を決定することができ、基本演算ブロックＦＢ１−ＦＢｎそれぞれの処理内容に応じて柔軟にデータ配列を設定することができる。
【００４７】
なお、このシステムＬＳＩ１０において、基本演算ブロックＦＢ１−ＦＢｎに共通に、集中制御ユニットが設けられてもよい。この集中制御ユニットが、制御用ＣＰＵおよび命令メモリおよびレジスタ群を含む。ホストＣＰＵ２から、この集中制御ユニットへ制御系を手渡し、基本演算ブロックＦＢ１−ＦＢｎの処理動作を制御する。この構成の場合、手中制御ユニットが、さらに、基本演算ブロックＦＢ１−ＦＢｎないのコントローラ３１に対して制御を手渡して基本演算ブロック単位で処理動作が制御される。
【００４８】
図２は、図１に示す基本演算ブロックＦＢ１−ＦＢｎ各々に含まれる主演算回路３０に含まれるメモリセルマット４０と演算処理ユニット群４２の構成を概略的に示す図である。メモリセルマット４０においては、メモリセルＭＣが行列状に配列され、各メモリセル列が１つのエントリＥＲＹを構成するようにメモリセルマット４０が分割される。
【００４９】
すなわち、メモリセルマット４０においては、メモリセルＭＣが、ｍ個のエントリＥＲＹに分割される。１つのエントリＥＲＹは、ｎビットの幅を有し、メモリセルマット４０におけるビット線延在方向に沿って１列に整列して配置されるメモリセルで構成される。メモリセルマット４０において、エントリ数ｍは、一例として１０２４であり、１エントリＥＲＹのビット幅ｎは、５１２ビットである。
【００５０】
メモリセルマット４０の一方端側に配置される演算処理ユニット群４２においては、エントリＥＲＹそれぞれに対して、演算処理ユニット４４が配置される。エントリＥＲＹと対応の演算処理ユニット４４との間でデータのロードおよびストアを行なって演算処理を実行する。
【００５１】
エントリＥＲＹ各々に、演算処理対象のデータが格納される。演算処理ユニット４４は、ビットシリアル態様で演算処理を実行する。演算処理ユニット群４２においては、複数の演算処理ユニット４４が並列に動作して演算処理を実行するため、ビットシリアルかつエントリパラレルな態様でデータの演算処理が実行される。エントリパラレルな態様は、複数のエントリが並行して処理される態様を示す。
【００５２】
演算処理ユニット４４においてビットシリアル態様で演算処理を実行することにより、演算対象のデータのビット幅が用途に応じて異なる場合においても、単に、演算サイクル数をデータワードのビット幅に応じて変更することにより対応することができ、処理内容を変更する必要がなく、語構成の異なるデータの処理に対しても容易に対応することができる。
【００５３】
図２においては、また、２項演算時の各エントリの格納データの一例を示す。２項演算実行時には、エントリＥＲＹ各々において、２項データワードのビットに対して転送を行なって演算処理を行って、この演算結果データビットの格納を行なう。図２においては、データａおよびｂの２項演算を対応の演算処理ユニット４４において実行した後、その演算結果が、データｃとして同一エントリＥＲＹの所定の位置に書込まれる。すなわち、一例として、データａおよびｂの加算を行なう場合、加算対象の組のデータが、エントリＥＲＹそれぞれに格納される。すなわち、図２における第１行目のエントリＥＲＹについては、対応の演算処理ユニット４４により、１０Ｂ＋０１Ｂの加算が行なわれ、２行目のエントリに対する演算処理ユニット４４においては、００Ｂ＋１１Ｂの演算が行なわれる。ここで、“Ｂ”は、２進数を示す。第３行目のエントリＥＲＹに対する演算処理ユニット４４においては、１１Ｂ＋１０Ｂの加算が実行される。以下、同様に、各エントリについて、格納されたデータワードａおよびｂの加算演算が行なわれ、その加算結果が、対応のエントリ内に格納される。
【００５４】
この演算は、下位側ビットから順次ビットシリアル態様で行なわれる。すなわち、エントリＥＲＹにおいて、先ずデータワードａの下位ビットａ［０］を対応の演算処理ユニット４４へ転送する。次に、データワードｂの下位ビットｂ［０］を対応の演算処理ユニット４４へ転送する。演算処理ユニット４４においては、与えられた２ビットのデータを用いて加算演算を行なう。この加算演算結果ａ［０］＋ｂ［０］は、データワードｃの下位ビットｃ［０］に対応し、対応の位置のエントリに格納される（書込まれる）。たとえば、第１行目のエントリＥＲＹにおいて、加算結果“１”が、ビットｃ［０］の位置に書込まれる。
【００５５】
この加算処理が、上位ビットａ［１］およびｂ［１］に対しても実行され、その演算結果ａ［１］＋ｂ［１］は、ビットｃ［１］の位置に書込まれる。
【００５６】
加算演算を実行する場合、桁上がりが生じる可能性があり、この桁上がり（キャリー）値が、ビットｃ［２］の位置に書込まれる。１０２４個のエントリＥＲＹが設けられる場合、１０２４組のデータの加算を並列に実行することができる。
【００５７】
例えば、メモリセルマット４０と演算処理ユニット４４との間でのデータビットの転送にそれぞれ１マシンサイクルが必要とされ、また演算処理ユニット４４において１マシンサイクルの演算サイクルが必要とされる構成の場合、２ビットデータの加算および加算結果の格納を行なうために、４マシンサイクルが必要となる。各エントリにおいて並列に演算を実行しており、この４マシンサイクル完了後、ｍ組のデータの加算処理が完了している。
【００５８】
従って、メモリセルマット４０を複数のエントリＥＲＹに分割し、各エントリＥＲＹに演算対象データの組をそれぞれ格納し、対応の演算処理ユニット４４においてビットシリアル態様で演算処理を行なう構成により、以下の特徴が実現される。すなわち、１つ１つのデータの演算には比較的多くのマシンサイクルが必要とされるものの、処理すべきデータ量が非常に多い場合には、演算の並列度を高くすることにより、高速データ処理を実現することができる。また、ビットシリアル態様で演算処理を行なうことにより、処理されるデータのビット幅は固定されないため、処理のデータ構成およびそのアプリケーションに容易に適用することができる。
【００５９】
図３は、主演算回路３０の構成をより具体的に示す図である。メモリセルマット４０においては、メモリセルＭＣの各行に対応してワード線ＷＬが配置され、メモリセル列それぞれに対応してビット線対ＢＬＰが配置される。メモリセルＭＣは、これらのワード線ＷＬおよびビット線対ＢＬＰの交差部に対応して配置され、対応のワード線ＷＬおよびビット線対ＢＬＰに接続される。メモリセルＭＣは、一例としてＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）セルで構成される。
【００６０】
エントリＥＲＹは、ビット線対ＢＬＰに対応して設けられる。図３におていは、メモリセルマット４０において、ビット線対ＢＬＰ０からＢＬＰ（ｍ−１）それぞれに対応してエントリＥＲＹ０−ＥＲＹ（ｍ−１）が配置される。ビット線対ＢＬＰが、エントリＥＲＹと対応の演算処理ユニット４４との間のデータ転送線として利用される。
【００６１】
メモリセルマット４０のワード線ＷＬに対しては、ロウデコーダ６６が設けられる。ロウデコーダ６６は、図１に示すコントローラ３１からのアドレス信号に従って、演算対象のデータビットを格納するメモリセルが接続されるワード線ＷＬを選択状態へ駆動する。ワード線ＷＬには、エントリＥＲＹ０−ＥＲＹ（ｍ−１）の同じビット位置のメモリセルが接続されており、ロウデコーダ６６により、エントリＥＲＹ０−ＥＲＹ（ｍ−１）それぞれにおいて同一位置のデータビットが並行して選択される。
【００６２】
演算処理ユニット群４２においては、演算処理ユニット４４が、ビット線対ＢＬＰ０−ＢＬＰ（ｍ−１）それぞれに対応して配置される（図３においては、処理ユニット群ＡＬＵ群）４２において●印で示す。演算処理ユニット群４２とメモリセルマット４０との間に、データのロード／ストアを行なうためのセンスアンプ群６０およびライトドライバ群６２が設けられる。センスアンプ群６０は、ビット線対ＢＬＰに対応して設けられるセンスアンプを含み、対応のビット線対ＢＬＰに読出されたデータを増幅して演算処理ユニット群４２の対応の演算処理ユニット（４４）に伝達する。
【００６３】
ライトドライバ群６２も同様、ビット線対ＢＬＰそれぞれに対応して配置されるライトドライバを含み、対応の演算処理ユニット（４４）からのデータを増幅して対応のビット線対ＢＬＰへ転送する。
【００６４】
これらのセンスアンプ群６０およびライトドライバ群６２に対し、図１に示す切換回路５４との間でデータ転送を行なうための内部データバス６８が配置される。図３においては、この内部データバス６８は、センスアンプ群６０およびライトドライバ群６２にそれぞれ別々に接続されるバス線を含むように示されるものの、これらのセンスアンプ群６０およびライトドライバ群６２へは、共通のデータバス線が接続されてもよい。また、内部データバス６８とセンスアンプ群６０およびライトドライバ群６２との間に、データ入出力用のインターフェイス（入出力バッファ）が配置されていてもよい。
【００６５】
演算処理ユニット群４２に対して、設けられるＡＬＵ間相互接続用スイッチ回路４６は、演算処理ユニット群４２に含まれる演算処理ユニットの相互接続経路を、図１に示すコントローラ３１からの制御信号に基づいて設定する。これにより、バレルシフタなどと同様に、隣接演算処理ユニット間でのデータ転送のみならず、物理的に遠くに離れた演算処理ユニット間でのデータ転送が可能となる。このＡＬＵ間相互接続用スイッチ回路４６は、たとえば、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）などを用いたクロスバースイッチで実現される。演算処理ユニット群４２に含まれる各演算処理ユニットは、図１に示すコントローラ３１からの制御信号に従って、その演算処理動作タイミングおよび演算操作内容が決定される。
【００６６】
この図３に示すように、エントリＥＲＹ０−ＥＲＹ（ｍ−１）には、演算対象のデータが格納される。図３においては、エントリＥＲＹ０に格納されるデータＤＡＴＡを代表的に示す。メモリセルマット４０にデータを書込む場合、ライトドライバ群６２により、選択ワード線ＷＬに接続されるメモリセルＭＣへ並列にデータを書込む。内部データバス６８のバス幅により、一度に書込むことのできるデータビット幅は制限される。この場合、異なるエントリの同一位置のデータビットを、選択ワード線ＷＬに接続される異なるエントリのメモリセルへそれぞれ書込むことが要求される。一方、図１に示すシステムバスＩ／Ｆは、データＤＡＴＡをビットパラレル態様でシリアルに転送する。このため、システムバスＩ／Ｆ（図１のＩ／Ｆ５０）と内部データバス６８との間のデータ配列を変換するために、図１に示す直交変換回路５２が用いられる。
【００６７】
図４は、図１に示す直交変換回路５２の構成を概略的に示す図である。図４において、直交変換回路５２は、Ｋ×Ｌのマトリクス状に配列される記憶素子を有する直交メモリ８０と、直交メモリ８０とシステムバスＩ／Ｆ５０との間のインターフェイスをとるシステムバス／直交変換回路インターフェイス（Ｉ／Ｆ）８２と、メモリセルマット４０に対して設けられる入出力インターフェイス部（Ｉ／Ｆ）に対するインターフェイスをとるメモリセルマット／直交変換回路Ｉ／Ｆ８４と、システムバス１９と直交メモリ８０との間でのデータ転送を制御する対外部データ制御回路８８と、メモリセルマット入出力Ｉ／Ｆと直交メモリ８０との間でのデータ転送を制御する対内部データ制御回路８６を含む。
【００６８】
直交変換回路５２とシステムバス１９との間でＬビット単位でデータの転送が行なわれ、また、直交変換回路５２とメモリセルマット４０との間でＬビット単位でのデータ転送が行なわれる。転送データビット幅Ｌは、内部システムバス１９を転送されるデータワードのビット幅と同一であってもよく、またシステムバスＩ／Ｆ５０（図１参照）においてビット幅変換が行なわれ、複数ワードデータが並列に、システムバスＩ／Ｆ５０と直交変換回路５２との間で転送されてもよい。内部データバス６８のビット幅についても同様である。
【００６９】
対内部転送制御回路８６は、メモリセルマットと直交変換回路５２との間でのデータ転送時、直交メモリ８０に対するアドレスの生成およびメモリセルマットに対するアドレスの生成を行なうとともに、メモリセルマット／直交変換回路Ｉ／Ｆ８４におけるバッファ処理を制御する。
【００７０】
対内部転送制御回路８６が動作して、メモリセルマット（４０）との間でのデータ転送が行なわれている場合、対内部転送制御回路８６は、対外部転送制御回路８８の動作を制御し、システムバス１９との間でのデータ転送にウェイトをかける。また、対内部転送制御回路８６は、メモリセルマットへのデータ転送時、直交メモリ８０のエントリ位置情報およびビット位置情報に基づいてアドレス計算を行なって主演算回路（３０）に、この計算したアドレスを転送する。
【００７１】
対外部転送制御回路８８は、システムバス１９との間でのデータ転送時、直交メモリ８０のＸ方向のアドレスを順次生成して、直交メモリ８０にＸ方向に沿って順次データアクセスを行なう（データの書込または読出を行なう）ように制御を行なう。一方、対内部転送制御回路８６は、メモリセルマットとの間でのデータ転送時、直交メモリ８０のＹ方向に沿ったアドレスを生成して直交メモリ８０のＹ方向に沿って順次データアクセスを行なうように制御する。
【００７２】
直交メモリ８０は、その構成は後に詳細に説明するが、２ポートメモリであり、システムバス／直交変換回路Ｉ／Ｆ８２との間でエントリ単位のデータＤＴＥを転送し、また、メモリセルマット／直交変換回路Ｉ／Ｆ８４との間で、複数エントリにわたるビット単位のデータＤＴＢを転送する。
【００７３】
直交メモリ８０において、Ｙ方向に整列するデータＤＴＥが、外部アドレス（ＣＰＵアドレス）単位のデータであり、メモリセルマットにおいては同一のエントリに格納するエントリ単位のデータである。したがって、外部アドレス（ＣＰＵアドレス）から見た場合、メモリセルマットとの間でのデータ転送時、Ｘ方向に整列するビットの転送が行なわれるため、ワードパラレルかつビットシリアルの態様でデータの転送が行なわれる。ビット単位のデータＤＴＢは、主演算回路のメモリセルマット（４０）において複数のエントリの同一位置のビットで構成される主演算回路のメモリセルマットのワード線アドレス単位のデータを表わす。
【００７４】
直交メモリ８０において、システムバス（１９）とのデータ転送を行なうポートと、メモリ内部バス（６８）との間でのデータ転送を行なうポートとを別々に設けることにより、Ｘ方向データおよびＹ方向データを並べ替えてデータの転送を行なうことができる。システムバス１９からの多ビットデータ（エントリ単位の多ビットデータ）のメモリセルマット（４０）への転送時、ビット単位の多ビットデータに変換して転送する。したがって、直交メモリ８０において、データの並びについて、ワードパラレルかつビットシリアルデータ列とワードシリアルかつビットパラレルデータ列の間での変換が行なわれる。この変換処理を、データの直交変換とここでは規定する。
【００７５】
図５は、図４に示す直交変換回路５２のメモリセルマットへのデータ転送時の動作を示すフロー図である。以下、図４に示す直交変換回路５２の動作について、図１および図５を参照して説明する。
【００７６】
メモリセルマットのデータ転送時においては、システムバス１９上のデータと同一ビット幅のデータ（Ｋ＝Ｌ）が、直交変換回路５２から主演算回路３０のメモリセルマット（４０）に転送される場合を想定する。すなわち、データの直交変換は行なわれるものの、データビット幅についての変換は行なわれない。したがって、システムバス１９のデータのビット幅が内部システムバス６８のデータのビット幅と等しい場合の転送動作について説明する。
【００７７】
主演算回路のメモリセルマットの書込対象の先頭のビット位置（ワード線アドレス）およびエントリ位置（ビットアドレス）をそれぞれ対内部転送制御回路８６の図示しないレジスタに設定し、また、対内部転送制御回路８６をデータ読出モードに設定し、対外部転送制御回路８８をデータ書込モードに設定する。また、直交メモリ８０に対するアドレスを初期アドレスに設定する。これらの一連の処理により、直交変換回路５２における初期設定が完了する（ステップＳＰ１）。
【００７８】
次に、システムバスＩ／Ｆ５０からシステムバス／直交変換回路Ｉ／Ｆ８２経由で、直交メモリ８０に対して転送データが対外部転送制御回路８８の制御のもとに書込まれる。この直交メモリ８４の書込データは、Ｙ方向に整列するエントリ単位の多ビットデータＤＴＥとして直交メモリ８０のＸ方向について先頭行から順次格納される。直交メモリ８０に対するデータ書込ごとに、対外部転送制御回路８８は、書込回数をカウントし、直交メモリ８０のアドレスを更新する（ステップＳＰ２）。
【００７９】
直交メモリ８０の記憶内容がフル状態となるまで、すなわち、この直交メモリ８０へのシステムバス１９からのデータ書込回数が主演算回路のメモリセルマットに対する転送データビット幅Ｋに到達するまで、データの書込が行なわれる（ステップＳＰ３）。
【００８０】
直交メモリ８０に対してシステムバス１９からシステムバス／直交変換回路Ｉ／Ｆ８２を介してＬ回データ書込が行なわれると、直交メモリ８０から主演算回路のメモリセルマットへのデータ転送を行なうために、対内部転送制御回路８６がシステムバス１９に対するウェイト制御信号をアサートし、対外部転送制御回路８８を後続のデータ書込を待機させる状態に設定する（ステップＳＰ４）。
【００８１】
直交メモリ８０の記憶状況がフル状態であるかは、この外部転送制御回路８８が直交メモリ８０に対してデータを書込んだ回数をカウントするごとにモニタすることができる。このモニタ結果が、対外部転送制御回路８８から対内部転送制御回路８６に報知され、直交メモリ８０の記憶状況が対内部転送制御回路８６により把握される。対内部転送制御回路８６からのウェイト制御信号のアサートにより、対外部転送制御回路８８がシステムバス／直交変換回路Ｉ／Ｆをウェイト状態に設定し、応じてシステムバスＩ／Ｆ５０がウェイト状態に設定される。
【００８２】
対内部転送制御回路８６は、対外部転送制御回路８８に対するウェイトをかけるとともに、メモリセルマット／直交変換回路Ｉ／Ｆ８４を活性化する。対内部転送制御回路８６の制御のもとに、このメモリセルマット／直交変換回路Ｉ／Ｆ８４により、直交メモリ８０のＹ方向についての先頭アドレスから順次データを読出し、メモリセルマット／直交変換回路Ｉ／Ｆ８４を介して主演算回路のメモリセルマットへデータが転送される（ステップＳＰ５）。
【００８３】
主演算回路メモリセルマットへのデータ転送により、直交メモリ８０の記憶データがすべて転送されたかの判定が各転送ごとに行なわれる（ステップＳＰ６）。すなわち、対内部転送制御回路８６は、直交メモリ８０からデータ読出して転送を行なった回数をカウントし、そのカウント値がＬに到達するかをモニタする。このカウント値がＬとなるまで、直交メモリ８０からメモリセルマット／直交変換回路Ｉ／Ｆ８４を介してのＫビット単位でのデータ転送が継続される。
【００８４】
ステップＳＰ６において、直交メモリ８０のデータがすべて転送されたと判定されると、次いで演算対象のデータがすべて転送されたかの判定が行なわれる（ステップＳＰ７）。演算対象の転送データがまだ残っている場合には、再び、直交メモリ８０へのデータ格納を行なうため、直交メモリ８０に対するアドレスを初期値に更新し、またデータ転送回路を初期化し（ステップＳＰ８）、再びステップＳＰ２からの処理を開始する。
【００８５】
このステップＳＰ８からステップＳＰ２へ戻った場合には、アドレス更新処理（ステップＳＰ８）が行われて、メモリセルマットにおけるエントリ位置を表わすアドレスがＫ加算されて対内部転送制御回路８６において、直交メモリ８０に格納されるデータのメモリセルマットにおける先頭エントリ位置が更新される（ｍ＞Ｋの場合）。
【００８６】
このエントリ位置情報が、主演算回路のメモリセルマットにおけるエントリ数を超えた場合には、メモリセルマット（４０）において次のワード線を選択して次のビット位置にデータを書込む必要があり、このエントリ位置情報が初期値の０に設定され、また、メモリセルマット４０において次のワード線を選択するため、ワード線アドレス（ビット位置情報）が１増分される。
【００８７】
対内部転送制御回路８６は、対外部転送制御回路８８に対してシステムバス１９のウェイトを解除し、再び、システムバス１９から対外部転送制御回路８８が直交メモリ８０に対するデータの書込を再開する。
【００８８】
これらのステップＳＰ２からＳＰ８の動作が、演算対象のデータがすべて転送されるまで繰返し実行される。
【００８９】
ステップＳＰ７において、演算対象のデータがすべて転送されたと判定されると（システムバスＩ／Ｆからの転送要求がデアサートされることにより判定される）、データ転送が終了する。これらの一連の処理により、外部からのワードシリアルに転送されるデータをビットシリアルかつワードパラレルなデータに変換してメモリセルマットに転送することができる。
【００９０】
図６は、図１に示す大容量メモリ（ＳＳＲＡＭ）１６からメモリセルマット４０へのデータ転送のデータの流れを模式的に示す図である。図６において、メモリセルマット４０に対するデータのビット幅Ｌが４ビットの場合のデータ転送が一例として示される。
【００９１】
図６において、４ビットデータ（ビットＡ０−Ａ０）ないしＩ（ビットＩ３−Ｉ０）がＳＤＲＡＭ１６に格納される。ＳＤＲＡＭ１６においては、各データは、ワードシリアルにワード単位で格納される。ＳＤＲＡＭ１６から内部システムバス１９を介して４ビットデータＤＴＥ（データＩ：ビットＩ３−Ｉ０）が直交メモリ８０へ転送されて格納される。ＳＤＲＡＭ１６からのデータＤＴＥは、メモリセルマットにおいて同一のエントリＥＲＹ内に格納されるエントリ単位のデータであり、直交メモリ８０においては、Ｙ方向にデータビットが整列して格納される。図６において、データＥ−Ｈが格納された状態が一例として示される。
【００９２】
直交メモリ８０からメモリセルマット４０へのデータ転送時において、直交メモリ８０のＸ方向に整列するデータＤＴＢの各ビットが並列に読出される。データビットＥ１、Ｆ１、Ｄ１、およびＨ１からなるメモリセルマットのアドレス単位のデータＤＴＢがメモリセルマット４０のエントリ位置情報および書込ビット位置情報が示す位置に格納される。このビット位置情報が、メモリセルマット４０のワード線アドレスとして用いられ、エントリ位置情報がメモリセルマット４０のビットアドレスして用いられる。これらのビット位置情報およびエントリ位置情報が、先の図４に示す対内部転送制御回路８６内のレジスタに格納され、アドレス情報として主演算回路へ転送される。メモリセルマット４０における実際のデータの書込位置を示す書込ビット位置情報は、メモリセルマット４０へのアクセス回数とエントリ位置情報とビット位置情報とに基づいて生成される。
【００９３】
直交メモリ８０を用いて、Ｙ方向に同時にデータビットを格納し、次いでＸ方向に整列するデータビットを読出すことにより、ＳＤＲＡＭ１６からワードシリアルかつビットパラレルで読出されたエントリ単位のデータＤＴＥを、ワードパラレルかつビットシリアルなアドレス単位（メモリセルマットのエントリアドレス単位）のデータＤＴＢに変換してメモリセルマット４０に格納することができる。
【００９４】
メモリセルマット４０からデータを読出して内部システムバス１９へ転送する場合には、データの転送方向が逆となるものの、直交メモリ８０の動作は、メモリセルマット４０へのデータ書込時と同じである。対内部転送制御回路８６により、メモリセルマット４０から読出されたデータが、順次直交メモリ８０にＹ方向の先頭位置から格納される。次いで、直交メモリ８０から対外部転送制御回路８８により、Ｘ方向の先頭位置からデータが順次読出され、メモリセルマット４０からワードパラレルかつビットシリアル態様で読出されたデータをワードシリアルかつビットパラレルのデータに変換して転送する。
【００９５】
図７は、この発明に従う直交メモリ８０の具体的構成を概略的に示す図である。図７において、直交メモリ８０は、行列状に配列されるメモリセルＭＣＣを有するメモリセルマット９０を含む。メモリセルＭＣＣは、ＣＡＭ（内容参照メモリ）セルで構成され、メモリセルＭＣＣは、その構成は後に詳細に説明するように、２つのポートを有する。１つのポートを、主演算回路のメモリセルマットへのデータ転送用に利用し、他方のポートを、外部のホストＣＰＵ（２）とデータの転送を行なう。
【００９６】
メモリセルマット９０においては、水平方向Ｈに沿って整列するメモリセルＭＣＣに対応して垂直方向ワード線ＷＬＶおよび一致線対ＭＬＰが配置され、垂直方向Ｖに整列するメモリセルＭＣＣに対応して水平方向ワード線ＷＬＨおよび垂直方向ビット線対ＢＬＶＰが配置される。
【００９７】
一致線対ＭＬＰは、水平方向Ｈに整列するメモリセルに対するビット線対としても利用する。ＣＡＭセルをメモリセルＭＣＣとして利用することにより、主演算回路に検索機能を持たせることができ、また、この検索結果に従って主演算回路において選択的に演算処理回路に演算処理を実行させることができる。また、一致線対を利用することにより、主演算回路においてメモリセルマットのメモリセルへのデータ書込を禁止することが可能となり、ライトマスク機能が実現される。この検索時の検索データを伝達するために、垂直方向Ｖに沿って検索線対ＳＬＰが配置される。
【００９８】
直交メモリ８０は、さらに、垂直方向ワードアドレスＡＤＶに従ってメモリセルマット９０の垂直方向ワード線ＷＬＶを選択するロウデコーダ９２ｖと、垂直方向ビット線対ＢＬＶＰ上に読出されたメモリセルデータを検知し増幅するセンスアンプ群９４ｖと、垂直方向ビット線対ＢＬＶＰ上のメモリセルへデータを書込むライトドライバ群９６ｖと、検索線対ＳＬＰに検索データを伝達する検索線ドライバ群９７と、垂直方向データＤＴＶを入出力しかつ検索データＳＤＴを入力する入出力回路９８ｖを含む。
【００９９】
垂直方向ポートおよび水平方向ポートのいずれが主演算回路とのデータ転送に用いられてもよいが、以下の説明においては、この入出力回路９８ｖを介して入出力されるデータＤＴＶは、システムバス１９との間で転送されるエントリ単位のデータＤＴＥに対応するものとする。
【０１００】
直交メモリ８０は、さらに、水平方向ワードアドレスＡＤＨをデコードして、メモリセルマット９０の水平方向ワード線ＷＬＨを選択するロウデコーダ９２ｈと、一致線対ＭＬＰ上に読出されたデータを検知し増幅するセンスアンプ群９４ｈと、一致線対ＭＬＰに結合されるメモリセルにデータを書込むライトドライバ群９６ｈと、センスアンプ群９４ｈおよびライトドライバ群９６ｈとデータの入出力を行なう入出力回路９８ｈを含む。この入出力回路９８ｈを介して送受されるデータＤＴＨは、ここでは、内部データバス６８との間で転送されるデータＤＴＢに対応する（図４に示すメモリセルマット／直交変換回路Ｉ／Ｆ８４を介して）。
【０１０１】
入出力回路９８ｖおよび９８ｈの一方が、システムバス１９との間でデータの転送を行ない、他方が主演算回路内のメモリセルマット４０との間でデータ転送を行なう。ここでは、上述のように、垂直方向Ｖに沿ってエントリ単位のデータＤＴＥが順次格納され、水平方向Ｈに沿ってビット単位のデータＤＴＢが順次格納される場合を想定する。水平方向Ｈに沿っては、主演算回路のメモリセルマットの１エントリに格納されるデータのビット数以上のワード線ＷＬＨが配設される。主演算回路のメモリセルマット４０との間で最大全エントリのビットを並列に転送するために、入出力回路９８ｈは、ここでは、ｎビットデータの入出力を行なう。メモリセルマット９０の全エントリ（垂直方向ワード線で規定される）にデータが格納された後に、直交メモリ８０から、主演算回路のメモリセルマット（４０）へのデータの転送が実行される。
【０１０２】
したがって、ロウデコーダ９２ｖおよび９２ｈによりワード線ＷＬＶおよびＷＬＨがそれぞれ選択されたとき、転送データビットがすべて選択される状態をここでは想定するため、さらに列選択を行なうコラムデコーダは特に設けられていない。ワード線ＷＬＨおよび一致線対ＭＬＰが１つのデータアクセスポート（主演算回路との間のポート；水平方向ポート）を構成し、また、ワード線ＷＬＶおよびビット線対ＢＬＶＰが、他方のデータアクセスポート（システムバスＩ／Ｆと間のポート；垂直方向ポート）を構成する。
【０１０３】
メモリセルマット９０においては、垂直方向ワード線ＷＬＶが１エントリを構成し、主演算回路のメモリセルマットの全エントリと並行してデータ転送を行なう場合、このワード線ＷＬＶは、したがって、ｍ本設けられる（Ｋ＝ｍ）。メモリセルマット９０における１エントリは、水平方向に整列されるメモリセルＭＣＣで構成され、そのビット幅は、Ｌビットである。
【０１０４】
図８は、この発明の実施の形態１に従う直交メモリ８０に含まれるメモリセルＭＣＣの具体的構成を示す図である。図８においては、１ビットのメモリセルの電気的等価回路を示す。メモリセルＭＣＣは、垂直方向ワード線ＶＷＬ［ｉ］上の信号電位に従って垂直方向ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］との間でデータの転送を行なう第１のデータ記憶部１００ａと、垂直方向ワード線ＶＷＬ［ｉ］上の信号に従って垂直方向ビット線ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］との間でデータの授受を行なう第２のデータ記憶部１００ｂを含む。これらのデータ記憶部１００ａおよび１００ｂは、各々、相補データを記憶するＳＲＡＭセル（スタティック・ランダム・アクセス・メモリセル）の構成を有し、これらの２つのデータ記憶部１００ａおよび１００ｂにより、データ“０”、“１”および“Ｘ（ドントケア）”の３値データを記憶する。
【０１０５】
第１のデータ記憶部１００ａは、電源ノード（ハイ側電源ノード）とストレージノードＳＮＴＢの間に接続されかつそのゲートがストレージノードＳＮＴＴに接続されるＰチャネルＭＯＳトランジスタｍ００と、ストレージノードＳＮＴＢと接地ノード（ロー側電源ノード）の間に接続されかつそのゲートがストレージノードＳＮＴＴに接続されるＮチャネルＭＯＳトランジスタｍ０２と、電源ノードとストレージノードＳＮＴＴの間に接続されかつそのゲートがストレージノードＳＮＴＢに接続されるｐチャネルＭＯＳトランジスタｍ０１と、ストレージノードＳＮＴＴと接地ノードの間に接続されかつそのゲートがストレージノードＳＮＴＢに接続されるＮチャネルＭＯＳトランジスタｍ０３と、垂直方向ワード線ＶＷＬ［ｉ］上の信号に従って選択的に導通し、導通時、ストレージノードＳＮＴＢおよびＳＮＴＴを、それぞれ、垂直方向ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］に接続するＮチャネルＭＯＳトランジスタｍ４およびｍ０５を含む。
【０１０６】
ＭＯＳトランジスタｍ００およびｍ０２が、ＣＭＯＳインバータを構成し、また、ＭＯＳトランジスタｍ０１およびｍ０３が、ＣＭＯＳインバータを構成する。第１のデータ記憶部１００ａは、ＳＲＡＭセルと同様、データ記憶にＣＭＯＳインバータラッチを用い、記憶ノードＳＮＴＢおよびＳＮＴＴに、相補データを記憶する。
【０１０７】
第２のデータ記憶部１００ｂは、電源ノードと接地ノードの間に直列に接続されてＣＭＯＳインバータを構成するＰチャネルＭＯＳトランジスタｍ２０およびＮチャネルＭＯＳトランジスタｍ２２と、電源ノードと接地ノードの間に直列に接続されて他方のＣＭＯＳインバータを構成するＰチャネルＭＯＳトランジスタｍ２１およびＮチャネルＭＯＳトランジスタｍ２３と、垂直方向ワード線ＶＷＬ［ｊ］上の信号電位に応答して選択的に導通し、導通時、ストレージノードＳＮＢＢおよびＳＮＢＴを、それぞれ、垂直方向ビット線ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］に結合するＮチャネルＭＯＳトランジスタｍ２４およびｍ２５を含む。ＭＯＳトランジスタｍ２０およびｍ２２のゲートが、ストレージノードＳＮＢＴに接続され、ＭＯＳトランジスタｍ２１およびｍ２３のゲートが、ストレージノードＳＮＢＢに接続される。第２のデータ記憶部１００ｂも、ＣＭＯＳインバータラッチの構成を有し、ストレージノードＳＮＢＴおよびＳＮＢＢに、相補データを記憶する。
【０１０８】
垂直方向ビット線ＶＢＬＴＢ［ｊ］、ＶＢＬＴＴ［ｊ］、ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］が、図７に示す垂直方向ビット線対ＶＢＬＰに対応する。これらのデータ記憶部１００ａおよび１００ｂのＭＯＳトランジスタｍ０４、ｍ０５、ｍ２４およびｍ２５がアクセストランジスタであり、垂直方向ワード線により選択的に導通状態とすることにより、垂直方向ビット線にデータを転送することができ、直交メモリとシステムバス（１９）を介してホストＣＰＵとデータの転送を行なうことができる。
【０１０９】
メモリセルＭＣＣは、さらに、水平方向ワード線ＨＷＬＴ［ｊ］上の信号に従ってデータ記憶部１００ａのストレージノードを一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］に結合する第１の水平アクセスゲート１０２ａと、水平方向ワード線ＨＷＬＢ［ｊ］の信号に従ってデータ記憶部１００ｂとストレージノードを一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］に結合する第２の水平アクセスゲート１０２ｂと、検索線ＳＬＢ［ｊ］上の検索データに従って選択的にイネーブルされ、第１のデータ記憶部１００ａのストレージノードＳＮＴＴの電位に従って一致線ＭＬＴ［ｉ］を駆動する第１の検索／読出ゲート１０４ａと、検索線ＳＬＴ［ｊ］上の検索データに従って選択的にイネーブルされ、第２のデータ記憶部１００ｂのストレージノードＳＮＢＴの信号に従って一致線ＭＬＢ［ｉ］を駆動する第２の検索／読出ゲート１０４ｂを含む。
【０１１０】
一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、図７に示す一致線対ＭＬＰに対応し、内部データバス６８を介して、主演算回路メモリセルマットとの間でデータの転送を行なう。
【０１１１】
第１の水平アクセスゲート１０２ａは、水平方向ワード線ＨＷＬＴ［ｊ］上の信号電位に応答して導通し、導通時、ストレージノードＳＮＴＴおよびＳＮＴＢを、それぞれ一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］に結合するＮチャネルＭＯＳトランジスタｍ０６およびｍ０７を含む。第２の水平アクセスゲート１０２ｂは、水平方向ワード線ＨＷＬＢ［ｊ］の信号電位に従って、第２のデータ記憶部１００ｂのストレージノードＳＮＢＴおよびＳＮＢＢを、それぞれ、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］に結合するＮチャネルＭＯＳトランジスタｍ２６およびｍ２７を含む。
【０１１２】
これらの水平方向アクセスゲート１０２ａおよび１０２ｂにより、メモリセルＭＣＣの第２のポート（水平方向ポート）が形成される。これらの一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、垂直方向ビット線ＶＢＬＴＢ［ｊ］と直交する方向に配置されており、これにより、直交メモリ内において、データ配列の直交変換を実現する。一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、主演算回路のメモリセルマットとの間のデータ転送に利用し、メモリセルＭＣＣの３値データに従ってデータの書込を選択的に禁止する。
【０１１３】
検索／読出ゲート１０４ａは、ストレージノードＳＮＴＴの信号電位に従って選択的に導通するＮチャネルＭＯＳトランジスタｍ１０と、検索線ＳＬＢ［ｊ］上の信号に従って選択的に導通し、導通時、一致線ＭＬＴ［ｉ］をＭＯＳトランジスタｍ１０に結合するＮチャネルＭＯＳトランジスタｍ１２を含む。
【０１１４】
検索／読出ゲート１０４ｂは、第２のデータ記憶部１００ｂのストレージノードＳＮＢＴの信号電位に従って選択的に導通するＮチャネルＭＯＳトランジスタｍ１１と、検索線ＳＬＴ［ｊ］上の信号電位に従って選択的に導通し、導通時、一致線ＭＬＢ［ｉ］をＭＯＳトランジスタｍ１１に結合するＮチャネルＭＯＳトランジスタｍ１３を含む。
【０１１５】
この検索／読出ゲート１０４ａおよび１０４ｂにおいて、ＭＯＳトランジスタｍ１０およびｍ１１は、メモリセル内の接地ノードに結合されており、検索／読出ゲート１０４ａおよび１０４ｂにおいて直列に接続されるＭＯＳトランジスタ（ｍ１０，ｍ１２またはｍ１１，ｍ１３）が導通すると、対応の一致線が接地電圧レベルに駆動される。（検索動作時においては、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、電源電圧レベルにプリチャージされる）。
【０１１６】
検索／読出ゲート１０４ａおよび１０４ｂを用いて、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］に検索結果を示すデータを転送することにより、主演算回路において、各演算処理ユニット（ＡＬＵ）の演算処理にマスクをかけることができ、したがって、所定の条件を満たすデータに対してのみ、演算処理を実行することが可能となる（演算処理ユニット内においてマスクレジスタを設け、このマスクレジスタのマスクビットに従って演算実行の可否が設定される）。
【０１１７】
また、第１および第２のデータ記憶部１００ａおよび１００ｂの記憶データを読出すときには、水平方向アクセスゲート１０２ａおよび１０２ｂを利用すると、一致線ＭＬＴ「ｉ」およびＭＬＢ［ｉ］においてデータが衝突する可能性がある（３値データを記憶するため）。従って、データの水平方向読出時においては、検索／読出ゲート１０４ａおよび１０４ｂを利用して一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］にデータを読出す。この場合には、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］が、読出ワード線として利用されて、選択状態（Ｈレベル）に駆動される。
【０１１８】
なお、ＣＰＵには、一般に、バイト単位でデータの書込を禁止するライトマスク機能が設けられる。このＣＰＵのライトマスク機能に対応して、２つのデータ記憶部１００ａおよび１００ｂを用いて３値データを記憶し、主演算回路のメモリセルマットへのデータの書込を選択的に禁止する。
【０１１９】
図９は、外部のホストＣＰＵとの間でのデータ転送時における直交メモリ８０におけるワード線の選択態様を概略的に示す図である。図９に示すように、メモリセルマット９０において、垂直方向ワード線ＶＷＬが選択状態へ駆動される。このメモリセルマット９０においては、各垂直方向ワード線ＶＷＬが、１エントリに対応しており、データＤＴＶのビット幅が（最大）Ｌビットであり、エントリが、Ｋ個設けられる（最大ｍ）。この選択ワード線ＶＷＬに接続されるメモリセルに対して、センスアンプ群９４ｖまたはライトドライバ群９６ｖを用いて、データＤＡＴＡの読出／書込が実行され、垂直方向ポートを介してのデータ転送が行われる。
【０１２０】
図１０は、データＤＴＶの書込／読出時の信号線の状態を模式的に示す図である。図１０に示すように、ホストＣＰＵとの間でのデータＤＴＶの転送時においては、垂直方向ワード線ＶＷＬ［ｉ］が選択状態へ駆動され、データ記憶部１００ａおよび１００ｂにおいて、アクセストランジスタｍ０４、ｍ０５、ｍ２４、およびｍ２５が導通状態となる。応じて、データ記憶部１００ａにおいてストレージノードＳＮＴＴおよびＳＮＴＢが、それぞれビット線ＶＢＬＴＴ［ｊ］およびＶＢＬＴＢ［ｊ］に結合される。水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］は非選択状態のＬレベルであり、水平アクセスゲート１０２ａおよび１０２ｂは非導通状態である。また、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］もＬレベルであり、検索／読出ゲート１０４ａおよび１０４ｂも非導通状態にある。
【０１２１】
データ“０”の書込時において、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］がそれぞれ、ＬレベルおよびＨレベルに駆動され、またビット線ＶＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］が、それぞれ、ＨレベルおよびＬレベルに駆動される。データ“１”の書込時において、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＢＴ［ｊ］は、それぞれ、ＨレベルおよびＬレベルに駆動され、ビット線ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］は、それぞれ、ＬレベルおよびＨレベルに駆動される。
【０１２２】
データの書込にマスクをかける場合、マスクデータとして、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］がそれぞれＨレベルおよびＬレベルに駆動され、ビット線ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］が、それぞれ、ＨレベルおよびＬレベルに駆動される。
【０１２３】
これらの２つのデータ記憶部１００ａおよび１００ｂを用いて、２ビット情報を用いて１ビットＣＰＵデータを記憶することにより、３値データを格納することができ、応じて、主演算回路のメモリセルマットにおいてデータの書込を禁止するマスクデータを格納することができる。このマスクデータ格納時、後に説明するように、主演算回路のメモリセルマットに対するデータ転送用のビット線として用いられる一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、ともにプリチャージ状態に維持され、主演算回路のメモリセルマットにおけるデータの書込が禁止される。
【０１２４】
メモリセルマット９０からデータＤＴＶの読出を行なう場合には、２値データ“０”または“１”が読出される（ライトマスク機能実現時においても、データ読出時は主演算回路から転送されたデータの読出であり、メモリセルにおいては、マスクデータを許容する３値データは格納され図、２値データが格納される）。
【０１２５】
図１１は、図９に示すライトドライバ群９６Ｖにおける垂直方向の１列のメモリセルに対して配置されるライトドライバの構成の一例を示す図である。ライトドライバ群９６Ｖにおいては、垂直方向の各列に対応して同一構成のライトドライバが配置されるため、図１１においては、垂直方向ビット線ＶＢＬＴＴ、ＶＢＬＴＢ、ＶＢＬＢＢ、およびＶＢＬＢＴにより、垂直方向に整列して配置されるメモリセルに対して設けられるビット線を代表的に示す。
【０１２６】
以下の説明においても、他の信号線に対ても、個別的に特に信号線を特定して参照する場合には、［ｉ］および［ｊ］の添え字を付し、一般的に信号線を総称的に参照する場合には、これらの添え字は省略する。
【０１２７】
図１１において、ライトドライバは、書込指示信号ＷＥと１ビットデータＤを受けるＮＡＮＤ回路１１０と、マスク指示信号ＭＡＳＫを反転するインバータ回路１１１と、マスク指示信号ＭＡＳＫとＮＡＮＤ回路１１０の出力信号とを受けてビット線ＶＢＬＢＢを駆動するＯＲ回路１１２と、マスク指示信号ＭＡＳＫとＮＡＮＤ回路１１０の出力信号とを受けてビット線ＶＢＬＢＴを駆動するＮＯＲ回路１１４と、インバータ１１１の出力信号とＮＡＮＤ回路１１０の出力信号とを受けてビット線ＶＢＬＴＢを駆動するＮＡＮＤ回路１１６と、インバータ回路１１１の出力信号とＮＡＮＤ回路１１０の出力信号とを受けてビット線ＶＢＬＴＴを駆動するＡＮＤ回路１１８を含む。書込指示信号ＷＥは、データ書込モード時Ｈレベルに設定される。マスク指示信号ＭＡＳＫは、データ書込にマスクをかけるライトマスク動作実行時にＨレベルに設定される（例えばバイト単位で）。
【０１２８】
通常のノンマスクのデータ書込時においては、書込指示信号ＷＥはＨレベル、マスク指示信号ＭＡＳＫがＬレベルに設定される。データビットＤが“０”であり、Ｌレベルのときには、ＮＡＮＤ回路１１０の出力信号がＨレベルとなる。応じて、ＯＲ回路１１２の出力信号がＨレベルとなり、またＡＮＤ回路１１８の出力信号がＨレベルとなる。また、ＮＯＲ回路１１４の出力信号はＬレベル、ＮＡＮＤ回路１１６の出力信号がＬレベルとなる。したがって、ビット線ＶＢＬＢＢおよびＶＢＬＴＴがＨレベルに駆動され、ビット線ＶＢＬＴＢおよびＶＢＬＢＴがＬレベルに駆動される。
【０１２９】
データビットＤが“１”であり、Ｈレベルのときには、ＮＡＮＤ回路１１０の出力信号がＬレベルとなる。マスク指示信号ＭＡＳＫはＬレベルであるため、ＯＲ回路１１２の出力信号がＬレベルとなり、ビット線ＶＢＬＢＢはＬレベルに駆動される。一方、ＮＯＲ回路１１４は、その両入力がＬレベルであり、ビット線ＶＢＬＢＴはＨレベルに駆動される。ＮＡＮＤ回路１１６は、ＮＡＮＤ回路１１０からのＬレベルの信号に従ってビット線ＶＢＬＴＢをＨレベルに駆動し、ＡＮＤ回路１１８が、ビット線ＶＢＬＴＴをＬレベルに駆動する。
【０１３０】
ライトマスク動作時においては、マスク指示信号ＭＡＳＫがＨレベルに設定され、応じて、インバータ回路１１１の出力信号がＬレベルに設定される。したがって、ＮＡＮＤ回路１１６により、ビット線ＶＢＬＴＢがＨレベルに駆動され、また、ＡＮＤ回路１１８により、ビット線ＶＢＬＴＴがＬレベルに駆動される。また、ＯＲ回路１１２が、ビット線ＶＢＬＢＢをＨレベルに駆動し、ＮＯＲ回路１１４が、ビット線ＶＢＬＢＴをＬレベルに駆動する。
【０１３１】
したがって、図１１に一例を示すライトドライバの構成を利用して、データ記憶部１００ａおよび１００ｂにそれぞれ相補データを書込むことにより、データビットＤおよびマスク指示信号ＭＡＳＫに応じて３値データをメモリセルＭＣＣに格納することができる。
【０１３２】
図９に示すセンスアンプ群９４ｖのセンスアンプについては、データ記憶部１００ａおよび１００ｂの一方のデータに基づいて、読出動作を行なうようにセンスアンプが設けられてもよく、またデータ記憶部１００ａおよび１００ｂから読出されたデータをプリアンプでセンスし、さらに、これらのプリアンプの出力信号をメインアンプで増幅して、最終の１ビットデータを生成する構成が用いられてもよい。データ読出時においては、マスクデータは読出されず、２値データの読出が行なわれる。
【０１３３】
なお、マスク指示信号ＭＡＳＫおよび書込指示信号ＷＥについては、図４に示す対外部転送制御回路８８に対して外部のホストＣＰＵからマスク指示信号および書込指示信号（ライトイネーブル信号）が与えられ、この対外部転送制御回路８８により、たとえばバイト単位でマスク指示信号ＭＡＳＫが生成される。
【０１３４】
図１２は、水平方向ポートを介してのデータの転送時の直交メモリ８０の状態を概略的に示す図である。図１２において、この水平方向ポートを介してのデータ転送時の場合、水平方向ワード線ＷＬＨがメモリセルマット９０において選択状態へ駆動される。各エントリに対応して配置される一致線対ＭＬＰが、内部データ伝達線として用いられ、センスアンプ群９４ｈまたはライトドライバ群９６ｈにより、データの読出または書込が行なわれ、主演算回路のメモリセルマットとの間でデータＤＴＨ（Ｋビット幅）の転送が行なわれる。
【０１３５】
このデータ転送時、３値データを転送し、主演算回路でメモリセルマットへのデータの書込をマスクをかける必要がある。したがって、メモリセルマット９０から主演算回路のメモリセルマット（４０）へのデータ転送時において、検索線対ＳＬＰを読出ワード線として利用して、検索／読出ゲートを介して一致線対ＭＬＰ上に２つのデータ記憶部（１００ａ，１００ｂ）の記憶データをそれぞれシングルエンドで読出す。これにより、３値データの転送を可能にする。
【０１３６】
図１３は、メモリセルマット９０への主演算回路のメモリセルマットからのデータの書込時のメモリセルの状態を示す図である。メモリセルマット９０への主演算回路からのデータの書込時においては、水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］がＨレベルに駆動される。垂直方向ワード線ＶＷＬ［ｊ］ならびに検索線ＳＬＢ［ｊ］およびＳＴＬ［ｊ］はＬレベルに設定される。
【０１３７】
書込データは、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］上に転送される。この状態において、メモリセルＭＣＣにおいて、水平アクセスゲート１０２ａおよび１０２ｂにおいて、ＭＯＳトランジスタｍ０６、ｍ０７、ｍ２６およびｍ２７が導通する。検索／読出ゲート１０４ａおよび１０４ｂは非導通状態である。水平アクセスゲート１０２ａは、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］を、それぞれ、データ記憶部１００ａのストレージノードＳＮＴＢおよびＳＮＴＴに結合する。一方、データ記憶部１００ｂにおいては、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］が、アクセスゲート１０２ｂを介してそれぞれストレージノードＳＮＢＴおよびＳＮＢＢに結合される。したがって、データ記憶部１００ａおよび１００ｂにおいては、互いに相補なデータを格納することができ、応じて２値データを格納することができる。
【０１３８】
データの書込が、水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］に接続されるメモリセルＭＣＣにおいてそれぞれ対応の一致線ＭＬＴ，ＭＬＢを用いて実行される。主演算回路のメモリセルマットの記憶データは、２値データであり、水平方向ポートを介してのデータ書込時においては、マスク機能は設けられていない。したがって、データ記憶部１００ａおよび１００ｂにおいてストレージノードＳＮＴＴおよびＳＮＴＢとストレージノードＳＮＢＴおよびＳＮＢＢと一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］との接続を反対とすることにより、これらのデータ記憶部１００ａおよび１００ｂに、相補なデータを書込むことができる。
【０１３９】
図１４は、水平方向ポートを介してのデータ読出時のメモリセルＭＣＣの内部状態を示す図である。この水平方向のデータ読出時においては、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］が選択状態に駆動され、一方、水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］は、非選択状態に維持される。同様、垂直方向ワード線ＶＷＬ［ｉ］も非選択状態に維持される。
【０１４０】
メモリセルＭＣＣにおいては、検索／読出ゲート１０４ａにおいてＭＯＳトランジスタｍ１２が導通状態となり、同様、検索／読出ゲート１０４ｂにおいてＭＯＳトランジスタｍ１３が導通状態となる。一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、Ｈレベルにプリチャージされる。データ記憶部１００ａのストレージノードＳＮＴＴの記憶データに従って、一致線ＭＬＴ［ｉ］が、選択的に接地レベルに駆動され、また、データ記憶部１００ｂのストレージノードＳＮＢＴの記憶電位に従って、一致線ＭＬＢ［ｉ］が、選択的に接地電圧レベルに駆動される。
【０１４１】
図１０において書込データを示したように、メモリセルＭＣＣにおいてデータ“０”が保持されている場合には、データ記憶部１００ａのストレージノードＳＮＴＴがＨレベル、データ記憶部１００ｂのストレージノードＳＮＢＴはＬレベルである。したがって、検索／読出ゲート１０４ａにおいて、ＭＯＳトランジスタｍ１０が導通状態、検索／読出ゲート１０４ｂにおいて、ＭＯＳトランジスタｍ１１が非導通状態である。したがって、一致線ＭＬＴ［ｉ］が接地電圧レベルに放電され、一方、一致線ＭＬＢ［ｉ］は、プリチャージ電圧レベルのＨレベルに維持される。これにより、データ“０”が、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］を通して転送される。
【０１４２】
メモリセルＭＣＣにデータ“１”が格納されている場合には、データ記憶部１００ａのストレージノードＳＮＴＴがＬレベル、データ記憶部１００ｂのストレージノードＳＮＢＴはＨレベルである。したがって、この場合には、検索／読出ゲート１０４ａにおいてＭＯＳトランジスタｍ１０が非導通状態、検索／読出ゲート１０４ｂにおいてＭＯＳトランジスタｍ１１が導通状態となる。したがって、一致線ＭＬＴ［ｉ］がプリチャージ電圧レベルのＨレベル、一致線ＭＬＢ［ｉ］が接地電圧レベルのＬレベルとなり、データ“１”が読出される。
【０１４３】
メモリセルＭＣＣにマスクデータが格納されている場合、データ記憶部１００ａのストレージノードＳＮＴＴはＬレベル、データ記憶部１００ｂにおいても、ストレージノードＳＮＢＴはＬレベルである。したがって、この状態においては、検索／読出ゲート１０４ａおよび１０４ｂは、ＭＯＳトランジスタｍ１０およびｍ１１が非導通状態であり、一致線の放電は行なわず、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、プリチャージ電圧レベルのＨレベルに維持される。
【０１４４】
図１５は、主演算回路のメモリセルマット（４０）に含まれるメモリセルＭＣの構成の一例を示す図である。図１５において、主演算回路のメモリセルマットのメモリセルＭＣは、ゲートおよびドレインが交差結合されるＰチャネルＭＯＳトランジスタＰＱ１およびＰＱ２と、ゲートおよびドレインが交差結合されるＮチャネルＭＯＳトランジスタＮＱ１およびＮＱ２を含む。ＭＯＳトランジスタＰＱ１およびＮＱ１のドレインがストレージノードＳＮＡに結合され、ＭＯＳトランジスタＰＱ２およびＮＱ２のドレインが、ストレージノードＳＮＢに結合される。
【０１４５】
メモリセルＭＣは、さらに、ワード線ＷＬ上の信号電位に従って、ストレージノードＳＮＡおよびＳＮＢをビット線ＢＬおよびＢＬＢに結合するＮチャネルＭＯＳトランジスタＮＱ３およびＮＱ４を含む。
【０１４６】
このメモリセルＭＣは、ＳＲＡＭセルである。ビット線ＢＬおよびＢＬＢには、一致線ＭＬＴおよびＭＬＢ上の信号に応じた信号が伝達される。したがって、一致線ＭＬＴおよびＭＬＢ上のデータビットがともにＨレベルのとき、メモリセルＭＣのストレージノードＳＮＡおよびＳＮＢの保持データは変化しない（通常のデータ読出時と同じ状態である）。一方、ビット線ＢＬおよびＢＬＢに、相補データ（ＨレベルおよびＬレベル）が伝達された場合には、ストレージノードＳＮＡおよびＳＮＢの一方がＨレベル、他方がＬレベルに駆動され、データの書込が実行される。
【０１４７】
したがって、一致線ＭＬＴ（ＭＬＴ［ｉ］）およびＭＬＢ（ＭＬＢ［ｉ］）をともにＨレベルに設定することにより、メモリセルＭＣへのデータの書込を禁止することができ、ライトマスク機能を実現することができる。
【０１４８】
図１６は、この直交メモリにおけるメモリセルＭＣＣをＣＡＭ動作させるときの信号線の状態を示す図である。このＣＡＭ動作時においては、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］に、検索データが伝達される。メモリセルＭＣＣの記憶データが検索対象外の場合には、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］はともにＬレベルに維持される。メモリセルＭＣＣの記憶データが検索対象外の場合、したがって、検索／読出ゲート１０４ａおよび１０４ｂにおいて、ＭＯＳトランジスタｍ１２およびｍ１３が非導通状態であり、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］の信号電位に対しては、影響は及ぼさない。
【０１４９】
検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］には、検索データのビット値および反転値がそれぞれ転送される。したがって、データ“０”が検索データのとき、検索線ＳＬＢ［ｊ］がＬレベルに設定され、検索線ＳＬＴ［ｊ］がＨレベルに設定される。メモリセルＭＣＣがデータ“０”を記憶している場合、ストレージノードＳＮＴＴがＨレベル、ストレージノードＳＮＢＴがＬレベルである。したがって、この状態においては、検索／読出ゲート１０４ａおよび１０４ｂにおいて、ＭＯＳトランジスタｍ１２およびｍ１１が、それぞれ、非導通状態となり、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、プリチャージ電圧レベルを維持する。
【０１５０】
検索データが“１”のとき、検索線ＳＬＢ［ｊ］にＨレベルの信号が伝達され、検索線ＳＬＴ［ｊ］にＬレベルの信号が伝達される。メモリセルＭＣＣがデータ“１”を記憶している場合、ストレージノードＳＮＴＴおよびＳＮＢＴは、それぞれＬレベルおよびＨレベルである。したがって、この状態においても、検索／読出ゲート１０４ａおよび１０４ｂは非導通状態を維持し、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］はプリチャージ電圧レベルを維持する。
【０１５１】
メモリセルＭＣＣがデータ“０”を記憶しているときに、検索データ“１”が与えられた場合には、検索／読出ゲート１０４ａにおいてＭＯＳトランジスタｍ１０およびｍ１２が導通状態となり、一致線ＭＬＴ［ｉ］が接地ノードへ放電され、その電圧レベルが低下する。逆に、メモリセルＭＣＣがデータ“１”を保持している場合に検索データ“０”が伝達された場合、検索／読出ゲート１０４ｂにおいてＭＯＳトランジスタｍ１１およびｍ１３が導通し、一致線ＭＬＢ［ｉ］が接地電圧レベルへ放電される。
【０１５２】
したがって、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］がともにプリチャージ電圧レベル（Ｈレベル）に維持されるときには、検索データとメモリセルＭＣＣの記憶データとが一致していると判定される。一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、メモリセルマット９０において、水平方向に延在しており、１エントリのメモリセルに共通に配設される。したがって、１エントリのデータビットについての一致／不一致の各判定結果が、一致線に現れ、従って、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］がともにプリチャージ電圧レベルを維持するかを見ることにより、検索データと１エントリの記憶データの一致／不一致を判定することができる。
【０１５３】
図１７は、水平方向ポートのデータ読出部のセンスアンプ群９４ｈ（図１２参照）における１ビットデータに対するセンスアンプ部およびデータ出力部の構成の一例を概略的に示す図である。図１７において、ＲＡＭ動作をこのメモリセルマット９０において実行する際のデータの流れも併せて示す。
【０１５４】
図１７において、センスアンプ群９４ｈのセンスアンプ回路は、一致線ＭＬＴおよびＭＬＢそれぞれに対して設けられ、センスアンプ活性化信号ＳＡＥの活性化に応答して一致線ＭＬＴおよびＭＬＢ上の信号電位を増幅するシングルエンドのセンスアンプＳＡ０およびＳＡ１と、センスアンプＳＡ０およびＳＡ１の出力信号を受ける２入力ＡＮＤ回路１２０と、ＡＮＤ回路１２０の出力信号と図示しないたとえばテスト信号の一方を選択するセレクタ１２１と、セレクタ１２１の出力信号と検索結果指示信号ＬＯＡＤ♯とを受けるＯＲ回路１２３と、リセット信号ＲＥＳＥＴとフリップフロップ（ＦＦ）１２５の出力信号とを受けるＯＲ回路１２２と、ＯＲ回路１２２および１２３の出力信号を受けるＡＮＤ回路１２４とを含む。
【０１５５】
セレクタ１２１は、テストモード時のテスト指示信号とＡＮＤ回路１２０の出力信号の一方を選択する。図１７においては、このセレクタの入力“０”へ与えられるテスト信号は示していない。通常動作時においては、セレクタ１２１は、このＡＮＤ回路１２０の出力信号を選択する。ここで、セレクタ１２１において入力“１”および“０”は、図示しない選択制御信号が“１”（Ｈレベル）のときに、その入力“１”に与えられる信号を選択する状態を示す。
【０１５６】
フリップフロップ（ＦＦ）１２５は、クロック信号ＣＬＫに同期して、ＡＮＤ回路１２４の出力信号を取込みラッチする。
【０１５７】
このセンスアンプ群９４ｈの１ビットセンスアンプ回路は、入出力回路９８ｈへ与えられる。この入出力回路９８ｈの出力部は、センスアンプＳＡ０の出力信号とフリップフロップ（ＦＦ）１２５の出力信号の一方を選択制御信号ＲＡＭ／ＣＡＭ♯に従って選択するセレクタ１２７と、フリップフロップ１２５の出力信号を受けるインバータ１２６と、センスアンプＳＡ１の出力信号とインバータ１２６の出力信号の一方を選択制御信号ＲＡＭ／ＣＡＭ♯に従って選択するセレクタ１２７と、出力イネーブル信号ＯＥに従って活性化され、活性化時、セレクタ１２７および１２８の出力信号をバッファ処理して出力するトライステートバッファ１２９および１３０を含む。これらのトライステートバッファ１２９および１３０の出力信号が、先の図４に示すメモリセルマット／直交変換回路Ｉ／Ｆ８４を介して内部データバス６８に伝達され、さらに主演算回路のメモリセルマットへ伝達される。
【０１５８】
直交メモリをＲＡＭ動作させる場合、すなわち直交メモリのメモリセルの記憶データを読出して主演算回路のメモリセルマットへ転送する場合、選択制御信号ＲＡＭ／ＣＡＭ♯がＨレベルに設定され、セレクタ１２７および１２８が、その入力“１”に与えられる信号を選択する。
【０１５９】
センスアンプＳＡ０およびＳＡ１が、センスアンプ活性化信号ＳＡＥの活性化に従って、一致線ＭＬＴおよびＭＬＢ上の信号を増幅してセレクタ１２７および１２８へ、それぞれ増幅結果の信号を伝達する。出力イネーブル信号ＯＥに従ってセレクタ１２７および１２８の選択信号をトライステートバッファ１２９および１３０で増幅して伝達することにより、直交メモリにおいて一致線ＭＬＴおよびＭＬＢ上に読出されたデータを内部データバスを介して主演算回路のメモリセルマットへ転送することができる。
【０１６０】
図１８は、直交メモリをＣＡＭ動作させる場合、すなわち検索データに従って一致／不一致の判定結果を示す信号を伝達する場合の信号の流れを示す図である。検索データに一致するデータを検索するＣＡＭ動作時において、まず、リセット信号ＲＥＳＥＴをＨレベルに設定し、クロック信号ＣＬＫをトグルする。この状態において、ＯＲ回路１２２の出力信号がリセット信号ＲＥＳＥＴに従ってＨレベルとなる。検索結果データを保持するタイミングを設定するロード信号ＬＯＡＤ♯は、Ｈレベルである。したがって、ＯＲ回路１２２および１２３の出力信号がともにＨレベルとなり、ＡＮＤ回路１２４の出力信号がＨレベルとなる。フリップフロップ（ＦＦ）１２５において、クロック信号ＣＬＫに従ってＡＮＤ回路１２４の出力信号が取込まれ、フリップフロップ１２５の保持信号がＨレベルとなる。一致線ＭＬＴおよびＭＬＢがともに初期状態のＨレベルにある状態に対応して、初期状態として、フリップフロップ１２５が、一致検出状態に設定される。
【０１６１】
検索動作時、リセット信号ＲＥＳＥＴはＬレベルであり、一方、フリップフロップ１２５の出力信号に従ってＯＲ回路１２２がＨレベルの信号を出力する。
【０１６２】
直交メモリにおいて検索動作が行なわれ、一致線ＭＬＴおよびＭＬＢの電圧レベルがそのプリチャージ状態から検索結果に応じた状態に設定される。所定のタイミングでセンスアンプ活性化信号ＳＡＥが活性化され、一致線ＭＬＴおよびＭＬＢの信号電位が増幅されて、ＡＮＤ回路１２０により一致線ＭＬＴおよびＭＬＢがともにＨレベルにあるかの判定が行なわれる。検索データと対応のエントリの保持データとが一致している場合には、一致線ＭＬＴおよびＭＬＢはともにＨレベルであり、ＡＮＤ回路１２０の出力信号がＨレベルである。ＡＮＤ回路１２０およびセレクタ１２１の出力信号が確定すると、次いで、ロード信号ＬＯＡＤ♯をＬレベルに設定し、ＯＲ回路１２３をバッファ動作させ、ＡＮＤ回路１２０の出力信号をバッファ処理してＡＮＤ回路１２４へ伝達する。
【０１６３】
ＯＲ回路１２２の出力信号がＨレベルであるため、ＡＮＤ回路１２４がバッファ回路として動作し、したがって、ＡＮＤ回路１２４の出力信号は、検索データと対応のエントリの保持データの一致／不一致を示す状態になる。クロック信号ＣＬＫに従ってフリップフロップ１２５が与えられた信号を取り込んで保持する。したがって、このフリップフロップ１２５の保持データは、検索データが対応のエントリの記憶データと一致している場合にはＨレベルであり、また、不一致状態のときにはＬレベルである。フリップフロップ１２５の出力信号がＬレベルに設定されると、ＯＲ回路１２２の出力信号がＬレベルとなり（リセット信号ＲＥＳＥＴがＬレベル）、クロック信号ＣＬＫがトグルされても、常時、ＡＮＤ回路１２４の出力信号はＬレベルであり、正確に、一致検索結果を示す信号がフリップフロップ１２５により保持される。
【０１６４】
検索動作時、選択制御信号ＲＡＭ／ＣＡＭ♯は、Ｌレベルであり、セレクタ１２７および１２８が、それぞれその入力“０”に与えられた信号を選択し、トライステートバッファ１２９および１３０が、それぞれ出力イネーブル信号ＯＥに従って内部データバスへ、一致結果を伝達する。したがって、この内部データバスへは、一致／不一致を判定する結果を示す相補信号が伝達される（インバータ回路１２６がフリップフロップ１２５の出力信号を反転している）。
【０１６５】
これらの図１７および図１８に示すセンスアンプ群９４ｈおよび入出力回路９８ｈの構成を利用することにより、直交メモリのＲＡＭ動作およびＣＡＭ動作両者を実現することができる。
【０１６６】
なお、別の構成として、クロック信号ＣＬＫを利用してフリップフロップ１２５に検索結果を保持することなく、検索動作時のＡＮＤ回路１２０の出力信号が、セレクタ１２７およびインバータ１２６へ与えられてもよい。
【０１６７】
また、図１７に示すように、主演算回路のメモリセルマットからの転送データを直交メモリへ書込む場合には、一致線ＭＬＴおよびＭＬＢそれぞれに対して設けられるライトドライバＷＤ０およびＷＤ１を用いて、内部データバスを介して伝達された相補データを増幅して一致線ＭＬＴおよびＭＬＢ上に伝達する。これらのライトドライバＷＤ０およびＷＤ１は、ライトドライバ群（９６ｈ）に含まれ、ライトドライバイネーブル信号ＷＤＥの活性化に応答して活性化される。
【０１６８】
これらの図１７および図１８に示す各制御信号は、図４に示す対内部転送制御回路８６から生成される。
【０１６９】
図１９は、水平方向ワード線ＨＷＬＴ（ＨＷＬＢ）と検索線ＳＬＢ（ＳＬＴ）を駆動する部分の構成の一例を示す図である。この水平方向ワード線ＨＷＬＴ（ＨＷＬＢ）および検索線ＳＬＢ（ＳＬＴ）を駆動する部分は、図７に示すロウデコーダ９２ｈおよび検索線ドライバ群９７に含まれる構成に対応する。
【０１７０】
ロウデコーダ９２ｈにおいては、アドレス信号ＡＤＨに従って水平方向ワード線／検索線を選択する水平行選択信号ＨＸｉを生成する水平ロウデコード回路１４０と、水平方向データ書込指示信号ＨＷＥと水平行選択信号ＨＸｉとに従って水平方向ワード線ＨＷＬＴ（またはＨＷＬＢ）を選択状態へ駆動するＡＮＤ回路１４１と、水平方向読出指示信号ＨＲＥの活性化時活性化され、活性化時水平ロウデコード回路１４０からの水平行選択信号ＨＸｉに従って検索線ＳＬＢ（またはＳＬＴ）を選択状態へ駆動するトライステートバッファ１４２を含む。
【０１７１】
水平方向書込指示信号ＨＷＥは、主演算回路のメモリセルマットからの転送データを直交メモリに書込む動作モードを指定し、水平読出モード指示信号ＨＲＥは、直交メモリから主演算回路のメモリセルマットへのデータ転送動作を指定する。
【０１７２】
検索線ドライバ群９７は、対応の行の検索の有効／無効を示すデータを格納するステータスレジスタ１４５と、ステータスレジスタ１４５の格納データと検索データビットＳＤＴｉとを受けるＮＡＮＤ回路１４６と、水平方向読出指示信号ＨＲＥの非活性化時活性化され、活性化時、ＮＡＮＤ回路１４６の出力信号に従って検索線ＳＬＢ（またはＳＬＴ）を駆動するトライステートインバータバッファ１４７を含む。
【０１７３】
検索線ＳＬＢおよびＳＬＴは、検索実行時、相補データが伝達され、検索対象外のときには、ステータスレジスタ１４５の格納データに従って共にＬレベルに維持される。水平方向ワード線ＨＷＬＴおよびＨＷＬＢには、このＡＮＤ回路１４１がそれぞれ設けられ、水平方向データ書込動作時、水平ロウデコード回路１４０からの水平行選択信号ＨＸｉに従って選択状態へ駆動される。
【０１７４】
したがって、水平方向データ読出時においては、トライステートバッファ１４２が活性化され、トライステートインバータバッファ１４７が非活性状態であり、検索線ＳＬＢは、水平行選択信号ＨＸｉに従って選択状態へ駆動される。この状態においては、水平方向書込指示信号ＨＷＥは非活性状態であり、水平方向ワード線ＨＷＬＴおよびＨＷＬＢは非選択状態にある。これにより、検索／読出ゲートを用いて、一致線ＭＬＴおよびＭＬＢに、メモリセルの３値データを読出すことができる。
【０１７５】
検索動作時においては、トライステートバッファ１４２のは非活性状態であり、出力ハイインピーダンス状態であり、この場合には、ＮＡＮＤ回路１４６およびトライステートインバータ１４７とステータスレジスタ１４５の格納データとに従って検索線ＳＬＢ（およびＳＬＴ）が駆動される。
【０１７６】
ステータスレジスタ１４５に格納される検索対象／非対象を示すデータは、検索データＳＤＴを入力する端子と同じ端子から与えられてもよく、また、データ端子ＤＴＶを受ける端子から与えられてもよい。
【０１７７】
図２０は、演算処理ユニット４４の構成を概略的に示す図である。この図２０に示すように、演算処理ユニット４４は、一致線ＭＬＴおよびＭＬＢ上の信号に対応する読出データを、内部データバスおよび入出力回路（Ｉ／Ｆで示す）を介して受けるマスクレジスタ１５０と、マスクレジスタ１５０によりその演算処理の禁止／実行が制御される演算部１５２を含む。
【０１７８】
マスクレジスタ１５０は、選択制御信号ＲＡＭ／ＣＡＭ♯に従って、ＣＡＭ動作が指定されているときに、直交メモリの一致線ＭＬＴおよびＭＬＢ上に読出された検索結果データを格納する。演算部１５２は、加算、減算、乗算、除算および反転などの処理を行なう機能を有し、対応のメモリセルマット４０内のエントリ（ビット線対ＢＬＰ）との間でデータ転送を行なって演算処理を実行する。
【０１７９】
したがって、マスクレジスタ１５０に検索結果データを格納することにより、直交メモリにおいて水平方向に整列する１エントリのデータの検索条件を満たしているか否かに応じて、主演算回路内において対応のエントリにおいて演算処理ユニット４４の演算動作を制御することができ、対応のデータが所定の条件を満たすときにのみ、演算処理を実行することができる。
【０１８０】
また、この検索結果に従って演算処理の実行可否の制御を行うことにより、並列度の低いデータについての演算処理も、必要な演算処理ユニットのみを用いて実行することができ、例えば２５６エントリの並列処理、５１２エントリの並列処理および１０２４エントリの並列処理を実現することができ、柔軟に処理内容に対応して演算処理を実行することができる。
【０１８１】
このマスクレジスタ１５０へ検索データ結果を書込むための構成としては、主演算回路内の内部データバスそれぞれが直接マスクレジスタに結合されていてもよく、また、主演算回路内のセンスアンプおよびライトドライバを介して対応の演算処理ユニットへ検索結果データを転送してマスクレジスタ１５０に格納する構成が用いられてもよい。
【０１８２】
以上のように、この発明の実施の形態１に従えば、直交メモリにおいて２ポートのＣＡＭセルを用いており、高速で外部のホストＣＰＵと内部の主演算回路内におけるデータ配列を変換してデータ転送を行なうことができる。また、検索機能により、所定の条件を満たすデータについてのみ、主演算回路内において演算処理を実行することかでき、また、３値データを格納する構成により、主演算回路内におけるメモリセルマットへのデータの書込を禁止することができ、外部のホストＣＰＵのライトマスク機能に応じて、主演算回路内におけるメモリセルマットのエントリに対するライトマスク機能を実現することができる。
【０１８３】
［実施の形態２］
図２１は、この発明の実施の形態２に従う半導体記憶装置のメモリセルＭＣＣの構成を示す図である。図２１において、メモリセルＭＣＣは、相補データを記憶する情報データ記憶部２００と、この情報データ記憶部２００の記憶データの主演算回路内のメモリセルマットへの書込を禁止するマスクデータを格納するマスクデータ記憶部２０１と、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］上の信号とデータ記憶部２００の記憶データとに従って一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］を駆動する検索／読出ゲート２０２ａおよび２０２ｂと、水平方向ワード線ＨＷＬＴ［ｊ］上の信号に従ってデータ記憶部２００のストレージノードＳＮＤＴおよびＳＮＤＢをそれぞれ一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］に結合する水平書込ポート２０４と、水平方向ワード線ＨＷＬＢ［ｊ］上の信号電位に従って、マスクデータ記憶部２０１のストレージノードＳＮＢＴおよびＳＮＢＢを、一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］に結合する水平書込ポート２０５を含む。
【０１８４】
情報データ記憶部２００は、先の図８に示す実施の形態１の第１のデータ記憶部と同一の構成を備え、対応する部分には同一の参照番号を付し、詳細説明は省略する。この情報データ記憶部２００において、垂直方向ワード線ＶＷＬ［ｉ］の選択時、アクセス用のＭＯＳトランジスタｍ０４およびｍ０５が導通し、ストレージノードＳＮＤＢおよびＳＮＤＴが、それぞれ、垂直方向ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］に結合され、垂直方向のデータの書込／読出が実行される。
【０１８５】
マスクデータ記憶部２０１は、図８に示す第２のデータ記憶部１００ｂの構成と同一構成を有し、対応する部分には同一参照番号を付し、その詳細説明は省略する。このマスクデータ記憶部２０１と図８に示す第２データ記憶部１００ｂとは、その記憶するデータが異なるだけである。
【０１８６】
検索／読出ゲート２０２ａは、情報データ記憶部２００の接地ノード（ロー側電源ノード）と一致線ＭＬＴ［ｉ］との間に直列に接続される３つのＮチャネルＭＯＳトランジスタｍ１０、ｍ１２およびｍ１４を含む。ＭＯＳトランジスタｍ１０のゲートが、データ記憶部２００のストレージノードＳＮＤＴに結合され、ＭＯＳトランジスタｍ１２のゲートが検索線ＳＬＢ［ｊ］に結合される。ＭＯＳトランジスタｍ１４のゲートが、マスクデータ記憶部２０１のストレージノードＳＮＶＴに結合される。
【０１８７】
第２検索／読出ゲート２０２ｂは、情報データ記憶部２００の接地ノードと一致線ＭＬＢ［ｉ］の間に直列に接続されるＮチャネルＭＯＳトランジスタｍ１１、ｍ１３およびｍ１５を含む。ＭＯＳトランジスタｍ１４のゲートが、情報データ記憶部２００のストレージノードＳＮＤＢに結合され、ＭＯＳトランジスタｍ１３のゲートが、検索線ＳＬＴ［ｊ］に結合される。ＭＯＳトランジスタｍ１５のゲートが、マスクデータ記憶部２０１のストレージノードＳＮＶＴに結合される。
【０１８８】
水平書込ポート２０４は、水平方向ワード線ＨＷＬＴ［ｊ］の選択時導通し、情報データ記憶部２００のストレージノードＳＮＤＴおよびＳＮＤＢを、それぞれ、一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］に結合するＮチャネルＭＯＳトランジスタｍ０６およびｍ０７を含む。
【０１８９】
水平書込ポート２０５は、水平方向ワード線ＨＷＬＢ［ｊ］上の信号電位に従って選択的に導通し、導通時、マスクデータ記憶部２０１のストレージノードＳＮＶＴおよびＳＮＶＢをそれぞれ一致線ＭＬＢ［ｉ］およびＢＬＴ［ｉ］に結合するＮチャネルＭＯＳトランジスタｍ２６およびｍ２７を含む。
【０１９０】
マスクデータ記憶部２０１は、ライトマスク用のマスクデータを記憶し、演算処理対象のデータは記憶しない。したがって、水平方向ワード線ＨＷＬＢ［ｊ］は、常時、非選択状態に維持されてもよい。
【０１９１】
図２２は、図２１に示すメモリセルＭＣＣへのホストＣＰＵからのデータ書込時の信号の流れを示す図である。ホストＣＰＵからのデータ書込時においては、垂直方向ワード線ＶＷＬ［ｉ］が選択状態へ駆動される。情報データ記憶部２００においては、垂直方向ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］に、それぞれ、相補データビットＤＢおよびＤが伝達され、ＭＯＳトランジスタｍ０４およびｍ０５を介して、ストレージノードＳＮＤＢおよびＳＮＤＴの電圧レベルが伝達データに従って設定される。このデータ書込動作と並行して、マスクデータ記憶部２０１においても、ＭＯＳトランジスタｍ２４およびｍ２５が導通し、マスク信号ＭＡＳＫおよびＭＡＳＫＢが、ビット線ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］を介して伝達されて、ストレージノードＳＮＶＢおよびＳＮＶＴに格納される。このマスクデータ記憶部２０１において、ストレージノードＳＮＶＴに格納される補のマスク指示信号ＭＡＳＫＢがＬレベルのときに、情報データ記憶部に格納されるデータの書込にマスクがかけられる。
【０１９２】
外部のホストＣＰＵへのデータ読出時においては、データ書込と同様、垂直方向ワード線ＶＷＬ［ｉ］が選択状態へ駆動される。この場合、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］上に情報データ記憶部２００から読出されたデータを、センスアンプ回路により増幅して、読出データを生成する。マスクデータ記憶部２０１に記憶されるデータは、特に、外部のホストＣＰＵに転送することは要求されない。しかしながら、このマスクデータ記憶部２０１の記憶データを読出す構成が設けられても良い。たとえば、リードモディファイライト動作により、マスクデータの変更を行うことができ、また、外部でマスク状態をモニタすることができる。
【０１９３】
図２３は、図２２に示す垂直方向データ書込／読出時に関連する部分の構成を概略的に示す図である。この図２３に示す垂直方向データ書込／読出部の構成は、図７に示すセンスアンプ群９４ｖおよびライトドライバ群９６ｖの構成に対応する。図２３において、垂直方向データ書込／読出部は、垂直方向ビット線ＶＢＬＴＢおよびＶＢＬＴＴに対して設けられるライトドライバ２１２と、ビット線ＶＢＬＢＢおよびＶＢＬＢＴに対して設けられるマスクライトドライバ２１４と、ビット線ＶＢＬＴＢおよびＶＢＬＴＴに対して設けられるセンスアンプ２１０を含む。
【０１９４】
ライトドライバ２１２は、活性化時ホストＣＰＵから与えられた１ビットデータＤに従って、ビット線ＶＢＬＴＢおよびＶＢＬＴＴに相補データ（ＤＢ，Ｄ）を伝達する。マスクライトドライバ２１４は、データ書込時、マスク信号ＭＡＳＫに従って、相補マスク信号（ＭＡＳＫ，ＭＡＳＫＢ）を生成して垂直方向ビット線ＶＢＬＢＢおよびＶＢＬＢＴへ伝達する。
【０１９５】
センスアンプ２１０は、活性化時、これらのビット線ＶＢＬＴＢおよびＶＢＬＴＴ上のデータを差動増幅して、読出データＱを生成する。
【０１９６】
垂直方向ビット線ＶＢＬＢＢおよびＶＢＬＢＴに読出されるマスクデータを読出す構成が、センスアンプ２１０と並行して設けられていても良い。
【０１９７】
図２４は、この発明の実施の形態２におけるメモリセルＭＣＣを利用する際の主演算回路のメモリセルマットからのデータ書込時の信号の流れを概略的に示す図である。この水平方向のデータ書込時においては、水平方向ワード線ＨＷＬＴ［ｊ］を選択状態のＨレベルに駆動し、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｊ］に、主演算回路からの転送データが伝達される。情報データ記憶部２００に対して、水平書込ポート２０４のＭＯＳトランジスタｍ０６およびｍ０７を介して転送データが転送されて格納される。
【０１９８】
なお、この書込の場合、水平方向ワード線ＨＷＬＢ［ｊ］も同時に並行して選択状態へ駆動し、マスクデータ格納部２０１に、主演算回路のメモリセルマットからの転送データが格納されてもよい。この場合、例えば、情報データ記憶部２００およびマスクデータ記憶部２０１において互いに同じデータを格納する。垂直方向データ読出時において、データ記憶部２００のデータをおよびマスクデータ記憶部２０１に格納されるデータをそれぞれ第１段センスアンプで増幅し、これらの第１段センスアンプの出力信号をさらに第２段センスアンプで増幅して最終読出データを生成する。
【０１９９】
図２４に示される構成においては、情報データ記憶部２００およびマスクデータ記憶部２０１に対して、一致線と対応のストレージノードの接続態様が互いに異ならせて、これらの記憶部２００および２０１において互いに相補なデータ（逆論理のデータ）が格納されても良い。
【０２００】
図２５は、水平方向データ読出時の信号の流れを概略的に示す図である。この水平方向のデータ読出時においては、直交メモリの格納データが主演算回路のメモリセルマットへ転送される。この場合、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｉ］を選択状態へ駆動する。応じて、検索／読出ゲート２０２ａおよび２０２ｂにおいて、ＭＯＳトランジスタｍ１２およびｍ１３が導通状態となる。マスクデータ記憶部２０１のストレージノードＳＮＶＴにＬレベルの信号が保持されている場合には、ＭＯＳトランジスタｍ１４およびｍ１５は非導通状態であり、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、プリチャージ電圧レベルのＨレベルを維持する。一方、マスクデータ記憶部２０１のストレージノードＳＮＶＴにＨレベルの信号が保持されている場合には、検索／読出ゲート２０２ａおよび２０２ｂにおいて、ＭＯＳトランジスタｍ１４およびｍ１５が導通状態となる。ＭＯＳトランジスタｍ１０およびｍ１１がストレージノードＳＮＤＴおよびＳＮＤＢの保持電位に応じて選択的に導通状態となる。したがって、たとえば、ストレージノードＳＮＤＴにＨレベルの信号電位が保持されている場合には、ＭＯＳトランジスタｍ１０が導通し、一致線ＭＬＴ［ｉ］が接地電圧レベルへ放電され、その電圧レベルが低下する。ＭＯＳトランジスタｍ１１は、このときには、非導通状態であり、一致線ＭＬＢ［ｉ］はプリチャージ電圧レベルのＨレベルを維持する。これにより、実施の形態１と同様にして３値データを転送することができる。
【０２０１】
この水平方向のデータの転送（書込／読出）を行なう構成としては、実施の形態１において、図１９を参照して説明した構成を利用することができる。
【０２０２】
検索動作時においては、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］に、検索データに応じたデータが伝達される。この場合、マスクデータ記憶部２０１においては、検索動作時、ノンマスクデータが格納されて、ストレージノードＳＮＶＴはＨレベルに維持される。これにより、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］上に伝達されるデータとストレージノードＳＮＤＴおよびＳＮＤＢに格納されるデータの一致／不一致に従って、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は選択的に接地電圧レベルに放電される。
【０２０３】
検索データと情報データ記憶部２００の保持データの論理が一致している場合には一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］はともにプリチャージ電圧レベルのＨレベルに維持される（ストレージノードＳＮＤＴに、外部データＤに対応するデータが格納され、ストレージノードＳＮＤＢに、補の外部データビットに対応するデータが格納され、検索線ＳＬＢ［ｊ］に、検索データの補の検索データビットが伝達され、検索線ＳＬＴ［ｊ］に、検索データビットに対応する論理レベルのデータが伝送される）。
【０２０４】
検索対象外の場合には、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］がともにＬレベルに維持される。
【０２０５】
なお、上述の説明においては、検索動作時、マスクデータ記憶部２０１において、ストレージノードＳＮＶＴは、Ｈレベルに維持され、検索動作に影響が及ぼさないようにされると説明している。しかしながら、ライトマスクがかけられたデータビットは、検索対象外データビットとして処理される場合、マスクデータ記憶部２０１において、ライトマスクデータが保持された状態で検索動作が行なわれてもよい。
【０２０６】
以上のように、この発明の実施の形態２におけるメモリセルＭＣＣの構成においては、情報データ記憶部２００とマスクデータ記憶部２０１とは別々に設けられる。したがって、情報データ記憶部２００のデータは、ライトマスクの有無に係らず、ホストＣＰＵから与えられたデータに維持することができ、主演算回路のメモリセルマットへのデータ転送時、ホストＣＰＵから転送されたデータの破壊は生じない。このライトマスクの位置を変更することにより、任意の位置のデータに対して（例えばバイト単位で）、書込にマスクをかけることができる。
【０２０７】
また、逆に、主演算回路から転送されたデータを再び主演算回路のメモリセルマットへ転送する動作時において、所望の位置（バイト単位）のデータに、マスクをかけることができる。
【０２０８】
［実施の形態３］
図２６は、この発明の実施の形態３に従うメモリセルＭＣＣの構成を示す図である。この図２６に示すメモリセルＭＣＣは、図８に示す実施の形態１に従うメモリセルＭＣＣと以下の点にその構成が異なる。すなわち、検索／読出ゲート１０４ａおよび１０４ｂは、それぞれ、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＢＢ［ｊ］上の電位を検索データとして受けて、記憶データに従って一致線ＭＬＴ［ｉ］およびＢＬＢ［ｉ］をそれぞれ選択的に駆動する。すなわち、検索線ＳＬＴ［ｊ］およびＳＬＢ［ｊ］が削除され、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＢＢ［ｊ］が、検索線および垂直方向ビット線として用いられる。これにより、メモリセルＭＣＣに対する信号線の数を低減し、配線面積を低減し、メモリセルのレイアウト面積を低減する。
【０２０９】
データ記憶部１００ａおよび１００ｂの構成は、図８に示すメモリセルＭＣＣのデータ記憶部１００ａおよび１００ｂの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２１０】
検索／読出ゲート１０４ａは、電源ノードと一致線ＭＬＴ［ｉ］の間に直列に接続されるＰチャネルＭＯＳトランジスタｐ１０およびｐ１２を含む。検索ゲート１０４ｂは、電源ノードと一致線ＭＬＢ［ｉ］の間に直列に接続されるＰチャネルＭＯＳトランジスタｐ１１およびｐ１３を含む。ＭＯＳトランジスタｐ１０のゲートが、データ記憶部１００ａのストレージノードＳＮＴＴに結合され、ＭＯＳトランジスタｐ１２のゲートが、垂直方向ビット線ＶＢＬＴＢ［ｊ］に結合される。ＭＯＳトランジスタｐ１１のゲートが、データ記憶部１００ｂのストレージノードＳＮＢＴに結合され、ＭＯＳトランジスタｐ１３のゲートが垂直方向ビット線ＶＢＬＢＢ［ｊ］に結合される。
【０２１１】
一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、それぞれＬレベルにプリチャージされるため、水平書込ポート１０２ａおよび１０２ｂにおいても、ＰチャネルＭＯＳトランジスタが用いられる。すなわち、水平書込ポート１０２ａは、水平方向ワード線ＨＷＬＰ［ｊ］に応答して導通し、データ記憶部１００ａのストレージノードＳＮＴＴおよびＳＮＴＢをそれぞれ一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］に結合するＰチャネルＭＯＳトランジスタｐ０６およびｐ０６を含む。水平書込ポート１０２ｂは、水平方向ワード線ＨＷＬＢ［ｊ］に応答してデータ記憶部１００ｂのストレージノードＳＮＢＴおよびＳＮＢＢをそれぞれ一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］に結合するＰチャネルＭＯＳトランジスタｐ２６およびｐ２７を含む。
【０２１２】
ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＢＢ［ｊ］は、データアクセス時サイクルおよび検索サイクルいずれにおいても、スタンバイ状態時、Ｈレベルにプリチャージされる。したがって、検索／読出ゲート１０４ａおよび１０４ｂにおいて、スタンバイ状態時、ＭＯＳトランジスタｐ１２およびｐ１３は、非導通状態に維持される。また、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、Ｌレベルにプリチャージされるため、一致線におけるノイズの影響がデータ記憶部１００ａおよび１００ｂの保持データに及ぼさないようにするために、水平書込ポート１０２ａおよび１０２ｂにおいてＰチャネルＭＯＳトランジスタｐ０６、ｐ０７、ｐ２６およびｐ２７を用い、水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］を、スタンバイ状態時Ｈレベルに維持する。これにより、水平書込ポート１０２ａおよび１０２Ｂは、スタンバイ状態時、確実にオフ状態に維持することができる。
【０２１３】
なお、外部ＣＰＵとの間の垂直方向ポートを介してのデータの書込および読出動作は、先の実施の形態１の場合と同じである。したがって、以下においては、水平方向ポートを介してのデータ転送動作について説明する。
【０２１４】
図２７は、図２６に示すメモリセルの一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］を介してのデータの読出／書込時の信号波形を示す図である。図２７に示すように、ビット線ＢＬＴＢ，ＢＬＴＴ，ＶＢＬＢＢ，ＶＢＬＢＴは、すべて、スタンバイ状態時Ｈレベルにプリチャージされる。一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、Ｌレベルに維持される。水平方向ワード線ＷＬＨＴおよびＷＬＨＢは、Ｈレベルに維持される。図には示していないが、垂直方向ワード線ＶＷＬ［ｉ］は、Ｌレベルに維持される。
【０２１５】
水平方向ポートの読出時においては、ビット線ＶＢＬＴＢ［ｊ］、ＶＢＬＴＴ［ｊ］、ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］は、Ｌレベルに駆動される。応じて、検索／読出ゲート１０４ａおよび１０４ｂにおいて、ＭＯＳトランジスタｐ１２およびｐ１３が導通する。メモリセルＭＣＣにおける記憶データと信号電位との関係は、先の実施の形態１と同様である。したがって、データ“０”がメモリセルＭＣＣに記憶されている場合、ノードＳＮＴＴがＨレベル、ストレージノードＳＮＢＴがＬレベルである。したがって、検索／読出ゲート１０４ａにおいて、ＭＯＳトランジスタｐ１０は、非導通状態を維持し、一方、検索／読出ゲート１０４ｂにおいて、ＭＯＳトランジスタｐ１１が導通する。したがって、一致線ＭＬＴ［ｉ］は、Ｌレベルのプリチャージ電圧レベルを維持し、一方、一致線ＭＬＢ［ｉ］は、ＭＯＳトランジスタｐ１１およびｐ１３を介して電源電圧レベルに充電されて、データ“０”が読出される。
【０２１６】
データ“１”がメモリセルＭＣＣに記憶されている場合には、逆に、検索／読出ゲート１０４ａにおいて、ＭＯＳトランジスタｐ１０およびｐ１２がともに導通状態となり、一方、検索／読出ゲート１０４ｂにおいて、ＭＯＳトランジスタｐ１１が非導通状態である。したがって、この状態においては、一致線ＭＬＴ［ｉ］が、電源電圧レベルに充電され、一方、一致線ＭＬＢ［ｉ］は、プリチャージ電圧レベルのＬレベルを維持する。
【０２１７】
メモリセルＭＣＣにライトマスクデータが保持されている場合、ストレージノードＳＮＴＴが、Ｌレベル、また、ストレージノードＳＬＢＢも、Ｌレベルである。したがって、この場合には、検索／読出ゲート１０４ａおよび１０４ｂにおいて、ＭＯＳトランジスタが全て導通し、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］が電源電圧レベルに充電される。これにより、先の実施の形態１と同様、水平方向ポート読出動作において、３値データを読出すことができ、演算回路におけるメモセルマットとへのデータ書込を停止するライトマスク機能を実現することができる。
【０２１８】
水平方向ポート書込時においては、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、主演算回路からの転送データに応じて、その電圧レベルが設定される。このデータ書込の場合、ビット線ＶＢＬＴＢ［ｊ］、ＶＢＬＴＴ［ｊ］、ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］は、すべてＨレベルに維持される。水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］がＨレベルからＬレベルとなり、第２ポートアクセスゲート１０２ａおよび１０２ｂが導通し、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］が、それぞれデータ記憶部１００ａのストレージノードＳＮＴＴおよびＳＮＴＢに結合され、一方、データ記憶部１００ｂにおいて、ストレージノードＳＮＢＴが一致線ＭＬＴ［ｉ］に結合され、ストレージノードＳＮＢＢが一致線ＭＬＢ［ｉ］に結合される。したがって、これらのデータ記憶部１００ａおよび１００ｂにおいて、相補データを保持することができ、２値データを格納することができる。
【０２１９】
検索動作時においては、検索対象外の場合には、各垂直方向ビット線にＨレベルの信号が伝達され、検索／読出ゲート１０４ａおよび１０４ｂは非導通状態となり、一致線ＭＬＴＢ［ｉ］およびＭＬＢ［ｉ］の電位には影響を及ぼさない。
【０２２０】
検索対象のときには、検索データに応じた信号が垂直方向ビット線に伝達される。図２６に示す信号電位とデータとの対応関係から明らかなように、検索データとメモリセルＭＣＣの記憶データとが一致している（ヒット）場合には、検索／読出ゲート１０４ａおよび１０４ｂ各々において、一方のＭＯＳトランジスタが非導通状態となり、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、プリチャージ電圧レベルのＬレベルを維持する。一方、検索データと記憶データが不一致（ミス）の場合には、検索／読出ゲート１０４ａおよび１０４ｂのいずれかにおいて、直列接続されるＭＯＳトランジスタがともに導通状態となり、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］はＨレベル（電源電圧レベル）へ充電される。これにより検索動作を実現することができる。
【０２２１】
図２８は、この発明の実施の形態３に従う水平方向ポートのセンスアンプ群、ライトドライバ群および入出力回路の構成の一例を示す図である。この図２８に示す水平方向アクセスポート（センスアンプ、ライトドライバおよび入出力回路）の構成は、図１７に示す実施の形態１の構成と以下の点で異なる。すなわち、センスアンプＳＡ０およびＳＡ１の出力信号を受けるＡＮＤ回路に代えて、ＮＯＲ回路２４０が設けられ、このＮＯＲ回路２４０の出力信号がセレクタ１２１を介してＯＲ回路１２３へ与えられる。
【０２２２】
一致線ＭＬＴおよびＭＬＢに対しては、スタンバイ状態時に、接地電圧レベルに一致線をプリチャージするプリチャージ回路２３８ａおよび２３８ｂが設けられる（実施の形態１においては電源電圧にプリチャージする回路が設けられる）。
【０２２３】
この図２８に示す水平方向アクセスポートの他の構成は図１７に示す構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２２４】
一致線ＭＬＴおよびＭＬＢにおいて、検索動作時一致検出時にはともにＬレベルであるため、応じて、ＮＯＲ回路２４０の出力信号がＨレベルとなる。一方、検索動作時不一致検出時においては、一致線ＭＬＴおよびＭＬＢの一方がＨレベルとなり、応じて、ＮＯＲ回路２４０の出力信号がＬレベルとなる。ＮＯＲ回路２４０を利用することにより、この検索動作時の一致／不一致判定を示す信号の論理レベルを、実施の形態１に示す場合と同じとすることができる。
【０２２５】
読出データの論理レベルは、回路構成が実施の形態１の場合と同様であり、同じ論理レベルの信号を読出データとして転送することができる。
【０２２６】
なお、ＮＯＲ回路２４０を利用することなく図１７に示すＡＮＤ回路（１２０）を利用する場合、インバータ回路１２６を、セレクタ１２８ではなくセレクタ１２７に対しても受けることにより、一致／不一致判定結果の信号の論理レベルと実施の形態１および３の間で同じとすることができる。
【０２２７】
また、図１７に示す構成を利用する場合、センスアンプＳＡ０およびＳＡ１として反転増幅器が利用されても良い。
【０２２８】
なお、主演算回路側において、検索結果の一致／不一致判定結果の論理レベルの調整を行う回路が設けられていれば、実施の形態１および３で、直交メモリからの出力される検索結果を示す信号の論理レベルが異なっていても、特に問題はなく、図２８に示す構成を実施の形態１の図１７に示す構成に代えて利用することができる（プリチャージ回路２４８ａおよび２４８ｂが電源電圧レベルにプリチャージする）。
【０２２９】
図２９は、この発明の実施の形態３に従う半導体記憶装置の垂直方向ビット線ＶＢＬ（ＶＢＬＴＢ，ＶＢＬＴＴ，ＶＢＬＢＴ，ＶＢＬＢＢ）および水平方向ワード線ＨＷＬＴ（ＨＷＬＢ）を駆動する部分の構成の一例を概略的に示す図である。図２９において、ロウデコーダ９７ｈにおいて、水平方向アドレス信号ＡＤＨをデコードする水平ロウデコード回路１４０が設けられる。この水平ロウデコード回路１４０は、垂直方向に整列するメモリセルの行（列）各々に対応して設けられ、対応の垂直方向に整列するメモリセルの選択時、水平行選択信号ＨＸｉをＨレベルに駆動する。
【０２３０】
水平方向ワード線ＨＷＬに対し、水平行選択信号ＨＸｉと水平方向書込指示信号ＨＷＥとを受けるＮＡＮＤ回路２４１が設けられる。一方、ビット線ＶＢＬに対しては、水平方向読出指示信号ＨＲＥの活性化に応答して活性化され、水平行選択信号ＨＸｉを反転してビット線ＶＢＬを駆動するトライステートインバータバッファ２４２が設けられる。したがって、水平方向ポートアクセス時、垂直方向ビット線ＶＢＬおよび水平方向ワード線ＨＷＬは、選択時、Ｌレベルに駆動される。
【０２３１】
一方、この垂直方向ビット線ＶＢＬに対し、検索動作時の検索対象／非対象を示すデータ格納をするステータスレジスタ１４５と、ステータスレジスタ１４５の格納データビットと検索データビットＳＤＴｉとを受けるＮＯＲゲート２４６と、水平方向読出指示信号ＨＲＥの非活性化時能動化され、ＮＯＲゲート２４６の出力信号に従ってビット線ＶＢＬを駆動するトライステートインバータバッファ１４７が設けられる。
【０２３２】
この垂直方向ビット線ＶＢＬに対しては、さらに、センスアンプ２５２およびライトドライバ２５０が設けられる。センスアンプ２５２は、先の図７に示すセンスアンプ群９４ｖに含まれ、ライトドライバ２５０は、図７に示すライトドライバ群９６ｖに含まれる。このライトドライバ２５０の構成は、書込指示信号ＷＥの非活性化時出力ハイインピーダンス状態となり、書込指示信号ＷＥの活性化時、マスク指示信号ＭＡＳＫと書込データＤとに従って垂直方向ビット線ＶＢＬを駆動する。このライトドライバ２５０の構成は、たとえば図１１に示す構成において出力部が、書込指示信号ＷＥに従ってクロック動作する（出力ハイインピーダンス状態を含む３値動作を行なう）。
【０２３３】
垂直方向ビット線ＶＢＬに対しては、さらに、スタンバイ状態時、垂直方向ビット線ＶＢＬを電源電圧レベルにプリチャージすルビット線プリチャージ回路２５４が設けられる。このビット線プリチャージ回路２５４は、実施の形態１および２においても同様設けられている。
【０２３４】
この図２９に示す周辺回路を利用することにより、ビット線ＶＢＬを、垂直方向ポートのデータの転送線として利用でき、また、検索時の検索データ伝達線として利用することができ、さらに、水平方向ポートデータ読出時の読出ワード線としても利用することができる。
【０２３５】
以上のように、この発明の実施の形態３に従えば、メモリセルにおいて、水平方向ポート読出線となる検索線と垂直方向ポートデータアクセス時の書込／読出データ伝達線となる垂直方向ビット線とを共用しており、メモリセルの占有面積を低減することができる。また、メモリセルにおいて、データ記憶部を構成するＭＯＳトランジスタと水平方向ポートアクセス時の読出／検索ゲートを構成するトランジスタの導電型を異ならせており、この垂直方向ビット線が、検索、読出および書込時において、同一電圧レベルに（電源電圧レベル）にプリチャージされる場合においても、正確に、一致線上に、データ記憶部の記憶データまたは検索結果データを伝達することができる。
【０２３６】
また、実施の形態１および２の場合と同様、検索結果は、主演算回路の演算処理ユニットの演算実行可否情報として利用することができ、また、２つのデータ記憶部により３値データを転送することができ、ライトマスク機能を実現することができる。
【０２３７】
［実施の形態４］
図３０は、この発明の実施の形態４に従う直交メモリのメモリセルＭＣＣの構成を示す図である。この図３０に示すメモリセルＭＣＣは、図２５に示すメモリセルと以下の点において、その構成が異なる。すなわち、検索線ＳＬＢ［ｊ］およびＳＬＴ［ｊ］は、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］と共用される。また、検索／読出ゲート２０２ａおよび２０２ｂが、ＮチャネルＭＯＳトランジスタに代えてＰチャネルＭＯＳトランジスタで構成され、水平方向書込ポート２０４および２０５が、それぞれＰチャネルＭＯＳトランジスタで構成される。情報データ記憶部２００およびマスクデータ記憶部２０１の構成は、図２５に示す構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２３８】
具体的に、検索／読出ゲート２０２ａは、電源ノードと一致線ＭＬＴ［ｉ］の間に直列に接続されるＰチャネルＭＯＳトランジスタｐ１０、ｐ１２およびｐ１４を含み、検索／読出ゲート２０２ｂは、電源ノードと一致線ＭＬＢ［ｉ］の間に直列に接続されるＰチャネルＭＯＳトランジスタｐ１１、ｐ１３およびｐ１５を含む。
【０２３９】
ＭＯＳトランジスタｐ１０およびｐ１１のゲートは、それぞれ、情報データ記憶部２００のストレージノードＳＮＤＴおよびＳＮＤＢに結合される。ＭＯＳトランジスタｐ１２およびｐ１３のゲートは、それぞれ、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］に結合される。ＭＯＳトランジスタｐ１４およびｐ１５のゲートは、マスクデータ記憶部２０１のストレージノードＳＮＶＢに結合される。
【０２４０】
水平方向書込ポート２０４は、水平方向ワード線ＨＷＬＴ［ｊ］に従って情報データ記憶部２００のストレージノードＳＮＤＴおよびＳＮＤＢをそれぞれ一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］に結合するＰチャネルＭＯＳトランジスタｐ０６およびｐ０７を含む。
【０２４１】
水平方向書込ポート２０５は、水平方向ワード線ＨＷＬＢ［ｊ］上の信号に従って選択的に導通し、導通時、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］を、マスクデータ記憶部２０１のストレージノードＳＮＶＢおよびＳＮＶＴにそれぞれ結合するＰチャネルＭＯＳトランジスタｐ２７およびｐ２６を含む。
【０２４２】
一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、Ｌレベルにプリチャージされる。
この図３０に示すメモリセルＭＣＣの構成においても、情報データ記憶部２００およびマスクデータ記憶部２０１が別々に設けられており、情報データとマスクデータをほぼ個別に設定することができる。したがって、マスクデータ設定時、情報データを破壊することがなく、同一データ項目に対して、任意の位置（バイト単位）にマスク位置を変更して演算処理を主演算回路において行なうことができる。
【０２４３】
垂直ポートアクセス時においては、垂直方向ワード線ＶＷＬ［ｊ］を選択状態へ駆動する。水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］は非選択状態（Ｈレベル）に維持される。データ“１”を書込む場合には、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］にそれぞれＬレベルおよびＨレベルの信号を伝達する。これにより、情報データ記憶部２００においては、ストレージノードＳＮＤＢがＬレベル、ストレージノードＳＮＤＴがＨレベルに設定される。一方、データ“０”を書込む場合には、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］がそれぞれＨレベルおよびＬレベルに設定され、情報データ記憶部２００において、ストレージノードＳＮＢＴおよびＳＮＤＢが、それぞれ、ＬレベルおよびＨレベルに設定される。
【０２４４】
マスクデータ記憶部２０１において、ライトマスクをかけるデータを記憶する場合には、ビット線ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］にそれぞれＨレベルおよびＬレベルの信号が伝達され、ストレージノードＳＮＶＴおよびＳＮＶＢが、それぞれＬおよびＨレベルに設定される。ライトマスクをかけないノンマスクの場合には、ビット線ＶＢＬＢＢ［ｊ］およびＶＢＬＢＴ［ｊ］にそれぞれ、ＬレベルおよびＨレベルの信号が伝達され、ストレージノードＳＮＶＴおよびＳＮＶＢが、それぞれＨレベルおよびＬレベルに設定される。
【０２４５】
水平方向のポートを介してのデータ読出時においては、水平方向ワード線ＨＷＬＴ［ｊ］およびＨＷＬＢ［ｊ］はともにＨレベルに維持される。この水平方向のポートを介してのデータ書込／読出時の信号波形は図２７に示す信号波形と同じである。ビット線ＶＢＬＴＢおよびＶＢＬＴＴ［ｊ］がそれぞれＬレベルに駆動され、検索／読出ゲート２０２ａおよび２０２ｂが導通状態とされる。ライトマスクがかけられていない場合には、マスクデータ記憶部２０１のストレージノードＳＮＶＢがＬレベルであり、応じて、検索／読出ゲート２０２ａおよび２０２ｂにおいてＭＯＳトランジスタｐ１４およびｐ１５が導通状態となる。したがって、ＭＬＴ［ｉ］およびＭＬＢ［ｉ］においては、情報データ記憶部２００のストレージノードＳＮＤＴおよびＳＮＤＢの保持電位を反転した論理レベルの電位が、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］に伝達される。すなわち、情報データ記憶部２００においてデータ“１”が記憶されている場合には、一致線ＭＬＢ［ｉ］はＨレベルに駆動され、一致線ＭＬＴ［ｉ］は、プリチャージ電圧レベルを維持する。データ“０”が情報データ記憶部２００において保持されている場合には、一致線ＭＬＴ［ｉ］がＭＯＳトランジスタｐ１０により電源電圧レベルにまで充電され、一方、一致線ＭＬＢ［ｉ］は、Ｌレベルのプリチャージ電圧レベルを維持する。
【０２４６】
ライトマスクがかけられている場合には、マスクデータ記憶部２０１のストレージノードＳＮＶＢはＨレベルであり、検索／読出ゲート２０２ａおよび２０２ｂにおいてＭＯＳトランジスタｐ１４およびｐ１０は非導通状態であり、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］は、Ｌレベルのプリチャージ電圧レベルに維持される。
【０２４７】
検索動作時においては、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］に検索データに応じた信号が伝達される。情報データ記憶部２００の保持記憶データビットと検索データビットとが一致している場合には、検索／読出ゲート２０２ａおよび２０２ｂ各々においてＭＯＳトランジスタの一方が非導通状態となり、一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］は、Ｌレベルのプリチャージ電圧レベルを維持する。検索データビットと情報データ記憶部２００の保持データビットが不一致の場合には、検索ゲート２０２ａおよび２０２ｂの一方において、トランジスタ列が導通状態となり、対応の検索線がＨレベルに充電される。
【０２４８】
この検索動作時において、マスクデータ記憶部２０１の保持データがノンマスク指定状態に設定されている場合でも、ビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］をともにＨレベルに設定することにより、情報データ記憶部２００の保持データを検索対象外のデータビットに設定することができる。これに代えて、マスクデータ記憶部２０１に対し、マスク指示データを書込むことにより、このメモリセルＭＣＣを検索対象外のビットに設定することができる。
【０２４９】
したがって、このマスクデータ記憶部２０１を、検索動作時の検索対象／非対象指定ビット記憶部として利用することにより、外部からの検索データに従ってビット線ＶＢＬＴＢ［ｊ］およびＶＢＬＴＴ［ｊ］を検索データに応じた電圧レベルに設定して、検索対象ビットを選択的に設定することができ、検索対象外のビット設定のためにビット線対を３値駆動する必要がなく、ビット線駆動部の構成が簡略化される。
【０２５０】
この検索動作時において、以下の動作も可能である。水平方向ワード線ＨＷＬＢ［ｊ］を選択状態に駆動し、主演算回路から、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］を介して検索対象外指定ビットを伝達して、水平方向書込ポート２０５を介してマスクデータ記憶部２０１に設定することにより、主演算回路の演算内容に応じて、所望の位置のデータビットを検索対象／検索非対象ビットに設定することができる（基本演算ブロック内のコントローラ（２１）により、この検索対象／非対象を設定することができる）。
【０２５１】
水平方向ポートを介してのデータ書込時においては、水平方向ワード線ＨＷＬＴ［ｊ］をＬレベルに駆動し、水平方向書込ポート２０４を導通状態として、情報データ記憶部２００のストレージノードＳＮＢＴおよびＳＮＤＢを、一致線ＭＬＢ［ｉ］およびＭＬＴ［ｉ］にそれぞれ接続することにより、主演算回路のメモリセルマットから転送されたデータを、情報データ記憶部２００に書込むことができる。
【０２５２】
図３０に示すように、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］におけるデータ読出時の信号電位の論理レベルが、先の実施の形態３において図２６に示す信号電位と逆である。しかしながら、この場合、垂直ポートから垂直方向ビット線ＶＢＬＢＴ［ｊ］およびＶＢＬＢＢ［ｊ］を介して伝達される書込データと一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］を介して伝達される転送データの論理レベルが整合していれば、図２８に示す水平方向アクセスポートの構成を利用することができる。
【０２５３】
また、ライトマスク時において、一致線ＭＬＴ［ｉ］およびＭＬＢ［ｉ］がともにＬレベルに設定される場合においても、主演算回路の入力インターフェイス部において制御信号を反転する構成を利用することにより、主演算回路メモリセルマットに対して、相補ビット線にＨレベルの信号を伝達することができ、書込にマスクをかけることができる。
【０２５４】
したがって、信号の論理レベルの整合性については、直交メモリと主演算回路の間のメモリセルマットとの間のインターフェイス部および直交メモリとホストＣＰＵとの間のインターフェイス部で論理レベルの整合性がとれるように、信号の反転／非反転が設定されればよい。
【０２５５】
以上のように、この発明の実施の形態４に従えば、検索線および垂直方向ビット線を共用しており、メモリセルの信号線数を低減でき、メモリセルの配線レイアウト面積を低減することができる。
【０２５６】
実施の形態２と同様、マスクデータと情報データ記憶部とを別々に設けており、ライトマスクデータを、情報データを破壊することなく設定することができる。、また、さらに、このマスクデータ記憶部を検索対象ビット位置指定データ格納領域として利用することにより、検索データ駆動部の構成を簡略化することができる。
【０２５７】
［実施の形態５］
図３１は、この発明の実施の形態５に従う半導体信号処理装置の要部の構成を概略的に示す図である。図３１に示す半導体信号処理装置においては、基本演算ブロックＦＢ１−ＦＢｎがグローバルデータバス３００に共通に結合される。これらの基本演算ブロックＦＢ１−ＦＢｎは、同一構成を有し、図３１においては、基本演算ブロックＦＢ１の要部の構成を概略的に示す。基本演算ブロックＦＢ１は、先の図２において示したように、複数のエントリに分割されるメモリセルマット４０と、メモリセルマット４０の各エントリに対応して配置される演算処理ユニット（ＡＬＵ）を含む演算処理ユニット群（ＡＬＵ群）４２と、メモリセルマット４０とグローバルデータバス３００との間でのデータの入出力を行なう入出力インターフェイス（Ｉ／Ｆ）３０６を含む。このメモリセルマット４０に対しては、演算処理ユニット群４２との間でのデータ転送を行なうためのセンスアンプ群およびライトドライバ群が設けられるが、図３１においては示していない。
【０２５８】
このグローバルデータバス３００に対し直交変換回路５２が設けられ、直交変換回路５２が、内部メインバス３０２を介してシステムバスＩ／Ｆ３０４に結合される。このシステムバスＩ／Ｆが、内部システムバス１９に結合される。このシステムバス１９には、先の図１において示したように、ホストＣＰＵなどの周辺装置が結合される。
【０２５９】
直交変換回路５２においては、先の実施の形態１から４において説明した直交メモリ８０が設けられ、システムバス１９とグローバルデータバス３００との間でのデータ配列の変換を行なう。
【０２６０】
この図３１に示す構成の場合、直交メモリ８０は、複数の基本演算ブロックＦＢ１−ＦＢｎに共通に設けられる。基本演算ブロックＦＢ１−ＦＢｎ各々において、直交メモリ８０を配置する必要がなく、この半導体信号処理装置のチップ面積を低減することができる。
【０２６１】
なお、図３１に示す構成において、基本演算ブロックＦＢ１−ＦＢｎに対し、集中制御ユニットが共通に設けられ、この集中制御ユニットが、外部のホストＣＰＵからの制御キーを手渡されて、基本演算ブロックＦＢ１−ＦＢｎの演算処理動作の制御が行なわれてもよい。この場合においても、基本演算ブロックＦＢ１−ＦＢｎにおいては、それぞれの内部動作を制御するコントローラ（２１）が設けられる。
【０２６２】
［変更例］
図３２は、この発明の実施の形態５に従う半導体信号処理装置の変更例の構成を示す図である。図３２においては、１つの基本演算ブロックＦＢｉの要部の構成を示す。基本演算ブロックＦＢｉにおいては、複数のエントリに分割されるメモリセルマット４０と、メモリセルマット４０のエントリＥＲＹそれぞれに対応して設けられる演算処理ユニット（ＡＬＵ）を含む演算処理ユニット群４２が設けられる。メモリセルマット４０と演算処理ユニット群４２の間に、センスアンプ（ＳＡ）およびライトドライバ（ＷＤ）を含むセンスアンプ群／ライトドライバ群３１２が配設される。センスアンプ（ＳＡ）およびライトドライバ（ＷＤ）の組は、メモリセルマット４０の各エントリＥＲＹに対応してそれぞれ配置される。
【０２６３】
このメモリマット４０に隣接して、直交メモリセルマット９０が設けられる。この直交メモリセルマット９０も、メモリセルマット４０のエントリＥＲＹに対応して、エントリに分割され、各エントリに一致線対ＭＬＰおよび垂直方向ワード線ＶＷＬが設けられる。この直交メモリセルマット９０の垂直方向に、垂直方向ビット線対ＶＢＬＰおよび水平方向ワード線ＨＷＬが配設される。図３２において、この直交メモリセルマット９０において、垂直方向ビット線対ＶＢＬＰおよび検索線対ＳＬＰが共用されるように示される。しかしながら、この垂直方向ビット線対ＶＢＬＰおよび検索線対ＳＬＰは別々に設けられてもよく、直交メモリセルマット９０の構成としては、先の実施の形態１から４において説明したメモリセルマットの構成を利用することができる。
【０２６４】
この直交メモリセルマット９０において、メモリ（ＣＡＭセル）ＭＣＣが行列状に配列され、メモリセルマット９０の一致線対ＭＬＰがメモリセルマット４０のビット線対ＣＢＬＰに対応して配置されかつ連結される。このメモリマット９０および４０の間には、直交メモリセルマット９０のデータの書込／読出を行なうセンスアンプ（ＳＡ）およびライトドライバ（ＷＤ）がセンスアンプ群／ライトドライバ群３１０が設けられる。
【０２６５】
この図３２に示す構成においては、直交メモリセルマット９０と演算用データを格納するメモリセルマット４０が隣接して配置され、一致線対ＭＬＰおよびビット線対ＣＢＬＰが、センスアンプ群／ライトドライバ群３１０を介して共通に結合される。したがって、直交メモリセルマット９０および演算用データ格納用のメモリセルマット４０の間の配線距離が短く、高速でデータの転送を行なうことができる。
【０２６６】
また、直交メモリと演算用のメモリとを別々の領域に配置して配線を介して接続する必要がなく、基本演算ブロックの占有面積を低減することができる。
【０２６７】
この図３２に示す基本演算ブロックＦＢｉを利用する場合、システム構成は、図１に示す構成で与えられ、メモリセルマット９０および４０が、それぞれ対応のインターフェイス回路（入出力回路）を介してシステムバスインターフェイスに結合される。
【０２６８】
なお、この図３２に示す基本演算ブロックＦＢｉの構成の場合、直交メモリセルマット９０とメモリセルマット４０の間のデータ転送時において、センスアンプ群／ライトドライバ群３１０が用いられ、演算処理ユニット群４２とメモリセルマット４０の間でのデータ転送時においては、センスアンプ群／ライトドライバ群３１２が用いられる。
【０２６９】
この直交メモリセルマット９０において、検索動作を行ない、この検索結果に従って、一致エントリまたは不一致エントリについてのみ演算処理ユニット群の演算処理ユニット（ＡＬＵ）において演算処理を実行する演算マスクを設定する場合には、センスアンプ群／ライトドライバ群３１０および３１２のセンスアンプが活性化され、この一致検出結果（一致線対ＭＬＰ上の信号）が、演算処理ユニット（Ｌ）のマスクデータレジスタに格納される。
【０２７０】
以上のように、この発明の実施の形態５に従えば、直交変換を行なう直交メモリと、複数の基本演算ブロックに共通に設けまたは１つの基本演算ブロック内のメモリセルマットと同一のメモリセルマットアレイに隣接して配置しており、システム構成に応じて直交変換回路を所望の位置に配設することができる。複数の基本演算ブロックに対し共通に直交変換回路を構成する直交メモリが配置することにより、システムのチップ面積を低減することができ、また１つの基本演算ブロックのメモリセルマットを隣接して配設する場合、直交メモリと基本演算ブロックの主演算回路内におけるメモリセルマットとの間のデータ転送を高速で行なうことができる。
【産業上の利用可能性】
【０２７１】
この発明に従うＣＡＭセルは、直交変換機能を有しており、メモリセルマットを有する演算処理機能を有する半導体信号処理装置に適用することにより、効率的にかつ高速で、外部のホストＣＰＵと基本演算ブロックとの間でのデータ転送を行なうことができる。
【０２７２】
しかしながら、この発明に従うＣＡＭセル（半導体記憶装置）の構成は、単に、直交変換を行なう用途（たとえば行列演算を行なう場合の行および列の転置メモリ）としても適用することができ、この場合、高速で転置操作を行なうことができる。
【図面の簡単な説明】
【０２７３】
【図１】この発明の実施の形態１に従う半導体信号処理システムの構成を概略的に示す図である。
【図２】図１に示す主演算回路のメモリセルマットと演算処理ユニットの対応を示す図である。
【図３】図１に示す主演算回路の構成を概略的に示す図である。
【図４】図１に示す直交変換回路の構成を概略的に示す図である。
【図５】図４に示す直交変換回路の動作を示すフロー図である。
【図６】図４に示す直交変換回路を介してのデータの転送シーケンスを示す図である。
【図７】図４に示す直交変換回路の直交メモリの構成を概略的に示す図である。
【図８】図７に示すＣＡＭセルの構成を示す図である。
【図９】図７に示す直交メモリセルマットのデータ配列を示す図である。
【図１０】図８に示すメモリセルの垂直方向ポートデータの接続の信号の流れを示す図である。
【図１１】図１０に垂直方向ビット線を駆動する回路の構成の一例を示す図である。
【図１２】図７に示す直交メモリセルの水平方向ポートアクセス時のデータ配列を概略的に示す図である。
【図１３】図８に示すメモリセルの水平方向ポートを介してのデータ書込時の信号の流れを概略的に示す図である。
【図１４】図８に示すメモリセルの水平方向ポーを介してのデータ読出時の信号の流れを示す図である。
【図１５】主演算回路のメモリセルマットに含まれるメモリセルの構成を示す図である。
【図１６】図８に示すメモリセルマットの検索時の信号の流れを概略的に示す図である。
【図１７】図８に示すメモリセルを利用する際の水平方向ポートのセンスアンプおよびライトドライバの構成を概略的に示す図である。
【図１８】図８に示すメモリセルを利用する際の検索結果読出時の信号の流れを示す図である。
【図１９】図８に示すメモリセルを利用する際の検索線および水平方向ワード線を駆動する回路の構成の一例を示す図である。
【図２０】検索動作時の検索結果の転送経路を概略的に示す図である。
【図２１】この発明の実施の形態２に従うＣＡＭ回路の構成を示す図である。
【図２２】図２１に示すＣＡＭセルの垂直方向ポートアクセス時の信号の流れを示す図である。
【図２３】図２２に示すメモリセルに対する垂直方向ビット線対を駆動する部分の構成を概略的に示す図である。
【図２４】図２２に示すメモリセルの水平方向ポートからのデータ書込時の信号の流れを示す図である。
【図２５】図２１に示すメモリセルの水平方向ポートを介してのデータ読出時の信号の流れを示す図である。
【図２６】この発明の実施の形態３に従うＣＡＭセルの構成を示す図である。
【図２７】図２６に示すＣＡＭセルの水平方向ポートアクセス時の信号波形を示す図である。
【図２８】図２６に示すＣＡＭセルを用いる際の水平方向ポートとセンスアンプおよびライトドライバの構成を概略的に示す図である。
【図２９】図２６に示すＣＡＭセルを利用する際の垂直方向ビット線および水平方向ワード線を駆動する部分の構成を概略的に示す図である。
【図３０】この発明の実施の形態４に従うＣＡＭセルの構成を示す図である。
【図３１】この発明の実施の形態５に従う半導体信号処理システムの構成を概略的に示す図である。
【図３２】この発明の実施の形態５の変更例における主演算回路のメモリセルマットの構成を概略的に示す図である。
【符号の説明】
【０２７４】
ＦＢ１−ＦＢｎ  基本演算ブロック、１９  内部システムバス、５０  システムバスＩ／Ｆ、５２  直交変換回路、３０  主演算回路、４０  メモリセルマット、４２  演算処理ユニット群、４４  演算処理ユニット、６８  内部データバス、８０  直交メモリ、９４ｖ，９４ｈ  センスアンプ群、９６ｖ、９６ｈ  ライトドライバ群、９７  検索線ドライバ群、９８ｖ，９８ｈ  入出力回路、ＭＣＣ  ＣＡＭセル、１００ａ，１００ｂ  データ記憶部、１０２ａ，１０２ｂ  水平方向書込ポート、１０４ａ，１０４ｂ  検索／読出ゲート、ｍ００−ｍ０７，ｍ１０−ｍ１３，ｍ２０−ｍ２７  ＮチャネルＭＯＳトランジスタ、９０  直交メモリセルマット、１５０  マスクレジスタ、１５２  演算部、２００  情報データ記憶部、２０１  マスクデータ記憶部、２０２ａ、２０２ｂ  検索／読出ゲート、２０４，２０５  水平方向書込ポート、ｐ１０−ｐ１３，ｐ０６，ｐ０７，ｐ２６，ｐ２７  ＰチャネルＭＯＳトランジスタ、ｐ１１−ｐ１５  ＰチャネルＭＯＳトランジスタ、３００  グローバルデータバス、３０２  内部メインデータバス。
【図１】
0004738112.tif 000002
【図２】
0004738112.tif 000003
【図３】
0004738112.tif 000004
【図４】
0004738112.tif 000005
【図５】
0004738112.tif 000006
【図６】
0004738112.tif 000007
【図７】
0004738112.tif 000008
【図８】
0004738112.tif 000009
【図９】
0004738112.tif 000010
【図１０】
0004738112.tif 000011
【図１１】
0004738112.tif 000012
【図１２】
0004738112.tif 000013
【図１３】
0004738112.tif 000014
【図１４】
0004738112.tif 000015
【図１５】
0004738112.tif 000016
【図１６】
0004738112.tif 000017
【図１７】
0004738112.tif 000018
【図１８】
0004738112.tif 000019
【図１９】
0004738112.tif 000020
【図２０】
0004738112.tif 000021
【図２１】
0004738112.tif 000022
【図２２】
0004738112.tif 000023
【図２３】
0004738112.tif 000024
【図２４】
0004738112.tif 000025
【図２５】
0004738112.tif 000026
【図２６】
0004738112.tif 000027
【図２７】
0004738112.tif 000028
【図２８】
0004738112.tif 000029
【図２９】
0004738112.tif 000030
【図３０】
0004738112.tif 000031
【図３１】
0004738112.tif 000032
【図３２】
0004738112.tif 000033