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