(57)【特許請求の範囲】
【請求項１】
各々が第１ポートおよび第２ポートを有し、前記第１および第２のポートを介して転送されるデータの配列が互いに直交関係にある複数の直交変換メモリ、および
前記複数の直交変換メモリの第１のポートに共通に結合され、各前記直交変換メモリの第１のポートを介して入出力可能なデータビット幅に等しくかつ外部のデータバスのビット幅よりも小さなビット幅を有する第１のデータバス、
前記複数の直交変換メモリの第２のポートに共通に結合され、各前記直交変換メモリの第２のポートを介して入出力可能なデータのビット幅よりも大きなビット幅を有する第２のデータバス、
前記第１のデータバスを介してのデータ転送時、転送データのビット幅を有するビット幅情報に従って、前記複数の直交変換メモリに対するアドレスおよび転送制御信号を前記複数の直交変換メモリ個々に生成するとともに、前記直交変換メモリの第１のポートと前記第１のデータバスとの接続経路を設定するシステム側制御回路、および
前記第２のデータバスを介してのデータ転送時、前記第２のデータバス上のデータを選択的に格納して転送するバッファを含み、前記第２のデータバスを介してのデータ転送時、前記ビット幅情報に従って、前記複数の直交変換メモリに対するバス接続経路の設定を行なうとともにアドレスおよび転送制御信号を各前記直交変換メモリ個々に生成し、さらに、前記バッファに対するデータの書込および読出を選択的に行なって、前記第２のポートからのデータと前記バッファからのデータとから最終の転送データを生成する主演算回路側制御回路を備える、直交変換回路。
【請求項２】
前記システム側制御回路は、
前記複数の直交変換メモリ個々に対して所定数のビット単位でデータ転送にマスクをかけるマスク信号を生成する手段を備える、請求項１記載の直交変換回路。
【請求項３】
前記システム側制御回路は、上位ビットデータおよび下位ビットデータの一方を前記ビット幅設定情報に従って各前記直交変換メモリの第１のポートの上位ビットおよび下位ビットが、前記第１のデータバスの上位および下位ビットデータバスの共通のバスに結合するように、前記複数の直交変換メモリ個々に前記第１のポートと前記第１のデータバスとの接続経路を設定するバスセレクタを備える、請求項１記載の直交変換回路。
【請求項４】
前記システム側制御回路は、前記データビット幅情報に従って、外部からのアドレスの上位ビットおよび下位ビットの一方のアドレスを選択して各前記直交変換メモリに対するアドレス信号を生成するアドレス選択回路を備える、請求項１記載の直交変換回路。
【請求項５】
前記システム側制御回路は、前記データビット幅情報に従って前記複数の直交変換メモリを個々に活性化する選択回路を含み、前記選択回路は、前記データビット幅情報に従って前記複数の直交変換メモリの並行して活性化されるメモリの数および活性化シーケンスを設定する、請求項１記載の直交変換回路。
【請求項６】
前記主演算回路側御回路は、
転送サイクル数をカウントする多ビット転送アドレスカウンタと、
前記ビット幅情報に従って、前記転送アドレスカウンタのカウントビットを並び換えて前記複数の直交変換メモリに対するアドレスを生成するアドレス選択回路を備える、請求項１記載の直交変換回路。
【請求項７】
前記主演算回路側制御回路は、
前記ビット幅情報に従って前記複数の直交変換メモリの上位データビット領域および下位データビット領域へのアクセスを選択的にマスクする回路を備える、請求項１記載の直交変換回路。
【請求項８】
前記主演算回路側制御回路は、
前記ビット幅情報とデータ転送サイクル数情報とに従って、前記複数の直交変換メモリの前記第２のポートに対するアクセスを活性化する活性化信号を前記複数の直交変換メモリ個々に発生する転送制御回路を備える、請求項１記載の直交変換回路。
【請求項９】
前記直交変換メモリの第２のポートは最終的にインタフェースとの間でデータを転送し、
前記主演算側制御回路は、
前記第２のデータバスを介してのデータ転送サイクル数をカウントするマット転送カウンタと、
前記マット転送カウンタのカウント値と前記ビット幅情報とに従って、前記第２のデータバスと前記バッファとの間のデータ転送経路を設定するバッファ更新回路と、
前記マット転送カウンタのカウント値と前記ビット幅情報とに従って、前記第２のデータバスおよび前記バッファと前記インタフェースとの間の接続経路を設定する転送データ選択回路を備える、請求項１記載の直交変換回路。
【請求項１０】
前記バッファ更新回路は、前記ビット幅情報が第１のビット幅を指定するときには前記転送サイクルごとに前記第２のデータバスの全データビットと前記バッファとの間の転送および前記第２のデータバスの半分のデータビットと前記バッファの半分のデータビットの前記バッファへの転送とを繰返すように、前記データ転送経路を設定し、
前記転送データ選択回路は、前記ビット幅情報が前記第１のビット幅を示すとき、前記第２のデータバスの残りの半分のデータビットおよび前記バッファの残りの半分のビットの転送と前記バッファの全ビットの転送とを繰返すように前記接続経路を設定する、請求項９記載の直交変換回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ配列を直交変換する直交変換回路に関し、特に、並列演算処理装置におけるワードシリアル／ビットパラレルデータ列とワードパラレル／ビットシリアルデータ列との間の変換を行なう直交変換回路に関する。
【背景技術】
【０００２】
移動体通信技術の発展に伴って、携帯電話などの携帯端末機器においては、音声および画像のような大量のデータを送受信することが可能となる。このため、音声および画像などの大量のデータを高速に処理するデジタル信号処理の重要性が高くなってきている。このようなデジタル信号処理には、一般に、専用の半導体装置としてＤＳＰ（デジタル・シグナル・プロセッサ）が用いられる場合が多い。音声および画像データに対するデジタル信号処理においては、フィルタ処理などのデータ処理が行なわれ、このような処理においては、積和演算を繰返す演算処理が多い。したがって、一般に、ＤＳＰの構成においては、乗算回路、加算回路および累算用のレジスタが設けられる。このような専用のＤＳＰを用いると、積和演算を１マシンサイクルで実行することが可能となり、高速演算処理が可能となる。
【０００３】
しかしながら、このような専用のＤＳＰを用いる場合、演算処理対象のデータのビット幅が固定され、したがって、汎用性に欠けるという問題が生じる。データのビット幅にかかわらず、高速で演算処理を行なう汎用性の高い演算処理装置の一例が、特許文献１（特開２００７−１４０７５０号公報）に示されている。
【０００４】
この特許文献１に示される構成においては、演算処理装置内に、複数のエントリに分割されるメモリセルマットと、各エントリに対応して配置される演算器とが設けられる。演算対象のデータを各エントリに格納する。複数のエントリにおいて並列にビットシリアル態様で対応の演算器において演算処理を実行し、実行結果を対応のエントリに再書込する。
【０００５】
この特許文献１に示される並列演算処理装置の構成では、演算処理は、ビットごとに処理されるというビットシリアル態様で実行されるため、演算対象のデータのビット幅だけ、演算処理を繰返すことにより、対象データの演算処理を実行することができる。従って、演算処理対象のデータのビット幅の制限を受けることなく、同一構成で演算処理を実行することができる。また、演算器の演算処理内容を、プログラム命令により設定することにより、複数種類の演算処理を実行することができる。
【０００６】
このエントリに格納されるデータは、ビットシリアルに転送される。一方、外部のデータは、ワードシリアルかつビットパラレルに転送される。ここで、ワードシリアルかつビットパラレルは、ワードを構成するデータビットがデータバスを介して並列に各ワードごとに転送される態様を示す。一方、並列演算処理装置内においては、複数のエントリに対して並列に演算処理を実行する。従って、各エントリには、データをビットシリアル態様で転送して格納する必要がある。このため、外部データ（外部のプロセッサなどが処理するデータ）と並列演算処理装置内におけるデータとの間で配列を変換する必要がある。上述の特許文献１においては、２つのポートを有する直交変換メモリを利用してデータ配列の変換を行なう。この直交変換メモリとしては、２ポートＳＲＡＭが用いられる。直交変換メモリを２つ準備し、これらの直交変換メモリへインタリーブ態様でアクセスする。一方の直交変換メモリへのデータ書込時に、他方の直交変換メモリからデータの読出を実行する。
【０００７】
この特許文献１においては、外部のデータバス（システムバス）を転送されるデータのビット幅が異なる場合、直交変換メモリのデータビット格納領域を調整する。これにより、演算処理対象のデータのビット幅が異なる場合においても、バス構成を変更することなく、効率的にデータ転送を行なうことを図る。
【特許文献１】特開２００７−１４０７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述の特許文献１においては、２つの直交変換メモリに対しインタリーブ態様でアクセスする。１つの実施の形態において、この特許文献１は、システムバスと直交変換メモリとの間でデータ転送経路を、システムバス上を転送されるデータ（外部データ）のビット幅に応じて切換える。すなわち、外部データが８ビットデータの場合、直交変換メモリの８ビット領域がアクセスされ、残りの領域はアクセスされない。したがって、直交変換メモリの利用効率が低下する。
【０００９】
別の実施の形態においては、この特許文献１は、データビット幅に応じてシステムバスと直交変換メモリの入出力回路との接続を切換える。直交変換メモリは、外部データの最小データビット幅を有する複数のメモリブロックに分割する。データビット幅に応じてシステムバスと直交変換メモリとの間のアクセス経路を切換える。たとえば、外部データが８ビットの場合、１つのメモリブロックに対するアクセスが完了した後、バス接続を切換えて、次のメモリブロックとシステムバスとの間でデータ転送を行なう。このため、データ転送時にシステムバスの全ビットを利用してデータを転送することができるものの、直交変換メモリとシステムバスとの間にバス接続の切換を行なう回路が必要となり、直交変換回路のサイズを低減するために、さらに工夫を要する余地がある。
【００１０】
それゆえ、この発明の目的は、回路規模の増大およびバスの利用効率の低下を抑制して種々のビット幅のデータについて直交変換を行なって転送することのできる直交変換回路を提供することである。
【課題を解決するための手段】
【００１１】
この発明に係る直交変換回路は、複数の２ポート直交変換メモリを、互いに直交する第１および第２のデータバスに結合する。第１のデータバスのビット幅は、外部のシステムデータバスのビット幅よりも小さくする。複数の直交変換メモリに対して、転送データビット幅に従って個々にバス接続制御信号、アドレス信号および活性化を制御する転送制御信号を生成して、これらの２ポート直交変換メモリのバス接続および活性化を個々に設定する。この第２のデータバスと複数の直交変換メモリの間に、データ転送の配列調整のためのバッファメモリを設ける。このバッファメモリを用いて第２のデータバスとバッファとの間の転送経路および第２のデータバスとバッファとインタフェースとの間の経路を選択的に設定してデータ転送順序を調整する。この直交変換メモリと第２のデータバスとの間の接続、直交変換メモリの活性化を制御する信号およびアドレス信号データビット幅情報に従って生成して直交変換メモリ個々にバス接続および活性化を制御する。
【発明の効果】
【００１２】
複数の２ポート直交変換メモリを、転送データのビット幅に応じてバス接続を調整し、また選択的に活性化してデータの書込を実行する。したがって、バス構成を変更することなく種々のビット幅のデータを直交変換メモリとシステム側との間で全メモリ領域を利用するように転送することができる。また、第２のデータバスと直交変換メモリとの間の接続および直交変換メモリの活性化を転送データのビット幅に応じて設定することにより、種々のビット幅のデータを直交変換メモリと第２のデータバスとの間で正確に転送することができる。
【００１３】
また、バッファメモリを利用して、データ転送順序を転送データのビット幅に応じて調整することにより、種々のビット幅のデータを、第２のデータバスの全ビットを利用してビットシリアル態様で転送することができる。
【発明を実施するための最良の形態】
【００１４】
［実施の形態１］
図１は、この発明に従う直交変換回路が適用される信号処理システムの全体の構成を概略的に示す図である。図１において、信号処理システム１は、各種処理を実行する演算機能を実現するシステムＬＳＩ２と、システムＬＳＩ２と外部システムバス３を介して接続される外部メモリとを含む。外部メモリは、大容量メモリ４と、高速メモリ５と、読出専用メモリ（Read Only Memory：ＲＯＭ）６とを含む。大容量メモリ４は、たとえばクロック同期型ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）で構成され、以下、単にＳＤＲＡＭと称す。高速メモリ５は、たとえばスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）で構成される。読出専用メモリ６は、マスクＲＯＭなどの不揮発性メモリで構成され、システム立上げ時の命令などの固定情報を格納する。
【００１５】
システムＬＳＩ２は、内部システムバス７に並列に結合される基本演算ブロックＦＢ１−ＦＢｈと、これらの基本演算ブロックＦＢ１−ＦＢｈの処理動作を制御するホストＣＰＵ８と、信号処理システム１の外部からの入力信号ＩＮを内部処理用データに変換する入力ポート９と、内部システムバス７から与えられる出力データを受けてシステム外部へ転送される出力信号／データＯＵＴを生成する出力ポート１０とを含む。
【００１６】
ホストＣＰＵ８、入力ポート９および出力ポート１０は、共通に内部システムバス７に結合される。入力ポート９および出力ポート１０は、たとえばＩＰブロック（インテレクチュアル・プロパティ・ブロック：ライブラリとして準備された機能ブロック）で構成され、データ／信号の入出力に必要な機能を実現する。
【００１７】
システムＬＳＩ２は、さらに、内部システムバス７に互いに並列に結合される割込コントローラ１１、ＣＰＵ周辺１２、ＤＭＡ（ダイレクト・メモリ・アクセス）コントローラ１３、外部バスコントローラ１４、および専用ロジック１５を含む。割込コントローラ１１は、基本演算ブロックＦＢ１−ＦＢｈからの割込信号を受け、ホストＣＰＵ８に対して割込を通知する。
【００１８】
ＣＰＵ周辺１２は、ホストＣＰＵ８の各処理に必要な制御動作を実行し、タイマおよびシリアルＩＯ（入出力）などのホストＣＰＵ８におけるプログラムおよびデバッグの用途に必要な機能を、また有する。ＤＭＡコントローラ１３は、基本演算ブロックＦＢ１−ＦＢｈからの転送要求を示すＤＭＡ要求信号に従って外部メモリに対するデータ転送制御を実行する。外部バスコントローラ１４は、ホストＣＰＵ８またはＤＭＡコントローラ１３からの指示に従って外部システムバス３に接続されるメモリ４−６に対するアクセス制御を実行する。専用ロジック１５は、たとえばＩＰブロックで構成され、既存の機能ブロックを用いて必要な処理機能が実現され、ホストＣＰＵ８のデータ処理を補助する。
【００１９】
基本演算ブロックＦＢ１−ＦＢｈは、それぞれ指定された演算処理を実行する。これらの基本演算ブロックＦＢ１−ＦＢｈは、同一構成を有するため、図１においては、基本演算ブロックＦＢ１の構成を代表的に示す。
【００２０】
基本演算ブロックＦＢ１は、実際のデータの演算処理を実行する主演算回路２０と、主演算回路２０における演算処理を指定するマイクロ命令を格納するマイクロ命令メモリ２１と、このマイクロ命令メモリ２１からのマイクロ命令に従って主演算回路２０の演算処理を制御するコントローラ２２とを含む。主演算回路２０は、複数のメモリセルが行列状に配列されかつ複数のエントリに分割されるメモリセルマット３０と、メモリセルマット３０の各エントリに対応して配置され、指定された演算処理を実行する演算器（ＡＬＵ）３１と、演算器３１間のデータ転送経路を設定するＡＬＵ間相互接続用スイッチ回路３２とを含む。基本的に、メモリセルマット３０の各行が１エントリを構成し、１エントリに多ビットデータの各ビットが格納される。
【００２１】
演算器（以下、適宜、ＡＬＵと称す）３１は、対応のエントリからのデータをビットシリアル態様で受けて演算処理を実行し、該処理結果をメモリセルマット３０の指定されたエントリ（たとえば対応のエントリ）の所定位置に格納する。
【００２２】
ＡＬＵ間相互接続用スイッチ回路３２により、ＡＬＵ３１の接続経路が切換えられ、異なるエントリのデータに対する演算を可能とする。
【００２３】
コントローラ２２は、マイクロ命令メモリ２１に格納されるマイクロ命令に従ってマイクロプログラム方式に従った動作を実行する。このマイクロプログラム動作に必要なワークデータは、ワークデータメモリ２３に格納される。
【００２４】
基本演算ブロック１は、さらに、基本演算ブロックＦＢ１の内部と内部システムバス７との間でデータ／信号の転送を実行するシステムバスインターフェイス（Ｉ／Ｆ）２４と、内部システムバス７と主演算回路２０のメモリセルマット３０との間でのデータ配列の変換を行なう直交変換回路４０と、主演算回路２０をシステムバスＩ／Ｆ２４および直交変換回路４０の一方に選択的に結合するマルチプレクサ（ＭＵＸ）４２を含む。
【００２５】
システムバスＩ／Ｆ２４により、ホストＣＰＵ８またはＤＭＡコントローラ１３が、メモリセルマット３０、コントローラ２２内の専用のレジスタ、マイクロ命令メモリ２１、およびワークデータメモリ２３へアクセスすることが可能となる。
【００２６】
直交変換回路４０は、本発明に従って構成され、システムバスＩ／Ｆ２４を介してビットパラレルかつワードシリアル態様で転送されるデータと主演算回路２０からマルチプレクサ４２を介して転送されるワードパラレルかつビットシリアルに転送されるデータ配列の変換を行なってデータ転送の整合性を確立する。すなわち、この直交変換回路４０は、システムバスＩ／Ｆ２４からビットパラレルかつワードシリアル態様で転送されるデータを、ワードパラレルかつビットシリアルな態様で転送し、メモリセルマット３０の各エントリに、異なるデータワードの同一位置のビットを並列に書込む。また、逆に、直交変換回路４０は、主演算回路２０のメモリセルマット３０からワードパラレルかつビットシリアル態様で転送されるデータ列を転置し、ビットパラレルかつワードシリアルな態様でシステムバスＩ／Ｆ２４へ転送する。
【００２７】
ここで、本明細書においては、「ビットシリアル」は、１つのデータワードを構成するビットが順次転送または処理される態様を示し、「ビットパラレル」は、１つのデータワードを構成するビットが並列に転送または処理される態様を示す。また、エントリ（またはワード）パラレルは、複数のエントリ（またはワード）が並列に転送または処理される態様を示し、「エントリ（またはワード）シリアル」は、複数のエントリ（またはワード）が順次転送または処理される態様を示す。ビットシリアルかつワードパラレルなデータ列とビットパラレルかつワードシリアルなデータ列の間の変換を、「直交変換」とここでは規定する。
【００２８】
この発明に従う直交変換回路４０は、ビット幅が異なるデータに対しても内部システムバス７およびメモリセルマット３０に対する内部メモリデータバスの全ビット幅を利用してデータの転送を行うようにデータ配列の直交変換を行う。また、データビット幅が異なる場合においても、内部システムバス７と内部メモリデータバスとの間のデータ転送シーケンスは同一である。直交変換回路４０の構成および動作については、後に詳細に説明する。
【００２９】
マルチプレクサ４２は、コントローラ２２からのワークデータを選択して主演算回路２０に転送するように構成されてもよい。また、演算対象データ列を直交変換により転置する必要がない場合には、このマルチプレクサ４２は、システムバスＩ／Ｆ２４を選択して主演算回路２０に接続する。
【００３０】
図１に示すシステムＬＳＩ２においては、直交変換回路４０が、基本演算ブロックＦＢ１−ＦＢｈそれぞれに設けられるように示す。これは、基本演算ブロックＦＢ１−ＦＢｈそれぞれにおいて個々にその演算処理内容が、マイクロ命令メモリ２１に設定されるマイクロ命令プログラムにより設定されるためである。しかしながら、これらの基本演算ブロックＦＢ１−ＦＢｈに対し、直交変換回路４０が共通に設けられてもよい。
【００３１】
この信号処理システム全体の処理動作ならびに主演算回路２０の構成および処理動作については、前述の特許文献１においても開示されているものの、以下において、この発明に従う直交変換回路の動作および作用効果を十分に理解するために、以下に、主演算回路２０の構成および動作について簡単に説明する。
【００３２】
図２は、図１に示す主演算回路２０のメモリセルマット３０および演算器（ＡＬＵ）３１の配置を概略的に示す図である。メモリセルマット３０においては、メモリセルＭＣが行列状に配列され、また、行方向（Ｘ方向）に沿ってＭ個のエントリＥＲＹに分割される。エントリＥＲＹは、Ｎビットのビット幅を有する。メモリセルマット３０においては、Ｍ個のエントリＥＲＹに共通にワード線ＷＬが配設され、１つのエントリＥＲＹに対してビット線対ＢＬＰが配置される。ビット線対ＢＬＰのビット線ＢＬおよび／ＢＬが、データ転送線として利用される。
【００３３】
演算器（ＡＬＵ）３１は、エントリＥＲＹそれぞれに対応して設けられ、演算処理ユニット３５を構成する。演算器３１は、加算、論理積、一致検出（ＥＸＯＲ）、および反転（ＮＯＴ）などの演算を実行することができる。各エントリＥＲＹと対応の演算器３１との間でデータのロードおよびストアをビット単位で行なって演算処理を実行する。この演算器３１の演算内容は、図１に示すコントローラ２２により設定される。
【００３４】
エントリＥＲＹには、それぞれ演算処理対象のデータが格納され、演算器３１は、ビットシリアル態様で演算処理を実行する。演算器３１で構成される演算処理ユニット３５においては、したがって、ビットシリアルかつエントリパラレルな態様でデータの演算処理が実行される。
【００３５】
演算処理ユニット３５においてビットシリアル態様で演算処理を実行することにより、以下の効果が得られる。演算対象のデータのビット幅が用途に応じて異なる場合においても、単に演算サイクル数がデータワードのビット幅に応じて変更されるだけである。その演算処理内容は変更されず、語構成の異なるデータ処理に対しても容易に対応することができる。
【００３６】
また、複数のエントリＥＲＹのデータを演算処理ユニット３５において並行して処理することができる。したがって、エントリ数Ｍを大きくすることにより、大量のデータを一括して演算処理することができる。一例として、エントリ数Ｍは、１０２４であり、１エントリＥＲＹのビット幅Ｎは、５１２ビットである。
【００３７】
メモリセルＭＣは、ＳＲＡＭセルで構成され、高速アクセスを行なってデータの転送を行なうことができる。また、データの定期的なリフレッシュは不要であり、メモリセルマット３０のデータに対する演算処理の制御を簡略化することができる。
【００３８】
主演算回路２０において演算を行なう場合には、まず、エントリＥＲＹそれぞれに演算対象データが格納される。次いで、すべてのエントリＥＲＹについて、格納されたデータのある桁のビットを並列に読出して対応の演算器３１へ転送する（ロードする）。すなわち、あるビット位置のワード線ＷＬを選択状態へ駆動することにより、選択ワード線に接続されるメモリセルＭＣのデータが対応のビット線対ＢＬＰ上に読出され、この読出されたデータが、各ビット線対を介して対応の演算器３１へ転送される。
【００３９】
なお、メモリセルマット３０と演算器３１の間には、メモリセルデータの読出を行うセンスアンプおよびメモリセルへのデータの書込を行うライトドライバが設けられるが、図２においては、図面を簡略化するため、示していない。
【００４０】
二項演算を行なう場合には、エントリＥＲＹそれぞれにおいて、二項演算の組のデータが格納される。各エントリＥＲＹにおいて、１つのデータワードのビットが演算器に転送された後、別のデータワードのビットが、対応の演算器に転送される。この後、演算処理ユニット３５において演算器３１各々が転送されたデータビットについて二項演算を行ない、その演算処理結果が、演算器３１から対応のエントリＥＲＹ内の所定領域に再書込（ストア）される。
【００４１】
メモリセルマット３０に対しては、ビット線ＢＬおよび／ＢＬ方向から、演算対象のデータの書込／読出が行われる。この書込／読出データは、直交変換回路４０との間で転送される。直交変換回路４０が転送するデータは、メモリセルマット３０において共通のワード線に接続されるメモリセルに格納される。メモリセルマット３０においては、各エントリＥＲＹには、異なる外部データが格納される。このため、直交変換回路４０において、外部のメモリ（たとえば大容量メモリ（ＳＤＲＡＭ４）との間でのデータ転送時、データ配列を直交変換する必要がある。
【００４２】
図３は、図１に示す直交変換回路４０におけるデータ配列の変換操作を通したデータの流れを概略的に示す図である。図３においては、４ビットデータが外部の大容量メモリ（ＳＤＲＡＭ）４から転送され、直交変換回路４０から４ビットデータが主演算回路２０内のメモリセルマット３０へ転送される場合の動作が一例として示される。
【００４３】
ＳＤＲＡＭ４において、４ビットデータＡ（ビットａ０−ａ３）ないしＩ（ビットｉ３−ｉ０）が格納される。このＳＤＲＡＭ４から内部システムバス（７）を介して４ビットデータＤＴＥ（データＩ：ビットｉ３−ｉ０）の各ビットが並列に転送される。このＳＤＲＡＭ４からのデータＤＴＥは、メモリセルマット３０の同一エントリＥＲＹに格納されるエントリ単位のデータである。直交変換回路４０において、この転送された４ビットデータの各ビットがＹ方向に整列して格納される。直交変換回路４０のメモリ内においてＸ方向に順次ＳＤＲＡＭ４からの転送データが格納される。図３においては、直交変換回路４０のメモリ内に、４ビットデータＥ（ビットｅ３−ｅ０）、Ｆ（ビットｆ３−ｆ０）、Ｇ（ビットｇ３−ｇ０）、およびＨ（ビットｈ３−ｈ０）が格納された状態を一例として示す。
【００４４】
直交変換回路４０からメモリセルマット３０へのデータ転送時においては、内部のメモリにおいてＸ方向に整列するビットが並列に読出され、Ｙ方向に沿って順次選択ビット位置を更新してデータ転送が実行される。したがって、ビットｅ１、ｆ１、ｇ１およびｈ１で構成されるデータＤＴＡが、メモリセルマット３０の４エントリに並行して転送されて格納される。このアドレス単位のデータＤＴＡは、メモリセルマット３０において１アドレスの指定時に格納されるデータであり、メモリセルマット３０のエントリ位置情報（ビット線アドレス）および書込ビット位置情報（ワード線アドレス）が示す位置に格納される。この操作を順次繰返し、全転送データについて実行することにより、メモリセルマット３０において複数のエントリ（たとえば４エントリ単位）に複数のデータビットが並列に書込まれ、アドレス指定されたエントリ（ＥＲＹ）においては、それぞれ、エントリ単位のデータＤＴＥ、たとえばデータＡ（ビットａ０−ａ３）が格納される。
【００４５】
メモリセルマット３０から内部システムバス（７）を介して外部へ転送する場合には、この逆の方向にデータが流れる。すなわち、アドレス単位のデータＤＴＡが直交変換回路４０内のメモリに順次Ｙ方向に沿って格納される。次いで、この直交変換回路４０のメモリからＸ方向に整列するエントリ単位のデータＤＴＥが読出され、システムバスＩ／Ｆ（２４）を介して転送される。ここで、エントリ単位のデータＤＴＥは、１つのエントリに格納されるデータである。すなわち、メモリセルマット３０からシステムバスを介してＳＤＲＡＭ４へデータを転送する場合には、この図３に示すデータの流れが反対となるだけであり、同様の変換操作が直交変換回路４０において実行される。
【００４６】
上述のように、基本的に、ＳＤＲＡＭ４と直交変換回路４０との間では、ビットパラレルかつワードシリアルにデータが転送され、直交変換回路４０とメモリセルマット３０との間では、ビットシリアルかつワードパラレルにデータが転送される。
【００４７】
ＳＤＲＡＭ４が転送するデータは、４ビットの限定されない。用途に応じて、８ビットデータ、１６ビットデータ、３２ビットデータおよび６４ビットデータ等種々のビット幅のデータを転送することが要求される。このような複数種類のビット幅のデータを処理する場合においても、データの転送効率を低下させること無く、データを転送することが要求され、また、直交変換回路のサイズの増大も抑制することが要求される。本発明は、以下に詳細に説明するように、このような要求を満たす直交変換回路を提供する。
【００４８】
図４は、この発明の実施の形態１に従う直交変換回路４０の構成を概略的に示す図である。図４において、直交変換回路４０は、４つの２ポート直交変換メモリＴＭ０−ＴＭ３を含む。これらの２ポート直交変換メモリＴＭ０−ＴＭ３は、それぞれ第１および第２のポート各々が、３２ビット×３２ワードの構成を有する。２ポート直交変換メモリＴＭ０−ＴＭ３の第１のポートが、３２ビットデータバス（第１のデータバス）５０に共通に結合され、またこれらの２ポート直交変換メモリＴＭ０−ＴＭ３の第２のポートが、共通に６４ビットデータバス（第２のデータバス）５５に結合される。
【００４９】
直交変換回路４０は、さらに、３２ビットデータバス５０とシステムバスＩ／Ｆ２４との間で６４ビット幅のデータの転送を行なうとともにその転送制御を行なうシステムバス側制御部６０と、６４ビットデータバス５５と主演算回路Ｉ／Ｆ６６の間でデータの転送を行なうとともにデータの転送を制御する主演算回路側制御部６５を含む。主演算回路Ｉ／Ｆ６６は、６４ビットの内部メモリデータバスを介して主演算回路２０に結合される。
【００５０】
この主演算回路側制御部６５は、データ転送時にデータビットの配列を調整するための６４ビットバッファ６８を含む。この６４ビットバッファ６８は、６４ビットのデータを格納して転送することができればよく、６４ビットのレジスタで構成されてもよく、６４ビットのメモリで構成されてもよい。主演算回路との間で双方向でデータを転送するために、この６４ビットバッファ６８は、双方向にデータを転送することができればよい。
【００５１】
図４においては、図１に示す構成と同様、直交変換回路４０が各基本演算ブロックＦＢｉ（ｉ＝１からｈ）に設けられる構成を示す。直交変換回路４０が基本演算ブロックＦＢ１−ＦＢｈに共通に設けられる場合には、主演算回路Ｉ／Ｆに代えて基本演算ブロックＩ／Ｆが設けられる。
【００５２】
システムバス側制御部６０とシステムバスＩ／Ｆ２４の間では、６４ビットのデータが転送される。システムバス側制御部６０は、この６４ビット幅のデータを３２ビット幅のデータに変換して内部データバス５０に転送し、また、内部データバス５０からの３２ビット幅のデータを６４ビット幅のデータに変換してシステムバスＩ／Ｆ２４へ転送する。
【００５３】
主演算回路側制御部６５と主演算回路Ｉ／Ｆ６６との間では６４ビット幅のデータが転送される。主演算回路Ｉ／Ｆ６６は、図４においては６４ビット幅の内部メモリデータバスを介して主演算回路との間でデータを転送するように示す。しかしながら、この内部メモリデータバスは６４ビット幅でなくてもよい。この場合には、主演算回路Ｉ／Ｆ６６がバス幅変換機能により、バス幅調整を行う。
【００５４】
一例として、４面の２ポート直交変換メモリＴＭ０−ＴＭ３を、２つのグループに分け、３２ビット単位でデータのアクセスを実行する。システムバス側制御部６０において、この６４ビット／３２ビットのデータ配列の変換およびアドレス生成を実行する。システムバスを介して転送されるデータのビット幅にかかわらず、この直交変換回路４０において、２ポート直交変換メモリＴＭ０−ＴＭ３のバス接続を切換え、バス構成を変更することなく、全データバス幅を利用しかつ全メモリ領域を利用してデータのアクセスを実行することができる。以下の説明においては、外部データ（ＳＤＲＡＭが転送するデータ）の最小ビット幅が８ビットであり、最大ビット幅が６４ビットの場合について説明する。
【００５５】
図５は、図４に示す２ポート直交変換メモリＴＭ０−ＴＭ３の構成を概略的に示す図である。これらの２ポート直交変換メモリＴＭ０−ＴＭ３は、同一構成を有するため、図５においては、２ポート直交変換メモリＴＭを、これらの２ポート直交変換メモリＴＭ０−ＴＭ３の代表として示す。
【００５６】
図５において、２ポート直交変換メモリＴＭは、メモリセルＭＣが行列状に配列されるメモリセルアレイ７０を含む。メモリセルアレイ７０において、Ｘ方向に整列するメモリセルＭＣに対応して、ワード線ＡＷＬおよびビット線対ＥＢＬＰが配列され、Ｙ方向に整列するメモリセルに対応してワード線ＥＷＬおよびビット線対ＡＢＬＰが配設される。このワード線ＡＷＬに、主演算回路内のメモリセルマットのアドレス単位のデータＤＴＡを記憶するメモリセルが接続され、ワード線ＥＷＬに、主演算回路のメモリセルマットのエントリ単位のデータＤＴＥを記憶するメモリセルが接続される。ワード線ＥＷＬの選択時、ビット線対ＥＢＬＰに対応のメモリセルの記憶データが読出される。同様、ワード線ＡＷＬの選択時、ビット線対ＡＢＬＰに対応のメモリセルの記憶データが読出される。
【００５７】
２ポート直交変換メモリＴＭは、さらに、システムバス側書込／読出回路７２と、システムバス側セル選択回路７４と、主演算回路側書込／読出回路７６と、主演算回路側セル選択回路７８を含む。システムバス側書込／読出回路７２は、Ｘ方向に順次アクセスして、Ｙ方向に整列するメモリセルに対するデータアクセスを実行する。システムバス側セル選択回路７４は、システムバス側制御部（６０）から与えられる選択信号ＳＳＥＬ、データ入出力指示信号ＳＤＩＯＥおよびアドレス信号ＳＡＤＤに従ってメモリセルアレイ７０からメモリセルを選択する。
【００５８】
システムバス側書込／読出回路７２に対しては、システムバス側制御部（６０）からデータ読出を活性化するリードイネーブル信号ＳＲＥ、データ書込を活性化するライトイネーブル信号ＳＷＥおよびビットライトマスク制御信号ＳＤＭが与えられる。ビットライトマスク制御信号ＳＤＭにより、システムバス側書込／読出回路７２は、１６ビット単位でデータのアクセスにマスクがかけられる。
【００５９】
主演算回路側書込／読出回路７６は、主演算回路側制御部（６５）から与えられるリードイネーブル信号ＭＲＥおよびライトイネーブル信号ＭＷＥに従って、メモリセルアレイ７０のＸ方向に整列するメモリセルに対し、並行してアクセスする。主演算回路側セル選択回路７８は、主演算回路側制御部（６５）から与えられる選択信号ＭＳＥＬ、データ入出力制御信号ＭＤＩＯ、アドレス信号ＭＡＤＤおよびデータマスク信号ＭＤＭに従ってメモリセルアレイ７０のメモリセルを選択する。データマスク信号ＭＤＭは、ビットライトマスク制御信号ＳＤＭと同様、データの書込／読出に対してたとえば１６ビット単位でマスクをかける。
【００６０】
システムバス側制御部６０は、システム側からの転送されるアドレス信号および制御信号に従って、アドレス信号および各制御信号を生成し、主演算回路側制御部６５は、主演算回路内のコントローラからの転送指示、アドレス信号および制御信号に従ってアドレス信号および各制御信号を生成する。これらのアドレス信号および制御信号の生成態様については後に詳細に説明する。
【００６１】
システム側セル選択回路７４、システムバス側書込／読出回路７２、ワード線ＥＷＬおよびビット線対ＥＢＬＰにより第１のポートが構成され、主演算回路側セル選択回路７８、主演算回路側書込／読出回路７６、ワード線ＡＷＬおよびビット線対ＡＢＬＰにより第２のポートが構成される。
【００６２】
この２ポート直交変換メモリＴＭにおいて、システムバス側書込／読出回路７２により、データＨＤＱとして、Ｙ方向に整列するエントリ単位のデータＤＴＥが転送され、主演算回路側書込／読出回路７６により、データＶＤＱとして、Ｘ方向に整列するアドレス単位のデータＤＴＡが転送される。この直交変換回路の構成は、実質的に２ポートＳＲＡＭと同様である。
【００６３】
図６は、図５に示すメモリセルＭＣの構成の一例を示す図である。図６において、メモリセルＭＣは、交差結合されるＰチャネルＭＯＳトランジスタ（絶縁ゲート型電界効果トランジスタ）ＰＱ１およびＰＱ２と、交差結合されるＮチャネルＭＯＳトランジスタＮＱ１およびＮＱ２を含む。ＭＯＳトランジスタＰＱ１およびＰＱ２は、記憶ノードＳＮ１およびＳＮ２のハイ側のノードを電源電圧レベルにプルアップし保持する。ＭＯＳトランジスタＮＱ１およびＮＱ２は、記憶ノードＳＮ１およびＳＮ２のロー側のノードを接地電圧レベルに駆動しかつ保持する。これらのＭＯＳトランジスタＰＱ１およびＰＱ２、ＮＱ１およびＮＱ２は、インバータラッチを構成する。したがって、記憶ノードＳＮ１およびＳＮ２には、互いに相補なデータが保持される。
【００６４】
メモリセルＭＣは、さらに、エントリ単位のデータアクセス用のポート（第１のポート）を構成するＮチャネルＭＯＳトランジスタＮＱＢ１およびＮＱＢ２と、アドレス単位のデータをアクセスするポート（第２のポート）を構成するＮチャネルＭＯＳトランジスタＮＱＡ１およびＮＱＡ２を含む。ＭＯＳトランジスタＮＱＡ１およびＮＱＡ２は、それぞれ、ワード線ＡＷＬ上の信号電位に従って、選択的に記憶ノードＳＮ１およびＳＮ２を、それぞれ、ビット線ＡＢＬおよび／ＡＢＬに電気的に結合する。ＭＯＳトランジスタＮＱＢ１およびＮＱＢ２は、ワード線ＥＷＬ上の信号電位に従って選択的に記憶ノードＳＮ１およびＳＮ２を、それぞれ、ビット線ＥＢＬおよび／ＥＢＬに電気的に結合する。ビット線ＡＢＬおよび／ＡＢＬが、ビット線対ＡＢＬＰを構成し、ビット線ＥＢＬおよび／ＥＢＬが、ビット線対ＥＢＬＰを構成する。
【００６５】
この図６に示すように、メモリセルＭＣは、別々のポートから記憶ノードＳＮおよび／ＳＮへアクセスすることのできる２ポートメモリセルであり、ビット線対ＡＢＬＰおよびＥＢＬＰが直交している。したがって、このワード線ＥＷＬ方向に整列するメモリセルが記憶するデータ配列と、ワード線ＡＷＬ方向に整列して配置されるメモリセルが記憶するデータ配列とは、直交変換の関係にある。
【００６６】
図７は、図４に示す２ポート直交変換メモリＴＭ０−ＴＭ３とシステムバスとの間でのデータ転送時のアドレス配列を概略的に示す図である。図７において、この２ポート直交変換メモリＴＭ０−ＴＭ３は、Ｘ方向に沿ってアドレス０−３１が割当てられる。
【００６７】
Ｙ方向に沿っては、８ビット単位で４つのメモリブロックＢＫａ−ＢＫｄに分割される。２つのメモリブロック、すなわち１６ビットデータに対し、書込をマスクするマスク信号が与えられる。すなわち、２ポート直交変換メモリＴＭｉ（ｉ＝０−３）において、マスク指示ＤＭｉ０およびＤＭｉ１が与えられる。マスク指示ＤＭｉ０が有効状態であり書込マスクを示すときには、対応のブロックＢＫａおよびＢＫｂに対するデータ書込が停止される。マスク指示ＤＭｉ１が有効状態のときには、メモリブロックブロックＢＫｃおよびＢＫｄに対するデータ書込が停止される。
【００６８】
マスク指示信号ＤＭｉ０およびＤＭｉ１両者を有効状態に設定した場合には、対応の２ポート直交変換メモリＴＭｉに対するデータ書込は停止されるが、この場合には、むしろ、対応の直交変換メモリに対するライトイネーブル信号ＷＥが非活性状態に設定される。これらのマスク信号ＤＭｉｊ（ｉ＝０−３、ｊ＝０，１）は、データの直交変換メモリへの書込時のビットライト制御信号ＳＤＭに従って生成される。
【００６９】
システムバス側制御部６０は、これらの２ポート直交変換メモリＴＭ０−ＴＭ３に対して個々に制御信号を生成する。
【００７０】
なお、データ書込／読出に対してマスクをかける構成は、データの書込回路（ライトでドライバ）または読出回路（プリアンプ）をディスエーブル状態または出力ハイインピーダンス状態に設定する構成が利用されればよく、一般に知られたマスク回路を利用することができる。
【００７１】
図８は、ＳＤＲＡＭ４から直交変換回路４０へのデータ転送時のデータ転送シーケンスを模式的に示す図である。今、ＳＤＲＡＭ４において、８ビットデータが格納されており、６４ビットの内部システムバス７を介して８個のデータ単位でデータが転送される場合を考える。この場合、図８において２ポート直交変換メモリＴＭ０−ＴＭ３において数字で示す番号順に従ってデータが格納される。２ポート直交変換メモリＴＭ０−ＴＭ３は、各々３２ワード×３２ビットの構成を有し、３２ビット幅のデータの書込／読出が可能である。内部のデータバス５０は３２ビットデータバスである。システムバス側制御部６０において、データバス幅変換を行なう。
【００７２】
データを直交変換メモリＴＭ０−ＴＭ３に書込む場合に、２ポート直交変換メモリＴＭ０およびＴＭ１に対し、並行して１６ビットデータが書込まれ、次いで、２ポート直交変換メモリＴＭ２およびＴＭ３に対して１６ビットデータの書込が実行される。したがって、この直交変換メモリＴＭ０およびＴＭ１と直交変換メモリＴＭ２およびＴＭ３とに対し、交互に３２ビットデータが書込まれる。直交変換メモリＴＭ０−ＴＭ３各々において、全アドレス（０−３１）にわたって前半の１６ビットデータ領域に対してデータの書込が行われ、ついで、全アドレスにわたって後半の１６ビットデータ領域にデータの書込が行われる。
【００７３】
２ポート直交変換メモリＴＭ０−ＴＭ３に対しては、共通に書込制御信号およびアドレス信号が与えられる。直交メモリＴＭ０−ＴＭ３の選択が、ライトイネーブル信号ＷＥ（ＳＷＥ）により行われる。選択直交変換メモリにおいて、メモリブロックの選択／非選択が、上述のマスク指示信号ＤＭ（ビットライト制御信号ＳＤＭ）により設定され、直交変換メモリＴＭ０−ＴＭ３に各々に対して１６ビットのデータの書込が実行される。
【００７４】
これらの２ポート直交変換メモリＴＭ０−ＴＭ３において、同じアドレスの同じビット位置に、ＳＤＲＡＭ４から１回に転送される６４ビットデータが分散して格納される。
【００７５】
図９は、図８に示す２ポート直交変換メモリに対する８ビットデータの書込シーケンスを示すタイミング図である。以下、図９を参照して、この図８に示す２ポート直交変換メモリＴＭ０−ＴＭ３に対するデータの書込シーケンスについて説明する。
【００７６】
ＳＤＲＡＭ４は、システムクロック信号ＳＣＬＫに同期して内部システムバス７を介して６４ビットデータを転送する。直交変換回路内においては転送クロック信号ＴＣＬＫに従ってデータの書込が実行される。
【００７７】
ＳＤＲＡＭ４から一度にシステムバス７を介して転送されるデータは、８個の８ビットデータを含んでおり、第１回目のデータ転送時、データ０−７が転送され、アドレス０が指定される。このとき、直交変換回路においては、２ポート直交変換メモリＴＭ０およびＴＭ１がライトイネーブル信号によりイネーブルされ、直交変換メモリＴＭ０にデータ０および１が格納され、直交変換メモリＴＭ１に、データ２および３が格納される。このとき、直交変換メモリＴＭ２およびＴＭ３は、ライトイネーブル信号ＷＥ（ＷＥ２、ＷＥ３）に従ってディスエーブル状態であり、データの書込は禁止される。
【００７８】
次いで、直交変換回路内の転送クロック信号ＴＣＬＫの次のサイクルにおいては、直交変換メモリＴＭ０およびＴＭ１がディスエーブルされ、直交変換メモリＴＭ２およびＴＭ３がイネーブルされる。このとき、アドレスは、０である。したがって、直交変換メモリＴＭ２およびＴＭ３のアドレス０の位置に、データ４および５ならびにデータ６および７がそれぞれ格納される。
【００７９】
次いで、次のサイクルにおいて、システムクロック信号ＳＣＬＫに同期してデータ８−１５がシステムバス７を介してＳＤＲＡＭ４から転送される。このときのアドレスは１である。この場合も、先のサイクルと同様、転送クロック信号ＴＣＬＫに同期してライトイネーブル信号に従って、直交変換メモリＴＭ０およびＴＭ１がイネーブルされ、データ８および９が直交変換メモリＴＭ０に格納され、データ１０および１１が、直交変換メモリＴＭ１に格納される。このとき、直交変換メモリＴＭ２およびＴＭ３は、それぞれのライトイネーブル信号に従ってディスエーブル状態である。
【００８０】
次いで、転送クロック信号ＴＣＬＫが立上がると、直交変換メモリＴＭ０およびＴＭ１がディスエーブルされて、書込禁止状態に設定される。一方、直交変換メモリＴＭ２およびＴＭ３が書込を許可され、データ１２および１３が、直交変換メモリＴＭ２に格納され、データ１４および１５が、直交変換メモリＴＭ３のアドレス１に格納される。
【００８１】
次のサイクルが始まると、システムクロック信号ＳＣＬＫに従って次の８個のデータとともにアドレス２が与えられる。転送クロック信号ＴＣＬＫに従って、直交変換メモリＴＭ０にデータ１６および１７が格納され、直交変換メモリＴＭ１にデータ１８および１９が格納される。次いで、次の転送クロック信号ＴＣＬＫの立上がりに従って、直交変換メモリＴＭ０およびＴＭ１が書込禁止状態に設定され、一方、直交変換メモリＴＭ２およびＴＭ３が書込許可状態に設定される。これらの直交変換メモリＴＭ２およびＴＭ３のアドレスの位置に、データ２０、２１ならびにデータ２２および２３がそれぞれ格納される。
【００８２】
この図９に示すタイミング図において、システムバス７を介して６４ビットデータが転送され、システムバス側制御部６０においてデータのビット幅を変更して、システムバス７を介して転送される６４ビットデータの転送サイクルの２倍の周期で、転送クロック信号ＴＣＬＫに従ってデータの交互書込を実行している。
【００８３】
仮にＳＤＲＡＭ４が×８構成であり、ＳＤＲＡＭ４おいてバス幅変換回路が設けられており、バーストモードで転送される８ビットデータが６４ビットデータに変換されて内部システムバス７を介して転送される場合、データ転送サイクルは、ＳＤＲＡＭ４の８ビットデータ読出サイクルの４倍のサイクル長を有する。したがって、この場合には、ＳＤＲＡＭ４の動作サイクル（システムクロック信号ＳＣＬＫにより規定されるサイクル）の８サイクルに１回データが転送されるだけであり、十分余裕を持って直交変換回路内においてデータ転送サイクルの１／２倍のサイクルで直交変換メモリに対してデータ転送を行なうことができる。
【００８４】
また、ＳＤＲＡＭ４が、データ転送時には、６４ビットデータを入出力する構成とされる場合には、この直交変換回路４０内における転送クロック信号ＴＣＬＫは、システムクロック信号（ＳＤＲＡＭ４の転送サイクルを規定するクロック信号）ＳＣＬＫの１／２倍のサイクルを有する。この場合、ＳＤＲＡＭ４は、シングル・データ・レートモード（ＳＤＲモード）でデータを転送する。直交変換メモリＴＭ０−ＴＭ３は、ＳＲＡＭで構成されており、ＳＤＲＡＭ４よりも高速のメモリである。従って、ＳＤＲＡＭのデータ転送の２倍の速度で十分にデータの書込を行なうことができ、システムバス７と内部データバス５０との間の転送クロックサイクルの差は、十分に吸収することができる。
【００８５】
ＳＤＲＡＭ４がシステムクロック信号ＳＣＬＫの立上りおよび立下りに同期してデータを転送するダブル・データ・レートモード（ＤＤＲモード）で動作する場合には、直交変換回路４０内において直交変換メモリＴＭ０−ＴＭ３に対して、同様ダブル・データ・レートモードで転送クロック信号ＴＣＬＫに同期してデータの書込を実行する。
【００８６】
なお、図９においては、システムクロック信号ＳＣＬＫの立上りに同期して、シングル・データ・レートモードでデータが転送されている。しかしながら、システムクロック信号ＳＣＬＫの立下りに同期してデータがシステムバスを介して転送されてもよい。
【００８７】
図１０は、８ビットデータの２ポート直交変換メモリＴＭ０−ＴＭ３への書込シーケンスを示す図である。図１０においては、システムバスを介して第１サイクルから第３２サイクルに転送されるデータ０−２５５の格納位置を示す。
【００８８】
図１０において、２ポート直交変換メモリＴＭ０−ＴＭ３において、メモリブロックＢＫａおよびＢＫｂの領域のアドレス０から３１に転送データが格納される。メモリブロックＢＫｃおよびＢＫｄについては、書込マスクがかけられる。この場合、メモリブロックＢＫｃおよびＢＫｄに対して、データの書込が実行されてもよい。メモリブロックＢＫｃおよびＢＫｄに書込まれたデータは、次の第３３サイクルから第６４サイクルに転送されるデータにより書換えられるため、問題は生じない（この場合、メモリブロックＢＫａおよびＢＫｂに対しては、マスクがかけられる）。
【００８９】
図１１は、直交変換メモリＴＭ０−ＴＭ３への第３３サイクルから第６４サイクルにわたってシステムバスを介して転送されるデータの格納位置を示す図である。この図１１に示すように、２ポート直交変換メモリＴＭ０−ＴＭ３において、メモリブロックＢＫｃおよびＢＫｄに、アドレス０から３１にわたって順次データが格納される。この場合、各２ポート直交変換メモリＴＭ０−ＴＭ３は、ライトイネーブル信号ＳＷＥ（ＷＥ０−ＷＥ３）に従って書込がイネーブルされるため、メモリブロックＢＫａおよびＢＫｂに対し、データマスク信号ＤＭ（ＳＤＭ）に従って書込が禁止される。これにより、先の第１サイクルから第３２サイクルにわたって転送されたデータは、確実に保持される。
【００９０】
従って、ＳＤＲＡＭ４から６４サイクルにわたって転送された６４システムアドレスの６４ビットデータが、直交変換回路において、各々３１アドレスの直交変換メモリＴＭ０−ＴＭ３に分散して格納され、等価的に、直交変換メモリＴＭ０−ＴＭ３が全体として、、システム側から６４ビット幅の６４アドレスのメモリとしてアクセスされる。
【００９１】
図１２は、１６ビットデータ転送時の直交変換メモリＴＭ０−ＴＭ３へのデータ書込シーケンスを示すタイミング図である。この図１２に示すように、１６ビットデータを転送する１６ビットモード時においては、６４ビット幅の内部システムバスを介して１回に４個の１６ビットデータが格納される。転送クロック信号ＴＣＬＫの第１転送サイクルにおいては、直交変換メモリＴＭ０に対してデータ０、１が格納され、次の転送サイクルにおいて直交変換メモリＴＭ１に対してデータ２、３が格納される。このシステムサイクルにおいては、直交変換メモリＴＭ２およびＴＭ３は、ディスエーブル状態である。
【００９２】
次のシステムのサイクルにおいては、データ４−７がアドレス１とともに転送される。このサイクルにおいては、直交変換メモリＴＭ０およびＴＭ１はディスエーブル状態であり、直交変換メモリＴＭ２およびＴＭ３のアドレス１に対してデータ４、５および６、７が、それぞれ格納される。
【００９３】
次のシステムサイクルにおいて転送されるアドレス２のデータ８−１１については、直交変換メモリＴＭ０およびＴＭ１のアドレス２の位置に対して書込が行われる。このサイクルにおいては、直交変換メモリＴＭ２およびＴＭ３はディスエーブル状態である。
【００９４】
すなわち、転送データが１６ビットデータの場合、直交変換メモリＴＭ０およびＴＭ１の組および直交変換メモリＴＭ２およびＴＭ３の組をシステムサイクルごとに交互にイネーブルしてデータの書込を行う。
【００９５】
この１６ビットモード時のデータ格納状態は、図１１において斜線で示す領域を３２ビット領域とみなすことにより得られるため、その図は省略する。
【００９６】
１６ビットモードにおいて、直交変換メモリＴＭ０およびＴＭ１と直交変換メモリＴＭ２およびＴＭ３を交互にアクセスすることにより、たとえばパリティを除く１２ビットデータが転送される場合でも、データを整列させて各アドレスごとに１２ビットデータを格納することができる。
【００９７】
図１３は、３２ビットデータ転送時の直交変換メモリＴＭ０−ＴＭ３への格納データの配列を概略的に示す図である。図１３において、３２ビットデータの格納時においては、データ０−６３が、２ポート直交変換メモリＴＭ０およびＴＭ１に交互に格納される。この場合、２ポート直交変換メモリＴＭ２およびＴＭ３は、書込禁止状態に維持される（ライトイネーブル信号が非活性状態）。データ６４−１２７が、２ポート直交変換メモリＴＭ２およびＴＭ３に交互に格納される。
【００９８】
図１４は、３２ビットデータ転送時の直交変換メモリＴＭ０−ＴＭ３への書込シーケンスを示すタイミング図である。図１４において、システム側からアドレス０とともに３２ビットデータ０および１が転送される。転送クロック信号ＴＣＬＫに同期して直交変換メモリＴＭ０およびＴＭ１が順次イネーブルされ、これらのデータ０および１が、直交変換メモリＴＭ０およびＴＭ１のアドレス０に格納される。このとき、直交変換メモリＴＭ２およびＴＭ３はディスエーブル状態である。
【００９９】
次のシステムサイクルにおいて、アドレス１とともに３２ビットデータ２および３が転送される。直交変換メモリＴＭ０およびＴＭ１が転送クロック信号ＴＣＬＫに従って順次イネーブルされ、それぞれのアドレス１にデータ２および３が格納される。このシステムサイクルにおいても、直交変換メモリＴＭ２およびＴＭ３は、ディスエーブル状態である。以降この動作が３２サイクル繰返され、システムから転送されるアドレスが３１となると、直交変換メモリＴＭ０およびＴＭ１のアドレス３１にデータ６２、および６３が格納される。
【０１００】
次のサイクルにおいて、システム側から転送されるアドレスが、３２となると、直交変換メモリＴＭ０およびＴＭ１が、以後の３２サイクルにおいてディスエーブル状態に維持され、直交変換メモリＴＭ２およびＴＭ３に対して、アドレス０から３１の位置に順次転送データ６４−１２７が交互に格納される。
【０１０１】
６４ビットデータの格納時には、３２ビットデータを転送する３２ビットモード時の３２ビットデータを６４ビットデータに拡張してデータの格納が行なわれる。内部データバスが、３２ビット幅であり、３２ビットデータおよび６４ビットデータの書込シーケンスは、同じである。直交変換メモリＴＭ０およびＴＭ２に、６４ビットデータの上位３２ビットデータが格納され、直交変換メモリＴＭ１およびＴＭ３に６４ビットデータの下位３２ビットデータが格納される。６４ビットデータが転送される６４ビットモード時においては、６４アドレスの６４ビットデータが、直交変換メモリＴＭ０、ＴＭ１およびＴＭ２、ＴＭ３に順次格納される。
【０１０２】
図１５は、図４に示す直交変換回路４０に含まれるシステムバス側制御部６０の要部の構成を概略的に示す図である。図１５において、システムバス側制御部６０は、システムバスＩ／Ｆ２４からの６４ビットデータを格納するデータレジスタ１００と、システムバスＩ／Ｆ２４からの６ビットアドレスを格納するアドレスレジスタ１０２と、システムバス転送データのビット幅を示す情報を格納するビット幅設定レジスタ１０４とを含む。このビット幅情報に従って内部の転送経路が設定される。
【０１０３】
データレジスタ１００は、それぞれ１６ビットのビット幅を有するレジスタＲＥＧ０−ＲＥＧ３を含み、レジスタＲＥＧ０からレジスタＲＥＧ３に向かって最上位ビットＭＳＢから最下位ビットＬＳＢのデータが格納される。アドレスレジスタ１０２には、最上位ビットＭＳＢがアドレスビットＡ５であり、最下位ビットＬＳＢがビットＡ０である６ビットアドレスＡ５−Ａ０が格納される。この６ビットシステムアドレスにより、６４アドレスが指定される。
【０１０４】
レジスタＲＥＧ０−ＲＥＧ３それぞれに対応して、セレクタＳＬ０−ＳＬ３が設けられる。セレクタＳＬ０およびＳＬ１は、たとえばトライステートバッファで構成され、切換信号ＭＸ０の活性化時、それぞれ、レジスタＲＥＧ０およびＲＥＧ１を１６ビットデータバス５０Ｕおよび５０Ｌにそれぞれ結合する。ここで、１６ビットデータバス５０Ｕおよび５０Ｌは、それぞれ、内部データバス５０の上位データバスおよび下位データバスである。セレクタＳＬ２およびＳＬ３は、切換信号ＭＸ１の活性化時、レジスタＲＥＧ２およびＲＥＧ３を、それぞれ、１６ビットデータバス５０Ｕおよび５０Ｌに結合する。
【０１０５】
切換信号ＭＸ０およびＭＸ１により、これらのセレクタＳＬ０−ＳＬ３の導通／非導通状態を切換えることにより、６４ビットデータを３２ビットデータずつデータバス５０に伝達することができる。
【０１０６】
システムバス側制御部６０においては、さらに、２ポート直交変換メモリＴＭ０−ＴＭ３それぞれに対応してデータ転送経路を設定するためのセレクタＳＳＬ０−ＳＳ１Ｌ３が設けられる。セレクタＳＳＬ０は、ビット幅設定レジスタ１０４からのビット幅情報に従って、１６ビットデータバス５０Ｕおよび５０Ｌの一方を対応の直交変換メモリＴＭ０の下位１６ビットポートＬに結合する。直交変換メモリＴＭ０の上位１６ビットポートＵは、１６ビットデータバス５０Ｕに結合される。
【０１０７】
セレクタＳＳＬ１は、ビット幅設定レジスタ１０４からのビット幅情報に従って、１６ビットデータバス５０Ｕおよび５０Ｌの一方を対応の２ポート直交変換メモリＴＭ１の上位１６ビットポートＵに結合する。直交変換メモリＴＭ１の下位１６ビットポートＬは、１６ビットデータバス５０Ｌに結合される。
【０１０８】
セレクタＳＳＬ２は、ビット幅情報に従って、１６ビットデータバス５０Ｕおよび５０Ｌの一方を選択して、２ポート直交変換メモリＴＭ２の下位１６ビットポートＬに結合する。直交変換メモリＴＭ２の上位１６ビットポートＵは、１６ビットデータバス５０Ｕに結合される。セレクタＳＳＬ３は、ビット幅情報に従って、１６ビットデータバス５０Ｕおよび５０Ｌの一方を２ポート直交変換メモリＴＭ３の上位１６ビットポートＵに結合する。この直交変換メモリＴＭ３の下位１６ビットポートＬは、１６ビットデータバス５０Ｌに結合される。
【０１０９】
これらのセレクタＳＳＬ０−ＳＳＬ３を用いてデータバスの接続を１６ビット単位で切換えることにより、転送データのビット幅に応じて正確に、転送データをこれらの直交変換メモリＴＭ０−ＴＭ３の同一アドレスに順次格納することができる。
【０１１０】
この転送データのビット幅に応じたアドレス指定のために、アドレスレジスタ１０２に対してセレクタＳＬ４が設けられる。セレクタＳＬ４は、ビット幅設定レジスタ１０４からのビット幅情報に従って、上位５ビットアドレスＡ５−Ａ１と下位５ビットアドレスＡ４−Ａ０の一方を選択して内部アドレスＡＤ［４：０］を生成する。
【０１１１】
図１６は、図１５に示すシステムバス側制御部６０のセレクタＳＳＬ０−ＳＳＬ３の８ビットモードおよび１６ビットモード時のバス接続態様を示す図である。８ビットモードおよび１６ビットモードのとき、すなわち、転送データのビット幅が８ビットおよび１６ビットの場合には、セレクタＳＳＬ０およびＳＳＬ２は、それぞれ、１６ビットデータバス５０Ｕを選択して対応の直交変換メモリＴＭ０およびＴＭ２の下位１６ビットポートＬに結合する。一方、セレクタＳＳＬ１およびＳＳＬ３は、８ビットモードおよび１６ビットモード時には、１６ビットデータバス５０Ｌを、対応の直交変換メモリＴＭ１およびＴＭ３の上位１６ビットポートＵに結合する。
【０１１２】
従って、直交変換メモリＴＭ０およびＴＭ２に対しては上位１６ビットバス５０Ｕのデータが格納され、直交変換メモリＴＭ１およびＴＭ３に対しては、下位１６ビットバスのデータが格納される。
【０１１３】
セレクタＳＬ４は、内部アドレスＡＤ［４：０］として、８ビットモード時には、システム側から転送される６ビットアドレスの下位５ビットアドレスＡ４−Ａ０を選択する。従って、８ビットモード時には、内部アドレスＡＤ［４：０］は、０から３１へシステム側からのアドレスと同様に更新され、システムアドレスが、３２から６３の時にアドレス０から３１を再度指定する。これにより、図９から図１１に示すように、直交変換メモリＴＭ０−ＴＭ３において、各アドレスの前半部分にデータを格納した後に、各アドレスの後半部分にデータを格納することができる。
【０１１４】
１６ビットモード時には、システム側から転送される６ビットアドレスの上位５ビットアドレスＡ５−Ａ１を選択する。したがって、内部アドレスＡＤ［４：０］は、２システムサイクルごとにその値が１更新される。これにより、１６ビットモードにおいて、図１２に示すシーケンスで、１６ビットデータを直交変換メモリＴＭ０−ＴＭ３に格納することができる。
【０１１５】
図１７は、図１５に示すセレクタＳＳＬ０−ＳＳＬ３の３２ビットモードおよび６４ビットモード時におけるバス接続態様を示す図である。３２ビットモードおよび６４ビットモードは、転送データのビット幅が、それぞれ、３２ビットおよび６４ビットである。これらのモードにおいては、セレクタＳＳＬ０およびＳＳＬ２は、１６ビットデータバス５０Ｌを対応の直交変換メモリＴＭ０およびＴＭ２の下位１６ビットポートＬに結合する。セレクタＳＳＬ１およびＳＳＬ３は、１６ビットデータバス５０Ｕを、それぞれ対応の直交変換メモリＴＭ１およびＴＭ３の上位１６ビットポートＵに結合する。従って、直交変換メモリＴＭ０−ＴＭ３各々に対しては、３２ビットデータバス５０の３２ビットデータが転送される。
【０１１６】
このとき、セレクタＳＬ４は、アドレスレジスタ１０２の格納するアドレスビットＡ５−Ａ０のうち下位５ビットアドレスＡ４−Ａ０を選択する。これらの３２ビットモードおよび６４ビットモードにおいては、直交変換メモリＴＭ０およびＴＭ１に順次３２ビットデータが格納され、これらの直交変換メモリＴＭ０およびＴＭ１のアドレス領域がすべて指定されてデータが格納された後に、次いで、直交変換メモリＴＭ２およびＴ３に対しデータアクセスが実行される。これにより、図１３および図１４に示す３２ビットモードまたは６４ビットモードでのデータアクセスシーケンスを実現することができる。
【０１１７】
図１８は、システムバス側制御部６０におけるレジスタの切換を行う切換信号ＭＸ０およびＭＸ１を発生する部分の構成の一例を示す図である。図１８において、切換信号発生部は、システムクロック信号ＳＣＬＫを受けるインバータ１１２と、システム側からの書込指示を示す書込コマンドＷＥＮとシステムクロック信号ＳＣＬＫとを受けるＡＮＤゲート１１４と、インバータ１１２の出力信号と書込指示ＷＥＮとを受けるＡＮＤゲート１１６を含む。この制御部６０には、またシステムクロック信号ＳＣＬＫを分周して転送クロック信号ＴＣＬＫを生成する分周回路１１０が設けられる。ＡＮＤ回路１１４から切換信号ＭＸ０が出力され、ＡＮＤゲート１１６から、切換信号ＭＸ１が出力される。
【０１１８】
図１９は、図１８に示す切換信号発生部の動作を示すタイミング図である。以下、図１９を参照して、この図１８に示す切換信号発生部の動作について説明する。
【０１１９】
分周回路１１０は、システムクロック信号ＳＣＬＫを分周し、このシステムクロックＳＣＬＫの１／２倍の周期を有する転送クロック信号ＴＣＬＫを生成する。システム側からの書込指示ＷＥＮがアサートされデータ書込が指示されると、ＡＮＤゲート１１４および１１６がイネーブルされる。切換信号ＭＸ０が、システムクロック信号ＳＣＬＫに同期して変化し、切換信号ＭＸ１が、システムクロック信号ＳＣＬＫの反転信号に同期して変化する。したがって、データバス５０上には、切換信号ＭＸ０がＨレベルの期間、６４ビットデータＤ（６４）のうちの上位３２ビットデータＵＤ（３２）が伝達され、切換信号ＭＸ１がＨレベルの期間、データバス５０に、この６４ビットのデータＤ（６４）のうちの下位３２ビットデータＬＤ（３２）が伝達される。この切換信号ＭＸ０およびＭＸ１を利用することにより、図１５に示すセレクタＳＬ０−ＳＬ３を選択的に導通状態として、システムクロック信号ＳＣＬＫの１周期内において、６４ビットデータを３２ビット単位でデータバス５０上に伝達することができる。
【０１２０】
図２０は、システムバス側制御部６０における書込制御信号を発生する部分の構成を概略的に示す図である。図２０において、システムバス側制御部６０は、２ポート直交変換メモリＴＭ０−ＴＭ３それぞれに対応して設けられる選択回路１２０−１２３を含む。これらの選択回路１２０−１２３へは、共通に、システム側からの書込指示ＷＥＮとビット幅設定レジスタ１０４からのビット幅情報が共通に与えられる。書込指示ＷＥＮがアサートされると、これらの選択回路１２０−１２３は、ビット幅設定レジスタ１０４からのビット幅情報に従って選択動作を行なう。このビット幅設定レジスタ１０４には、システム側からの制御情報に従って、ビット幅情報が設定されてもよく、システム立上げ時に、図１に示すコントローラ２２により、ビット幅情報が設定されてもよい。
【０１２１】
これらの選択回路１２０−１２３は、各々、８ビットモード制御端子、１６ビットモード制御端子、および３２／６４ビットモード制御端子およびリセット状態を設定するリセット端子Ｒを含む。３２／６４ビットモード制御端子は、３２ビットモードおよび６４ビットモード時の書込制御信号を受ける端子である。これらの端子に与えられる信号に従って、データ転送時にデータのビット幅に応じて、直交変換メモリＴＭ０−ＴＭ３の活性化シーケンスを設定して、ビット幅に応じて正確にデータの書込を行なうことができる。
【０１２２】
選択回路１２０は、８ビットモード制御端子に、補の切換制御信号／ＭＸ０を受け、１６ビットモード制御端子に、最下位アドレスビットＡ０と切換制御信号／ＭＸ０とを受けるＯＲゲートＧ０の出力信号を受ける。選択回路１２０は、さらに、補の切換制御信号／ＭＸ０および最上位アドレスビットＡ５を受けるＯＲゲートＧ１の出力信号を、３２／６４ビットモード制御端子に受ける。リセット端子Ｒに、ディスエーブル状態を示す“１”の信号を受ける。この選択回路１２０から、直交変換メモリＴＭ０に対するライトイネーブル信号／ＷＥ０が与えられる。
【０１２３】
なお、各信号の前に付される“／”の記号は、“０”のときに活性状態となる負論理の信号であることを示す。このライトイネーブル信号／ＷＥＮｉ（ｉ＝０−３）は、図５に示すライトイネーブル信号ＳＷＥに対応するが、信号の論理を明確にするため、ここでは、記号「／ＷＥＮｉ」を用いる。
【０１２４】
選択回路１２１は、８ビットモード制御端子に、補の切換制御信号／ＭＸ０を受け、１６ビットモード制御端子に、最下位アドレスビットＡ０と補の切換制御信号／ＭＸ１を受けるＯＲゲートＧ２の出力信号を受ける。選択回路１２１は、さらに、３２／６４ビットモード制御端子に、補の切換制御信号／ＭＸ１と補の最上位アドレスビット／Ａ５を受けるＯＲゲートＧ３の出力信号を受け、リセット端子Ｒに、“１”の信号を受ける。
【０１２５】
選択回路１２２は、８ビットモード入力端子に、補の切換制御信号／ＭＸ１を受け、１６ビットモード制御端子に、補の最下位アドレスビット／Ａ０と補の切換制御信号／ＭＸ０を受けるＯＲゲートＧ４の出力信号を受ける。選択回路１２２は、さらに、３２／６４ビットモード制御端子に、補の切換制御信号／ＭＸ０と補の最上位アドレスビット／Ａ５を受けるＯＲゲートＧ５の出力信号を受け、リセット入力端子Ｒに、“１”の信号を受ける。選択回路１２２から、ライトイネーブル信号／ＷＥ２が直交変換メモリＴＭ２へ与えられる。
【０１２６】
選択回路１２３は、８ビットモード制御端子に、補の切換制御信号／ＭＸ１を受け、１６ビットモード制御端子に、補の最下位アドレスビット／Ａ０と補の切換制御信号／ＭＸ１を受けるＯＲゲートＧ６の出力信号を受ける。選択回路１２３は、さらに、３２／６４ビットモード制御端子に、補の切換制御信号／ＭＸ１と補の最上位アドレスビット／Ａ５を受けるＯＲゲートＧ７の出力信号を受け、リセット端子に、“１”の信号を受ける。この選択回路１２３から、直交変換メモリＴＭ３に対するライトイネーブル信号／ＷＥ３が生成される。
【０１２７】
システムバス側制御部６０は、さらに、アドレスビットＡ０およびＡ５をそれぞれ反転するインバータＩＶ１およびＩＶ２と、ビット幅設定レジスタ１０４からのビット幅情報に従って、アドレスビットＡ５および／Ａ５との組と“０”および“０”の組の一方を選択して、データマスク信号ＤＭ０およびＤＭ１を生成するマスク選択回路１３０を含む。マスク選択回路１３０は、アドレスビットＡ５と“０”の一方を選択して上位１６ビットデータに対するデータマスク信号ＤＭ０を生成する切換回路ＭＵＸ０と、補の最上位アドレスビット／Ａ５と“０”の一方を選択して下位１６ビットデータに対するデータマスク信号ＤＭ１を生成する切換回路ＭＵＸ１を含む。
【０１２８】
これらのデータマスク信号ＤＭ０およびＤＭ１は、直交変換メモリＴＭ０−ＴＭ３に共通に与えられる。選択回路１３０は、８ビットモード指定時には、アドレスビットＡ５および／Ａ５に従ってデータマスク信号ＤＭ０およびＤＭ１を生成し、１６ビットモードおよび３２／６４ビットモード時においては、“０”を選択して、データマスク信号ＤＭ０およびＤＭ１を生成する。
【０１２９】
図２１から図２３は、図２０に示すシステムバス側制御部６０のデータ書込制御の動作を示すタイミング図である。以下、図２１から図２３を参照して、図２０に示すシステムバス側制御部６０の動作について説明する。
【０１３０】
まず、図２１を参照して、８ビットモード時の動作について説明する。この場合、選択回路１２０および１２１は、ライトイネーブル信号／ＷＥ０および／ＷＥ１として、補の切換制御信号／ＭＸ０を選択する。選択回路１２２および１２３は、ライトイネーブル信号／ＷＥ２および／ＷＥ３として、補の切換制御信号／ＭＸ１を選択する。
【０１３１】
したがって、まずデータ書込指示が与えられ、書込指示ＷＥＮがアサートされると、そのサイクルにおいて、切換制御信号ＭＸ０およびＭＸ１が、システムクロック信号ＳＣＬＫに同期して互いに相補な位相で変化する。サイクル０から３１までは、最上位アドレスビットＡ５は、“０”である。最下位アドレスビットＡ０は、システムクロック信号ＳＣＬＫの各サイクルごとに、“０”および“１”に交互に変化する。ライトイネーブル信号／ＷＥ０および／ＷＥ１が、切換信号ＭＸ０がＨレベルのときに活性化されてＬレベル（“０”）となり、対応の直交変換メモリＴＭ０およびＴＭ１に対する書込が許可される。ライトイネーブル信号ライトイネーブル信号／ＷＥ２および／ＷＥ３は、切換信号ＭＸ１がＨレベルのときに活性化されてＬレベル（“０”）となり、対応の直交変換メモリＴＭ２およびＴＭ３に対する書込が許可される。
【０１３２】
データマスク信号ＤＭ０およびＤＭ１は、８ビットモード時、それぞれ、選択回路１３０により、最上位アドレスビットＡ５および補の最上位アドレスビット／Ａ５に従って生成される。したがって、サイクル０から３１の間、データマスク信号ＤＭ０はＬレベル（“０”）、データマスク信号ＤＭ１はＬレベル（“１”）である。すなわち、システムクロック信号ＳＣＬＫのサイクル０からサイクル３１の間、直交変換メモリＴＭ０およびＴＭ１の組および直交変換メモリＴＭ２およびＴＭ３の組は交互に同一サイクル内で活性化され、上位１６ビットの領域にデータの書込が実行される。下位１６ビットの領域には書込はマスクされる。
【０１３３】
サイクル３２に到達すると、最上アドレスビットＡ５が“１”（Ｈレベル）となり、応じて、データマスク信号ＤＭ０がＨレベル、データマスク信号ＤＭ１がＬレベルとなる。データマスク信号ＤＭ０およびＤＭ１は、Ｈレベルのときに書込にマスクをかける。したがって、サイクル３２からは、直交変換メモリＴＭ０−ＴＭ３の下位１６ビットの領域にデータの書込が行なわれ、上位１６ビットの領域には、データの書込は行なわれない。
【０１３４】
このサイクル３２から以降のサイクル６３まで、サイクル０からサイクル３１と同様、直交変換メモリＴＭ０およびＴＭ１の組および直交変換メモリＴＭ２およびＴＭ３の組が、システムクロックＳＣＬＫの各サイクルにおいて交互に活性化される。
【０１３５】
上述のようにして、８ビットモード時、システムクロックＳＣＬＫの各サイクルごとに、直交変換メモリＴＭ０−ＴＭ３に対し、１６ビットずつデータの書込を実行することができる。
【０１３６】
図２２は、図２０に示すシステム側制御部６０の、１６ビットモード時の動作を示すタイミング図である。１６ビットモード時においては、選択回路１２０が、ＯＲゲートＧ０からの最下位アドレスビットＡ０と補の切換制御信号／ＭＸ０の論理和信号に従ってライトイネーブル信号／ＷＥ０を生成し、選択回路１２１が、最下位アドレスビットＡ０と補の切換制御信号／ＭＸ１の論理和信号に従ってライトイネーブル信号／ＷＥ１を生成する。選択回路１２２は、補の最下位アドレスビット／Ａ０と補の切換制御信号／ＭＸ０の論理和信号に従ってライトイネーブル信号／ＷＥ２を生成し、選択回路１２３が、補の最下位アドレスビット／Ａ０と補の切換制御信号／ＭＸ１の論理和に従ってライトイネーブル信号／ＷＥ３を生成する。
【０１３７】
したがって、書込指示ＷＥＮがアサートされ、データ書込が開始されると、サイクル０において、ライトイネーブル信号／ＷＥ０および／ＷＥ１が、それぞれ、切換制御信号ＭＸ０およびＭＸ１に従って活性化される。このとき、ライトイネーブル信号／ＷＥ２および／ＷＥ３は、非活性状態のＨレベル（“１”）である。サイクル１においては、最下位アドレスビットＡ０が“１”となり、ライトイネーブル信号／ＷＥ０および／ＷＥ１は、“１”に維持される。このサイクル１においては、ライトイネーブル信号／ＷＥ２および／ＷＥ３が、それぞれ、切換制御信号ＭＸ０およびＭＸ１に従って活性化される。以降、偶数アドレス（偶数番号のシステムサイクル）においては、ライトイネーブル信号／ＷＥ０および／ＷＥ１が、切換制御信号ＭＸ０およびＭＸ１に従って順次活性化され、奇数アドレス（奇数番号のシステムサイクル）においては、ライトイネーブル信号／ＷＥ２および／ＷＥ３が、それぞれ、切換制御信号ＭＸ０およびＭＸ１に従って順次活性化される。
【０１３８】
データマスク信号ＤＭ０およびＤＭ１は、１６ビットモード時には、“０”に固定される。したがって、直交変換メモリＴＭ０−ＴＭ３各々に対しては、３２ビットデータの書込が実行される。直交変換メモリＴＭ０およびＴＭ１の組および直交変換メモリＴＭ２およびＴＭ３の組に対して、システムクロック信号ＣＬＫのクロックサイクルごとに交互に６４ビットデータの書込が実行される。
【０１３９】
図２３は、図２０に示すシステムバス側制御部６０の３２／６４ビットモード時の動作を示すタイミング図である。この３２／６４ビットモードにおいては、データのビット幅は３２ビットまたは６４ビットである。この３２／６４ビットモードにおいては、選択回路１２０が、最上位アドレスビットＡ５と補の切換制御信号／ＭＸ０の論理和に従ってライトイネーブル信号／ＳＥ０を生成し、選択回路１２１は、最上位アドレスビットＡ５と補の切換制御信号／ＭＸ１の論理和に従ってライトイネーブル信号／ＷＥ１を生成する。選択回路１２２が、補の最上位アドレスビット／Ａ５と補の切換制御信号／ＭＸ０の論理和に従ってライトイネーブル信号／ＷＥ２を生成し、選択回路１２３が、補の最上位アドレスビット／Ａ５と補の切換制御信号／ＭＸ１の論理和に従ってライトイネーブル信号／ＷＥ３を生成する。したがって、サイクル０から３１の間、最上位アドレスビットＡ５が“０”であり、ライトイネーブル信号／ＷＥ２および／ＷＥ３は、“１”に維持され、直交変換メモリＴＭ２およびＴＭ３に対するデータの書込は禁止される。一方、ライトイネーブル信号／ＷＥ０および／ＷＥ１は、切換制御信号ＭＸ０およびＭＸ１に従って各クロックサイクルにおいて活性化され、直交変換メモリＴＭ０およびＴＭ１各々に対して交互に３２ビットのデータの書込が実行される。
【０１４０】
一方、サイクル３２になると、最上位アドレスビットＡ５が“１”となり、ライトイネーブル信号／ＷＥ０および／ＷＥ１が、“１”に維持される。一方、ライトイネーブル信号／ＷＥ２および／ＷＥ３が、切換制御信号ＭＸ０およびＭＸ１に従って順次活性化される。したがって、３２／６４ビットモードにおいては、直交変換メモリＴＭ０およびＴＭ１に対し、データの書込が行なわれ、３２個のデータ（３２アドレスのデータ）が直交変換メモリＴＭ０およびＴＭ１に格納された後に、直交変換メモリＴＭ２およびＴＭ３に対する以後の３２アドレスのデータの書込が実行される。
【０１４１】
以上のように、直交変換メモリＴＭ０−ＴＭ３は、全体として、６４ワード×６４ビットのメモリとして動作し、データビット幅が、８ビット、１６ビット、３２ビットおよび６４ビットのデータについて、外部からは、内部構成および内部アドレスを考慮することなく６４アドレスの６４ビットデータの書込を実行することができる。
【０１４２】
なお、図２０において括弧内において示すように、データの読出を、直交変換メモリＴＭ０−ＴＭ３から実行する場合には、書込指示ＷＥＮに代えて、読出指示（ＲＥＮ）が与えられ、この場合、ライトイネーブル信号／ＷＥ０−／ＷＥ３に代えて、リードイネーブル信号（／ＲＥ０−／ＲＥ３）が生成される。この場合、以下に示すように、選択回路１２０−１２３は、データの書込および読出に共通に用いることが可能である。
【０１４３】
図２４は、このシステムバス側制御部６０における書込／読出を行なう部分の構成の一例を示す図である。図２４においては、直交変換メモリＴＭ０に対して設けられる選択回路１２０についての構成を代表的に示す。図２４において、選択回路１２０に対し、データ転送を要求する選択信号ＳＥＬとビット幅情報が与えられる。この選択信号ＳＥＬは、データの書込またはデータの読出の要求する信号であり、図５に示すシステム側からの選択信号ＳＳＥＬに対応する信号である。
【０１４４】
選択回路１２０の出力に、ＯＲゲートＧ８およびＧ９が設けられる。ＯＲゲートＧ８は、書込指示ＷＥＮの反転信号である補の書込指示／ＷＥＮと選択回路１２０の出力信号とを受けてライトイネーブル信号／ＷＥ０を生成する。ＯＲゲートＧ９は、読出指示ＲＥＮの反転信号である補の読出指示／ＲＥＮと選択回路１２０の出力信号とを受けて、リードイネーブル信号／ＲＥ０を生成する。書込指示ＷＥＮおよび読出指示ＲＥＮは、アサート時、Ｈレベル（“１”）であり、一方、ライトイネーブル信号／ＷＥ０およびリードイネーブル信号／ＲＥ０は、活性化時、Ｌレベル（“０”）である。
【０１４５】
書込を行なう場合には、補の書込指示／ＷＥＮがＬレベルとなり、選択回路１２０の出力信号がＬレベルのときに、ライトイネーブル信号／ＷＥ０が活性化される。このときには、読出指示ＷＥＮはネゲート状態であり、Ｌレベルであり、リードイネーブル信号／ＲＥ０は、Ｈレベルに維持される。逆に、データの読出を行なう場合には、読出指示ＲＥＮがアサートされてＨレベルとなり、一方、書込指示ＷＥＮは、ネゲート状態のＬレベルである。したがって、選択回路１２０の出力信号がＬレベルとなると、リードイネーブル信号／ＲＥ０がＬレベルとなって活性化されてデータの読出が行なわれる。データマスク信号ＤＭ０およびＤＭ１は、書込および読出時に共通に用いることができる。
【０１４６】
この図２４に示す構成を利用することにより、データ書込およびデータ読出を、データの流れを反対にするだけで、共通の制御回路構成を利用して同一の制御態様で実行することができる。
【０１４７】
図２５は、２ポート直交変換メモリＴＭ０−ＴＭ３と主演算回路のメモリセルマットとの間のデータ転送を行なう主演算回路側制御部６５の構成を概略的に示す図である。図２５において、直交変換回路と主演算回路との間のデータ転送を行うための６４ビットデータバス５５は、１６ビットデータバス１５０ａ−１５０ｄを有する。主演算回路側制御部６５において、２ポート直交変換メモリＴＭ０−ＴＭ３それぞれに対応して、ビット幅情報Ｍ８／１６に従ってバスの接続経路を切換えるバスセレクタ１４０ａ−１４０ｃおよび１４２ａ−１１４２ｃが設けられる。セレクタ１４０ａは、２ポート直交変換メモリＴＭ０の下位１６ビットポートＬを１６ビットデータバス１５０ａおよび１５０ｂの一方に結合する。直交変換メモリＴＭ０の１６ビットポートＵは、１６ビットデータバス１５０ａに結合される。これらの１６ビットデータバス１５０ａおよび１５０ｂにより、６４ビットデータバスの上位３２ビットデータバスが形成される。
【０１４８】
バスセレクタ１４０ｂは、直交変換メモリＴＭ２の上位１６ビットポートＵを、１６ビットデータバス１５０ｃおよび１５０ｂの一方に結合する。バスセレクタ１４２ｃは、直交変換メモリＴＭ２の下位１６ビットポートＬを、１６ビットデータバス１５０ｃ、１５０ｂおよび１５０ｄのいずれかに接続する。
【０１４９】
バスセレクタ１４２ａは、直交変換メモリＴＭ１の上位１６ビットポートＵを１６ビットデータバス１５０ｂ、１５０ｃおよび１５０ａのいずれかに結合する。バスセレクタ１４２ｂは、直交変換メモリＴＭ１の下位１６ビットポートＬを、１６ビットデータバス１５０ａ、１５０ｄおよび１５０ｂのいずれかに結合する。
【０１５０】
バスセレクタ１４０ｃは、直交変換メモリＴＭ３の上位１６ビットポートＵを、１６ビットデータバス１５０ｄおよび１５０ｃの一方に結合する。この直交変換メモリＴＭ３の下位１６ビットポートＬは、１６ビットデータバス１５０ｄに結合される。
【０１５１】
これらのバスセレクタ１４０ａ−１４０ｃおよび１４２−１４２ｃの接続経路は、ビット幅情報ＢＷＳに従って設定される。ビット幅情報ＢＷＳは、８ビットモード、１６ビットモード、３２ビットモードおよび６４ビットモードのいずれかを指定する。
【０１５２】
図２６は、主演算回路側制御部６５のデータ転送制御を行う部分の構成を概略的に示す図である。図２６において、主演算側制御部６５は、転送状態を示すステータス情報を格納するステータスレジスタ１６２と、直交変換メモリＴＭ０−ＴＭ３に対するアドレスＭＡＤＤを生成する転送アドレス発生回路１６４と、これらの直交変換メモリＴＭ０−ＴＭ３のアクセスを制御する転送制御回路１６６とを含む。
【０１５３】
転送アドレス発生回路１６４は、転送アドレスカウンタを含み、読出指示ＭＲＥＮのアサート時、ビット幅設定レジスタ１６０に格納されるビット幅情報に従って設定されるシーケンスで転送アドレスＭＡＤＤを生成する。この転送アドレス発生回路１６４からの転送アドレスＭＡＤＤは、ステータスレジスタ１６２の状態更新に従って更新される。また、読出指示ＭＲＥＮは、主演算回路から与えられる。
【０１５４】
転送制御回路１６６は、読出指示ＭＲＥＮのアサート時、転送アドレス発生回路１６４の生成する転送アドレスＭＡＤＤとビット幅設定レジスタ１６０からのビット幅設定情報に従って、直交変換メモリＴＭ０−ＴＭ３に対する転送イネーブル信号ＭＲＥ０−ＭＲＥ３と１６ビット単位の転送マスク信号ＭＤＭ０およびＭＤＭ１とを選択的に生成する。
【０１５５】
主演算回路側制御部６５は、さらに、データ転送クロック信号ＭＴＣＬＫをカウントして、メモリセルマットとの間のデータ転送用のアドレスを生成するマット転送アドレスカウンタ１６８と、６４ビットバッファ６８に対する更新データを生成するバッファ更新回路１７０と、６４ビットバッファ６８からのデータとデータバス５５からのデータとに従って、主演算回路に対する６４ビット転送データを生成する転送データ選択回路１７２を含む。
【０１５６】
バッファ更新回路１７０は、マット転送アドレスカウンタ１６８のカウント値ＷＣＮＴ［０］に従って、６４ビットバッファ６８の全ビットおよび３２ビットの更新を選択的に実行する（交互に実行する）。転送データ選択回路１７２は、マット転送アドレスカウンタ１６８からのカウント値ＷＣＮＴ［０］に従って、６４データバス５５の３２ビットデータと６４ビットバッファメモリ６８からの３２ビットデータの組と、６４ビットバッファメモリ６８からの６４ビットの一方を選択して、主演算回路に対する転送データを生成する。
【０１５７】
図２７は、図２６に示す転送アドレス発生回路１６４の構成の一例を示す図である。図２７において、転送アドレス発生回路１６４は、データ転送サイクル数をカウントする６ビットの転送カウンタＲＣＮＴと、転送カウンタＲＣＮＴのカウントビットＲＣＮＴ［２］を反転するインバータＩＶ３と、転送カウンタＲＣＮＴの最下位ビットＲＣＮＴ［０］を反転するインバータＩＶ４と、ビット幅設定レジスタ１６０からビット幅設定情報ＢＷＳに従って、各データビット幅に応じてカウントビットの組合せを選択して転送アドレスＭＡＤＤを生成するアドレス選択回路１８０を含む。このアドレス選択回路１８０によりカウントビットの並び替えを行なうことにより、正確に、データビット幅に応じたアドレスを生成することができる。
【０１５８】
アドレス選択回路１８０は、８ビットモード入力端子に、転送カウンタＲＣＮＴのカウントビットＲＣＮＴ［！２，！０；５：３］を受ける。記号“！”は、カウントビットの反転値を意味し、８ビットモード時には、転送カウンタのカウントビットＲＣＮＴ［２］の反転値、ＲＣＮＴ［０］の反転値、およびＲＣＮＴ［５：３］が順次配列されて転送アドレスを生成する。８ビットモード時には、転送アドレスは、転送サイクルごとに、以下のように変化する：
２４，１６，２４，１６，８，０，８，０，２５，１７，２５，１７，…。
【０１５９】
すなわち、８ビットモード時においては、直交変換メモリの８ビットデータの最下位ビットからデータ０−５１２について順次読出して、データの転送を行なう。
【０１６０】
アドレス選択回路１８０は、１６ビットモード入力端子に、転送カウンタＲＣＮＴのカウント値ＲＣＮＴ［！０；５：２］を受ける。このカウント値ＲＣＮＴ［！０；５：２］は、カウント値ＲＣＮＴ［０］の反転値およびＲＣＮＴ［５：２］が順次配列された５ビットカウント値を示し、転送サイクルごとに、転送アドレスは以下のように変化する：
１６，０，１６，０，１７，１，１７，１，…。
【０１６１】
すなわち、１６ビットモードにおいては、１６ビットデータの最下位ビットからデータ０−２５６について順次転送する。
【０１６２】
アドレス選択回路１８０は、さらに、３２ビットおよび６４ビットモードを示す３２／６４ビット入力端子に、転送カウンタＲＣＮＴの５ビットカウント値ＲＣＮＴ［４：０］を受ける。この場合、アドレスＲＣＮＴ［４：０］は、転送サイクルごとに以下のように変化する：
０，１，２，…３１，０，１，２…３１。
【０１６３】
したがって、３２ビットモードおよび６４ビットモードにおいては、２つの直交変換メモリの組において、データ０−６３の前半データおよび後半データが最下位ビットから転送される。
【０１６４】
図２８は、図２６に示す転送制御回路１６６の構成の一例を概略的に示す図である。図２８において、転送制御回路１６６は、転送カウンタＲＣＮＴの最上位カウントビットＲＣＮＴ［５］を受けるインバータＩＶ５と、直交変換メモリＴＭ０−ＴＭ３それぞれに対して設けられる読出活性化回路１８２ａ−１８２ｄと、直交変換メモリＴＭ０−ＴＭ３に共通に設けられる転送マスク発生回路１８４を含む。
【０１６５】
これらの読出活性化回路１８２ａ−１８２ｄおよび転送マスク発生回路１８４は、直交変換メモリＴＭ０−ＴＭ３から主演算回路のメモリセルマットへのデータ転送指示ＭＲＥＮのアサート時に、ビット幅設定情報ＢＷＳに従って対応のビットモードの入力に与えられた信号を選択して読出動作を活性化するリードイネーブル信号を生成する。これにより、データビット幅に応じたシーケンスで直交変換メモリＴＭ０−ＴＭ３を活性化し、またデータ転送を活性化することができる。
【０１６６】
読出活性化回路１８２ａは、８／１６ビットモード入力端子に、“０”の信号を受け、３２ビットモード入力端子に、転送カウンタＲＣＮＴの最上位カウントビットＲＣＮＴ［５］を受け、６４ビットモード入力端子に、インバータＩＶ５からの反転カウントビット／ＲＣＮＴ［５］を受け、直交変換メモリＴＭ０に対する負論理のリードイネーブル信号／ＭＲＥ０を生成する。
【０１６７】
読出活性化回路１８２ｂは、８／１６ビットモード入力端子に、“０”の信号を受け、３２ビットモード入力端子および６４ビット入力端子に、カウント値ＲＣＮＴ［５］を受け、直交変換メモリＴＭ１に対する負論理のリードイネーブル信号／ＭＲＥ１を生成する。
【０１６８】
読出活性化回路１８２ｃは、８／１６ビットモード入力端子に、“０”の信号を受け、３２ビットモード入力端子に、インバータＩＶ５からの反転カウントビット／ＲＣＮＴ［５］を受け、６４ビットモード入力端子に、カウント値ＲＣＮＴ［５］を受け、直交変換メモリＴＭ２に対するリードイネーブル信号／ＭＲＥ２を生成する。
【０１６９】
読出活性化回路１８２ｄは、８／１６ビットモード入力端子に、“０”の信号を受け、３２ビットモード入力端子に反転カウントビット／ＲＣＮＴ［５］を受け、６４ビットモード入力端子にカウントビットＲＣＮＴ［５］を受け、直交変換メモリＴＭ３に対するリードイネーブル信号／ＭＲＥ３を生成する。
【０１７０】
転送マスク発生回路１８４は、８／１６ビットモード入力端子に、カウント値ＲＣＮＴ［１］および／ＲＣＮＴ［１］を受け、３２／６４ビットモード入力端子に、“０”の信号を受け、上位ビット転送マスク信号ＭＤＭ０および下位ビットマスク制御信号ＨＤＭ１を生成する。８／１６ビットモード時においては、これらの転送マスク信号ＭＤＭ０およびＭＤＭ１が、カウントビットＲＣＮＴ［１］および／ＲＣＮＴ［１］に従ってそれぞれ生成され、３２ビットおよび６４ビットモード時には、転送マスク信号ＭＤＭ０およびＭＤＭ１は、“０”に設定され、直交変換メモリＴＭ０−ＴＭ３の読出マスクは非活性状態に維持され、マスク動作は停止される。
【０１７１】
図２９は、図２６に示すバッファ更新回路１７０および転送データ選択回路１７２の構成の一例を概略的に示す図である。図２９においては、６４ビットのバッファ６８は、上位３２ビットを格納する上位３２ビット領域６８Ｕと、下位３２ビットの領域を格納する下位３２ビット領域６８Ｌを含む。
【０１７２】
バッファ更新回路１７０は、マット転送アドレスカウンタ１６８からのカウント値ＷＣＮＴ［０］とビット幅設定レジスタ１６０からの３２ビットおよび６４ビットデータ幅を示す３２／６４ビット幅指示信号ＢＷＳ３２／６４とに従ってバスの接続を切換えるバス切換回路１９０を含む。バス切換回路１９０は、３２／６４ビット幅指示信号ＢＷＳ３２／６４の活性化時、カウント値ＷＣＮＴ［０］の値に係わらず６４ビットバス５５からの６４ビットデータを通過させる。一方、バス切換回路１９０は、３２／６４ビット幅指示信号ＢＷＳ３２／６４の非活性化時、すなわち８ビットモードおよび１６ビットモードのときには、マット転送アドレスカウンタ１６８からのカウント値ＷＣＮＴ［０］に従って６４ビットデータバス５５上の６４ビットデータおよび３２ビットサブデータバス１５０ＳＬおよびバッファ６８の下位３２ビット領域６８Ｌからの３２ビットのデータの組の一方を選択して６４ビットバッファ６８へ伝達する。
【０１７３】
サブデータバス１５０ＳＬは、６４ビットデータバス５５を構成する１６ビットデータバス１５０ａ−１５０ｄ各々の下位８ビットのバスで構成される。バス切換回路１９０は、カウント値ＷＣＮＴ［０］が“１”のときには、下位３２ビット領域６８Ｌからの３２ビットを上位側に設定し、３２ビットデータバス１５０ＳＬからの３２ビットを下位３２ビット領域６８Ｌに並べ替えて、６４ビットバッファ６８へ転送する。これにより、バッファ６８におけるデータの更新および並べ替えを実行する。
【０１７４】
転送データ選択回路１７２は、転送アドレスカウンタ１６８からのカウント値ＷＣＮＴ［０］と６４ビット幅指示信号ＢＷＳ６４とに従ってバッファ６８からの６４ビットデータおよびサブデータバス１５０ＳＵ上の３２ビットと６４ビットバッファ６８の上位３２ビット領域６８Ｕからの３２ビットデータとの組の一方を選択して主演算回路Ｉ／Ｆへ伝達するバス切換回路１９２を含む。サブデータバス１５０ＳＵは、１６ビットデータバス１５０ａ−１５０ｄ各々の上位８ビットのデータバスで構成される。
【０１７５】
バス切換回路１９２は、カウント値ＷＣＮＴ［０］が“１”のときには、バッファ６８の上位３２ビット領域６８Ｕからの３２ビットデータと３２ビットサブデータバス１５０ＳＵのデータとを選択する。バス切換回路１９２においては、上位３２ビット領域６８Ｌからのデータとサブデータバス１５０ＳＵからのデータが、番号順に連続的に整列するようにそのバス位置が配線により切換えられてもよく、また、データバスのデータを配置を変更することなく転送してもよい。主演算回路内のメモリセルマットにおいてはエントリごとに演算処理が実行されるため、各エントリに演算対象のデータの組が配置されれば、特に、問題は生じない。
【０１７６】
３２ビットおよび６４ビット幅指示信号ＢＷＳ３２／６４が活性状態にあり、転送データのビット幅が３２ビットまたは６４ビットの場合には、バス切換回路１９２は、６４ビットバッファ６８からの６４ビットデータを選択して主演算回路Ｉ／Ｆへ転送する。
【０１７７】
なお、直交変換回路および主演算回路の間では双方向にデータが転送される。従って、このバス切換回路１９０および１９２を例えばＣＭＯＳトランスミッションゲートなどの双方向のデータ転送回路で構成し、６４ビットバッファを双方向のレジスタで構成する。双方向のレジスタのデータ転送方向を直交変換回路と主演算回路の間のデータ転送方向に従って設定する。次に、各転送モードの動作について説明する。
【０１７８】
Ａ：８ビットモード
図３０は、転送データが８ビット幅の８ビットモード時のバスセレクタ１４０ａ−１４０ｃおよび１４２ａおよび１４２ｂの接続経路を示す図である。これらのバスセレクタ１４０ａ−１４０ｃおよび１４２ａ−１４２ｃは、８／１６ビット幅指示信号ＢＷＳ８／１６に従ってその接続経路が設定される。このビット幅指示信号ＢＷＳ８／１６は、図２６に示すビット幅設定レジスタ１６０から与えられるビット幅情報に含まれる。
【０１７９】
バスセレクタ１４０ａは、直交変換メモリＴＭ０の下位１６ビットポートＬを、１６ビットデータバス１５０ａに結合する。この直交変換メモリＴＭ０の上位１６ビットポートＵは、同様に、１６ビットデータバス１５０ａに結合される。バスセレクタ１４０ｂおよび１４２０ｃは、直交変換メモリＴＭ２の上位１６ビットポートＵおよび下位１６ビットポートＬを、それぞれ、１６ビットデータバス１５０ｃに結合する。バスセレクタ１４２ａおよび１４２ｂは、直交変換メモリＴＭ１の上位１６ビットポートＵおよび下位１６ビットポートＬを、ともに、１６ビットデータバス１５０ｂに結合する。バスセレクタ１４０ｃは、直交変換メモリＴＭ３の上位１６ビットポートＵを、１６ビットデータバス１５０ｄに結合する。直交変換メモリＴＭ３の下位１６ビットポートＬは、常時、１６ビットデータバス１５０ｄに結合される。このバスセレクタの接続により、１６ビットデータバス１５０ａ−１５０ｄに、転送データが転送順序に従って配列される。
【０１８０】
この８ビットモードにおいては、図２８に示す読出活性化回路１８２ａ−１８２ｄは、それぞれ、リードイネーブル信号／ＭＲＥ０−／ＭＲＥ３を、読出指示ＭＲＥＮのアサート時に常時活性状態に設定する。したがって、直交変換メモリＴＭ０−ＴＭ３に対し共通にデータの読出が行なわれる。しかしながら、転送マスク発生回路１８４により、データ転送マスク信号ＭＤＭ０およびＭＤＭ１が１６ビット単位でデータ転送にマスクをかけるため、直交変換メモリＴＭ０−ＴＭ３において、１６ビット単位でデータ読出にマスクがかけられる。
【０１８１】
図３１は、この８ビットモード時における直交変換メモリＴＭ０−ＴＭ３の格納データの配列を模式的に示す図である。図３１に示すように、８ビットモード時においては、直交変換メモリＴＭ０に、８ビットデータ８ｋ、８ｋ＋１が格納され、直交変換メモリＴＭ１に、８ビットデータ８ｋ＋２、８ｋ＋３が格納される。直交変換メモリＴＭ２に、８ビットデータ８ｋ＋４、８ｋ＋５が格納され、直交変換メモリＴＭ３には、８ビットデータ８ｋ＋６，８ｋ＋７が格納される。ここで、ｋは、０から６３である。
【０１８２】
図３０に示すバスセレクタ１４０ａ−１４０ｃおよび１４２ａ−１４２ｃの接続経路により、直交変換メモリＴＭ０が、１６ビットバス１５０ａとの間で１６ビットデータを転送し、直交変換メモリＴＭ１が、１６ビットバス１５０ｂとの間で１６ビットデータを転送し、直交変換メモリＴＭ２が、１６ビットバス１５０ｃとの間で１６ビットデータを転送し、直交変換メモリＴＭ３が、１６ビットバス１５０ｄとの間で１６ビットデータを転送する。したがって、各直交変換メモリＴＭ０−ＴＭ３において１６ビットデータの転送を行なうためには、データ転送マスク信号ＭＤＭ０およびＭＤＭ１が直交変換メモリＴＭ０−ＴＭ３に共通に与えられ、１６ビット単位でデータのアクセスが制御される。
【０１８３】
図３２は、８ビットモード時におけるデータ転送ステータスの遷移を示す図である。ステータスＩＤＬＥは、待機状態であり、転送指示（読出指示ＭＲＥＮ）が与えられるまで、データアクセスを停止する。ステータスＳＴ０は、データ転送指示が与えられると、直交変換メモリＴＭ０−ＴＭ３からデータの読出を行なう。この場合、直交変換メモリＴＭ０−ＴＭ３から読出されたデータは、６４ビットバッファ６８に格納される。
【０１８４】
ステータスＳＴ１は、直交変換メモリＴＭ０−ＴＭ３および６４ビットバッファからのデータ読出および主演算回路ブロックへのデータの転送を行なう。このステータスＳＴ１においては、直交変換メモリから読出されたデータの半分が６４ビットバッファ６８へ格納され、残りの半分の直交変換メモリからの読出データと６４ビットバッファ６８の格納データが主演算回路へ与えられる。このステータスＳＴ０からステータスＳＴ１への遷移時に、転送カウンタＲＣＮＴのカウント値が１増分される。前述のように、８ビットモード時においては、カウント値ＲＣＮＴ［！２，！０；５：３］がアドレスとして利用される。従って、最初のサイクルにおいては、アドレス２４が直交変換メモリＴＭ０−ＴＭ３において指定される。
【０１８５】
ステータスＳＴ２は、６４ビットバッファメモリから主演算回路ブロックへのデータ読出であり、このステータスＳＴ２においては、６４ビットバッファメモリに格納された６４ビットデータが主演算回路へ転送される。これにより、１つの６４個のデータの１ビットの主演算回路へのデータの転送が完了する。この動作を、データの各ビットごとに繰返し実行する。ステータスＳＴ１からステータスＳＴ２の間で、マット転送アドレスカウンタ１６８（図２６参照）のカウント値ＷＣＮＴ［０］を更新する。
【０１８６】
図３３は、ステータスＳＴ０のデータの流れを模式的に示す図である。このステータスＳＴ０においては、データ転送マスク信号ＭＤＭ０およびＭＤＭ１に従って直交変換メモリＴＭ０−ＴＭ３の上位または下位の１６ビットの転送にマスクがかけられる。図３３においては、データ転送マスク信号ＭＤＭ０が“０”であり、また、データ転送マスク信号ＭＤＭ１が“１”であり、マスクをかける状態に設定される場合を一例として示す。
【０１８７】
この場合、直交変換メモリＴＭ０−ＴＭ３において、メモリブロックＢＫａの上位１６ビットのデータがそれぞれ１６ビットデータバス１５０ａ−１５０ｄに読出される。これらのデータバス１５０ａ−１５０ｄに読出されたデータは、マット転送アドレスカウンタのカウント値ＷＣＮＴ［０］が“０”であるため、図２９に示すバス切換回路１９０により６４ビットバッファ６８に格納される。このとき、６４ビットバッファ６８の格納データは、ステータスＳＴ２においてバス切換回路１９２により選択されて主演算回路に転送される。
【０１８８】
したがって、ステータスＳＴ０においては、直交変換メモリＴＭ０−ＴＭ３から読出されたデータは、主演算回路ブロックへは転送されず、６４ビットバッファへ格納され、直行変換メモリからの読出データ自体は、主演算回路へは転送されない。
【０１８９】
図３４は、ステータスＳＴ１におけるデータの流れを模式的に示す図である。ステータスＳＴ１において、ステータスＳＴ０からの遷移時に、転送アドレスカウンタＲＣＮＴのカウント値が１更新される。８ビットモード時においては、カウント値ＲＣＮＴ［！２，！０；５：３］がアドレスとして利用され、ステータスＳＴ０においてアドレス２４が指定されると、このステータスＳＴ１においては、アドレス１６が指定される。この場合、メモリブロックＢＫｂが、直交変換メモリＴＭ０−ＴＭ３それぞれにおいてアドレス指定されて、各直交変換メモリにおいてデータの読出が実行される。この場合においても、カウントビットＲＣＮＴ［１］は、“０”であり、転送マスク信号ＭＤＭ０およびＭＤＭ１は、それぞれ“０”および“１”であり、直交変換メモリＴＭ０−ＴＭ３の上位１６ビットの領域、すなわちＸ方向のアドレス０から１５の領域のデータの読出が実行される。
【０１９０】
転送アドレスカウンタ１６８（図２６参照）のカウント値ＷＣＮＴ［０］が更新され１となる。したがって、この場合には、図２６に示すバス切換回路１９０はこのデータバス１５０ａ−１５０ｄの各々の下位８ビットのデータとバッファ６８の下位領域に格納されるデータを選択してバッファ６８へ格納する。したがってバッファ６８へは、先のサイクルに書込まれた３２ビットデータが上位１６ビット領域に格納され、この直交変換メモリＴＭ０−ＴＭ３のＸ方向のアドレス８から１５の領域のデータがバッファ６８の下位３２ビット領域に格納される。
【０１９１】
このバッファ６８へのデータ格納と並行して、バッファ６８の上位３２ビットデータと、データバス１５０ＵＬ上のデータ、すなわちデータバス１５０ａ−１５０ｄそれぞれの上位８ビットのデータ、すなわち直交変換メモリＴＭ０−ＴＭ３のＸ方向のアドレス０から７の上位８ビットのデータが主演算回路へ転送される。
【０１９２】
ステータスＳＴ２は、バッファ６８からの６４ビットデータが主演算回路へ転送される状態であり、直交変換メモリが、次いで、ステータスＩＤＬＥへ復帰する。
【０１９３】
次のステータスＳＴ０においては、転送アドレスカウンタＲＣＮＴのカウントビットＲＣＮＴ［１］が、“１”となり、図３５に示すように、転送マスク指示信号ＭＤＭ０およびＭＨＤＭ１がそれぞれ“１”および“０”となる。この場合には、直交変換メモリＴＭ０−ＴＭ３のＸ方向のアドレス０から１５の領域にアクセスに対しマスクがかけられ、アドレス１６から３１の領域のデータの転送が実行される。転送動作は、先の図３３および図３４に示す動作と同じ動作が繰返される。
【０１９４】
したがって、直交変換メモリＴＭ０−ＴＭ３に格納されるデータを、偶数データ、奇数データの最下位ビットから交互に読出し、データ０からデータ５１１の最下位ビットをすべて転送した後に、次いで再びデータ０からデータ５１１の次の上位ビット［１］の転送を実行する。
【０１９５】
図３６は、８ビットモード時におけるデータの直交変換メモリ、６４ビットバッファおよび主演算回路インターフェイス（Ｉ／Ｆ）へ接続されるインタフェース（Ｉ／Ｆ）バスへのデータの流れを示す図である。
【０１９６】
図３６において、各データ転送サイクルごとに、マット転送アドレスカウンタのカウント値ＷＣＮＴ［０］が“０”および“１”を繰返す。マットアドレスＭＡＤＤは、２４、１６、２４、１６，２５，１７、…のシーケンスで変化する。８ビットモードにおいては、図３６に示すように、転送サイクルのカウント値、すなわち転送アドレスカウンタのカウントビットＲＣＮＴ［１］の値に従って、転送マスク指示信号ＭＤＭ０およびＭＤＭ１が、２転送サイクルごとに、“０”および“１”を繰返す。
【０１９７】
まず、サイクル１において、直交変換メモリＴＭ０−ＴＭ３から、アドレス２４に従って、偶数データＤ０−Ｄ１２６の最下位ビットＤ０［０］−Ｄ１２６［０］が読出される。このサイクル１は、ステータスＳＴ０であり、直交変換メモリＴＭ０−ＴＭ３から読みされたデータは、６４ビットバッファ６８に全て格納される。
【０１９８】
サイクル２において、カウント値ＷＣＮＴ［０］が“１”となり、アドレスＭＡＤＤが１６となる。直交変換メモリＴＭ０−ＴＭ３において、奇数データＤ１−Ｄ１２７の最下位ビットＤ１［０］−Ｄ１２７［０］が、アドレス１６から読出される。バッファ６８に対しては、３２ビットの奇数データの最下位ビットＤ６５［０］−Ｄ１２７［０］により、偶数データの最下位ビットデータＤ０［０］−Ｄ６２［０］が置換される。このとき、６４ビットバッファからは、既にデータビットＤ０［０］−Ｄ６２［０］が読出されており、インタフェースバスへは、６４ビットバッファ６８からの偶数データの最下位ビットビットＤ０［０］−Ｄ６２［０］および直交変換メモリＴＭ０−ＴＭ３から読出された奇数データの最下位ビットＤ１［０］−Ｄ６３［０］が、バス切換回路１９２により出力される。この転送サイクル１は、ステータスＳＴ１である。
【０１９９】
サイクル３において、再びカウント値ＷＣＮＴ［０］が“０”となり、またアドレスＭＡＤＤが、２４となる。この場合、転送アドレスカウントビットＲＣＮＴ［１］に従ってデータ転送マスク信号ＭＤＭ０およびＭＤＭ１がそれぞれ“１”および“０”となる。したがって、直交変換メモリＴＭ０−ＴＭ３からは、下位１６ビット領域の偶数データの最下位ビットＤ１２８［０］−Ｄ２５６［０］が読出され、６４ビットバッファ６８に格納される。このとき、６４ビットバッファ６８の格納する偶数データのビットＤ６４［０］−Ｄ１２６［０］および奇数データのビットＤ６５［０］−Ｄ１２７［０］が、バス切換回路により選択されてインターフェイスバス上に転送される。この転送サイクル３は、ステータスＳＴ２である。
【０２００】
以降、この動作が繰返し実行される。すなわち、６４ビットバッファへの書込については、バッファの全体の更新、バッファの半分の更新を繰返し実行し、一方、６４ビットバッファからの読出については、６４ビットバッファ全体の読出および６４ビットバッファの半分の更新対象のデータの３２ビットと直交変換メモリＴＭ０−ＴＭ３から読出されたデータの３２ビットデータの読出を繰返し実行する。
【０２０１】
サイクル６４において、直交変換メモリＴＭ０−ＴＭ３のアドレス７の奇数データの最上位ビットＤ３８５［７］−Ｄ５１１［７］が読出される。このサイクル６４においては、ステータスＳＴ１であり、６４ビットバッファ６８の半分の領域の更新が行なわれ、６４ビットバッファへ、アドレス７の奇数データＤ４４９−Ｄ５１１の最上位ビットＤ４４９［７］−Ｄ５１１［７］が格納される。バッファ６８においては、非更新データとして、偶数データの最上位ビットＤ４４８［７］−Ｄ５１０［７］が再格納される。
【０２０２】
この６４ビットバッファへのデータの格納と並行して、また、偶数データＤ３８４−Ｄ４４６の最上位ビットＤ３８４［７］−Ｄ４４６［７］および６４ビットバッファの更新対象のデータビットＤ３８５［７］−Ｄ４４７［７］が、インターフェイスバス上に読出される。
【０２０３】
サイクル６５において、６４ビットバッファの格納する偶数データの最上位ビットＤ４４８［７］−Ｄ５１０［７］および奇数データの最上位ビットＤ４４９［７］−Ｄ５１１［７］を読出すことにより、すべてのデータの転送が完了する。
【０２０４】
したがって、バッファ６８に対し先読込を行なうため、１サイクルのレイテンシが生じるものの、６４アドレス更新で読出された５１２個の８ビットデータを、６５サイクルですべて転送することができる。
【０２０５】
Ｂ：１６ビットモード
１６ビットモードにおいては、直交変換メモリＴＭ０−ＴＭ３に格納されるデータのビット幅が、８ビットモード時と異なるだけである。したがって、バス接続は、８ビットモード時と同じであり、またリードイネーブル信号／ＭＲＥ０−／ＭＲＥ３と、転送マスク信号ＭＤＭ０およびＭＤＭ１は、８ビットモード時と同じ態様で生成される。単に、読出転送アドレスＭＡＤＤが、カウント値ＲＣＮＴ［！０；５：２］に従って生成されるため、読出アドレスが、１６、０、１６、０、１７、１、…のシーケンスで生成されるだけであり、メモリセルのデータの転送態様は８ビットモードと同じである。また、この１６ビットモードにおいても、６５サイクルで、２５６個の１６ビットデータをすべて転送することができる。
【０２０６】
Ｃ：３２ビットモード
図３７は、３２ビットモード時の直交変換メモリＴＭ０−ＴＭ３と６４ビットデータバス５５の接続を概略的に示す図である。図３７において、バスセレクタ１４０ａは、３２ビット幅指定信号ＢＷＳ３に従って直交変換メモリＴＭ０の下位１６ビットポートＬを、１６ビットデータバス１５０ｂに結合する。バスセレクタ１４０ｂおよび１４２ｃは、それぞれ、直交変換メモリＴＭ２の上位１６ビットポートＵおよび下位１６ビットポートＬを、それぞれ１６ビットデータバス１５０ａおよび１５０ｂに結合する。
【０２０７】
バスセレクタ１４２ａおよび１４２ｂは、それぞれ、３２ビット幅指定信号ＢＷＳ３２に従って、直交変換メモリＴＭ１の上位１６ビットポートＵおよび下位１６ビットポートＬを、それぞれ１６ビットデータバス１５０ｃおよび１５０ｄに結合する。セレクタ１４０ｃは、３２ビット幅指定信号ＢＷＳ３２に従って直交変換メモリＴＭ３の上位１６ビットポートＵを、１６ビットデータバス１５０ｃに結合する。
【０２０８】
直交変換メモリＴＭ０の上位１６ビットポートＵは、１６ビットデータバス１５０ａに結合され、直交変換メモリＴＭ３の下位１６ビットポートＬは、１６ビットデータバス１５０ｄに結合される。
【０２０９】
図２９に示すように、３２ビットモード時においては、バッファ更新回路１７０内のバス切換回路１９０は、６４ビットデータバス５５からの６４ビットバッファ６８に転送し、転送データ選択回路１７２内のバス切換回路１９２も、６４ビットバッファ６８からの６４ビットデータを主演算回路インターフェイス（Ｉ／Ｆ）へ転送する。したがって、このデータバス５５上に伝達された６４ビットデータは、バッファ６８に一旦格納された後、主演算回路Ｉ／Ｆへ転送される。
【０２１０】
図３８は、３２ビットモードにおけるアクセスシーケンスを模式的に示す図である。リードイネーブル信号／ＭＲＥ０および／ＭＲＥ１は、それぞれ、転送アドレスカウンタＲＣＮＴの最上位ビットＲＣＮＴ［５］に従って生成され、リードイネーブル信号／ＭＲＥ２および／ＭＲＥ３は、このカウント値ＲＣＮＴ［５］の反転値に従って生成される（図２８参照）。読出アドレスＭＡＤＤは、下位のカウントビットＲＣＮＴ［４：０］に従って生成される（図２７参照）。  また、転送マスク信号ＭＤＭ０およびＭＤＭ１は、３２ビットモード時においては、ともに非活性状態の“０”に設定される。
【０２１１】
したがって、最初の３２サイクルにおいては、直交変換メモリＴＭ０およびＴＭ１が、各々活性化され、読出アドレスＭＡＤＤが、アドレス０から３１を示す間、これらの直交変換メモリＴＭ０およびＴＭ１とデータバス１５０ａ−１５０ｄとの間でデータ転送を実行する。バッファ６８を通して、データ読出から１サイクル遅れて、３２連続アドレスの６４ビットデータが、主演算回路インターフェイス（Ｉ／Ｆ）へ順次転送される。
【０２１２】
この間、直交変換メモリＴＭ２およびＴＭ３は、非活性状態であり、このデータ転送動作に対しては影響は及ぼさない。
【０２１３】
図３９は、３２ビットモードにおける後半のデータの読出時のデータの流れを模式的に示す図である。最初の３２サイクルにより、前半の連続データＤ０−Ｄ６３の転送が完了すると、転送アドレスカウンタＲＣＮＴの最上位カウントビットＲＣＮＴ［５］が“１”となる。したがって、次のサイクルからは、直交変換メモリＴＭ０およびＴＭ１に対するリードイネーブル信号／ＭＲＥ０および／ＮＲＥ１は、ともに“１”となり、直交変換メモリＴＭ０およびＴＭ１へのアクセスは停止される。一方、直交変換メモリＴＭ２およびＴＭ３に対するリードイネーブル信号／ＭＲＥ２および／ＭＲＥ３がともに“０”となり、これらの直交変換メモリＴＭ２およびＴＭ３へのアクセスが許可される。
【０２１４】
この場合、転送アドレスカウンタＲＣＮＴのカウント値ＲＣＮＴ［４：０］に従って、アドレス０からアドレス３１が順次指定されて、データバス１５０ａ−１５０ｄ上に、後半の連続データＤ６４−Ｄ１２７が、ビットシリアル態様で転送される。
【０２１５】
この３２ビットモードにおいては、８ビットモードと同様のステータス制御が実行される。バス切換回路１９０および１９２におけるバス切換が固定的に設定され、バッファの半分の更新が行なわれずバッファの全更新が行なわれるため、ステータスＳＴ１が、省略されるように見えるが、転送アドレスカウンタおよびマット転送アドレスカウンタの更新動作は、８ビットモードと同様であり、８ビットモード時と同様の転送制御により、確実に、アドレスを更新して、３２ビットデータの転送を行なうことができる。
【０２１６】
Ｄ：６４ビットモード
図４０は、６４ビットモード時のバスセレクタ１４０ａ−１４０ｃおよび１４２ａ−１４２ｃの接続態様を概略的に示す図である。この６４ビットモードにおいては、図のＸ方向に整列する直交変換メモリが並行してイネーブルされる。したがって、バスセレクタ１４０ａは、直交変換メモリＴＭ０の下位１６ビットポートＬを、１６ビットデータバス１５０ｂに結合する。バスセレクタ１４０ｂおよび１４２ｃは、直交変換メモリＴＭ２の上位１６ビットポートＵおよび下位１６ビットポートＬを、それぞれ、１６ビットデータバス１５０ｃおよび１５０ｄに結合する。バスセレクタ１４２ａおよび１４２ｂは、直交変換メモリＴＭ１の上位１６ビットポートＵおよび下位１６ビットポートＬを、それぞれ、１６ビットデータバス１５０ａおよび１５０ｂに結合する。バスセレクタ１４２ｃは、直交変換メモリＴＭ３の上位１６ビットポートＵを１６ビットデータバス１５０ｃに結合する。
【０２１７】
これらのバスセレクタ１４０ａ−１４０ｃおよび１４２ａ−１４２ｃの接続経路は、６４ビット幅指示信号ＢＷＳ６４に従って設定される。６４ビットモードにおいては、図２８に示すように、リードイネーブル信号／ＭＲＥ０および／ＭＲＥ２は、転送アドレスカウンタＲＣＮＴのカウント値ＲＣＮＴ［５］の反転値に従って生成され、リードイネーブル信号／ＭＲＥ１および／ＭＲＥ３は、転送アドレスカウンタＲＣＮＴのカウント値ＲＣＮＴ［５］に従って生成される。従って、最初の３２サイクルは、直交変換メモリＴＭ１およびＴＭ３に対してデータの読出が実行され、後半の３２サイクルにおいては、直交変換メモリＴＭ０およびＴＭ２に対してデータの読出が実行される。
【０２１８】
図４１は、６４ビットモードの最初のサイクル０からサイクル３１におけるアクセス態様を概略的に示す図である。直交変換メモリＴＭ１およびＴＭ３に対するリードイネーブル信号／ＭＲＥ０および／ＭＲＥ３は、上述のように、これらのサイクル０−３１の間活性状態である。したがって、サイクル０から３１においては、直交変換メモリＴＭ１およびＴＭ３においてアドレス０から３１まで順次メモリセルが選択され、それぞれデータバス１５０ａ−１５０ｄ上に、連続する６４個のデータＤ０−Ｄ６３が、ビットシリアル態様で転送される。
【０２１９】
直交変換メモリＴＭ１およびＴＭ３の６４ビットデータの下位３１ビットの転送が完了すると、転送アドレスカウンタＲＣＮＴの最上位ビットＲＣＮＴ［５］が“１”となる。この場合、図４２に示すように、直交変換メモリＴＭ１およびＴＭ３に対するリードイネーブル信号／ＭＲＥ１および／ＭＲＥ３が“１”となり、直交変換メモリＴＭ１およびＴＭ３はディスエーブル状態に設定される。一方、直交変換メモリＴＭ０およびＴＭ２に対するリードイネーブル信号／ＭＲＥ０および／ＭＲＥ２が、“０”となり、直交変換メモリＴＭ０−ＴＭ２に対するデータアクセスが実行される。残りのカウント値ＲＣＮＴ［４：０］に従ってアドレス０から３１の６４ビットデータの上位３２ビットのデータが、それぞれデータバス１５０ａ−１５０ｄに、ビットシリアル態様で転送される。
【０２２０】
６４ビットモードにおいては、バス切換回路１９０および１９２は、ビット幅指定信号ＢＷＳ３２／６４に従って、その接続経路が、６４ビットバッファと６４ビットデータを転送するように固定される。従って、直交変換メモリＴＭ１およびＴＭ３の組から読出された６４ビットデータおよび直交変換メモリＴＭ０およびＴＭ２から読出された６４ビットデータは、３２ビットモード時と同様、データバス５５から６４ビットバッファ６８に一旦格納された後、主演算回路Ｉ／Ｆへ転送される。従って、この６４ビットモードにおいても、６４アドレスの６４ビットデータを６５サイクルで転送することができる。
【０２２１】
この場合、先の８ビットモード、１６ビットモードおよび３２ビットモードと異なり、データバス５５上には、６４ワードのデータが順次そのデータ番号順に配列され、偶数データおよび奇数データのグループには分離されない。しかしながら、説明するように、データ配列が６４ビットモード時において他のモード時と異なっていても特に問題は、生じない。
【０２２２】
すなわち、図４３に示すように、主演算回路内のメモリセルマットにおいては、エントリパラレルかつビットシリアル態様で演算処理が実行される。メモリセルマット３０に対しては、内部データバス２００を介して主演算回路ブロックＩ／Ｆから６４ビットデータがビットシリアル態様で順次転送されて格納される。エントリＥＲＹ０−ＥＲＹ（Ｍ−１）に、演算対象のデータが格納され、それぞれ対応の演算器（ＡＬＵ）３１との間でビットシリアル態様で演算処理が実行される。したがって、エントリＥＲＹ０、ＥＲＹ１、…ＥＲＹ（Ｍ−２）、およびＥＲＹ（Ｍ−１）において演算データの組、たとえば２項演算の場合のデータの組（Ｄａ，Ｄｂ）、（Ｄｃ，Ｄｄ）、…、（Ｄｅ，Ｄｆ）、および（Ｄｇ，Ｄｈ）がそれぞれ格納されれば、エントリパラレルかつビットシリアル態様で演算処理を実行することができる。このメモリセルマット３０において、エントリＥＲＹ０からＥＲＹ（Ｍ−１）に従って、データ番号順に順次データを配列することは特に要求されない。
【０２２３】
メモリセルマット３０から直交変換回路へのデータ転送時には、直交変換回路４０からメモリセルマット３０へ転送されたデータ配列順序と同じデータ配列順序で転送される。この後、直交変換回路における直交変換メモリＴＭ０−ＴＭ３に従って、直交変換が行なわれて、内部システムバスへ転送される。
【０２２４】
メモリセルマット３０から、すなわち主演算回路２０から直交変換回路の直交変換メモリＴＭ０−ＴＭ３へのデータ転送は、図３７から図４２において示すデータ転送方向が逆になるだけである。すなわち、主演算回路に含まれるコントローラ（２２）からの転送指示に従って、リードイネーブル信号に代えてライトイネーブル信号（／ＭＷＥ０−／ＭＷＥ３）がデータ読出時と同様シーケンスで活性化される。データの書込がデータ読出に代えてこれらの直交変換メモリＴＭ０−ＴＭ３において行なわれればよい。
【０２２５】
この主演算回路内のメモリセルマットから直交変換回路へのデータ転送時におけるバッファ６８へのデータ格納および読出ならびにバス切換回路１７０および１７２およびバスセレクタ１４０ａ−１４０ｃ、１４２ａ−１４２ｃの接続態様は、直交変換回路から主演算回路へのデータ転送時と同じである。したがって、図２６に示す構成において、主演算回路のメモリコントローラの読出指示ＭＲＥＮに代えて書込指示ＭＷＥＮが、転送アドレス発生回路１６０および転送制御回路１６６へ与えられて、ステータスレジスタの初期設定が行なわれればよい。
【０２２６】
また、直交変換回路と主演算回路との間のデータ転送時には、上述の説明においては、偶数データが先にアクセスされ、次いで奇数データがアクセスされている。しかしながら、この順序は逆であってもよい。連続するデータ群において偶数データの組および奇数データの組が交互にアクセスされればよい。
【０２２７】
なお、６４ビットモードにおいても、ステータスレジスタに格納されるステータス情報は、図３２に示すステータス情報と同じであり、同様の制御を行ない、バス接続経路を切換え、発生するアドレスの範囲を変更するだけである（転送アドレスカウンタＲＣＮＴのカウントアップ動作は同じである）。
【０２２８】
上述の説明においては、最小データビット幅が、８ビットを想定している。最小データビット幅が４ビットの場合には、以下のように構成する。システムバスとの間の転送時には、直交変換メモリＴＭ０−ＴＭ３を、各々、３２アドレス１６ビットのメモリに分割する。各分割メモリとの間で８ビット単位でデータの転送を行う。４個の分割メモリとの間のデータ転送の態様は、２個の直交変換メモリとの間の８ビットデータ転送と同じである。主演算回路との間のデータ転送時には、８ビットモード時と同様のバス接続を行い、全分割メモリに対して８ビット単位で偶数アドレスおよび奇数アドレスを交互に切換えてデータの転送を行う。６４ビットバッファへのアクセス態様は、８ビットモード時と同様である。この場合においても、各分割メモリにおいて、偶数データおよび奇数データの組が２つあり、アドレス領域が４分割されるため、合計６４サイクルで分割メモリに対してデータの転送を行うことができる。すなわち、１６ビット単位のマスクに代えて８ビット単位のマスクをかける構成が利用されればよい。
【０２２９】
従って、転送されるデータのビット幅は、８、１６、３２および６２ビットの組に限定されない。システムバスのビット幅の１／２のビット幅のデータバスを用いて、システムバスと直交変換回路の間でデータの転送を行い、主演算回路との間でシステムバスと同一のビット幅のデータバスを用いて転送することができればよい。
【０２３０】
なお、この発明に従う直交変換回路の構成を一般化すると、以下のようにその構成を表わすことができる。
【０２３１】
［条件］
システムの転送データの最小ビット幅：Ｍ、
システムデータバスのビット幅：      Ｋ、
直交変換回路内のシステム側のデータバス（５０）のビット幅：Ｌ、
直交変換回路内の主演算側データバス（５５）のビット幅    ：Ｋ、
主演算回路側バッファメモリのビット幅：  Ｋ。
【０２３２】
［直交変換メモリの構成］
数Ｎ＝Ｌ・Ｍ／Ｋ、
システムバス側アドレス：Ｌ、
主演算回路側アドレス：  Ｍ・Ｎ。
【０２３３】
［主演算回路側アクセスシーケンス］
転送データビット幅：Ｊ、
１転送サイクルで活性化される直交変換メモリの数：
ＩＮＴ｛（Ｌ／Ｊ）｝、関数ＩＮＴ｛｝は、（Ｌ／Ｊ）より小さくない最も近い整数を示す；
１システムサイクルにおいて活性化される直交変換メモリの数：
ＭＩＮ｛（Ｌ／Ｊ）、（Ｋ／Ｌ）｝、関数ＭＩＮ｛｝は、（Ｌ／Ｊ）および（Ｋ／Ｌ）の小さいほうを示す。
【０２３４】
直交変換メモリへのアクセスビット幅：ＭＩＮ（２・Ｊ，Ｍ・Ｎ）。
［主演算回路側］
１転送サイクルで活性化される直交変換メモリの数：
ＭＩＮ｛（Ｊ／Ｌ），（Ｋ／Ｌ）｝、
直交変換メモリへのアクセス幅：
ＭＩＮ｛２・Ｊ，Ｍ・Ｎ｝、
（ｉ）メモリアクセス幅が２・Ｊのとき：
Ｋビットバッファへの半分更新および全部更新を繰返して転送、
（ｉｉ）メモリアクセス幅がＭ・Ｎのとき：
全転送サイクル、Ｋビットバッファを通して転送。
【０２３５】
以上のように、この発明に従えば、バスの接続を切換えるとともに、アドレスをデータビット幅に応じて設定して、直交変換メモリとシステムバスとの間でデータを転送し、直交変換回路と主演算回路の間では、バッファを通してデータを転送している。したがって、バス幅を変更することなく、直交変換回路内の直交変換メモリの全メモリ領域を利用して、複数種類のビット幅のデータをデータバスの全ビット幅を利用して転送することができ、効率的にデータを転送することができる。
【０２３６】
また、この直交変換回路は、並列演算処理装置におけるシステム側と主演算回路内におけるメモリセルマットとの間でのデータ配列の直交変換を行なっている。しかしながら、直交変換操作は、一般に、行列演算処理において必要とされる。したがって、この発明に従う直交変換回路を、そのような行列演算処理を実行するシステム内に設けることにより、効率的にデータを転送して複数種類のビット幅のデータの行列演算処理を実行することができる。
【産業上の利用可能性】
【０２３７】
この発明に従う直交変換回路は、演算用メモリセルマットのエントリそれぞれに演算器が設けられる並列演算処理装置に対して適用することにより、データ転送を効率的に行なうことができ、より処理性能を改善することができる。
【０２３８】
また、行列の乗算を行なう回路装置に対して行列の転置を行なう回路部分にこの発明に従う直交変換回路を適用することにより、高速でデータを転送し、種々のビット幅のデータに対して転置行列を生成して行列の乗算を行なうことができる。
【０２３９】
また、このような行列の乗算に限定されず、行列の転置操作が必要な回路部分に対して本発明に従う直交変換回路を適用することにおいて、効率的な直交変換を行なうことができ、ベクトル乗算処理などの処理を、種々のデータビット幅のデータに対して効率的に実行することができる。
【図面の簡単な説明】
【０２４０】
【図１】この発明に従う直交変換回路が適用される信号処理システムの全体の構成を概略的に示す図である。
【図２】図１に示す主演算回路内における演算操作時のデータの流れを概略的に示す図である。
【図３】システム側と主演算回路内のメモリセルマットの間のデータ転送時のデータの流れを概略的に示す図である。
【図４】この発明の実施の形態１に従う直交変換回路の全体の構成を概略的に示す図である。
【図５】図４に示す２ポート直交変換メモリの構成を概略的に示す図である。
【図６】図５に示す直交変換メモリのメモリセルの構成の一例を示す図である。
【図７】図４に示す２ポート直交変換メモリのビット構成を概略的に示す図である。
【図８】この発明の実施の形態１に従う直交変換回路のシステムとの間でのデータ転送時のデータ配列を概略的に示す図である。
【図９】図８に示す直交変換メモリのデータ転送動作を示すタイミング図である。
【図１０】図８に示す直交変換メモリの前半のデータ転送時の格納データの配置を概略的に示す図である。
【図１１】図８に示す直交変換メモリの後半のサイクルにおけるデータの配置を概略的に示す図である。
【図１２】１６ビットデータ転送時のデータ転送動作を示すタイミング図である。
【図１３】直交変換メモリにおける３２ビットデータの格納配置を概略的に示す図である。
【図１４】図１３に示す３２ビットデータの転送動作を示すタイミング図である。
【図１５】図４に示すシステムバス側制御部の構成を概略的に示す図である。
【図１６】図１５に示すシステムバス側制御部の８ビットデータおよび１６ビットデータ転送時のバス接続経路およびアドレス発生シーケンスの一例を概略的に示す図である。
【図１７】図１５に示すすしてむバス側制御部の３２ビットデータおよび６４ビットデータ転送時のバス接続経路およびアドレス発生シーケンスの一例を概略的に示す図である。
【図１８】図１５に示す転送クロック信号および切換制御信号を発生する部分の構成の一例を示す図である。
【図１９】図１８に示す信号発生部の動作を示すタイミング図である。
【図２０】図４に示すシステムバス側制御部の直交変換メモリ制御部の構成を概略的に示す図である。
【図２１】図２０に示す制御部の８ビットデータ転送時の動作を示すタイミング図である。
【図２２】図２０に示す制御部の１６ビットデータ転送時の動作を示すタイミング図である。
【図２３】図２０に示す制御部の３２ビットおよび６４ビットデータ転送時の動作を示すタイミング図である。
【図２４】図２０に示すシステムバス側制御部の変更例の要部の構成を概略的に示す図である。
【図２５】図４に示す主演算回路側制御部のバス接続部の構成の一例を概略的に示す図である。
【図２６】図４に示す主演算回路側制御部のデータ転送制御部の構成の一例を概略的に示す図である。
【図２７】図２６に示す転送アドレス発生回路の構成の一例を示す図である。
【図２８】図２６に示す転送制御回路の構成の一例を示す図である。
【図２９】図２６に示すバッファ更新回路および転送データ選択回路の構成をより具体的に示す図である。
【図３０】図２５に示すバスセレクタの８ビットデータ転送時の接続経路を概略的に示す図である。
【図３１】図３０に示す接続における８ビットデータ転送時の直交変換メモリにおけるデータ配列を概略的に示す図である。
【図３２】８ビットデータ転送時のステータス遷移を概略的に示す図である。
【図３３】図３２に示すステータスＳＴ０におけるデータ転送態様を概略的に示す図である。
【図３４】図３２に示すステータスＳＴ１におけるデータ転送経路を概略的に示す図である。
【図３５】８ビットデータ転送時の後半データの転送態様を概略的に示す図である。
【図３６】８ビットデータ転送時のデータの流れを概略的に示す図である。
【図３７】３２ビットデータ転送時の主演算回路側制御部におけるバスセレクタの接続経路を概略的に示す図である。
【図３８】図３７に示す３２ビットモード転送配置におけるデータ転送シーケンスを概略的に示す図である。
【図３９】図３７に示す接続配置における３２ビットデータ転送時の後半データの転送シーケンスを概略的に示す図である。
【図４０】主演算回路ブロック側制御部のバスセレクタの６４ビットデータ転送時の接続経路を概略的に示す図である。
【図４１】図４０に示す接続配置におけるデータ転送シーケンスの前半サイクルのデータ転送シーケンスを概略的に示す図である。
【図４２】図４０に示す接続配置における後半データの転送経路を概略的に示す図である。
【図４３】主演算回路内のメモリセルマットへのデータ転送シーケンスおよび演算シーケンスを概略的に示す図である。
【符号の説明】
【０２４１】
１  信号処理システム、２  システムＬＳＩ、２０  主演算回路、２４  システムバスＩ／Ｆ、３０  メモリセルマット、３１  演算器（ＡＬＵ）、４０  直交変換回路、７  内部システムバス、ＦＢ１−ＦＢｈ  基本演算ブロック、ＴＭ０−ＴＭ３  ２ポート直交変換メモリ、５０，５５  内部データバス、６０  システムバス側制御部、６５  主演算回路側制御部、６８  ６４ビットバッファ、７０  メモリセルアレイ、７２  システムバス側書込／読出回路、７４  システムバス側セル選択回路、７６  主演算回路側書込／読出回路、７８  主演算回路側セル選択回路、ＭＣ  メモリセル、１００  ６４ビットレジスタ、ＳＬ０−ＳＬ３，ＳＳＬ０−ＳＳＬ３  セレクタ、１０４  ビット幅設定レジスタ、１０２  アドレスレジスタ、１２０−１２３  書込／読出制御信号発生回路、１３０  書込マスク指示信号発生回路、１４０ａ−１４０ｃ，１４２ａ−１４２ｃ  バスセレクタ、１６０  ビット幅設定レジスタ、１６２  ステータスレジスタ、１６４  転送アドレス発生回路、１６６  転送制御回路、１６８  マット転送アドレスカウンタ、１７０  バッファ更新回路、１７２  転送データ選択回路、ＲＣＬＴ  転送アドレスカウンタ、１８０  アドレス発生回路、１８２ａ−１８２ｄ  読出活性化回路、１８４  転送マスク発生回路、１９０，１９２  バス切換回路。
【図１】
0005145581.tif 000002
【図２】
0005145581.tif 000003
【図３】
0005145581.tif 000004
【図４】
0005145581.tif 000005
【図５】
0005145581.tif 000006
【図６】
0005145581.tif 000007
【図７】
0005145581.tif 000008
【図８】
0005145581.tif 000009
【図９】
0005145581.tif 000010
【図１０】
0005145581.tif 000011
【図１１】
0005145581.tif 000012
【図１２】
0005145581.tif 000013
【図１３】
0005145581.tif 000014
【図１４】
0005145581.tif 000015
【図１５】
0005145581.tif 000016
【図１６】
0005145581.tif 000017
【図１７】
0005145581.tif 000018
【図１８】
0005145581.tif 000019
【図１９】
0005145581.tif 000020
【図２０】
0005145581.tif 000021
【図２１】
0005145581.tif 000022
【図２２】
0005145581.tif 000023
【図２３】
0005145581.tif 000024
【図２４】
0005145581.tif 000025
【図２５】
0005145581.tif 000026
【図２６】
0005145581.tif 000027
【図２７】
0005145581.tif 000028
【図２８】
0005145581.tif 000029
【図２９】
0005145581.tif 000030
【図３０】
0005145581.tif 000031
【図３１】
0005145581.tif 000032
【図３２】
0005145581.tif 000033
【図３３】
0005145581.tif 000034
【図３４】
0005145581.tif 000035
【図３５】
0005145581.tif 000036
【図３６】
0005145581.tif 000037
【図３７】
0005145581.tif 000038
【図３８】
0005145581.tif 000039
【図３９】
0005145581.tif 000040
【図４０】
0005145581.tif 000041
【図４１】
0005145581.tif 000042
【図４２】
0005145581.tif 000043
【図４３】
0005145581.tif 000044