(57)【要約】【課題】アクセスタイミングを厳密にスケジューリングした演算装置においてもメモリアクセスを所望のとおり行うことができ、また、待ちが生じることがなく、アドレス生成の優先度を変更可能で、生成アドレスに優先順位を付けることが可能なメモリアクセス装置およびそれを用いた演算システムを提供する。【解決手段】シングルポートメモリ１２とデュアルポートメモリ１１はそれぞれ異なるアドレス範囲が設定されており、入力したアクセスアドレスが、シングルポートメモリのアドレス範囲であるかデュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じてシングルポートメモリとデュアルポートメモリへのアクセスを切り替え、シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更するメモリインタフェース装置を設ける。【選択図】　　　図１
2004102576.tif 000002
【特許請求の範囲】
【請求項１】
シングルポートメモリとデュアルポートメモリとにアクセス可能なメモリアクセス装置であって、
上記シングルポートメモリとデュアルポートメモリはそれぞれ異なるアドレス範囲が設定されており、
入力したアクセスアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポートメモリとデュアルポートメモリへのアクセスを切り替えるメモリインタフェース装置を有する
メモリアクセス装置。
【請求項２】
上記メモリインタフェース装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する
請求項１記載のメモリアクセス装置。
【請求項３】
上記デュアルポートメモリが１読み出し、１書き込みのデュアルポートメモリである
請求項１記載のメモリアクセス装置。
【請求項４】
上記デュアルポートメモリが１読み出し、１書き込みのデュアルポートメモリである
請求項２記載のメモリアクセス装置。
【請求項５】
シングルポートメモリとデュアルポートメモリとにアクセス可能なメモリインタフェース装置を有するメモリアクセス装置であって、
上記シングルポートメモリとデュアルポートメモリはそれぞれ異なるアドレス範囲が設定されており、
上記メモリインタフェース装置は、
入力したアクセスアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポート領域有効信号またはデュアルポート領域有効信号を生成するアドレス範囲判定装置と、
上記デュアルポート領域有効信号を受けると、上記デュアルポートメモリに指定されたアドレスをアクセスさせるデュアルポート領域制御信号を出力するデュアルポートメモリ制御信号生成装置と、
上記シングルポート領域有効信号を受けると、上記シングルポートメモリに指定されたアドレスをアクセスさせるシングルポート領域制御信号を出力するシングルポートメモリ制御信号生成装置と
を有する
メモリアクセス装置。
【請求項６】
上記シングルポートメモリ制御信号生成装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する
請求項５記載のメモリアクセス装置。
【請求項７】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスであり、
上記メモリインタフェース装置は、
上記アドレス範囲判定装置による上記シングルポート領域有効信号または上記デュアルポート領域有効信号に基づいて、上記シングルポートメモリまたはデュアルポートメモリの読み出しデータを選択して外部に出力するデータ選択装置をさらに有する
請求項５記載のメモリアクセス装置。
【請求項８】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスおよび／またはデータを書き込むための書き込みアドレスであり、
上記メモリインタフェース装置は、
上記アドレス範囲判定装置による上記シングルポート領域制御信号に基づいて、上記読み出しアドレスまたは書き込みアドレスを選択して上記シングルポートメモリに出力するアドレス選択装置をさらに有する
請求項５記載のメモリアクセス装置。
【請求項９】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスおよび／またはデータを書き込むための書き込みアドレスであり、
上記メモリインタフェース装置は、
上記アドレス範囲判定装置による上記シングルポート領域制御信号に基づいて、上記読み出しアドレスまたは書き込みアドレスを選択して上記シングルポートメモリに出力するアドレス選択装置と、
上記アドレス範囲判定装置による上記シングルポート領域有効信号または上記デュアルポート領域有効信号に基づいて、上記シングルポートメモリまたはデュアルポートメモリの読み出しデータを選択して外部に出力するデータ選択装置とをさらに有する
請求項５記載のメモリアクセス装置。
【請求項１０】
上記アドレス選択装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する
請求項８記載のメモリアクセス装置。
【請求項１１】
上記アドレス選択装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する
請求項９記載のメモリアクセス装置。
【請求項１２】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスであり、
上記デュアルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、上記デュアルポート領域制御信号を生成する
請求項５記載のメモリアクセス装置。
【請求項１３】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリにデータを書き込むための書き込みアドレスであり、
上記デュアルポートメモリ制御信号生成装置は、外部からの書き込み制御信号が有効で有る場合に、上記デュアルポート領域制御信号を生成する
請求項５記載のメモリアクセス装置。
【請求項１４】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスまたは書き込みアドレスであり、
上記デュアルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、デュアルポート領域読み出し制御信号を生成し、外部からの書き込み制御信号が有効で有る場合に、デュアルポート領域書き込み制御信号を生成する
請求項５記載のメモリアクセス装置。
【請求項１５】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスであり、
上記シングルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、上記シングルポート領域制御信号を生成する
請求項５記載のメモリアクセス装置。
【請求項１６】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリにデータを書き込むための書き込みアドレスであり、
上記シングルポートメモリ制御信号生成装置は、外部からの書き込み制御信号が有効で有る場合に、上記シングルポート領域制御信号を生成する
請求項５記載のメモリアクセス装置。
【請求項１７】
上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスおよび／または書き込みアドレスであり、
上記シングルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、シングルポート領域読み出し制御信号を生成し、外部からの書き込み制御信号が有効で有る場合に、シングルポート領域書き込み制御信号を生成する
請求項５記載のメモリアクセス装置。
【請求項１８】
上記シングルポートメモリ制御信号生成装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する
請求項１７記載のメモリアクセス装置。
【請求項１９】
それぞれ異なるアドレス範囲が設定されたシングルポートメモリおよびデュアルポートメモリと、
入力した読み出しアドレスまたは書き込みアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポートメモリとデュアルポートメモリへのアクセスを切り替えるメモリインタフェース装置と、を有するメモリアクセス装置と、
供給される構成情報に基づいて再構成し、上記メモリインタフェース装置による上記シングルポートメモリまたはデュアルポートメモリの読み出しデータに対し所定の演算を行い、演算結果を書き込みデータとして上記メモリインタフェース装置に出力する演算実行部と、
構成情報を記憶可能で、記憶した構成情報を上記演算実行部に供給する構成情報格納メモリと
を有する演算システム。
【請求項２０】
上記構成情報格納メモリの構成情報に基づいて上記読み出しアドレスまたは書き込みアドレスを生成して上記メモリインタフェース装置に出力するアドレス生成装置
を有する請求項１９記載の演算システム。
【請求項２１】
上記メモリインタフェース装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する
請求項１９記載の演算システム。
【請求項２２】
それぞれ異なるアドレス範囲が設定されたシングルポートメモリおよびデュアルポートメモリと、
シングルポートメモリとデュアルポートメモリとにアクセス可能なメモリインタフェース装置とを有し、
上記メモリインタフェース装置が、
入力したアクセスアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポート領域有効信号またはデュアルポート領域有効信号を生成するアドレス範囲判定装置と、
上記デュアルポート領域有効信号を受けると、上記デュアルポートメモリに指定されたアドレスをアクセスさせるデュアルポート領域制御信号を出力するデュアルポートメモリ制御信号生成装置と、
上記シングルポート領域有効信号を受けると、上記シングルポートメモリに指定されたアドレスをアクセスさせるシングルポート領域制御信号を出力するシングルポートメモリ制御信号生成装置と
を有するメモリアクセス装置と、
供給される構成情報に基づいて再構成し、上記メモリインタフェース装置による上記シングルポートメモリまたはデュアルポートメモリの読み出しデータに対し所定の演算を行い、演算結果を書き込みデータとして上記メモリインタフェース装置に出力する演算実行部と、
構成情報を記憶可能で、記憶した構成情報を上記演算実行部に供給する構成情報格納メモリと
を有する演算システム。
【請求項２３】
上記構成情報格納メモリの構成情報に基づいて上記読み出しアドレスまたは書き込みアドレスを生成して上記メモリインタフェース装置に出力するアドレス生成装置
を有する請求項２２記載の演算システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２つのメモリ領域に対してアクセスを行うメモリアクセス装置に係り、特に、デュアルポートメモリとシングルポートメモリに対するアクセスが可能なメモリアクセス装置およびそれを用いた演算システムに関するものである。
【０００２】
【従来の技術】
この種のメモリアクセル装置としては、２つのメモリバンクに区分けされるシングルポートメモリと、低速または高速のデータ転送を行う第１ＤＭＡ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ）コントローラと、第１ＤＭＡコントローラと反対の低速または高速のデータ転送を行う第２ＤＭＡコントローラと、第１および第２ＤＭＡコントローラがデータを時分割かつ相反して転送するためのアクセスタイミング信号を生成して出力するアクセスタイミング生成回路と、第１および第２ＤＭＡコントローラが同一のメモリバンクにアクセスする競合状態の場合にウェイト信号を第１ＤＭＡコントローラに送出する競合制御回路とを有し、シングルポートメモリを擬似的にデュアルポートメモリとして取り扱え、データ入出力におけるデータ転送速度が異なる際の速度差を吸収するバッファメモリ装置が知られている（たとえば、特許文献１）。
【０００３】
【特許文献１】
特開平１０−３０７７８７号公報　（第４−６頁　図１）
【０００４】
【発明が解決しようとする課題】
上述したように、特許文献１に記載されているメモリバッファ装置においては、アドレスの競合を検知して、ＤＭＡコントローラでのアドレス生成をウェイト信号で中断させる方式を用いている。
そのため、特許文献１に記載のメモリバッファ装置では、実際にアドレスの競合が生じてからしかメモリアクセスの中止を行うことができず、アクセスタイミングを厳密にスケジューリングした演算装置においては適用することが困難である。
【０００５】
また、特許文献１に記載のメモリバッファ装置では、バッファメモリとしての使用を前提としているために、ＤＭＡコントローラにあらかじめ優先度が設定されており、その優先順位を変更することは不可能である。そのため、生成アドレスに優先順位をつけることができないという不利益がある。
【０００６】
さらに、特許文献１に記載のメモリバッファ装置は、メモリ装置が全てシングルポートメモリで構成されているため、デュアルポートメモリとしてのアクセスを行う場合には必ず待ちが生じるという不利益がある。
【０００７】
本発明の第１の目的は、アクセスタイミングを厳密にスケジューリングした演算装置においてもメモリアクセスを所望のとおり行うことができ、また、デュアルポートメモリとしてのアクセスを行う場合には待ちが生じることがないメモリアクセス装置およびそれを用いた演算システムを提供することにある。
【０００８】
また、本発明の第２の目的は、アドレス生成の優先度を変更可能で、生成アドレスに優先順位を付けることが可能なメモリアクセス装置およびそれを用いた演算システムを提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点は、シングルポートメモリとデュアルポートメモリとにアクセス可能なメモリアクセス装置であって、上記シングルポートメモリとデュアルポートメモリはそれぞれ異なるアドレス範囲が設定されており、入力したアクセスアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポートメモリとデュアルポートメモリへのアクセスを切り替えるメモリインタフェース装置を有する。
【００１０】
好適には、上記メモリインタフェース装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する。
【００１１】
好適には、上記デュアルポートメモリが１読み出し、１書き込みのデュアルポートメモリである。
【００１２】
本発明の第２の観点は、シングルポートメモリとデュアルポートメモリとにアクセス可能なメモリインタフェース装置を有するメモリアクセス装置であって、上記シングルポートメモリとデュアルポートメモリはそれぞれ異なるアドレス範囲が設定されており、上記メモリインタフェース装置は、入力したアクセスアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポート領域有効信号またはデュアルポート領域有効信号を生成するアドレス範囲判定装置と、上記デュアルポート領域有効信号を受けると、上記デュアルポートメモリに指定されたアドレスをアクセスさせるデュアルポート領域制御信号を出力するデュアルポートメモリ制御信号生成装置と、上記シングルポート領域有効信号を受けると、上記シングルポートメモリに指定されたアドレスをアクセスさせるシングルポート領域制御信号を出力するシングルポートメモリ制御信号生成装置とを有する。
【００１３】
本発明では、上記シングルポートメモリ制御信号生成装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する。
【００１４】
本発明では、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスであり、上記メモリインタフェース装置は、上記アドレス範囲判定装置による上記シングルポート領域有効信号または上記デュアルポート領域有効信号に基づいて、上記シングルポートメモリまたはデュアルポートメモリの読み出しデータを選択して外部に出力するデータ選択装置をさらに有する。
【００１５】
本発明では、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスおよび／またはデータを書き込むための書き込みアドレスであり、上記メモリインタフェース装置は、上記アドレス範囲判定装置による上記シングルポート領域制御信号に基づいて、上記読み出しアドレスまたは書き込みアドレスを選択して上記シングルポートメモリに出力するアドレス選択装置をさらに有する。
【００１６】
好適には、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスおよび／またはデータを書き込むための書き込みアドレスであり、上記メモリインタフェース装置は、上記アドレス範囲判定装置による上記シングルポート領域制御信号に基づいて、上記読み出しアドレスまたは書き込みアドレスを選択して上記シングルポートメモリに出力するアドレス選択装置と、上記アドレス範囲判定装置による上記シングルポート領域有効信号または上記デュアルポート領域有効信号に基づいて、上記シングルポートメモリまたはデュアルポートメモリの読み出しデータを選択して外部に出力するデータ選択装置とをさらに有する。
【００１７】
好適には、上記アドレス選択装置は、上記シングルポートメモリへのアクセスの読み出し、書き込みの優先度を優先度設定信号の設定情報に基づいて変更する。
【００１８】
また、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスであり、上記デュアルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、上記デュアルポート領域制御信号を生成する。
【００１９】
また、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリにデータを書き込むための書き込みアドレスであり、上記デュアルポートメモリ制御信号生成装置は、外部からの書き込み制御信号が有効で有る場合に、上記デュアルポート領域制御信号を生成する。
【００２０】
好適には、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスまたは書き込みアドレスであり、上記デュアルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、デュアルポート領域読み出し制御信号を生成し、外部からの書き込み制御信号が有効で有る場合に、デュアルポート領域書き込み制御信号を生成する。
【００２１】
また、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスであり、上記シングルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、上記シングルポート領域制御信号を生成する。
【００２２】
また、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリにデータを書き込むための書き込みアドレスであり、上記シングルポートメモリ制御信号生成装置は、外部からの書き込み制御信号が有効で有る場合に、上記シングルポート領域制御信号を生成する。
【００２３】
好適には、上記アクセスアドレスは、上記シングルポートメモリまたはデュアルポートメモリのデータを読み出すための読み出しアドレスおよび／または書き込みアドレスであり、上記シングルポートメモリ制御信号生成装置は、外部からの読み出し制御信号が有効で有る場合に、シングルポート領域読み出し制御信号を生成し、外部からの書き込み制御信号が有効で有る場合に、シングルポート領域書き込み制御信号を生成する。
【００２４】
本発明の第３の観点に係る演算システムは、それぞれ異なるアドレス範囲が設定されたシングルポートメモリおよびデュアルポートメモリと、入力した読み出しアドレスまたは書き込みアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポートメモリとデュアルポートメモリへのアクセスを切り替えるメモリインタフェース装置と、を有するメモリアクセス装置と、供給される構成情報に基づいて再構成し、上記メモリインタフェース装置による上記シングルポートメモリまたはデュアルポートメモリの読み出しデータに対し所定の演算を行い、演算結果を書き込みデータとして上記メモリインタフェース装置に出力する演算実行部と、構成情報を記憶可能で、記憶した構成情報を上記演算実行部に供給する構成情報格納メモリとを有する。
【００２５】
本発明の第４の観点に係る演算システムは、それぞれ異なるアドレス範囲が設定されたシングルポートメモリおよびデュアルポートメモリと、シングルポートメモリとデュアルポートメモリとにアクセス可能なメモリインタフェース装置とを有し、上記メモリインタフェース装置が、入力したアクセスアドレスが、上記シングルポートメモリのアドレス範囲であるか上記デュアルポートメモリのアドレス範囲であるかを判定し、判定結果に応じて上記シングルポート領域有効信号またはデュアルポート領域有効信号を生成するアドレス範囲判定装置と、上記デュアルポート領域有効信号を受けると、上記デュアルポートメモリに指定されたアドレスをアクセスさせるデュアルポート領域制御信号を出力するデュアルポートメモリ制御信号生成装置と、上記シングルポート領域有効信号を受けると、上記シングルポートメモリに指定されたアドレスをアクセスさせるシングルポート領域制御信号を出力するシングルポートメモリ制御信号生成装置とを有するメモリアクセス装置と、供給される構成情報に基づいて再構成し、上記メモリインタフェース装置による上記シングルポートメモリまたはデュアルポートメモリの読み出しデータに対し所定の演算を行い、演算結果を書き込みデータとして上記メモリインタフェース装置に供給する演算実行部と、構成情報を記憶可能で、記憶した構成情報を上記演算実行部に出力する構成情報格納メモリとを有する。
【００２６】
好適には、上記構成情報格納メモリの構成情報に基づいて上記読み出しアドレスまたは書き込みアドレスを生成して上記メモリインタフェース装置に出力するアドレス生成装置を有する。
【００２７】
本発明によれば、たとえばメモリインタフェース装置にアクセスアドレスが入力される。
メモリインタフェース装置においては、アドレス範囲判定装置で、入力したアクセスアドレスがシングルポートメモリのアドレス範囲であるか、デュアルポートメモリのアドレス範囲であるかが判定される。
そして、アドレス範囲判定装置から判定結果に応じてシングルポート領域有効信号またはデュアルポート領域有効信号が生成され、シングルポートメモリ制御信号生成装置またはデュアルポートメモリ制御信号生成装置に出力される。
デュアルポートメモリ制御信号生成装置においては、デュアルポート領域有効信号を受けると、デュアルポートメモリに指定されたアドレスをアクセスさせるデュアルポート領域制御信号が出力される。これにより、デュアルポートメモリのアドレス指定されたデータが読み出され、あるいはその領域にデータが書き込まれる。
シングルポートメモリ制御信号生成装置においては、シングルポート領域有効信号を受けると、シングルポートメモリに指定されたアドレスをアクセスさせるシングルポート領域制御信号が出力される。これにより、シングルポートメモリのアドレス指定されたデータが読み出され、あるいはその領域にデータが書き込まれる。
【００２８】
【発明の実施の形態】
図１は、本発明に係るメモリアクセス装置の一実施形態を示す構成図である。
【００２９】
本メモリアクセス装置１０は、図１に示すように、デュアルポートメモリ（ＤＰＭ）１１、シングルポートメモリ（ＳＰＭ）１２、およびメモリインタフェース装置（Ｉ／Ｆ）１３を有している。
【００３０】
デュアルポートメモリ１１は、たとえば１読み出しポート、１書き込みポートを有する。
デュアルポートメモリ１１は、メモリインタフェース装置１３によりデュアルポート領域読み出し制御信号ｒｄ　ｅｎＡをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるデュアルポート領域読み出しアドレスａｄｒＡで指定されるアドレスからデータを読み出し、デュアルポート領域読み出しデータｄａｔＡとしてメモリインタフェース装置１３に出力する。
デュアルポートメモリ１１は、メモリインタフェース１３装置によりデュアルポート領域書き込み制御信号ｗｒ　ｅｎＢをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるデュアルポート領域書き込みアドレスａｄｒＢで指定されるアドレス領域に対して、メモリインタフェース装置１３により供給されるデュアルポート領域書き込みデータｄａｔＢを書き込む。
【００３１】
シングルポートメモリ１２は、メモリインタフェース装置１３によりシングルポート領域読み出し制御信号ｒｄ　ｅｎＣをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるシングルポート領域アドレスａｄｒＣで指定されるアドレスからデータを読み出し、シングルポート領域読み出しデータｄａｔＣとしてメモリインタフェース装置１３に出力する。
シングルポートメモリ１２は、メモリインタフェース装置１３によりシングルポート領域書き込み制御信号ｗｒ　ｅｎＤをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるシングルポート領域アドレスａｄｒＣで指定されるアドレス領域に対して、メモリインタフェース装置１３により供給されるシングルポート領域書き込みデータｄａｔＤを書き込む。
【００３２】
また、本実施形態においては、デュアルポートメモリ１１とシングルポートメモリ１２の各メモリ領域へのアドレスは、図２に示すように割り当てられている。
図２に示すように、シングルポートメモリ１２は、アドレスａｄｒ０００〜ａｄｒ０ＦＦがメモリ領域（ＳＰＡ：Ｓｉｎｇｌｅ　Ｐｏｒｔ　Ａｒｅａ）に割り当てられ、デュアルポートメモリ１１は、アドレスＡａｄｒ１００〜ａｄｒ１ＦＦがメモリ領域（ＤＰＡ：Ｄｕａｌ　Ｐｏｒｔ　Ａｒｅａ）に割り当てられている。
【００３３】
メモリインタフェース装置１３は、外部からの読み出しアドレスｒｄ＿ａｄｒを受けると、読み出しアドレスｒｄ＿ａｄｒがデュアルポートメモリ１１のアドレス範囲にあるのか、シングルポートメモリ１２のアドレス範囲にあるのかを判定し、判定したアドレス範囲に応じてデュアルポートメモリ１１とシングルポートメモリ１２へのアクセスを切り替えて、デュアルポートメモリ１１またはシングルポートメモリ１２から読み出したデュアルポート領域読み出しデータｄａｔＡまたはシングルポート領域読み出しデータｄａｔＣを外部に送出する。
【００３４】
具体的には、デュアルポートメモリ１１のアドレス範囲にあると判定した場合であって、読み出し制御信号ｒｄ＿ｅｎをアクティブ（たとえばハイレベル）で受けると、アクティブ（たとえばハイレベル）のデュアルポート領域読み出し制御信号ｒｄ　ｅｎＡを生成してデュアルポートメモリ１１に出力し、かつ、読み出しアドレスｒｄ＿ａｄｒをデュアルポート領域読み出しアドレスａｄｒＡとしてデュアルポートメモリ１１に出力し、デュアルポート領域読み出しデータｄａｔＡを読み出させる。
一方、シングルポートメモリ１２のアドレス範囲にあると判定した場合であって、読み出し制御信号ｒｄ＿ｅｎをアクティブ（たとえばハイレベル）で受けると、アクティブ（たとえばハイレベル）のシングルポート領域読み出し制御信号ｒｄ　ｅｎＣを生成してシングルポートメモリ１２に出力し、かつ、読み出しアドレスｒｄ＿ａｄｒをシングルポート領域読み出しアドレスａｄｒＣとしてシングルポートメモリ１２に出力し、シングルポート領域読み出しデータｄａｔＣを読み出させる。
【００３５】
また、メモリインタフェース装置１３は、外部からの書き込みアドレスｗｒ＿ａｄｒを受けると、書き込みアドレスｗｒ＿ａｄｒがデュアルポートメモリ１１のアドレス範囲にあるのか、シングルポートメモリ１２のアドレス範囲にあるのかを判定し、判定したアドレス範囲に応じてデュアルポートメモリ１１とシングルポートメモリ１２へのアクセスを切り替えて、デュアルポートメモリ１１またはシングルポートメモリ１２に、外部からの書き込みデータｗｒ　ｄａｔをデュアルポート領域書き込みデータｄａｔＢまたはシングルポート領域書き込みデータｄａｔＤとして送出して、書き込みアドレスｗｒ＿ａｄｒが指定するアドレスに書き込ませる。
【００３６】
具体的には、デュアルポートメモリ１１のアドレス範囲にあると判定した場合であって、書き込み制御信号ｗｒ＿ｅｎをアクティブ（たとえばハイレベル）で受けると、アクティブ（たとえばハイレベル）のデュアルポート領域書き込み制御信号ｗｒ　ｅｎＢを生成してデュアルポートメモリ１１に出力し、書き込みアドレスｗｒ＿ａｄｒをデュアルポート領域書き込みアドレスａｄｒＢとして、かつ、書き込みデータｗｒ　ｄａｔをデュアルポート領域書き込みデータｄａｔＢとしてデュアルポートメモリ１１に出力し、デュアルポート領域書き込みアドレスａｄｒＢが指定するアドレスにデュアルポート領域書き込みデータｄａｔＢを書き込ませる。
一方、シングルポートメモリ１２のアドレス範囲にあると判定した場合であって、書き込み制御信号ｗｒ＿ｅｎをアクティブ（たとえばハイレベル）で受けると、アクティブ（たとえばハイレベル）のシングルポート領域書き込み制御信号ｗｒ　ｅｎＤを生成してシングルポートメモリ１２に出力し、書き込みアドレスｗｒ＿ａｄｒをシングルポート領域書き込みアドレスａｄｒＤとして、かつ、書き込みデータｗｒ　ｄａｔをシングルポート領域書き込みデータｄａｔＤとしてシングルポートメモリ１２に出力し、シングルポート領域書き込みアドレスａｄｒＤが指定するアドレスにシングルポート領域書き込みデータｄａｔＤを書き込ませる。
【００３７】
また、メモリインタフェース装置１３は、外部からの優先度設定信号ｃｔｒｌに応じて、シングルポートメモリ１２へのアクセスにおいて読み出しを優先させるか書き込みを優先させるかを変更可能に構成されている。
【００３８】
図３は、本実施形態に係るメモリインタフェース装置１３の具体的な構成例を示すブロック図である。
【００３９】
メモリインタフェース装置１３は、図３に示すように、第１のアドレス範囲判定装置（ＡＤＲＡＲＡ１）１３１、第２のアドレス範囲判定装置（ＡＤＲＡＲＡ２）１３２、第１のデュアルポートメモリ（ＤＰＭ）制御信号生成装置（ＤＰＭＣＧ１）１３３、第２のデュアルポートメモリ（ＤＰＭ）制御信号生成装置（ＤＰＭＣＧ２）１３４、シングルポートメモリ（ＳＰＭ）制御信号生成装置（ＳＰＭＣＧ）１３５、アドレス選択装置（ＡＤＲＳＥＬ）１３６、およびデータ選択装置（ＤＴＳＥＬ）１３７を有している。
【００４０】
第１のアドレス範囲判定装置１３１は、外部からの読み出しアドレスｒｄ＿ａｄｒを入力して、入力した読み出しアドレスｒｄ＿ａｄｒのアドレス範囲に応じてシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓまたはデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄを生成する。
具体的には、たとえば図４（Ａ）に示すような、シングルポート領域範囲に含まれるａｄｒ０〜ａｄｒ３、およびデュアルポート領域範囲に含まれるａｄｒ１００〜ａｄｒ１０３を読み出しアドレスｒｄ＿ａｄｒとして入力した場合、第１のアドレス範囲判定装置１３１は、図４（Ａ）および（Ｂ）に示すように、読み出しアドレスｒｄ＿ａｄｒが図２に示すアドレスマップで指定されたシングルポート領域範囲に含まれる場合にはシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓをアクティブ（有効）にし、図４（Ａ）および（Ｃ）に示すように、デュアルポート領域範囲に含まれる場合にはデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄをアクティブ（有効）にする。
第１のアドレス範囲判定装置１３１は、生成したシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓをＳＰＭ制御信号生成装置１３５、アドレス選択装置１３６、およびデータ選択装置１３７に出力する。
また、第１のアドレス範囲判定装置１３１は、生成したデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄを第１のＤＰＭ制御信号生成装置１３３、およびデータ選択装置１３７に出力する。
【００４１】
第２のアドレス範囲判定装置１３２は、外部からの書き込みアドレスｗｒ＿ａｄｒを入力して、入力した書き込みアドレスｗｒ＿ａｄｒのアドレス範囲に応じてシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓまたはデュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄを生成する。
具体的には、たとえば図５（Ａ）に示すような、シングルポート領域範囲に含まれるａｄｒ０〜ａｄｒ３、およびデュアルポート領域範囲に含まれるａｄｒ１００〜ａｄｒ１０３を書き込みアドレスｗｒ＿ａｄｒとして入力した場合、第２のアドレス範囲判定装置１３２は、図５（Ａ）および（Ｂ）に示すように、書き込みアドレスｗｒ＿ａｄｒが図２に示すアドレスマップで指定されたシングルポート領域範囲に含まれる場合にはシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓを有効にし、図５（Ａ）および（Ｃ）に示すように、デュアルポート領域範囲に含まれる場合にはデュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄをアクティブ（有効）にする。
第２のアドレス範囲判定装置１３２は、生成したシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓをＳＰＭ制御信号生成装置１３５、およびアドレス選択装置１３６に出力する。
また、第２のアドレス範囲判定装置１３２は、生成したデュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄを第２のＤＰＭ制御信号生成装置１３４に出力する。
【００４２】
第１のＤＰＭ制御信号生成装置１３３は、第１のアドレス範囲判定装置１３１によるデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄと外部からの読み出し制御信号ｒｄ＿ｅｎに基づいてデュアルポート領域読み出し制御信号ｒｄ＿ｅｎＡを生成し、デュアルポートメモリ１１に出力する。
第１のＤＰＭ制御信号生成装置１３３は、図６（Ａ）〜（Ｃ）に示すように、デュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄがアクティブ（ハイレベル：有効）の場合、デュアルポート領域読み出し制御信号ｒｄ＿ｅｎＡの値（レベル）を外部から入力した読み出し制御信号ｒｄ＿ｅｎと同じ値（レベル）に設定、すなわち、読み出し制御信号ｒｄ＿ｅｎが読み出しを指示するハイレベルのときはハイレベルに設定し、読み出しを行わせないローレベルのときはローレベルに設定する。
第１のＤＰＭ制御信号生成装置１３３は、図６（Ａ）〜（Ｃ）に示すように、デュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄが非アクティブ（ローレベル：無効）の場合には、読み出しを行わないように、デュアルポート領域読み出し制御信号ｒｄ＿ｅｎＡをローレベルに設定する。
【００４３】
第２のＤＰＭ制御信号生成装置１３４は、第２のアドレス範囲判定装置１３２によるデュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄと外部からの書き込み制御信号ｗｒ＿ｅｎに基づいてデュアルポート領域書き込み制御信号ｗｒ＿ｅｎＢを生成し、デュアルポートメモリ１１に出力する。
第２のＤＰＭ制御信号生成装置１３４は、図７（Ａ）〜（Ｃ）に示すように、デュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄがアクティブ（ハイレベル：有効）の場合、デュアルポート領域書き込み制御信号ｗｒ＿ｅｎＢの値（レベル）を外部から入力した書き込み制御信号ｗｒ＿ｅｎと同じ値（レベル）に設定、すなわち、書き込み制御信号ｗｒ＿ｅｎが書き込みを指示するハイレベルのときはハイレベルに設定し、書き込みを行わせないローレベルのときはローレベルに設定する。
第２のＤＰＭ制御信号生成装置１３４は、図７（Ａ）〜（Ｃ）に示すように、デュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄが非アクティブ（ローレベル：無効）の場合には、書き込みを行わないように、デュアルポート領域書き込み制御信号ｗｒ＿ｅｎＢをローレベルに設定する。
【００４４】
ＳＰＭ制御信号生成装置１３５は、第１のアドレス範囲判定装置１３１によるシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓ、第２のアドレス範囲判定装置１３２によるシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓ、並びに外部からの読み出し制御信号ｒｄ＿ｅｎ、書き込み制御信号ｗｒ＿ｅｎ、および優先度設定信号ｃｔｒｌに基づいて、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣとシングルポート領域書き込み制御信号ｗｒ＿ｅｎＤを生成し、シングルポートメモリ１２に出力する。
ＳＰＭ制御信号生成装置１３５は、図８（Ａ）〜（Ｇ）に示すように、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓのうちシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓのみがアクティブ（ハイレベル：有効）の場合には、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣの値（レベル）を、外部から入力した読み出し制御信号ｒｄ＿ｅｎと同じ値（レベル）に設定、すなわち、読み出し制御信号ｒｄ＿ｅｎが読み出しを指示するハイレベルのときはハイレベルに設定し、読み出しを行わせないローレベルのときはローレベルに設定し、書き込みを行わないように、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤをローレベルに設定する。
【００４５】
ＳＰＭ制御信号生成装置１３５は、図８（Ａ）〜（Ｇ）に示すように、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓのうちシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓのみがアクティブ（ハイレベル：有効）の場合には、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤの値（レベル）を、外部から入力した書き込み制御信号ｗｒ＿ｅｎと同じ値（レベル）に設定、すなわち、書き込み制御信号ｗｒ＿ｅｎが書き込みを指示するハイレベルのときはハイレベルに設定し、書き込みを行わせないローレベルのときはローレベルに設定し、読み出しを行わないように、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣをローレベルに設定する。
【００４６】
ＳＰＭ制御信号生成装置１３５は、図８（Ａ）〜（Ｇ）に示すように、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓの両信号が共にアクティブ（ハイレベル：有効）の場合には、優先度設定信号ｃｔｒｌの設定レベルに従って以下の設定動作を行う。
図８（Ｅ），（Ｆ）に示すように、外部からの優先度設定信号ｃｔｒｌが読み出しｒｄに設定されているときは、ＳＰＭ制御信号生成装置１３５は、読み出し動作を優先し、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣの値（レベル）を、外部から入力した読み出し制御信号ｒｄ＿ｅｎと同じ値（レベル）に設定、すなわち、読み出し制御信号ｒｄ＿ｅｎが読み出しを指示するハイレベルのときはハイレベルに設定し、読み出しを行わせないローレベルのときはローレベルに設定し、書き込みを行わないように、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤをローレベルに設定する。
一方、図８（Ｅ），（Ｇ）に示すように、外部からの優先度設定信号ｃｔｒｌが書き込みｗｒに設定されているときは、ＳＰＭ制御信号生成装置１３５は、書き込み動作を優先し、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤの値（レベル）を、外部から入力した書き込み制御信号ｗｒ＿ｅｎと同じ値（レベル）に設定、すなわち、書き込み制御信号ｗｒ＿ｅｎが書き込みを指示するハイレベルのときはハイレベルに設定し、書き込みを行わせないローレベルのときはローレベルに設定し、読み出しを行わないように、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣをローレベルに設定する。
【００４７】
アドレス選択装置１３６は、第１のアドレス範囲判定装置１３１によるシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓ、第２のアドレス範囲判定装置１３２によるシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓ、並びに外部からの読み出しアドレスｒｄ＿ａｄｒ、書き込みアドレスｗｒ＿ａｄｒ、および優先度設定信号ｃｔｒｌに基づいてシングルポート領域アドレスａｄｒＣを生成し、シングルポートメモリ１２に出力する。
アドレス選択装置１３６は、図９（Ａ）〜（Ｆ）に示すように、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓのうちシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓのみがアクティブ（ハイレベル：有効）の場合には、シングルポート領域アドレスａｄｒＣを、外部から入力した読み出しアドレスｒｄ　ａｄｒと同じ値に設定する。アドレス選択装置１３６は、図９（Ａ）〜（Ｆ）に示すように、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓのうちシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓのみがアクティブ（ハイレベル：有効）の場合には、シングルポート領域アドレスａｄｒＣを、外部から入力した書き込みアドレスｗｒ　ａｄｒと同じ値に設定する。
【００４８】
アドレス選択装置１３６は、図９（Ａ）〜（Ｆ）に示すように、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓの両信号が共にアクティブ（ハイレベル：有効）の場合には、優先度設定信号ｃｔｒｌの設定レベルに従って以下の設定動作を行う。
図９（Ｅ），（Ｆ）に示すように、外部からの優先度設定信号ｃｔｒｌが読み出しｒｄに設定されているときは、アドレス選択装置１３６は、読み出し動作を優先し、シングルポート領域アドレスａｄｒＣを、外部から入力した読み出しアドレスｒｄ　ａｄｒと同じ値に設定する。
一方、図９（Ｅ），（Ｆ）に示すように、外部からの優先度設定信号ｃｔｒｌが書き込みｗｒに設定されているときは、アドレス選択装置１３６は、書き込み動作を優先し、シングルポート領域アドレスａｄｒＣを、外部から入力した書き込みアドレスｗｒ　ａｄｒと同じ値に設定する。
【００４９】
データ選択装置１３７は、第１のアドレス範囲判定装置１３１によるデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄおよびシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓに基づいて、デュアルポートメモリ１１から読み出されるデュアルポート領域読み出しデータｄａｔＡ、およびシングルポートメモリ１２から読み出されるシングルポート領域読み出しデータｄａｔＣのいずれかのデータを読み出しデータｒｄ＿ｄａｔとして外部に出力する。
データ選択装置１３７は、図１０（Ａ）〜（Ｅ）に示すように、デュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄおよびシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓのうちデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄがアクティブ（ハイレベル：有効）の場合には、デュアルポート領域読み出しデータｄａｔＡを読み出しデータｒｄ＿ｄａｔとして設定し出力する。
一方、データ選択装置１３７は、図１０（Ａ）〜（Ｅ）に示すように、デュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄおよびシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓのうちシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓがアクティブ（ハイレベル：有効）の場合には、シングルポート領域読み出しデータｄａｔＣを読み出しデータｒｄ＿ｄａｔとして設定し出力する。
【００５０】
なお、本実施形態では、デュアルポート領域読み出しアドレスａｄｒＡは外部からの読み出しアドレスｒｄ＿ａｄｒと同じ値が設定され、デュアルポート領域書き込みアドレスａｄｒＢは外部からの書き込みアドレスｗｒ＿ａｄｒと同じ値が設定される。
また、デュアルポート領域書き込みデータｄａｔＢとシングルポート領域書き込みデータｄａｔＤには、外部からの書き込みデータｗｒ＿ｄａｔが設定される。
【００５１】
次に、図１のメモリアクセス装置の動作を説明する。
ここでは、第１にデュアルポートメモリ１１からの読み出し、第２にデュアルポートメモリ１１への書き込み、第３にシングルポートメモリ１２からの読み出し、第４にシングルポートメモリ１２への書き込み動作について順を追って説明する。
【００５２】
まず、デュアルポートメモリ１１からのデータ読み出しを行う場合の動作について説明する。
【００５３】
この場合、外部装置において、読み出しアドレスｒｄ　ａｄｒがデュアルポートメモリ１１のアドレス範囲ａｄｒ１００〜ａｄｒ１ＦＦの所定のアドレスに設定される。このとき、読み出し制御信号ｒｄ　ｅｎが所定期間アクティブのハイレベルに設定される。これらの読み出しアドレスｒｄ　ａｄｒおよび読み出し制御信号ｒｄ　ｅｎがメモリインタフェース装置１３に供給される。
読み出しアドレスｒｄ　ａｄｒは第１のアドレス範囲判定装置１３１に入力され、読み出し制御信号ｒｄ　ｅｎが第１のＤＰＭ制御信号生成装置１３３およびＳＰＭ制御信号生成装置１３５に入力される。
【００５４】
第１のアドレス範囲判定装置１３１においては、外部からの読み出しアドレスｒｄ＿ａｄｒのアドレス範囲がデュアルポート領域範囲に含まれるかシングルポート領域範囲に含まれるかの判定が行われる。
この場合、第１のアドレス範囲判定装置１３１においては、読み出しアドレスｒｄ＿ａｄｒのアドレス範囲がデュアルポート領域範囲にあることから、デュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄが所定期間アクティブのハイレベルに設定される。そして、生成されたデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄが第１のＤＰＭ制御信号生成装置１３３、およびデータ選択装置１３７に出力される。
【００５５】
第１のＤＰＭ制御信号生成装置１３３においては、第１のアドレス範囲判定装置１３１によるアクティブのデュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄと外部からの読み出し制御信号ｒｄ＿ｅｎに基づいてデュアルポート領域読み出し制御信号ｒｄ＿ｅｎＡが生成され、デュアルポートメモリ１１に出力される。具体的には、デュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄがアクティブ（ハイレベル：有効）の場合、デュアルポート領域読み出し制御信号ｒｄ＿ｅｎＡの値（レベル）が、読み出し制御信号ｒｄ＿ｅｎが読み出しを指示するハイレベルのときはハイレベルに設定され、読み出しを行わせないローレベルのときはローレベルに設定される。
【００５６】
デュアルポートメモリ１１においては、メモリインタフェース装置１３の第１のＤＰＭ制御信号生成装置１３３によりデュアルポート領域読み出し制御信号ｒｄ　ｅｎＡをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるデュアルポート領域読み出しアドレスａｄｒＡで指定されるアドレスからデータが読み出される。読み出しデータは、デュアルポート領域読み出しデータｄａｔＡとしてメモリインタフェース装置１３のデータ選択装置１３７に出力される。
データ選択装置１３７においては、デュアルポート領域読み出し有効信号ｖｌｄ＿ｒｄがアクティブ（ハイレベル：有効）で供給されていることから、入力されたデュアルポート領域読み出しデータｄａｔＡが読み出しデータｒｄ＿ｄａｔとして設定され、外部装置に出力される。
【００５７】
次に、デュアルポートメモリ１１にデータの書き込みを行う場合の動作について説明する。
【００５８】
この場合、外部装置において、書き込みアドレスｗｒ　ａｄｒがデュアルポートメモリ１１のアドレス範囲ａｄｒ１００〜ａｄｒ１ＦＦの所定のアドレスに設定される。このとき、書き込み制御信号ｗｒ　ｅｎが所定期間アクティブのハイレベルに設定される。これらの書き込みアドレスｗｒ　ａｄｒおよび書き込み制御信号ｗｒ　ｅｎがメモリインタフェース装置１３に供給される。
書き込みアドレスｗｒ　ａｄｒは第２のアドレス範囲判定装置１３２に入力され、書き込み制御信号ｗｒ　ｅｎが第１のＤＰＭ制御信号生成装置１３４およびＳＰＭに制御信号生成装置１３５入力される。
【００５９】
第２のアドレス範囲判定装置１３２においては、外部からの書き込みアドレスｗｒ＿ａｄｒのアドレス範囲がデュアルポート領域範囲に含まれるかシングルポート領域範囲に含まれるかの判定が行われる。
この場合、第２のアドレス範囲判定装置１３２においては、書き込みアドレスｗｒ＿ａｄｒのアドレス範囲がデュアルポート領域範囲にあることから、デュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄが所定期間アクティブのハイレベルに設定される。そして、生成されたデュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄが第２のＤＰＭ制御信号生成装置１３４に出力される。
【００６０】
第２のＤＰＭ制御信号生成装置１３４においては、第２のアドレス範囲判定装置１３２によるアクティブのデュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄと外部からの書き込み制御信号ｗｒ＿ｅｎに基づいてデュアルポート領域書き込み制御信号ｗｒ＿ｅｎＢが生成され、デュアルポートメモリ１１に出力される。具体的には、デュアルポート領域書き込み有効信号ｖｌｄ＿ｗｄがアクティブ（ハイレベル：有効）の場合、デュアルポート領域書き込み制御信号ｗｒ＿ｅｎＢの値（レベル）が、書き込み制御信号ｗｒ＿ｅｎが書き込みを指示するハイレベルのときはハイレベルに設定され、書き込みを行わせないローレベルのときはローレベルに設定される。
また、外部からメモリインタフェース装置１３に供給されえた書き込みデータｗｒ＿ｄａｔがデュアルポート領域書き込みデータｄａｔＢとしてデュアルポートメモリ１１に供給される。
【００６１】
デュアルポートメモリ１１においては、メモリインタフェース１３装置によりデュアルポート領域書き込み制御信号ｗｒ　ｅｎＢをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるデュアルポート領域書き込みアドレスａｄｒＢで指定されるアドレス領域に対して、メモリインタフェース装置１３により供給されるデュアルポート領域書き込みデータｄａｔＢが書き込まれる。
【００６２】
次に、シングルポートメモリ１２からのデータ読み出しを行う場合の動作について説明する。
【００６３】
この場合、外部装置において、読み出しアドレスｒｄ　ａｄｒがシングルポートメモリ１２のアドレス範囲ａｄｒ０００〜ａｄｒ０ＦＦの所定のアドレスに設定される。このとき、読み出し制御信号ｒｄ　ｅｎが所定期間アクティブのハイレベルに設定される。これらの読み出しアドレスｒｄ　ａｄｒおよび読み出し制御信号ｒｄ　ｅｎがメモリインタフェース装置１３に供給される。
読み出しアドレスｒｄ　ａｄｒは第１のアドレス範囲判定装置１３１に入力され、読み出し制御信号ｒｄ　ｅｎがＳＰＭ制御信号生成装置１３５に入力される。
【００６４】
第１のアドレス範囲判定装置１３１においては、外部からの読み出しアドレスｒｄ＿ａｄｒのアドレス範囲がデュアルポート領域範囲に含まれるかシングルポート領域範囲に含まれるかの判定が行われる。
この場合、第１のアドレス範囲判定装置１３１においては、読み出しアドレスｒｄ＿ａｄｒのアドレス範囲がシングルポート領域範囲にあることから、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓが所定期間アクティブのハイレベルに設定される。そして、生成されたシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓがＳＰＭ制御信号生成装置１３５、アドレス選択装置１３６、およびデータ選択装置１３７に出力される。
【００６５】
ＳＰＭ制御信号生成装置１３５においては、第１のアドレス範囲判定装置１３１によるアクティブ（ハイレベル：有効）のシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓが供給されていることから、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣの値（レベル）が、外部から入力した読み出し制御信号ｒｄ＿ｅｎが読み出しを指示するハイレベルのときはハイレベルに設定され、読み出しを行わせないローレベルのときはローレベルに設定されてシングルポートメモリ１２に出力される。また、ＳＰＭ制御信号生成装置１３５においては、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤがローレベルに設定される。
【００６６】
また、たとえばシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓの両信号が共にアクティブ（ハイレベル：有効）の場合には、外部からの優先度設定信号ｃｔｒｌの設定レベルに従った設定動作が行われる。
この場合、外部からの優先度設定信号ｃｔｒｌが読み出しｒｄに設定される。、その結果、ＳＰＭ制御信号生成装置１３５においては、読み出し動作が優先され、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣの値（レベル）が、外部から入力した読み出し制御信号ｒｄ＿ｅｎが読み出しを指示するハイレベルのときはハイレベルに設定され、読み出しを行わせないローレベルのときはローレベルに設定されてシングルポートメモリ１２に出力される。また、ＳＰＭ制御信号生成装置１３５においては、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤがローレベルに設定される。
【００６７】
シングルポートメモリ１２においては、メモリインタフェース装置１３によりシングルポート領域読み出し制御信号ｒｄ　ｅｎＣをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるシングルポート領域アドレスａｄｒＣで指定されるアドレスからデータが読み出される。読み出しデータは、シングルポート領域読み出しデータｄａｔＣとしてメモリインタフェース装置１３のデータ選択装置１３７に出力される。
データ選択装置１３７においては、シングルポート領域読み出し有効信号ｖｌｄ＿ｒｓがアクティブ（ハイレベル：有効）で供給されていることから、入力されたシングルポート領域読み出しデータｄａｔＣが読み出しデータｒｄ＿ｄａｔとして設定され、外部装置に出力される。
【００６８】
次に、シングルポートメモリ１２にデータの書き込みを行う場合の動作について説明する。
【００６９】
この場合、外部装置において、書き込みアドレスｗｒ　ａｄｒがシングルポートメモリ１２のアドレス範囲ａｄｒ０００〜ａｄｒ０ＦＦの所定のアドレスに設定される。このとき、書き込み制御信号ｗｒ　ｅｎが所定期間アクティブのハイレベルに設定される。これらの書き込みアドレスｗｒ　ａｄｒおよび書き込み制御信号ｗｒ　ｅｎがメモリインタフェース装置１３に供給される。
書き込みアドレスｗｒ　ａｄｒは第２のアドレス範囲判定装置１３２に入力され、書き込み制御信号ｗｒ　ｅｎがＳＰＭ制御信号生成装置１３５に入力される。
【００７０】
第２のアドレス範囲判定装置１３２においては、外部からの書き込みアドレスｗｒ＿ａｄｒのアドレス範囲がデュアルポート領域範囲に含まれるかシングルポート領域範囲に含まれるかの判定が行われる。
この場合、第２のアドレス範囲判定装置１３２においては、書き込みアドレスｗｒ＿ａｄｒのアドレス範囲がシングルポート領域範囲にあることから、シングルポート領域書き込み有効信号ｖｌｄ＿ｗｓが所定期間アクティブのハイレベルに設定される。そして、生成されたシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓがＳＰＭ制御信号生成装置１３５、およびアドレス選択装置１３６に出力される。
【００７１】
ＳＰＭ制御信号生成装置１３５においては、第２のアドレス範囲判定装置１３２によるアクティブ（ハイレベル：有効）のシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓが供給されていることから、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤの値（レベル）が、外部から入力した書き込み制御信号ｗｒ＿ｅｎが書き込みを指示するハイレベルのときはハイレベルに設定され、書き込みを行わせないローレベルのときはローレベルに設定されてシングルポートメモリ１２に出力される。また、ＳＰＭ制御信号生成装置１３５においては、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣがローレベルに設定される。
【００７２】
また、たとえばシングルポート領域読み出し有効信号ｖｌｄ＿ｒｓおよびシングルポート領域書き込み有効信号ｖｌｄ＿ｗｓの両信号が共にアクティブ（ハイレベル：有効）の場合には、外部からの優先度設定信号ｃｔｒｌの設定レベルに従った設定動作が行われる。
この場合、外部からの優先度設定信号ｃｔｒｌが書き込みｗｒに設定される。その結果、ＳＰＭ制御信号生成装置１３５においては、書き込み動作が優先され、シングルポート領域書き込み制御信号ｗｒ＿ｅｎＤの値（レベル）が、外部から入力した書き込み制御信号ｗｒ＿ｅｎが書き込みを指示するハイレベルのときはハイレベルに設定され、書き込みを行わせないローレベルのときはローレベルに設定されてシングルポートメモリ１２に出力される。また、ＳＰＭ制御信号生成装置１３５においては、シングルポート領域読み出し制御信号ｒｄ＿ｅｎＣがローレベルに設定される。
また、外部からメモリインタフェース装置１３に供給されえた書き込みデータｗｒ＿ｄａｔがシングルポート領域書き込みデータｄａｔＤとしてシングルポートメモリ１２に供給される。
【００７３】
シングルポートメモリ１２においては、メモリインタフェース装置１３によりシングルポート領域書き込み制御信号ｗｒ　ｅｎＤをアクティブ（たとえばハイレベル）で受けると、メモリインタフェース装置１３により供給されるシングルポート領域書き込みアドレスａｄｒＤで指定されるアドレス領域に対して、メモリインタフェース装置１３により供給されるシングルポート領域書き込みデータｄａｔＤが書き込まれる。
【００７４】
以上説明したように、本実施形態によれば、外部からの読み出しアドレスｒｄ＿ａｄｒを受けると、読み出しアドレスｒｄ＿ａｄｒがデュアルポートメモリ１１のアドレス範囲にあるのか、シングルポートメモリ１２のアドレス範囲にあるのかを判定し、判定したアドレス範囲に応じてデュアルポートメモリ１１とシングルポートメモリ１２へのアクセスを切り替えて、デュアルポートメモリ１１またはシングルポートメモリ１２から読み出したデュアルポート領域読み出しデータｄａｔＡまたはシングルポート領域読み出しデータｄａｔＣを外部に送出し、外部からの書き込みアドレスｗｒ＿ａｄｒを受けると、書き込みアドレスｗｒ＿ａｄｒがデュアルポートメモリ１１のアドレス範囲にあるのか、シングルポートメモリ１２のアドレス範囲にあるのかを判定し、判定したアドレス範囲に応じてデュアルポートメモリ１１とシングルポートメモリ１２へのアクセスを切り替えて、デュアルポートメモリ１１またはシングルポートメモリ１２に、外部からの書き込みデータｗｒ　ｄａｔをデュアルポート領域書き込みデータｄａｔＢまたはシングルポート領域書き込みデータｄａｔＤとして送出して、書き込みアドレスｗｒ＿ａｄｒが指定するアドレスに書き込ませ、また、外部からの優先度設定信号ｃｔｒｌに応じて、シングルポートメモリ１２へのアクセスにおいて読み出しを優先させるか書き込みを優先させるかを変更可能なメモリインタフェース装置１３を設けたことから、以下の効果を得ることができる。
【００７５】
すなわち、本実施形態によれば、ウェイト信号を使ってアドレス生成を中断することがないため、従来の技術では困難であったアクセスタイミングを厳密にスケジューリングした演算装置においてもメモリアクセスを所望のとおり行うことができる。
また、アドレス生成に優先度をつけることが可能になるため、ユーザーが必要な動作を確実に行わせることが可能であるという利点がある。
さらにメモリ装置をシングルポートメモリとデュアルポートメモリで構成することで、デュアルポートメモリとしてのアクセスを行う場合にはデュアルポートメモリ領域を使えば待ちが生じることもなくなるという効果もある。
【００７６】
図１１は、図１のメモリアクセス装置を再構成可能な演算システムに適用した場合の構成例を示す図である。
図１１においては、図１と同一構成部分は同一符号をもって表している。
【００７７】
再構成可能な演算システム１０Ａは、図１１に示すように、デュアルポートメモリ１１、シングルポートメモリ１２、メモリインタフェース装置１３に加えて、第１のアドレス生成装置（ＡＤＲＧ１）１４、第２のアドレス生成装置（ＡＤＲＧ２）１５、演算実行部（ＯＰＥ）１６、および構成情報格納メモリ（ＣＤＭ）１７を有している。
【００７８】
デュアルポートメモリ１１、シングルポートメモリ１２、メモリインタフェース装置１３の構成は、基本的には図１および図３の場合と同様であることから、ここではその詳細な説明は省略する。
【００７９】
第１のアドレス生成装置１４は、構成情報格納メモリ１７による構成情報に基づいて、読み出しアドレスｒｄ　　＿ａｄｒ、読み出し制御信号ｒｄ　　＿ｅｎを自動的に生成し、インタフェース装置１３に出力する。
第１のアドレス生成装置１４は、たとえば読み出しアドレスｒｄ　　＿ａｄｒをａｄｒ０，ａｄｒ１，ａｄｒ１００，ａｄｒ１０１，ａｄｒ０，ａｄｒ１，ａｄｒ０，ａｄｒ１の順に生成する。このとき読み出しを毎回行うことが前提なので読み出し制御信号ｒｄ＿ｅｎはアドレス生成中は有効になる。
【００８０】
第２のアドレス生成装置１５は、構成情報格納メモリ１７による構成情報に基づいて、書き込みアドレスｗｒ＿ａｄｒ、書き込み制御信号ｗｒ＿ｅｎを自動的に生成し、インタフェース装置１３に出力する。
第２のアドレス生成装置１５は、たとえば書き込みアドレスｗｒ＿ａｄｒをａｄｒ１００，ａｄｒ１０１，ａｄｒ１００，ａｄｒ１０１，ａｄｒ０，ａｄｒ１，ａｄｒ０，ａｄｒ１の順に生成し、書き込み制御信号ｗｒ＿ｅｎはアドレス生成中は有効になる。
【００８１】
演算実行部１６は、たとえば図１２に示すように、構成情報格納メモリ１７による構成情報ＣＤに基づいて係数、データ等の経路を選択するための選択装置（ＳＥＬ）１６１−０〜１６１−２、構成情報格納メモリ１７による構成情報（演算内容を指示するための制御信号）に基づいて算術理演算を行うＡＬＵ１６２、構成情報格納メモリ１７による構成情報（演算内容を指示するための制御信号）に基づいて積和演算を行うＭＡＣ構造の演算器１６３を有し、構成情報格納メモリ１７による構成情報に基づいて、演算器の配列や、演算実行時の係数パラメータ等を再構成して、メモリインタフェース装置１３により読み出しデータｒｄ　ｄａｔに対して指定の演算を行い、この演算結果を書き込みデータｗｒ　ｄａｔとしてメモリインタフェース装置１３に出力する。
演算実行部１６は、たとえば演算結果ｗｒ＿ｄａｔを所定期間Ｙのときを除き、ｗｄａｔ１００，ｗｄａｔ１０１，ｗｄａｔ１００，ｗｄａｔ１０１，ｗｄａｔ０，ｗｄａｔ１として出力する。
【００８２】
構成情報格納メモリ１７は、たとえば再構成制御装置１７Ａを用い演算実行部１６の構成情報の書き換えにおいて、複数の構成情報を記憶するためにリング状に構成された記憶部を持ち、演算実行時に使用する構成情報格納メモリと、書き換えを行うための構成情報格納メモリとを分離し、構成情報の書き換えに伴うオーバーヘッドを低減し、または、高速に複数の構成を切り換えることができるように構成される。
【００８３】
再構成制御装置１７Ａは、たとえばバスを介して構成情報格納メモリ１７に対してアクセスすることが可能になっており、再構成制御装置１７Ａは、演算実行部６の再構成のための構成情報ＣＤを、書き込み信号ＣＷＲを用いて構成情報格納メモリ１７に書き込む。
また、再構成制御装置１７Ａは、シフト信号ＣＥＸを用いて演算実行部１６の再構成のための構成情報を既に記憶されている他の情報に変更させる。
【００８４】
構成情報格納メモリ１７は、再構成制御装置１７Ａからバスを介して構成情報が書き込まれ、書き込まれた構成情報を演算実行部１６、第１および第２のアドレス生成装置１４，１５に出力する。
構成情報格納メモリ１７は、図１２に示すように、たとえば「ＣＤ（構成情報）−１」、「ＣＤ（構成情報）−２」、…という各構成情報の記憶部が、それぞれ複数の構成情報を保持できるようにしている。
その中の１つは、たとえば演算実行時の構成情報を記憶するため、別の１つは外部からの構成情報の書き込みを行うための記憶領域となる。
さらに、これらの構成情報の内容は一斉に瞬時に入れ替えが可能になっている。
これにより、演算実行部１６が演算を行っている間に、別のページの内容を同時に書き換えることができ、従来、図１３（Ａ）に示すように、構成情報ＣＤの書き換えに必要な時間的オーバーヘッドが大きかったという問題が、図１３（Ｂ）に示すように、構成情報の書き換えに必要な時間的オーバーヘッドを、演算の実行時間の裏側に隠蔽することができる。
【００８５】
図１４は、４つの構成情報を保持することができる構成情報記憶部の構成例を示す図である。
【００８６】
この構成情報格納メモリ１７は、図１４に示すように、レジスタ１７１〜１７４、選択装置１７５、およびＯＲゲート１７６を有している。
また、図１４において、ＴＣＤは構成情報ＣＤの入力端子、ＴＣＷＲ　は書き込み信号ＣＷＲの入力端子、ＴＣＥＸ　はシフト信号ＣＥＸの入力端子、ＴＣＣＬＫはクロック入力端子、ＴＯＵＴ　は記憶した構成情報の演算実行部１３４への出力端子をそれぞれ示している。
【００８７】
レジスタ１７１〜１７４（ＣＤ１〜ＣＤ４）は、構成情報を記憶するためのレジスタであり、これらのレジスタ１７１〜１７４はリング状に接続されている。
具体的には、レジスタ１７１の出力がレジスタ１７４の入力、および構成情報の出力端子ＴＯＵＴ　に接続され、レジスタ１７４の出力がレジスタ１７３の入力に接続され、レジスタ１７３の出力が選択装置１７５の第１の入力端子「０」を介してレジスタ１７２の入力に接続され、レジスタ１７２の出力がレジスタ１７１の入力に接続されている。
【００８８】
また、選択装置１７５の第２の入力端子「１」が構成情報ＣＤの入力端子ＴＣＤに接続されている。選択装置１７５の制御端子が書き込み信号ＣＷＲの入力端子ＴＣＷＲ　に接続されている。
選択装置１７５は、書き込み信号ＣＷＲが論理「１」で制御端子に供給されると入力端子ＴＣＤに入力される構成情報ＣＤを選択して、レジスタ１７２に入力させる。
一方、選択装置１７５は、書き込み信号ＣＷＲが論理「０」で制御端子に供給されるとレジスタ１７３の出力情報を選択して、レジスタ１７２に入力させる。
【００８９】
２入力ＯＲゲート１７６は、第１の入力端子が書き込み信号ＣＷＲの入力端子ＴＣＷＲ　に接続され、第２の入力端子がシフト信号ＣＥＸの入力端子ＴＣＥＸ　に接続され、出力端子がレジスタ１７２の制御端子に接続されている。
【００９０】
また、レジスタ１７１，１７３，１７４の制御端子はシフト信号ＣＥＸの入力端子ＴＣＥＸ　に接続されており、また、各レジスタ１７１〜１７４のクロック端子がクロック入力端子ＴＣＣＬＫに接続されている。
【００９１】
そして、これらのレジスタ１７１〜１７４は、その先に接続される「被再構成部」が必要とする構成情報のビット数を記憶できる。
これらの中で、演算実行部１６の構成情報として、レジスタ１７１（ＣＤ１）の内容が使用される。
レジスタ１７１の出力は、演算実行部１６の構成変更回路に直結されているため、この値が書き換えられると演算実行部１６のハードウェア構成に即座に反映される。
このため、演算実行部１６の動作中に外部からレジスタ１７１に対して書き込みを行うと実行中の演算結果に影響を与えることになる。
これを避けるために、外部からの構成情報ＣＤの書き込みはレジスタ１７２（ＣＤ２）に対して行われる。
【００９２】
構成情報ＣＤの書き換えは、入力端子ＴＣＤに構成情報ＣＤを入力し、書き込み信号ＣＷＲを１にすることで行われる。
この書き込み操作では、レジスタ１７１（ＣＤ１）の内容は変化しない。
【００９３】
新たに書き込んだ構成情報ＣＤを演算実行部１３４の構成に反映するためには、書き込み信号「ＣＷＲ」を０、シフト信号「ＣＥＸ」を１にしてレジスタ１７２（ＣＤ２）の内容をレジスタ１７１（ＣＤ１）に転送する。
この時同時に、レジスタ１７１（ＣＤ１）→レジスタ１７４（ＣＤ４）→レジスタ１７３（ＣＤ３）→レジスタ１７２（ＣＤ２）というように構成情報がリングの中でローテーションして保持される。
【００９４】
構成情報ＣＤの入れ替えは、すべての構成情報格納メモリ１７に対して同時に行われるので、クロック「ＣＣＬＫ」１サイクル分で完了する。
また、新しい構成情報を書き込まずに上記の入れ替え操作だけを行えば、リングを構成するレジスタ数分の過去の構成情報を高速に切り替えて再使用することができる。
【００９５】
なお、複数の構成情報を記憶できる記憶部を用意する場合、任意の構成情報を順番に関係なく自由に入れ替え可能にしたいという欲求が生じる場合がある。
しかしそのためには、記憶部の構成情報入れ替え制御手段が複雑になり、システム全体の構成情報の情報量が増えてくると、記憶部が占める面積や消費電力といったオーバーヘッドが無視できなくなってくる。
【００９６】
本実施形態に係るリング状の構成情報の入れ替え手段は、記憶している任意の構成情報ＣＤをすぐに呼び出すことはできないが、記憶部の回路構成と入れ替えのための制御信号を単純化できるという特徴を備える。
記憶している構成情報ＣＤの入れ替えの自由度が制限されるという制約は、１つの信号処理アプリケーション等に含まれる複数の演算処理を、構成を切り替えながら実行するようなケースを考えた場合、再構成がアプリケーションのアルゴリズムにしたがって、決まったパターンで繰り返し行われると考えられ、その限りにおいては間題にならない。
【００９７】
次に、図１１の構成の動作について、図１５のタイミングチャートに関連付けて説明する。
【００９８】
なお、ここでは、上述したように、第１のアドレス生成装置１４では、図１５（Ａ）に示すように、読み出しアドレスｒｄ　　＿ａｄｒをａｄｒ０，ａｄｒ１，ａｄｒ１００，ａｄｒ１０１，ａｄｒ０，ａｄｒ１，ａｄｒ０，ａｄｒ１の順に生成する。このとき読み出しを毎回行うことが前提なので、図１５（Ｃ）に示すように、アドレス制御信号ｒｄ＿ｅｎはアドレス生成中は有効になる。
また、第２のアドレス生成装置１５では、図１５（Ｂ）に示すように、書き込みアドレスｗｒ＿ａｄｒをａｄｒ１００，ａｄｒ１０１，ａｄｒ１００，ａｄｒ１０１，ａｄｒ０，ａｄｒ１，ａｄｒ０，ａｄｒ１の順に生成し、書き込み制御信号ｗｒ＿ｅｎは、図１５（Ｄ）に示すように、アドレス生成中は有効になる。
また、図１５（Ｅ）に示すように、優先度設定信号ｃｔｒｌは期間Ｙでは読み出しｒｄに、期間Ｚでは書き込みｗｒに設定され、それぞれ読み出し、書き込みを優先させるように設定される。
また、演算実行部は、図１５（Ｒ）に示すように、演算結果ｗｒ＿ｄａｔは期間Ｙのときを除き、ｗｄａｔ１００，ｗｄａｔ１０１，ｗｄａｔ１００，ｗｄａｔ１０１，ｗｄａｔ０，ｗｄａｔ１を出力する。
そして、上記のようなアドレス生成を行ったときのデュアルポートメモリ、シングルポートメモリへのアクセスについて説明する。
【００９９】
まず、再構成制御装置１７Ａにおいて、演算実行部１６のハードウェアを再構成する必要が生じた場合には、ハードウェア再構成命令がシステムバス４を介して構成情報格納メモリ１７に対して発行される。
たとえば、構成情報格納メモリ１７の４つのレジスタ１７１〜１７４にはそれぞれ構成情報ＣＤが保持されているものとすると、演算実行部１３４の構成情報として、構成情報記格納メモリ１７のレジスタ１７１（ＣＤ１）の内容が使用される。
レジスタ１７１の出力は、演算実行部１６の構成変更回路に直結されている。このため、演算実行部１６においては、構成情報格納メモリ１７による構成情報に基づいて、演算器の配列や、演算実行時の係数パラメータ等が再構成される。
ここで、演算実行部１６に供給する構成情報ＣＤの値を書き換える場合には、演算実行部１６の動作中に外部からレジスタ１７１に対して書き込みを行うと実行中の演算結果に影響を与えることになる。
これを避けるために、外部からの構成情報ＣＤの書き込みはレジスタ１７２（ＣＤ２）に対して行われる。
【０１００】
構成情報ＣＤの書き換えは、再構成制御装置１７Ａから入力端子ＴＣＤに構成情報ＣＤが入力され、書き込み信号ＣＷＲが「１」に設定される。これにより、レジスタ１７２に対して再構成制御装置１７Ａから供給された構成情報ＣＤが書き込まれる。
なお、この書き込み操作では、レジスタ１７１（ＣＤ１）の内容は変化しない。
【０１０１】
次に、新たに書き込んだ構成情報ＣＤを演算実行部１６の構成に反映するために、再構成制御装置１７Ａにより書き込み信号ＣＷＲが「０」、シフト信号ＣＥＸが「１」に設定される。これにより、レジスタ１７２（ＣＤ２）の内容がレジスタ１７１（ＣＤ１）に転送される。
この時同時に、レジスタ１７１（ＣＤ１）→レジスタ１７４（ＣＤ４）→レジスタ１７３（ＣＤ３）→レジスタ１７２（ＣＤ２）というように構成情報がリングの中でローテーションして保持される。
【０１０２】
構成情報ＣＤの入れ替えは、すべての構成情報格納メモリ１７に対して同時に行われるので、クロック「ＣＣＬＫ」１サイクル分で完了する。
【０１０３】
さらに、たとえば再構成制御装置１７Ａにおいて、構成情報格納メモリ１７に書き込まれた新しい構成情報を有効にするように制御信号が生成され、さらにその後動的再構成可能ハードウェアである演算実行部１６に対して演算の実行を開始する信号が出力される。
演算実行部１６においては、構成情報ＣＤに基づいて再構成された演算回路により、メモリインタフェース装置１３による読み出しデータｒｄ　ｄａｔに対する演算が行われる。そして、演算結果ｗｒ＿ｄａｔが期間Ｙのときを除き、ｗｄａｔ１００，ｗｄａｔ１０１，ｗｄａｔ１００，ｗｄａｔ１０１，ｗｄａｔ０，ｗｄａｔ１としてメモリインタフェース装置１３に出力される。
【０１０４】
たとえばデュアルポートメモリ１１から読み出したデータを演算に用いる場合、第１のアドレス生成装置１４が生成する読み出しアドレスｒｄ＿ａｄｒがデュアルポートメモリ領域（ａｄｒ１００，ａｄｒ１０１）を指している期間Ｘでのみ有効となる。
そのため、デュアルポートメモリ領域読み出し制御信号ｒｄ＿ｅｎＡは、図１５（Ａ），（Ｉ）に示すように、期間Ｘの間のみ有効となる。その結果、期間Ｘにおいて、デュアルポートメモリ１１の指定されたアドレスからデータｄａｔＡが、メモリインタフェース装置１３に読み出され、読み出しデータｒｄ　ｄａｔとして演算実行部１６に供給される。
【０１０５】
また、デュアルポートメモリ領域に演算結果を書き込み場合、第２のアドレス生成装置１５が生成する書き込みｗｒ＿ａｄｒがデュアルポート領域を指している期間Ｗ、期間Ｘで有効になる。
そのため、デュアルポートメモリ領域書き込み制御信号ｗｒ＿ｅｎＢは、図１５（Ｂ），（Ｊ）に示すように、期間Ｗ、期間Ｘで有効となる。その結果、期間Ｗ，Ｘにおいて、デュアルポートメモリ１１の指定されたアドレスに演算結果が書き込まれる。
【０１０６】
シングルポートメモリ１２から読み出したデータを演算に用いる場合、第１のアドレス生成装置１４で生成した読み出しアドレスｒｄ＿ａｄｒがシングルポートメモリ領域（ａｄｒ０，ａｄｒ１）を指している期間Ｗ、期間Ｙ、期間Ｚで有効になる。
しかし、期間Ｚでは書き込みアドレスｗｒ＿ａｄｒもシングルポートメモリ領域を指しており、図１５（Ｅ）に示すように、優先度設定信号ｃｔｒｌが書き込みｗｒを示しているのでこの期間の読み出しは無効となり、結果として期間Ｗ、期間Ｙのみが有効となる。
そのため、図１５（Ａ），（Ｋ）に示すように、読み出し制御信号ｒｄ＿ｅｎＣは期間Ｗ　、期間Ｙでのみ有効となる。
その結果、期間Ｗ，Ｙにおいて、シングルメモリ１２の指定されたアドレスからデータｄａｔＣがメモリインタフェース装置１３に読み出され、読み出しデータｒｄ　ｄａｔとして演算実行部１６に供給される。
【０１０７】
シングルポートメモリに演算結果を書き込み場合、第２のアドレス生成装置１５が生成する書き込みアドレスｗｒ＿ａｄｒがシングルポートメモリ領域（ａｄｒ０，ａｄｒ１）を指している期間Ｙ、期間Ｚで有効になる。
しかし、期間Ｙではｒｄ＿ａｄｒもシングルポートメモリ領域を指しており、図１５（Ｅ）に示すように、優先度設定信号が読み出しｒｄを示しているのでこの期間の書き込みは無効となり、結果として期間Ｚのみが有効となる。
そのため、図１５（Ｂ），（Ｌ）に示すように、書き込み制御信号ｗｒ＿ｅｎＤは期間Ｚのみで有効となる。
その結果、期間Ｚにおいて、シングルポートメモリ１２の指定されたアドレスに演算結果が書き込まれる。
【０１０８】
また、メモリインタフェース装置１３においては、シングルポートメモリアドレスａｄｒＣは読み出しが有効なときは読み出しアドレスｒｄ＿ａｄｒと同じ値に設定され、書き込みが有効なときは書き込みアドレスｗｒ＿ａｄｒと同じ値が設定される。
そのため、図１５（Ｃ）に示すように、期間Ｗではａｄｒ０，ａｄｒ１、期間Ｙではａｄｒ０，ａｒ１、期間Ｚではａｄｒ０、ａｄｒ１に設定される。
また、読み出しデータは、図１５（Ｍ），（Ｏ）に示すように、読み出しアドレスが有効なメモリの値が読み出されるため期間Ｗ、期間ＹではｄａｔＣが設定され、期間ＸではｄａｔＡが設定される。
【０１０９】
本演算システムによれば、上述したように、ウェイト信号を使ってアドレス生成を中断することがないため、従来の技術では困難であったアクセスタイミングを厳密にスケジューリングした演算装置においてもメモリアクセスを所望のとおり行うことができる。
また、アドレス生成に優先度をつけることが可能になるため、ユーザーが必要な動作を確実に行わせることが可能であるという利点がある。
さらにメモリ装置をシングルポートメモリとデュアルポートメモリで構成することで、デュアルポートメモリとしてのアクセスを行う場合にはデュアルポートメモリ領域を使えば待ちが生じることもなくなるという効果もある。
【０１１０】
また、演算器の配列等のハードウェア構成を再構成可能な演算装置を有する演算システムにおいて、構成情報を保持する構成情報記憶部１７０を、リング状に結合した複数のレジスタ１７１〜１７４で構成し、その中の一つの構成情報を用いて演算処理を行っている間に、別の構成情報記憶部の内容を書き換えることができるように構成情報書き換え部、および再構成可能な演算実行部１３４と接続し、また、各レジスタ１７１〜１７４に記憶された構成情報は、リング内をローテーションすることによって切り替えが可能としたことから、以下の効果を得られる。
すなわち、演算器が演算処理を実行中であっても、同時に次に使用する構成情報を設定することが可能とし、また、新たな構成情報を書き込まずに、構成の切り替えのみを行うことによって過去に使用した構成情報を再利用可能となる利点がある。
【０１１１】
すなわち、ハードウェアの再構成を演算実行と同時に行えるようになり、このオーバーヘッドを、演算の実行時間の裏側に隠蔽できるようになる。
また、複数の構成情報を同時に保持でき、それらを瞬時に切り替えることができる特性により、繰り返し使用される構成情報を同時に記憶しておき、それらを切り替えて使用することで、再構成のためのオーバーヘッドをほぼ「ゼロ」にすることも可能となる利点がある。
【０１１２】
なお、本実施形態においては、４つの構成情報を保持できる構成を示しているが、必要に応じて２以上の任意の数の構成情報を保持できるようにしてもよい。
【０１１３】
【発明の効果】
以上説明したように、本発明によれば、ウェイト信号を使ってアドレス生成を中断することがないため、アクセスタイミングを厳密にスケジューリングした演算装置においてもメモリアクセスを所望のとおり行うことができる。
また、アドレス生成に優先度をつけることが可能になるため、ユーザーが必要な動作を確実に行わせることが可能であるという利点がある。
さらにメモリ装置をシングルポートメモリとデュアルポートメモリで構成することで、デュアルポートメモリとしてのアクセスを行う場合にはデュアルポートメモリ領域を使えば待ちが生じることもなくなるという効果を得ることができる。
【図面の簡単な説明】
【図１】本発明に係るメモリアクセス装置の一実施形態を示す構成図である。
【図２】デュアルポートメモリとシングルポートメモリの各メモリ領域へのアドレスの割り当て例を示す図である。
【図３】本実施形態に係るメモリインタフェース装置の具体的な構成例を示すブロック図である。
【図４】本実施形態に係る第１のアドレス範囲判定装置の機能を説明するためのタイミングチャートである。
【図５】本実施形態に係る第２のアドレス範囲判定装置の機能を説明するためのタイミングチャートである。
【図６】本実施形態に係る第１のデュアルポートメモリ制御信号生成装置の機能を説明するためのタイミングチャートである。
【図７】本実施形態に係る第２のデュアルポートメモリ制御信号生成装置の機能を説明するためのタイミングチャートである。
【図８】本実施形態に係るシングルポートメモリ制御信号生成装置の機能を説明するためのタイミングチャートである。
【図９】本実施形態に係るアドレス選択装置の機能を説明するためのタイミングチャートである。
【図１０】本実施形態に係るデータ選択装置の機能を説明するためのタイミングチャートである。
【図１１】図１のメモリアクセス装置を再構成可能な演算システムに適用した場合の構成例を示す図である。
【図１２】本実施形態に係る演算システムの好適な構成を説明するための図である。
【図１３】本実施形態に係る構成情報格納メモリを設けることによる効果を説明するための図である。
【図１４】本実施形態に係る構成情報格納メモリの具体的な構成例を示す図である。
【図１５】図１１の演算システムの動作を説明するためのタイミングチャートである。
【符号の説明】
１０…メモリアクセス装置、１０Ａ…演算システム、１１…デュアルポートメモリ、１２…シングルポートメモリ、１３…メモリインタフェース、１３１…第１のアドレス範囲判定装置（ＡＤＲＡＲＡ１）、１３２…第２のアドレス範囲判定装置（ＡＤＲＡＲＡ２）、１３３…第１のデュアルポートメモリ制御信号生成装置（ＤＰＭＣＧ１）、１３４…第２のデュアルポートメモリ制御信号生成装置（ＤＰＭＣＧ２）、１３５…シングルポートメモリ制御信号生成装置（ＳＰＭＣＧ）、１３５…アドレス選択装置（ＡＤＲＳＥＬ）、１３７…データ選択装置（ＤＴＳＥＬ）、１４…第１のアドレス生成装置（ＡＤＲＧ１）、１５…第２のアドレス生成装置（ＡＤＲＧ２）、１６…演算実行部（ＯＰＥ）、１６１−０〜１６１−２…選択装置、１６２…ＡＬＵ、１６３…ＭＡＣ構造の演算器、１７…構成情報格納メモリ（ＣＤＭ）、１７Ａ…再構成制御装置、１７１〜１７４（ＣＤ１〜ＣＤ４）…レジスタ、１７５…選択装置、１７６…ＯＲゲート。
【図１】
2004102576.tif 000003
【図２】
2004102576.tif 000004
【図３】
2004102576.tif 000005
【図４】
2004102576.tif 000006
【図５】
2004102576.tif 000007
【図６】
2004102576.tif 000008
【図７】
2004102576.tif 000009
【図８】
2004102576.tif 000010
【図９】
2004102576.tif 000011
【図１０】
2004102576.tif 000012
【図１１】
2004102576.tif 000013
【図１２】
2004102576.tif 000014
【図１３】
2004102576.tif 000015
【図１４】
2004102576.tif 000016
【図１５】
2004102576.tif 000017