(57)【要約】  【課題】  ＳＤＲＡＭの同一のバンクに連続してアクセスすることを防止し処理時間を向上させたメモリ制御装置を提供することを目的とする。  【解決手段】  本発明のメモリ制御装置１０５は、複数のバンクを有しバンク分割モードにより連続してアクセスすることが可能なメモリを制御するメモリ制御装置であって、メモリ制御装置１０５を介してＳＤＲＡＭ８０８にアクセスするブロック８０４，８０５，８０６からのメモリアクセス要求を前記ＳＤＲＡＭ８０８の異なるバンクに連続してアクセスするよう、前記複数のブロックの優先順位を制御するよう構成したものである。【選択図】  図１
2004252960.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクを有するメモリを制御するメモリ制御装置において、
複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
前記調停回路が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように前記複数のブロックのメモリアクセスの優先順位を変更することを特徴とするメモリ制御装置。
【請求項２】
前記調停回路が、
前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、
前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記調停回路は、直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げることを特徴とする請求項１に記載のメモリ制御装置。
【請求項４】
前記調停回路は、直前にメモリアクセスを許可したバンクと異なるバンクにアクセスするブロックに対するメモリアクセスの優先順位を上げることを特徴とする請求項１に記載のメモリ制御装置。
【請求項５】
前記調停回路は、直前にメモリアクセスを許可したバンクと次のメモリアクセスで要求されたバンクが同一である場合に、メモリアクセスの優先順位を下げることを特徴とする請求項１に記載のメモリ制御装置。
【請求項６】
前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項２に記載のメモリ制御装置。
【請求項７】
前記同一バンク時優先順位指定手段は、外部から設定可能であり前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする請求項２に記載のメモリ制御装置。
【請求項８】
前記メモリは、同期式メモリであることを特徴とする請求項１に記載のメモリ制御装置。
【請求項９】
複数のバンクを有するメモリを制御するメモリ制御装置において、
複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
前記メモリの同一バンクに対して書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する２組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとし、
前記複数のブロックが前記ブロックアクセスデータ単位でメモリアクセス要求をしたとき、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合には、前記調停回路が前記ブロックアクセスデータ内のバンクアクセスデータのメモリアクセスの順序を入れ替えることを特徴とするメモリ制御装置。
【請求項１０】
前記調停回路が、
前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一のバンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項９に記載のメモリ制御装置。
【請求項１１】
前記データラッチブロックが、
前記複数ブロックからのライトデータを受け取り、ラッチするライトデータラッチブロックと、
前記調停回路からのデータラッチ制御信号に基づき、前記ライトデータラッチブロックが出力するバンクアクセスデータの順序を入れ替え、ライトデータとして前記メモリへ出力し、さらに後述するリードデータラッチブロックが出力するバンクアクセスデータの順序を入れ替えリードデータとして前記メモリへのリードアクセスを許可されたブロックへ出力するデータ入れ替えブロックと、
前記メモリから読み出されたリードデータを受け取り、ラッチするリードデータラッチブロックとを備えることを特徴とする請求項９に記載のメモリ制御装置。
【請求項１２】
前記調停回路は、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合、前記ブロックアクセスデータ内の前記バンクアクセスデータの順序を入れ替えて前記メモリから前記ブロックアクセスデータを読み出して前記データラッチブロックに格納し、前記データラッチブロックは、格納した前記ブロックアクセスデータ内の前記バンクアクセスデータ単位で順序を入れ替えて、メモリアクセスを行った前記ブロックに対して転送することを特徴とする請求項９に記載のメモリ制御装置。
【請求項１３】
前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項１０に記載のメモリ制御装置。
【請求項１４】
前記メモリは、同期式メモリであることを特徴とする請求項９に記載のメモリ制御装置。
【請求項１５】
複数のバンクを有するメモリを制御するメモリ制御装置において、
複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
前記メモリの同一バンクに対して、書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する２組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとするとき、前記メモリへのアクセスを許可された前記ブロックからのメモリアクセス要求が前記バンクアクセスデータ単体の場合には、前記調停回路が待ちサイクルを設けるように前記コマンド生成ブロックに指示することを特徴とするメモリ制御装置。
【請求項１６】
前記調停回路が、
前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスのデータ単位を判断するデータ単位判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
前記複数ブロックからのメモリアクセス要求がバンクアクセスデータ単位の場合に設ける待ちサイクル数を指定するウェイトサイクル指定手段と、
前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項１５に記載のメモリ制御装置。
【請求項１７】
前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項１６に記載のメモリ制御装置。
【請求項１８】
前記ウェイトサイクル指定手段は、外部から設定可能であり前記ウェイトサイクル指定手段の設定により、前記コマンド生成ブロックで設ける待ちサイクル数を変更できることを特徴とする請求項１６に記載のメモリ制御装置。
【請求項１９】
前記メモリは、同期式メモリであることを特徴とする請求項１５に記載のメモリ制御装置。
【請求項２０】
複数のバンクを有するメモリを制御するメモリ制御装置において、
複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、連続してリードアクセスが行われるように前記複数のブロックのメモリアクセス要求の優先順位を変更することを特徴とするメモリ制御装置。
【請求項２１】
前記調停回路が、
前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、
前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項２０に記載のメモリ制御装置。
【請求項２２】
前記調停回路は、直前に許可したメモリアクセスがリードアクセスの場合に、リードアクセスの優先順位を上げることを特徴とする請求項２０に記載のメモリ制御装置。
【請求項２３】
前記調停回路は、直前に許可したメモリアクセスがリードアクセスで、次のメモリアクセス要求にリードアクセスが存在する場合に、リードアクセスの優先順位を上げることを特徴とする請求項２０に記載のメモリ制御装置。
【請求項２４】
前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項２１に記載のメモリ制御装置。
【請求項２５】
前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする請求項２０に記載のメモリ制御装置。
【請求項２６】
前記メモリは、同期式メモリであることを特徴とする請求項２０に記載のメモリ制御装置。
【請求項２７】
複数のバンクを有するメモリを制御するメモリ制御装置において、
前記メモリの内部データを保持するために一定間隔でリフレッシュ動作を要求するリフレッシュ要求ブロックと、
複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求と前記リフレッシュ要求ブロックからのリフレッシュ要求の調停を行う調停回路と、
前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合は、前記リフレッシュ要求ブロックからのリフレッシュ要求の優先順位を変更することを特徴とするメモリ制御装置。
【請求項２８】
前記調停回路が、
前記リフレッシュ要求ブロックからのリフレッシュ要求と前記複数ブロックからのメモリリクエストを受け取り、受け取ったリフレッシュ要求とメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、
前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックを選択するライトアクセス時優先順位指定手段と、
前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項２７に記載のメモリ制御装置。
【請求項２９】
前記調停回路は、直前に許可したメモリアクセスがライトアクセスの場合に、リフレッシュ要求の優先順位を下げることを特徴とする請求項２７に記載のメモリ制御装置。
【請求項３０】
前記調停回路は、直前に許可したメモリアクセスがライトアクセスで、次のメモリアクセス要求にリフレッシュ要求が存在する場合に、リフレッシュ要求の優先順位を下げることを特徴とする請求項２７に記載のメモリ制御装置。
【請求項３１】
前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項２８に記載のメモリ制御装置。
【請求項３２】
前記ライトアクセス時優先順位指定手段は、外部から設定可能であり前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、前記ライトアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする請求項２８に記載のメモリ制御装置。
【請求項３３】
前記メモリは、同期式メモリであることを特徴とする請求項２７に記載のメモリ制御装置。
【請求項３４】
複数のバンクを有するメモリを制御するメモリ制御装置において、
複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、
前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、
前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、
前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、
前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、前記調停回路が前記複数のブロックのメモリアクセスの優先順位を変更するための調停方法を指定することを特徴とするメモリ制御装置。
【請求項３５】
前記調停回路が、
前記複数ブロックからのメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段と、
前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段と、
前記バンク判断手段と前記アクセス要求判断手段とを含み、許可信号の生成を指示するリクエスト受信ブロックと、
前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、
前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、メモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段と、
前記調停方法指定手段の設定がバンク優先の場合に、次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、
前記調停方法指定手段の設定がアクセス優先の場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、
前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、
前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする請求項３４に記載のメモリ制御装置。
【請求項３６】
前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする請求項３５に記載のメモリ制御装置。
【請求項３７】
前記調停方法指定手段は、外部から設定可能であり前記調停方法指定手段の設定により、前記複数のブロックからのメモリアクセスの調停方法を変更できることを特徴とする請求項３５に記載のメモリ制御装置。
【請求項３８】
前記同一バンク時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がバンク優先の場合でかつ、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする請求項３５に記載のメモリ制御装置。
【請求項３９】
前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がアクセス優先の場合でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする請求項３５に記載のメモリ制御装置。
【請求項４０】
前記メモリは、同期式メモリであることを特徴とする請求項３４に記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器における複数のバンクで構成されるメモリを制御するメモリ制御装置に関するものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータで頻繁に使われるキャッシュメモリのバースト転送をクロックに同期して高速に行えるようにしたシンクロナスダイナミックランダムアクセスメモリ（以下、ＳＤＲＡＭと略す。）が使用されつつある。このＳＤＲＡＭは、バンク分割モードによる連続アクセスモードとランダムアクセスモードとの切り替えが可能である。バンク分割モードでは４つのメモリ領域として、２ビットのバンク信号が「００」であるバンク０、「０１」であるバンク１、「１０」であるバンク２、「１１」であるバンク３とを持ち、このバンク０，バンク１，バンク２及びバンク３をクロック制御により切り替えながらアクセスし、最初にアクセスしたバンクからデータの読み出しを行っている間に次のバンクのアドレスの取り込みを行うことが可能となっている。
【０００３】
このＳＤＲＡＭを制御するメモリ制御装置８０１は、図１８に示すように、メモリ制御手段８０２と調停・Ｗａｉｔ信号発生部８０３とで構成され、複数のブロック８０４，８０５，８０６，８０７からＳＤＲＡＭ８０８へのアクセスを制御しているものがある（例えば、特許文献１参照。）。
【０００４】
複数のブロック８０４，８０５，８０６，８０７から、それぞれメモリアドレス信号（ＭＡＤＲ）とデータ信号（ＤＡＴＡ）と読み出し／書き込み制御信号（ＲＤ／ＷＲ ）とが、それぞれのブロックに対応するメモリ制御部８０９，８１０，８１１，８１２に入力される。複数のブロック８０４，８０５，８０６，８０７からのメモリアクセス要求信号（ＣＳ）が調停・Ｗａｉｔ信号発生部８０３に入力され、この調停・Ｗａｉｔ信号発生部８０３から複数のブロック８０４，８０５，８０６，８０７に待ち信号（Ｗａｉｔ）が返信される。調停・Ｗａｉｔ信号発生部８０３からメモリアクセス許可信号（Ｅｎａｂｌｅ）を受けたブロックに対応するメモリ制御部は、許可されたブロックのＳＤＲＡＭ８０８へのアクセスを制御する。このメモリ制御装置８０１を用いたＳＤＲＡＭ８０８のリードアクセスタイミングの一例を説明する。なおここでは、このＳＤＲＡＭ８０８をバンク分割モードで動作させている。
【０００５】
例えば、ブロックからのメモリアドレスのビット１０とビット３をＳＤＲＡＭのバンク信号に対応づけて「００」であればバンク０を、「０１」であればバンク１を、「１０」であればバンク２を、「１１」であればバンク３を選択する。図１９に示すように、クロック（図１９（Ａ））に従って、複数のブロックのロウアドレス（Ｒ０，Ｒ１，Ｒ２，Ｒ３）とカラムアドレス（Ｃ０，Ｃ１，Ｃ２，Ｃ３）を切り替えながらＳＤＲＡＭ８０８にメモリコマンド（図１９（Ｂ））とメモリアドレス（図１９（Ｃ））を出力する。バンク０から読み出されたデータ（図１９（Ｄ））Ｄ００，Ｄ０１は、バンク０に対するリードコマンド９０１が入力されてから３クロック後に出力される。Ｄ０１はＤ００に続くアドレスのデータであり、１つのアドレス入力で２ワードのデータが出力できることを意味している。１ワード分のみ必要な場合はＤ０１は不要であり、メモリアクセスを行ったブロックに転送しない。データが出力されるまでのクロック数は「ＣＡＳレイテンシ」と呼ばれるＳＤＲＡＭ８０８に備えられているモード設定で変更することができる。また、１つのアドレス入力で扱えるデータ数は「バースト長」と呼ばれるモード設定で変更することできる。例では、「ＣＡＳレイテンシ」を”３”、「バースト長」を”２”としている。
【０００６】
各バンクのプリチャージは、最終データ、すなわち２ワード出力のときはデータＤ０１の出力タイミングで自動的に実行される。バンク１，バンク２，バンク３に関しても同様である。このようにＳＤＲＡＭ８０８のバンク０，バンク１，バンク２，バンク３へのアクセスを切り替えながら行うことによって隙間なく連続してアクセスしている。
【特許文献１】特開平８−２１２１７０号公報（第３−４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のメモリ制御装置ではバンク分割モードのＳＤＲＡＭ８０８に単一ブロックがアクセスする場合に、同一のバンク（例えば、バンク１とする。）に連続してアクセスするようなメモリアドレスが出力されるとバンク１へのアクセスが続いてしまう。このとき、バンク１に対するプリチャージ動作が終了するまではバンク１にアドレスを出力することができず、ＳＤＲＡＭ８０８にアクセスできない無駄なサイクルが生じてしまうという問題がある。
【０００８】
そこで、単一ブロックがＳＤＲＡＭ８０８にアクセスする場合には、単一ブロック側で同じバンクに連続してアクセスしないようにメモリアドレスを生成することで前記の問題を解決することが考えられる。しかしながら、複数のブロックがＳＤＲＡＭ８０８にアクセスする場合には、複数のブロックからのメモリアクセス時のバンクを相互に制御することは極めて難しいため、同一バンクに連続してアクセスする可能性が生じる。
【０００９】
例えば、ブロック８０４がバンク１をアクセスした直後に、ブロック８０５がバンク１にアクセスしようとしたとき、同一バンクへのアクセスが続いてしまう。このときバンク１に対するプリチャージ動作が終了するまでは、バンク１にアドレスを出力することができない。即ち、ＳＤＲＡＭ８０８にアクセスできない無駄なサイクルが生じてしまう。
【００１０】
さらに、従来のメモリ制御装置８０１では、ＳＤＲＡＭ８０８からデータを読み出すリードアクセスの後、ＳＤＲＡＭ８０８へデータを書き込むライトアクセスを行う場合、ＳＤＲＡＭ８０８の仕様によりＳＤＲＡＭ８０８にアクセスできない無駄なサイクルが生じてしまう。そのため、複数のブロック８０４，８０５，８０６，８０７からリードアクセス要求の後にライトアクセス要求が続く場合は、ライトアクセスが連続して行われる場合やリードアクセスが連続して行われる場合に比べ、ＳＤＲＡＭ８０８にアクセスするサイクル数が多くなってしまうという問題がある。
【００１１】
また、ＳＤＲＡＭ８０８は内部データを保持するため一定時間毎にリフレッシュ動作を実行しなければならず、複数のブロック８０４，８０５，８０６，８０７からのメモリアクセスの間でリフレッシュ動作を実行する。複数のブロック８０４，８０５，８０６，８０７からのライトアクセス要求の後にリフレッシュ動作が実行されるとＳＤＲＡＭ８０８の仕様により無駄なサイクルが生じてしまう場合がある。
【００１２】
本発明は、ＳＤＲＡＭ８０８の同一のバンクに連続してアクセスしないようメモリアクセスの優先順位を変更することにより処理時間を向上させ、リードアクセスの後にライトアクセスが連続しないようメモリアクセスの優先順位を変更することによりメモリアクセスサイクル数を少なくし、ライトアクセス要求の後にリフレッシュ動作が連続しないようメモリアクセスの優先順位を変更することによりメモリアクセスサイクル数を少なくしたメモリ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
前記課題を解決するために、第１の本発明のメモリ制御装置は、複数のブロックからのメモリアクセスを調停する調停回路が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように優先順位を変更することを特徴とする。
【００１４】
この第１の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記調停回路が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように前記複数のブロックのメモリアクセスの優先順位を変更することを特徴とする。
【００１５】
第２の本発明は、前記第１の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
【００１６】
第３の本発明は、前記第１の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げることを特徴とする。
【００１７】
第４の本発明は、前記第１の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げることを特徴とする。
【００１８】
第５の本発明は、前記第１の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可したバンクと次のメモリアクセスで要求されたバンクが同一である場合に、メモリアクセスの優先順位を下げることを特徴とする。
【００１９】
第６の本発明は、前記第２の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
【００２０】
第７の本発明は、前記第２の本発明のメモリ制御装置において、前記同一バンク時優先順位指定手段は、外部から設定可能であり前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする。
【００２１】
第８の本発明は、前記第１の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第９の本発明のメモリ制御装置は、ブロックアクセスデータ単位でメモリアクセス要求を行う場合は、調停回路が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合に、前記調停回路が前記ブロックデータ内のバンクアクセスデータの順序を入れ替えることを特徴とする。
【００２２】
また、調停回路が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合に、前記ブロックアクセスデータ内の前記バンクアクセスデータの順序を入れ替えて前記メモリから前記ブロックアクセスデータを読み出して前記データラッチブロックに格納するとともに格納した前記ブロックアクセスデータ内の前記バンクアクセスデータ単位で順序を入れ替えて、メモリアクセスを行った前記ブロックに対して前記データラッチブロックが転送することを特徴とする。
【００２３】
この第９の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記メモリの同一バンクに対して書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する２組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとし、前記複数のブロックが前記ブロックアクセスデータ単位でメモリアクセス要求をしたとき、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合には、前記調停回路が前記ブロックアクセスデータ内のバンクアクセスデータのメモリアクセスの順序を入れ替えることを特徴とする。
【００２４】
第１０の本発明は、前記第９の本発明のメモリ制御装置において、前記調停回路が前記複数ブロックからのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一のバンクに対するアクセスか判断するバンク判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
【００２５】
第１１の本発明は、前記第９の本発明のメモリ制御装置において、前記データラッチブロックが前記複数ブロックからのライトデータを受け取り、ラッチするライトデータラッチブロックと、前記調停回路からのデータラッチ制御信号に基づき、前記ライトデータラッチブロックが出力するバンクアクセスデータの順序を入れ替え、ライトデータとして前記メモリへ出力し、さらに後述するリードデータラッチブロックが出力するバンクアクセスデータの順序を入れ替えリードデータとして前記メモリへのリードアクセスを許可されたブロックへ出力するデータ入れ替えブロックと、前記メモリから読み出されたリードデータを受け取り、ラッチするリードデータラッチブロックとを備えることを特徴とする。
【００２６】
第１２の本発明は、前記第９の本発明のメモリ制御装置において、前記調停回路は、直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合、前記ブロックアクセスデータ内の前記バンクアクセスデータの順序を入れ替えて前記メモリから前記ブロックアクセスデータを読み出して前記データラッチブロックに格納し、前記データラッチブロックは、格納した前記ブロックアクセスデータ内の前記バンクアクセスデータ単位で順序を入れ替えて、メモリアクセスを行った前記ブロックに対して転送することを特徴とする。
【００２７】
第１３の本発明は、前記第１０の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
【００２８】
第１４の本発明は、前記第９の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第１５の本発明のメモリ制御装置は、前記メモリへのアクセスを許可された前記ブロックからのメモリアクセス要求がバンクアクセスデータ単体の場合に、前記コマンド生成ブロックで待ちサイクルを設けることを特徴とする。
【００２９】
この第１５の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記メモリの同一バンクに対して、書き込みまたは読み出しが行われる所定のバイト数のメモリへのアクセスデータをバンクアクセスデータとし、異なるバンクに属する２組の前記バンクアクセスデータによって構成されるデータ単位をブロックアクセスデータとするとき、前記メモリへのアクセスを許可された前記ブロックからのメモリアクセス要求が前記バンクアクセスデータ単体の場合には、前記調停回路が待ちサイクルを設けるように前記コマンド生成ブロックに指示することを特徴とする。
【００３０】
第１６の本発明は、前記第１５の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスのデータ単位を判断するデータ単位判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記複数ブロックからのメモリアクセス要求がバンクアクセスデータ単位の場合に設ける待ちサイクル数を指定するウェイトサイクル指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
【００３１】
第１７の本発明は、前記第１６の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
【００３２】
第１８の本発明は、前記第１６の本発明のメモリ制御装置において、前記ウェイトサイクル指定手段は、外部から設定可能であり前記ウェイトサイクル指定手段の設定により、前記コマンド生成ブロックで設ける待ちサイクル数を変更できることを特徴とする。
【００３３】
第１９の本発明は、第１５の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第２０の本発明のメモリ制御装置は調停回路が直前に許可したメモリアクセスがリードアクセスの場合、連続してリードアクセスが行われるように複数のブロックのメモリアクセス要求の優先順位を変更することを特徴とする。
【００３４】
この第２０の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、連続してリードアクセスが行われるように前記複数のブロックのメモリアクセス要求の優先順位を変更することを特徴とする。
【００３５】
第２１の本発明は、前記第２０の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
【００３６】
第２２の本発明は、前記第２０の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがリードアクセスの場合に、リードアクセスの優先順位を上げることを特徴とする。
【００３７】
第２３の本発明は、前記第２０の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがリードアクセスで、次のメモリアクセス要求にリードアクセスが存在する場合に、リードアクセスの優先順位を上げることを特徴とする。
【００３８】
第２４の本発明は、前記第２０の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
【００３９】
第２５の本発明は、前記第２０の本発明のメモリ制御装置において、前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする。
【００４０】
第２６の本発明は、前記第２０の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
さらに、前記課題を解決するために、第２７の本発明のメモリ制御装置は、直前に許可したメモリアクセスがライトアクセスの場合、リフレッシュ要求ブロックからリフレッシュ要求の優先順位を変更することを特徴とする。
【００４１】
この第２７の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、前記メモリの内部データを保持するために一定間隔でリフレッシュ動作を要求するリフレッシュ要求ブロックと、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求と前記リフレッシュ要求ブロックからのリフレッシュ要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合は、前記リフレッシュ要求ブロックからのリフレッシュ要求の優先順位を変更することを特徴とする。
【００４２】
第２８の本発明は、前記第２７の本発明のメモリ制御装置において、前記調停回路が、前記リフレッシュ要求ブロックからのリフレッシュ要求と前記複数ブロックからのメモリリクエストを受け取り、受け取ったリフレッシュ要求とメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段を含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックを選択するライトアクセス時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
【００４３】
第２９の本発明は、前記第２７の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがライトアクセスの場合に、リフレッシュ要求の優先順位を下げることを特徴とする。
【００４４】
第３０の本発明は、前記第２７の本発明のメモリ制御装置において、前記調停回路は、直前に許可したメモリアクセスがライトアクセスで、次のメモリアクセス要求にリフレッシュ要求が存在する場合に、リフレッシュ要求の優先順位を下げることを特徴とする。
【００４５】
第３１の本発明は、前記第２８の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
【００４６】
第３２の本発明は、前記第２８の本発明のメモリ制御装置において、前記ライトアクセス時優先順位指定手段は、外部から設定可能であり前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、前記ライトアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする。
【００４７】
第３３の本発明は、前記第２７の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
第３４の本発明は、複数のバンクを有するメモリを制御するメモリ制御装置において、複数のブロックからの前記メモリにアクセスするためのメモリアクセス要求の調停を行う調停回路と、前記調停回路からの制御信号に基づき前記メモリへのメモリコマンドを生成するコマンド生成ブロックと、前記調停回路によってアクセスを許可されたブロックからのメモリアドレスを受け取り、前記メモリに出力するアドレス生成ブロックと、前記調停回路によってアクセスを許可された前記ブロックからの書き込みデータまたは前記メモリからの読み出しデータをラッチして、アクセスを許可された前記ブロックと前記メモリ間のデータの受け渡しを行うデータラッチブロックとを備え、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合は、前記調停回路が前記複数のブロックのメモリアクセスの優先順位を変更するための調停方法を指定することを特徴とする。
【００４８】
第３５の本発明は、前記第３４の本発明のメモリ制御装置において、前記調停回路が、前記複数ブロックからのメモリアドレスを受け取り、受け取ったメモリアドレスから同一バンクに対するアクセスか判断するバンク判断手段と、前記複数ブロックからのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段と、前記バンク判断手段と前記アクセス要求判断手段とを含み、許可信号の生成を指示するリクエスト受信ブロックと、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段と、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、メモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段と、前記調停方法指定手段の設定がバンク優先の場合に、次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段と、前記調停方法指定手段の設定がアクセス優先の場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロックと、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロックとを備えることを特徴とする。
【００４９】
第３６の本発明は、前記第３５の本発明のメモリ制御装置において、前記メモリアクセス優先順位指定手段は、外部から設定可能であり前記メモリアクセス優先順位指定手段の設定により、前記複数のブロックからの前記メモリに対する優先順位を変更できることを特徴とする。
【００５０】
第３７の本発明は、前記第３５の本発明のメモリ制御装置において、前記調停方法指定手段は、外部から設定可能であり前記調停方法指定手段の設定により、前記複数のブロックからのメモリアクセスの調停方法を変更できることを特徴とする。
【００５１】
第３８の本発明は、前記第３５の本発明のメモリ制御装置において、前記同一バンク時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がバンク優先の場合でかつ、前記複数ブロックからのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に、前記同一バンク時優先順位指定手段に設定された優先順位に従って、次にメモリへのアクセスを許可するブロックを選択することができることを特徴とする。
【００５２】
第３９の本発明は、前記第３５の本発明のメモリ制御装置において、前記リードアクセス時優先順位指定手段は、外部から設定可能であり前記調停方法指定手段の設定がアクセス優先の場合でかつ、前記調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、前記リードアクセス時優先順位指定手段に設定された優先順位に従って、次にメモリへのリードアクセスを許可するブロックを選択することができることを特徴とする。
【００５３】
第４０の本発明は、前記第３４の本発明のメモリ制御装置において、前記メモリは、同期式メモリであることを特徴とする。
【発明の効果】
【００５４】
以上のように本発明のメモリ制御装置によれば、調停回路が直前にメモリアクセスを許可したバンクと同一のバンクが連続する場合に前記メモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。また、メモリアドレスを生成する複数のブロックは、直前にメモリアクセスを許可されたバンクを意識することなくメモリアドレスを生成することができる。
【００５５】
また、異なるバンクに属する２組のバンクアクセスデータによって構成されるブロックアクセスデータ単位でメモリアクセス要求をした時、調停回路が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合にメモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。また、メモリアドレスを生成する複数のブロックは、直前のバンクを意識することなくメモリアドレスを生成することができる。
【００５６】
さらに、メモリから読み出したブロックアクセスデータをブロックから要求があったメモリアクセス順に出力することにより、メモリアドレスを生成する複数のブロックはバンクを意識することなく前記メモリから読み出したブロックアクセスデータを受け取ることが可能である。
【００５７】
また、バンクアクセスデータ単体でメモリアクセス要求が行われるブロックからのメモリアクセス要求を調停回路が許可した場合には、コマンド生成ブロックで待ちサイクルを設けることにより、直前に許可されたメモリアクセスのバンクの影響を受けずメモリアクセスを実現することができ、かつ、バンクアクセスデータ単体でメモリアクセスを行うために必要な回路を削減することができる。
【００５８】
また、調停回路が直前に許可したメモリアクセスがリードアクセスの場合に、次のメモリアクセス要求がリードアクセス以外の場合に生じるメモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
【００５９】
また、調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次のメモリアクセス要求がリフレッシュ要求の場合に生じるメモリにアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
【発明を実施するための最良の形態】
【００６０】
（実施の形態１）
以下に、第１ないし第８の本発明の実施の形態について、図１及び図２及び図８及び図９を用いて説明する。図１は実施の形態１におけるメモリ制御装置を示すブロック図、図２は図１の主要な信号のタイミングチャート、図８は実施の形態１における調停回路を示すブロック図である。
【００６１】
このメモリ制御装置１０５は、図１に示すようにＳＤＲＡＭ８０８にアクセスする複数のブロック８０４，８０５，８０６からのメモリアクセス要求の調停を行う調停回路１０１と、ＳＤＲＡＭ８０８へのメモリコマンドを生成するコマンド生成ブロック１０２と、
前記調停回路１０１によってアクセスを許可された前記ブロックからのメモリアドレスを受け取り、ＳＤＲＡＭ８０８に出力するアドレス生成ブロック１０３と、前記調停回路１０１によってアクセスを許可された前記ブロックからの書き込みデータまたはＳＤＲＡＭ８０８からの読み出しデータをラッチし、アクセスを許可された前記ブロックとＳＤＲＡＭ８０８とのデータの受け渡しを行うデータラッチブロック１０４とで構成される。
【００６２】
前記調停回路１０１は、図８に示すように前記複数ブロック８０４，８０５，８０６からのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから同一のバンクに対するアクセスか判断するバンク判断手段１００２を含み、許可信号の生成を指示するリクエスト受信ブロック１００１と、前記複数ブロック８０４，８０５，８０６からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段１００３と、前記複数ブロック８０４，８０５，８０６からのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求の場合に次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段１００４と、前記リクエスト受信ブロック１００１からの許可信号の生成を指示され、前記ＳＤＲＡＭ８０８へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック１００５と、前記リクエスト受信ブロック１００１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック１００６とで構成される。
【００６３】
図２において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はブロック８０４から出力される調停回路１０１へのメモリリクエスト、
（Ｃ）は調停回路１０１から返信されるブロック８０４へのメモリアクセス許可信号、
（Ｄ）はブロック８０５から出力される調停回路１０１へのメモリリクエスト、
（Ｅ）は調停回路１０１から返信されるブロック８０５へのメモリアクセス許可信号、
（Ｆ）はブロック８０６から出力される調停回路１０１へのメモリリクエスト、
（Ｇ）は調停回路１０１から返信されるブロック８０６へのメモリアクセス許可信号、
（Ｈ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセス、
（Ｉ）はＳＤＲＡＭ８０８から読み出したリードデータを示す。
【００６４】
２０１はメモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス、
２０２はブロック８０５のバンク２へのメモリリードアクセス、
２０３はブロック８０４のバンク１へのメモリリードアクセス、
２０４はブロック８０６のバンク０へのメモリリードアクセスである。
【００６５】
なお、ブロック８０４，８０５，８０６は、例えばＣＰＵや誤り訂正ブロックなどがあり、ホストコンピュータとマイクロコンピュータ間のデータ転送をＳＤＲＡＭ８０８を介して実行したり、誤り訂正ブロックで誤ったデータを訂正したりする。また、ブロック８０４，８０５，８０６からのメモリアクセス要求はＳＤＲＡＭ８０８の同じバンクに対して、書き込みまたは読み出しデータが８バイトのバンクアクセスデータ単位で行われる。
【００６６】
最初に、調停回路１０１が直前にメモリアクセスを許可したバンクと次のメモリアクセスリクエストのバンクが同一である場合について説明する。
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定したとして、ブロック８０４がＳＤＲＡＭ８０８からデータをリード（読み出し）する場合のメモリ制御装置１０５の動作について説明する。
【００６７】
ブロック８０４がＳＤＲＡＭ８０８にアクセスする場合には、メモリ制御装置１０５を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック８０４から調停回路１０１にメモリリクエスト（図２（Ｂ））が出力されると、ＳＤＲＡＭ８０８に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路１０１がブロック８０４に対しメモリアクセス許可信号（図２（Ｃ））を返信する。ブロック８０４の前記メモリリクエストと同時に他のブロック（ブロック８０５，８０６）がメモリリクエスト（図２（Ｄ），（Ｆ））を出力している場合には、ＳＤＲＡＭ８０８にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
【００６８】
メモリ制御装置１０５がＳＤＲＡＭ８０８のバンク１に対しアクセス中（図２（Ｈ）２０１）で、ブロック８０４からＳＤＲＡＭ８０８のバンク１へのメモリリードリクエスト（図２（Ｂ））が出力され、それと同時にブロック８０５からバンク２へのメモリリードリクエスト（図２（Ｄ））と、ブロック８０６からバンク０へのメモリリードリクエスト（図２（Ｆ））が出力されているとする。ブロック８０４からのＳＤＲＡＭ８０８のバンク１へのメモリリードリクエスト（図２（Ｂ））が出力されると、調停回路１０１はリクエスト受信ブロック１００１でメモリリクエストとメモリアドレスを受け取り、バンク判断手段１００２でメモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス（図２（Ｈ）２０１）と同一のバンクへのメモリアクセス要求であると判断し、許可信号生成ブロック１００５に、第２の優先順位のブロック８０５に対する許可信号を生成するよう指示する。リクエスト受信ブロック１００１は、ブロック８０４から出力されているバンク１へのメモリードリクエストの優先順位を下げて、次に優先順位の高いブロック８０５のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０５にメモリアクセス許可信号（図２（Ｅ））を返信する（優先順位変更処理）。
【００６９】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１００１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
【００７０】
アドレス生成ブロック１０３が調停回路１０１から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック８０５からのメモリアドレスを受け取り、ＳＤＲＡＭ８０８に出力する。
【００７１】
コマンド生成ブロック１０２が調停回路１０１から出力されたコマンド生成制御信号に基づき、ＲＡＳ（Ｒｏｗ  Ａｄｄｒｅｓｓ  Ｓｔｒｏｂｅ），ＣＡＳ（Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ  Ｓｔｒｏｂｅ）などのメモリコマンドを生成し、前記メモリコマンドをＳＤＲＡＭ８０８に出力し、ブロック８０５のバンク２へのメモリリードアクセス２０２を実行する。ＳＤＲＡＭ８０８から読み出されたデータはデータラッチブロック１０４が取り込み、ブロック８０５に出力する。
【００７２】
ＳＤＲＡＭ８０８は、コマンド生成ブロック１０２から出力されたメモリコマンドと、アドレス生成ブロック１０３から出力されたメモリアドレスに基づき、ＳＤＲＡＭ８０８からデータＤ２０，Ｄ２１を読み出す。Ｄ２１はＤ２０に続くアドレスのデータであり、一つのアドレス入力で２ワードのデータが出力できることを意味している（「バースト長」＝”２”）。各バンクのプリチャージは最終データ、即ち、この２ワード出力時ではデータＤ２１などの出力タイミングで自動的に実行される。バンク０，バンク１，バンク３に対するプリチャージに関しても同様である。ブロック８０５のバンク２へのメモリリードアクセス２０２が終わると、メモリアクセスの優先順位に従って、ブロック８０４のバンク１へのメモリリードアクセス２０３を実行し、続いてブロック８０６のバンク０へのメモリリードアクセス２０４を実行する。
【００７３】
次に、調停回路１０１が直前にメモリアクセスを許可したバンクと同一のバンクにアクセスするブロックに対するメモリアクセスの優先順位を下げる場合について説明する。
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定し、ブロック８０４がバンク１に、ブロック８０５がバンク２に、ブロック８０６がバンク０にメモリアクセス要求を出力するとする。
【００７４】
調停回路１０１が直前に許可したアクセスがバンク１へのメモリリードアクセスで、メモリ制御装置１０５がバンク１にメモリリードアクセス中（図２（Ｈ）２０１）であるとき、前記バンク判断手段１００２は、直前のメモリアクセスを許可した時点でバンク１へアクセス要求を出力するブロック８０４のメモリアクセスの優先順位を下げる。
【００７５】
ブロック８０４からＳＤＲＡＭ８０８のバンク１へのメモリリードリクエスト（図２（Ｂ））が出力され、それと同時にブロック８０５からバンク２へのメモリリードリクエスト（図２（Ｄ））と、ブロック８０６からバンク０へのメモリリードリクエスト（図２（Ｆ））が出力されると、リクエスト受信ブロック１００１は許可信号生成ブロック１００５に、ブロック８０５に対する許可信号を生成するよう指示するとともに、ブロック８０５のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０５にメモリアクセス許可信号（図２（Ｅ））を返信する（優先順位変更処理）。
【００７６】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１００１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
【００７７】
コマンド生成ブロック１０２及びアドレス生成ブロック１０３及びデータラッチブロック１０４の動作と、ブロック８０５のバンク２へのメモリリードアクセス２０２以降の動作については、調停回路１０１が直前にメモリアクセスを許可したバンクと次のメモリアクセス要求のバンクが同一である場合と同様なので省略する。
【００７８】
次に、調停回路１０１が直前にメモリアクセスを許可したバンクと異なるバンクにアクセスするブロックに対するメモリアクセスの優先順位を上げる場合について説明する。
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定し、ブロック８０４がバンク１に、ブロック８０５がバンク２に、ブロック８０６がバンク０にメモリアクセス要求を出力するとする。
【００７９】
調停回路１０１が直前に許可したアクセスがバンク１へのメモリリードアクセスで、メモリ制御装置１０５がバンク１にメモリリードアクセス中（図２（Ｈ）２０１）であるとき、バンク判断手段１００２は直前のメモリアクセスを許可した時点で異なるバンクにアクセスするように、次に優先順位の高いブロック８０５へのメモリアクセスの優先順位を上げる。
【００８０】
ブロック８０４からＳＤＲＡＭ８０８のバンク１へのメモリリードリクエスト（図２（Ｂ））が出力され、それと同時にブロック８０５からバンク２へのメモリリードリクエスト（図２（Ｄ））と、ブロック８０６からバンク０へのメモリリードリクエスト（図２（Ｆ））が出力されると、リクエスト受信ブロック１００１は許可信号生成ブロック１００５に、ブロック８０５に対する許可信号を生成するよう指示する。それとともに、ブロック８０５のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０５にメモリアクセス許可信号（図２（Ｅ））を返信する（優先順位変更処理）。
【００８１】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１００１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
【００８２】
コマンド生成ブロック１０２及びアドレス生成ブロック１０３及びデータラッチブロック１０４の動作と、ブロック８０５のバンク２へのメモリリードアクセス２０２以降の動作については、直前にメモリアクセスを許可したバンクと次のメモリアクセス要求のバンクが同一である場合と同様なので省略する。
【００８３】
次に、調停回路１０１が直前にメモリアクセスを許可したバンクと同一バンクに対するブロックからのアクセス要求の場合に、次にアクセスを許可するブロックを選択する場合について図９を用いて説明する。図９は、実施の形態１において、同一バンクが連続した場合に次にアクセスを許可するブロックを選択する場合のタイミングチャートである。
【００８４】
図９において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はブロック８０４から出力される調停回路１０１へのメモリリクエスト、
（Ｃ）は調停回路１０１から返信されるブロック８０４へのメモリアクセス許可信号、
（Ｄ）はブロック８０５から出力される調停回路１０１へのメモリリクエスト、
（Ｅ）は調停回路１０１から返信されるブロック８０５へのメモリアクセス許可信号、
（Ｆ）はブロック８０６から出力される調停回路１０１へのメモリリクエスト、
（Ｇ）は調停回路１０１から返信されるブロック８０６へのメモリアクセス許可信号、
（Ｈ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセス、
（Ｉ）はＳＤＲＡＭ８０８から読み出したリードデータを示す。
１１０１はメモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス、
１１０２はブロック８０６のバンク０へのメモリリードアクセス、
１１０３はブロック８０４のバンク１へのメモリリードアクセス、
１１０４はブロック８０５のバンク２へのメモリリードアクセスである。
【００８５】
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定したとして、同一バンクに対するメモリアクセスが生じた場合の優先順位をブロック８０６，８０５，８０４の順に優先順位が高いと、同一バンク時優先順位指定手段１００４にこの優先順位を設定する。そして、ブロック８０４がバンク１に、ブロック８０５がバンク２に、ブロック８０６がバンク０にメモリアクセス要求を出力するとする。
【００８６】
調停回路１０１が直前に許可したアクセスがバンク１へのメモリリードアクセスで、メモリ制御装置１０５がバンク１にメモリリードアクセス中（図９（Ｈ）１１０１）であるとき、ブロック８０４からのＳＤＲＡＭ８０８のバンク１へのメモリリードリクエスト（図９（Ｂ））が出力されると、調停回路１０１はリクエスト受信ブロック１００１でメモリリクエストとメモリアドレスを受け取り、バンク判断手段１００２でメモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス（図９（Ｈ）１１０１）と同一のバンクへのメモリアクセス要求であると判断し、同一バンク時優先順位指定手段１００４の設定に従って、許可信号生成ブロック１００５に、優先順位が最も高いブロック８０６に対する許可信号を生成するよう指示するとともに、ブロック８０６のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０６にメモリアクセス許可信号（図９（Ｇ））を返信する（同一バンク時優先順位変更処理）。
【００８７】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１００１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
【００８８】
アドレス生成ブロック１０３が調停回路１０１から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック８０６からのメモリアドレスを受け取り、ＳＤＲＡＭ８０８に出力する。コマンド生成ブロック１０２が調停回路１０１から出力されたコマンド生成制御信号に基づき、ＲＡＳ，ＣＡＳなどのメモリコマンドを生成し、前記メモリコマンドをＳＤＲＡＭ８０８に出力し、ブロック８０６のバンク０へのメモリリードアクセス１１０２を実行する。
【００８９】
ブロック８０６のバンク０へのメモリリードアクセス１１０２が終わると、メモリアクセスを許可する優先順位に従って、ブロック８０４のバンク１へのメモリリードアクセス１１０３を実行し、続いてブロック８０５のバンク２へのメモリリードアクセス１１０４を実行する。
【００９０】
以上のような構成にしたため、ＳＤＲＡＭ８０８に対してメモリ制御装置１０５がアクセス中のバンクと次にアクセスするブロックからのメモリアクセス要求の対象となるバンクが同一である場合は、調停回路１０１が同一のバンクに対するメモリアクセスを出力するブロックの優先順位を下げて、あるいは、異なるバンクに対するメモリアクセス要求を出力しているブロックの優先順位を上げて、異なるバンクに連続してアクセスできるようにすることにより、ＳＤＲＡＭ８０８にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
【００９１】
また、メモリアドレスを生成する複数のブロックは、前記メモリ制御装置がアクセス中のバンクを意識することなくメモリアドレスを生成することができる。
この実施の形態１では、ＳＤＲＡＭ８０８が「バースト長」＝”２”に設定されている場合を一例として説明したが、例えば、「バースト長」＝”４”，”８”，その他の値に設定されている場合にも、同様の効果が得られる。
【００９２】
また、この実施の形態１では、ＳＤＲＡＭ８０８が「ＣＡＳレイテンシ」＝”３”に設定されている場合を一例として説明したが、例えば、「ＣＡＳレイテンシ」＝”２”，その他の値に設定されている場合にも、同様の効果が得られる。
【００９３】
なお、この実施の形態１では、ＳＤＲＡＭ８０８に対する優先順位がブロック８０４，８０５，８０６の順に高いという例で説明したが、メモリアクセス優先順位指定手段１００３を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも本実施の形態１と同様の効果が得られる。
【００９４】
なお、この実施の形態１では、同一バンクに対するメモリアクセスが生じた場合の優先順位をブロック８０６，８０５，８０４の順に優先順位が高いという例で説明したが、同一バンク時優先順位指定手段１００４を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも同様の効果が得られる。
【００９５】
なお、この実施の形態１では、メモリをＳＤＲＡＭ８０８という例で説明したが、ＳＤＲＡＭに限らず他の同期式メモリについても同様の効果が得られる。
（実施の形態２）
以下に、第９ないし第１４の本発明の実施の形態について、図１及び図３及び図１０及び図１１を用いて説明する。図３は実施の形態２の主要な信号のタイミングチャート、図１０は実施の形態２の調停回路１０１を示すブロック図、図１１は実施の形態２のデータラッチブロック１０４を示すブロック図である。
【００９６】
メモリ制御装置１０５の構成に関しては、実施の形態１の構成（図１）と同様なので図番を同じくして説明は省略する。
前記調停回路１０１は、図１、図１０に示すように複数ブロック８０４，８０５，８０６からのメモリリクエストとメモリアドレスを受け取り、受け取ったメモリアドレスから直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一のバンクに対するアクセスか判断するバンク判断手段１２０２を含み、許可信号の生成を指示するリクエスト受信ブロック１２０１と、前記複数ブロック８０４，８０５，８０６からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段１００３と、前記リクエスト受信ブロック１００１からの許可信号の生成を指示され、前記ＳＤＲＡＭ８０８へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック１００５と、前記リクエスト受信ブロック１００１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック１００６とで構成される。
【００９７】
前記データラッチブロック１０４は、図１、図１１に示すように前記複数ブロック８０４，８０５，８０６からのライトデータを受け取り、ラッチするライトデータラッチブロック１３０１と、前記調停回路１０１からのデータラッチ制御信号に基づき、前記ライトデータラッチブロック１３０１が出力するバンクアクセスデータの順序を入れ替え、ライトデータとして前記メモリへ出力したり、後述するリードデータラッチブロック１３０３が出力するバンクアクセスデータの順序を入れ替えリードデータとして前記メモリへのリードアクセスを許可されたブロックへ出力するデータ入れ替えブロック１３０２と、前記ＳＤＲＡＭ８０８から読み出されたリードデータを受け取り、ラッチするリードデータラッチブロック１３０３とで構成される。
【００９８】
図３において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はブロック８０４から出力される調停回路１０１へのメモリリクエスト、
（Ｃ）は調停回路１０１から返信されるブロック８０４へのメモリアクセス許可信号、
（Ｄ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセス、
（Ｅ）はＳＤＲＡＭ８０８から読み出したリードデータ、
（Ｆ）は各ブロックに転送するデータを示す。
３０１はメモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス、
３０２はブロック８０４のバンク１へのメモリリードリクエスト、
３０３はブロック８０４のバンク２へのメモリリードリクエスト、
３０４はブロック８０４のバンク２へのメモリリードアクセス、
３０５はブロック８０４のバンク１へのメモリリードアクセス、
３０６はＳＤＲＡＭ８０８のバンク２から読み出した８バイトのバンクリードデータ、
３０７はＳＤＲＡＭ８０８のバンク１から読み出した８バイトのバンクリードデータである。
【００９９】
本発明の実施の形態２のメモリ制御装置は、前述の実施の形態１の複数のブロック８０４，８０５，８０６からのメモリアクセス要求が８バイトのバンクアクセスデータ単位で行われていたのに対し、異なるバンクに属する２組の８バイトのバンクアクセスデータによって構成される１６バイトのブロックアクセスデータ単位でメモリアクセス要求が行われる点が前述の実施の形態１とは異なっている。そのため、調停回路１０１が直前にメモリアクセスを許可した後半のバンクと次のメモリアクセス要求の前半のバンクが同一である場合、ブロックアクセスデータ内のバンクアクセスデータの順序を入れ替えて、ＳＤＲＡＭ８０８の異なるバンクに連続してアクセスするよう前記ＳＤＲＡＭ８０８へのアクセスを制御する機能が前述の実施の形態１とは異なっている。
【０１００】
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定したとして、ブロック８０４がＳＤＲＡＭ８０８からデータをリード（読み出し）する場合のメモリ制御装置１０５の動作について説明する。
【０１０１】
ブロック８０４がＳＤＲＡＭ８０８にアクセスする場合には、メモリ制御装置１０５を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック８０４から調停回路１０１にメモリリクエスト（図３（Ｂ））が出力されると、ＳＤＲＡＭ８０８に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路１０１がブロック８０４に対しメモリアクセス許可信号（図３（Ｃ））を返信する。ブロック８０４の前記メモリリクエストと同時に他のブロック（ブロック８０５，８０６）がメモリリクエストを出力している場合には、ＳＤＲＡＭ８０８にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
【０１０２】
メモリ制御装置１０５がＳＤＲＡＭ８０８のバンク１に対しアクセス中（図３（Ｄ）３０１）で、ブロック８０４からＳＤＲＡＭ８０８のバンク１、バンク２の順にメモリリードリクエスト（図３（Ｂ）３０２，３０３）が出力されているとする。ブロック８０４からメモリリードリクエスト３０２，３０３が出力されると、調停回路１０１はリクエスト受信ブロック１２０１でメモリリクエストとメモリアドレスを受け取る。バンク判断手段１２０２で、メモリ制御装置１０５がアクセス中の後半の８バイトのバンクアクセスデータを読み出すバンク１へのメモリアクセス３０１とブロック８０４から出力された前半の８バイトのバンクアクセスデータを読み出すメモリリードリクエスト３０２が同一のバンクへのメモリアクセス要求であると判断し、リクエスト受信ブロック１２０１が許可信号生成ブロック１００５に、ブロック８０４に対する許可信号を生成するよう指示する。さらに、リクエスト受信ブロック１２０１は、前半の８バイトのバンクアクセスデータを読み出すメモリリリードクエスト３０２と後半の８バイトのバンクアクセスデータを読み出すメモリリードリクエスト３０３のメモリアクセスの順序を入れ替えて、後半の８バイトのバンクアクセスデータを読み出すメモリリードリクエスト３０３に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０４にメモリアクセス許可信号（図３（Ｂ））を返信する（アクセス順序変換処理）。
【０１０３】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１００１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。
【０１０４】
アドレス生成ブロック１０３が調停回路１０１から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック８０４からのメモリアドレスを受け取り、メモリアクセスの順序を入れ替えてＳＤＲＡＭ８０８に出力する。コマンド生成ブロック１０２が調停回路１０１から出力されたコマンド生成制御信号に基づき、バンク２へのメモリリードアクセス３０４を実行後、バンク１へのメモリリードアクセス３０５を実行する。
【０１０５】
ＳＤＲＡＭ８０８は、コマンド生成ブロック１０２から出力されたメモリコマンドと、アドレス生成ブロック１０３から出力されたメモリアドレスに基づき、ＳＤＲＡＭ８０８からＤ２０，Ｄ２１の８バイトのバンクアクセスデータ３０６と、Ｄ１０，Ｄ１１の８バイトのバンクアクセスデータ３０７を読み出す。
【０１０６】
データラッチブロック１０４は、調停回路１０１で入れ替えたアクセス順（バンク２へのアクセス後、バンク１へのアクセス）にＳＤＲＡＭ８０８から読み出したバンクアクセスデータ３０６，３０７をリードデータラッチブロック１３０３でラッチし、データ入れ替えブロック１３０２で調停回路１０１から出力されたデータラッチ制御信号に基づいて、ブロック８０４からメモリリクエスト３０２，３０３が出力された元のアクセス順（バンク１へのアクセス後、バンク２へのアクセス）にＳＤＲＡＭ８０８から読み出したバンクアクセスデータ３０６，３０７を入れ替えてブロック８０４に出力する（読み出しデータ順序変換処理）。
【０１０７】
以上のような構成にしたため、ＳＤＲＡＭ８０８に対してメモリ制御装置１０５がアクセス中の後半のバンクと次にアクセスするブロックからのメモリアクセス要求の前半のアクセスの対象となるバンクが同一である場合は、調停回路１０１が前半のアクセスと後半のアクセスの順序を入れ替えて、異なるバンクに連続してアクセスできるようにすることにより、ＳＤＲＡＭ８０８にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
【０１０８】
また、メモリアドレスを生成する複数のブロックは、前記メモリ制御装置がアクセス中のバンクを意識することなくメモリアドレスを生成することができる。
また、ＳＤＲＡＭ８０８に対するバンクアクセスデータのアクセス順序を変更した場合でも、ＳＤＲＡＭ８０８から１６バイトのブロックアクセスデータを読み出してデータラッチブロック１０４に格納するとともに格納したバンクアクセスデータをＳＤＲＡＭ８０８から読み出した順序と逆の順序で、メモリアクセスを行ったブロックに対してデータラッチブロック１０４が転送することにより、メモリアクセス要求を行ったブロックはバンクを意識することなくＳＤＲＡＭ８０８から読み出したブロックアクセスデータを受け取ることができる。
【０１０９】
この実施の形態２では、ＳＤＲＡＭ８０８が「バースト長」＝”２”に設定されている場合を一例として説明したが、例えば、「バースト長」＝”４”，”８”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１１０】
また、この実施の形態２では、ＳＤＲＡＭ８０８が「ＣＡＳレイテンシ」＝”３”に設定されている場合を一例として説明したが、例えば、「ＣＡＳレイテンシ」＝”２”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１１１】
また、この実施の形態２では、実施の形態１と同様にメモリアクセス優先順位指定手段１００３を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも同様の効果が得られる。
【０１１２】
なお、この実施の形態２では、メモリをＳＤＲＡＭ８０８という例で説明したが、ＳＤＲＡＭに限らず他の同期式メモリについても同様の効果が得られる。
（実施の形態３）
以下に、第１５ないし第１９の本発明の実施の形態について、図１及び図４及び図１２を用いて説明する。図４は実施の形態３の主要な信号のタイミングチャート、図１２は実施の形態３の調停回路を示すブロック図である。
【０１１３】
メモリ制御装置１０５の構成に関しては、実施の形態１の構成（図１）と同様なので図番を同じくして説明は省略する。
前記調停回路１０１は、図１、図１２に示すように前記複数ブロック８０４，８０５，８０６からのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスのデータ単位を判断するデータ単位判断手段１４０２を含み、許可信号の生成を指示するリクエスト受信ブロック１４０１と、前記複数ブロック８０４，８０５，８０６からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段１００３と、前記複数ブロックからのメモリアクセス要求がバンクアクセスデータ単位の場合に設ける待ちサイクル数を指定するウェイトサイクル指定手段１４０３と、前記リクエスト受信ブロック１４０１からの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック１００５と、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロック１００６とで構成される。
【０１１４】
図４において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はブロック８０５から出力される調停回路１０１へのメモリリクエスト、
（Ｃ）は調停回路１０１から返信されるブロック８０５へのメモリアクセス許可信号、
（Ｄ）はブロック８０６から出力される調停回路１０１へのメモリリクエスト、
（Ｅ）は調停回路１０１から返信されるブロック８０６へのメモリアクセス許可信号、
（Ｆ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセスを示す。
４０１はメモリ制御装置１０５がアクセス中のバンク１へのメモリアクセス、
４０２はブロック８０５のバンク１へのメモリリクエスト、
４０３はブロック８０５のバンク１へのメモリアクセス、
４０４はメモリ制御装置１０５がアクセス中のバンク１へのメモリアクセス、
４０５はブロック８０６のバンク２へのメモリリクエスト、
４０６はブロック８０６のバンク２へのメモリアクセスである。
【０１１５】
本発明の実施の形態３のメモリ制御装置は、前述の実施の形態２の複数のブロック８０４，８０５，８０６からのメモリアクセス要求が異なるバンクに属する２組の８バイトのバンクアクセスデータによって構成される１６バイトのブロックアクセスデータ単位で行われていたのに対し、前記１６バイトのブロックアクセスデータ単位でメモリアクセス要求を行うブロックと８バイトのバンクアクセスデータ単体でメモリアクセス要求を行うブロックが存在する点が前述の実施の形態２とは異なっている。そのため、複数のブロック８０４，８０５，８０６のうち、前記バンクアクセスデータ単体でメモリアクセス要求が行われるブロック８０５，８０６からのメモリアクセス要求を調停回路１０１が許可した場合、前記リクエスト受信ブロック１４０１でウェイトサイクル指定手段１４０３に設定されたサイクル数だけ待ちサイクルを設け、前記バンクアクセスデータ単位のメモリアクセスのサイクル数が前記ブロックアクセスデータ単位のメモリアクセスのサイクル数と同じになるように制御する機能が実施の形態２とは異なっている。
【０１１６】
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定し、ウェイトサイクル指定手段１４０３にバイトアクセスデータ１つ分の待ちサイクル数を設定したとして、バイトアクセスデータ単体でメモリアクセスの要求を行うブロック８０５が調停回路１０１が直前にメモリアクセスを許可したバンクと同一のバンクからデータをリード（読み出し）する場合のメモリ制御装置１０５の動作について説明する。
【０１１７】
ブロック８０５がＳＤＲＡＭ８０８にアクセスする場合には、メモリ制御装置１０５を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック８０５から調停回路１０１にメモリリクエスト（図４（Ｂ））が出力されると、ＳＤＲＡＭ８０８に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路１０１がブロック８０５に対しメモリアクセス許可信号（図４（Ｃ））を返信する。ブロック８０５の前記メモリリクエストと同時に他のブロック（例えば、ブロック８０６）がメモリリクエスト（図４（Ｄ））を出力している場合には、ＳＤＲＡＭ８０８にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
【０１１８】
メモリ制御装置１０５がＳＤＲＡＭ８０８のバンク１に対しアクセス中（図４（Ｆ）４０１）でブロック８０５からＳＤＲＡＭ８０８のバンク１に対しメモリリードリクエスト（図４（Ｂ）４０２）が出力されているとする。ブロック８０５からメモリリードリクエスト（図４（Ｂ）４０２）が出力されると、調停回路１０１はリクエスト受信ブロック１４０１でメモリリクエストを受け取り、データ単位判断手段１４０２でブロック８０５からのメモリアクセス要求のデータ単位を判断し、許可信号生成ブロック１００５に、ブロック８０５に対する許可信号を生成するよう指示するとともに、ウェイトサイクル指定手段１４０３に設定したバイトアクセスデータ１つ分の待ちサイクル数を設けて、ブロック８０５のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０５にメモリアクセス許可信号（図４（Ｃ））を返信する（アクセスウェイト処理）。
【０１１９】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１４０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってＳＤＲＡＭ８０８に対しメモリアクセス４０３を実行する。
【０１２０】
すなわち、アドレス生成ブロック１０３が調停回路１０１から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック８０５からのメモリアドレスを受け取り、バンクアクセスデータ１つ分の待ちサイクルを設けてＳＤＲＡＭ８０８に出力する。コマンド生成ブロック１０２が調停回路１０１から出力されたコマンド生成制御信号に基づき、バンクアクセスデータ１つ分の待ちサイクルを設けてメモリアクセス４０３を実行する。
【０１２１】
次に、バイトアクセスデータ単体でメモリアクセスの要求を行うブロック８０６が、調停回路地１０１が直前にメモリアクセスを許可したバンクと異なるバンクからデータをリード（読み出し）する場合のメモリ制御装置１０５の動作について説明する。
【０１２２】
ブロック８０６がＳＤＲＡＭ８０８にアクセスする場合も、ブロック８０５がＳＤＲＡＭ８０８にアクセスする場合と同様にメモリ制御装置１０５を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック８０６から調停回路１０１にメモリリクエスト（図４（Ｄ））が出力されると、ＳＤＲＡＭ８０８に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路１０１がブロック８０６に対しメモリアクセス許可信号（図４（Ｅ））を返信する。ブロック８０６の前記メモリリクエストと同時に他のブロック（例えばブロック８０５）がメモリリクエスト（図４（Ｂ））を出力している場合には、ＳＤＲＡＭ８０８にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
【０１２３】
メモリ制御装置１０５がＳＤＲＡＭ８０８のバンク１に対しアクセス中（図４（Ｆ）４０４）でブロック８０６からＳＤＲＡＭ８０８のバンク２に対しメモリリードリクエスト（図４（Ｄ））４０５）が出力されているとする。ブロック８０６からメモリリードリクエスト（図４（Ｄ）４０５）が出力されると、調停回路１０１はリクエスト受信ブロック１４０１でメモリリクエストを受け取り、データ単位判断手段１４０２でブロック８０６からのメモリアクセス要求のデータ単位を判断し、許可信号生成ブロック１００５に、ブロック８０６に対する許可信号を生成するよう指示するとともに、ウェイトサイクル指定手段１４０３に設定したバイトアクセスデータ１つ分の待ちサイクル数を設けて、ブロック８０６のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０６にメモリアクセス許可信号（図４（Ｅ））を返信する（アクセスウェイト処理）。
【０１２４】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１４０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってＳＤＲＡＭ８０８に対しメモリリードアクセス４０６を実行する。
【０１２５】
アドレス生成ブロック１０３が調停回路１０１から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック８０６からのメモリアドレスを受け取り、バンクアクセスデータ１つ分の待ちサイクルを設けてＳＤＲＡＭ８０８に出力する。コマンド生成ブロック１０２が調停回路１０１から出力されたコマンド生成制御信号に基づき、バンクアクセスデータ１つ分の待ちサイクルを設けてメモリーアクセス４０６を実行する。
【０１２６】
以上のような構成にしたため、８バイトのバンクアクセスデータ単体のメモリアクセス要求を調停回路１０１が許可した場合は、ウェイトサイクル指定手段１４０３に設定したバイトアクセスデータ１つ分の待ちサイクル数を設けて、ブロック８０６のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示することにより、直前のメモリアクセスのバンクの影響を受けずメモリアクセスを実現することができ、かつ、バンクアクセスデータ単体でメモリアクセスを行うために必要な回路を削減することができる。
【０１２７】
この実施の形態３では、ＳＤＲＡＭ８０８が「バースト長」＝”２”に設定されている場合を一例として説明したが、例えば、「バースト長」＝”４”，”８”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１２８】
また、この実施の形態３では、ＳＤＲＡＭ８０８が「ＣＡＳレイテンシ」＝”３”に設定されている場合を一例として説明したが、例えば、「ＣＡＳレイテンシ」＝”２”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１２９】
また、この実施の形態３では、実施の形態１と同様にメモリアクセス優先順位指定手段１００３を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも同様の効果が得られる。
【０１３０】
また、この実施の形態３では、バンクアクセスデータ１つ分の待ちサイクルを設けるという例で説明したが、ウェイトサイクル指定手段１４０３を外部から設定可能な構成にして、待ちサイクル数を変更しても良く、その場合でも同様の効果が得られる。
【０１３１】
なお、この実施の形態３では、メモリをＳＤＲＡＭ８０８という例で説明したが、ＳＤＲＡＭに限らず他の同期式メモリについても同様の効果が得られる。
（実施の形態４）
以下に、第２０ないし第２６の本発明の実施の形態について、図１及び図５及び図１３及び図１４を用いて説明する。図５は実施の形態４の主要な信号のタイミングチャート、図１３は実施の形態４の調停回路を示すブロック図である。
【０１３２】
メモリ制御装置１０５の構成に関しては、実施の形態１の構成（図１）と同様なので図番を同じくして説明は省略する。
前記調停回路１０１は、図１、図１３に示すように複数ブロック８０４，８０５，８０６からのメモリリクエストを受け取り、受け取ったメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段１５０２を含み、許可信号の生成を指示するリクエスト受信ブロック１５０１と、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段１００３と、直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段１５０３と、前記リクエスト受信ブロックからの許可信号の生成を指示され、前記メモリへのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック１００５と、前記リクエスト受信ブロックからの制御信号の生成を指示され、各制御信号を生成する制御信号生成ブロック１００６とで構成される。
【０１３３】
図５において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はブロック８０４から出力される調停回路１０１へのメモリリクエスト、
（Ｃ）は調停回路１０１から返信されるブロック８０４へのメモリアクセス許可信号、
（Ｄ）はブロック８０５から出力される調停回路１０１へのメモリリクエスト、
（Ｅ）は調停回路１０１から返信されるブロック８０５へのメモリアクセス許可信号、
（Ｆ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセスを示す。
５０１はメモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス、
５０２はブロック８０４のバンク２へのメモリライトリクエスト、
５０３はブロック８０５のバンク０へのメモリリードリクエスト、
５０４はブロック８０５のバンク０へのメモリリードアクセス、
５０５はブロック８０４のバンク２へのメモリライトアクセスである。
【０１３４】
本発明の実施の形態４のメモリ制御装置は、前述の実施の形態１の調停回路１０１が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように複数のブロック８０４，８０５，８０６のメモリアクセスの優先順位を変更していたのに対し、調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に前記複数のブロックのメモリアクセスの優先順位を変更する機能が前述の実施の形態１とは異なっている。
【０１３５】
最初に、調停回路１０１が直前に許可したメモリアクセスがリードアクセスで、次のメモリアクセス要求にリードアクセスが存在する場合について説明する。
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定したとして、ブロック８０４がＳＤＲＡＭ８０８にデータをライト（書き込み）する場合のメモリ制御装置１０５の動作について説明する。
【０１３６】
ブロック８０４がＳＤＲＡＭ８０８にアクセスする場合には、メモリ制御装置１０５を介して、メモリアドレス、データ、制御信号の受け渡しを行う。ブロック８０４から調停回路１０１にメモリリクエスト（図５（Ｂ））が出力されると、ＳＤＲＡＭ８０８に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路１０１がブロック８０４に対しメモリアクセス許可信号（図５（Ｃ））を返信する。ブロック８０４の前記メモリリクエストと同時に他のブロック（ブロック８０５，８０６）がメモリリクエスト（図５（Ｄ））を出力している場合には、ＳＤＲＡＭ８０８にアクセスする優先順位に従って優先順位の高いブロックに対しメモリアクセス許可信号を返信する。
【０１３７】
メモリ制御装置１０５がＳＤＲＡＭ８０８のバンク１に対しリードアクセス中（図５（Ｆ）５０１）でブロック８０４からＳＤＲＡＭ８０８のバンク２に対しメモリライトリクエスト（図５（Ｂ）５０２）が出力され、それと同時にブロック８０５からＳＤＲＡＭ８０８のバンク０に対しメモリリードリクエスト（図５（Ｄ）５０３）が出力されているとする。調停回路１０１はリクエスト受信ブロック１５０１でブロック８０４，８０５から出力されているメモリリクエストを受け取り、アクセス要求判断手段１５０２で、直前に許可したリードアクセス（図５（Ｆ）５０１）と同じリードアクセス要求が、ブロック８０５から出力されている（図５（Ｄ）５０３）と判断し、許可信号生成ブロック１００５に、ブロック８０５に対する許可信号を生成するよう指示するとともに、ブロック８０５から出力されているＳＤＲＡＭ８０８のバンク０に対するメモリリードリクエスト５０３の優先順位をブロック８０４から出力されているバンク２へのメモリライトリクエストより上げて、ブロック８０５のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０５に対しメモリアクセス許可信号（図５（Ｅ））を返信する（リードアクセス優先処理）。
【０１３８】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１５０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってＳＤＲＡＭ８０８に対しメモリリードアクセス５０４を実行する。
【０１３９】
その後、ＳＤＲＡＭ８０８からデータを読み出す間待ちサイクルを設け、ブロック８０４のＳＤＲＡＭ８０８のバンク２に対するメモリライトリクエスト５０２を受け付け、ブロック８０４にメモリアクセス許可信号（図５（Ｃ））を返信し、ブロック８０４のバンク２へのメモリライトアクセス５０５を実行する。
【０１４０】
コマンド生成ブロック１０２及びアドレス生成ブロック１０３及びデータラッチブロック１０４の動作については、実施の形態１と同様なので省略する。
次に、調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に、リードアクセスの優先順位を上げる場合について説明する。
【０１４１】
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定し、ブロック８０４がバンク２にメモリライトリクエストを、ブロック８０５がバンク０にメモリリードリクエストを出力するとする。
【０１４２】
調停回路１０１が直前に許可したアクセスがリードアクセスで、メモリ制御装置１０５がバンク１にメモリリードアクセス中（図５（Ｆ）５０１）であるとき、アクセス要求判断手段１５０２は、直前のリードアクセスを許可した時点でライトアクセスの優先順位を下げる。ブロック８０４からＳＤＲＡＭ８０８のバンク２へのメモリライトリクエスト（図５（Ｂ）５０２）が出力され、それと同時にブロック８０５からバンク０へのメモリリードリクエスト（図５（Ｄ）５０３）が出力されると、リクエスト受信ブロック１５０１は許可信号生成ブロック１００５に、ブロック８０５に対する許可信号を生成するよう指示するとともに、ブロック８０５のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０５にメモリアクセス許可信号（図５（Ｅ））を返信する（リードアクセス優先処理）。
【０１４３】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１５０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってＳＤＲＡＭ８０８に対しメモリリードアクセス５０４を実行する。その後、ＳＤＲＡＭ８０８からデータを読み出す間待ちサイクルを設け、ブロック８０４のＳＤＲＡＭ８０８のバンク２に対するメモリライトリクエスト５０２を受け付け、ブロック８０５にメモリアクセス許可信号（図５（Ｃ））を返信し、ブロック８０４のバンク２へのメモリライトアクセス５０５を実行する。
【０１４４】
コマンド生成ブロック１０２及びアドレス生成ブロック１０３及びデータラッチブロック１０４の動作については、実施の形態１と同様なので省略する。
次に、調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックを選択する場合について図１４を用いて説明する。図１４は、実施の形態４において、調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に次にリードアクセスを許可する場合のタイミングチャートである。
【０１４５】
図１４において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はブロック８０４から出力される調停回路１０１へのメモリリクエスト、
（Ｃ）は調停回路１０１から返信されるブロック８０４へのメモリアクセス許可信号、
（Ｄ）はブロック８０５から出力される調停回路１０１へのメモリリクエスト、
（Ｅ）は調停回路１０１から返信されるブロック８０５へのメモリアクセス許可信号、
（Ｆ）はブロック８０６から出力される調停回路１０１へのメモリリクエスト、
（Ｇ）は調停回路１０１から返信されるブロック８０６へのメモリアクセス許可信号、
（Ｈ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセスを示す。
１６０１はメモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス、
１６０２はブロック８０６のバンク０へのメモリリードアクセス、
１６０３はブロック８０４のバンク２へのメモリライトアクセス、
１６０４はブロック８０５のバンク１へのメモリリードアクセスである。
【０１４６】
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定し、直前に許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック８０６，８０５，８０４の順に優先順位が高いとリードアクセス時優先順位指定手段１５０３に設定し、ブロック８０４がバンク２にメモリライトリクエストを、ブロック８０５がバンク１にメモリリードリクエストを、ブロック８０６がバンク０にメモリリードリクエストを出力するとする。
【０１４７】
調停回路１０１が直前に許可したアクセスがバンク１へのメモリリードアクセスで、メモリ制御装置１０５がバンク１にメモリリードアクセス中（図１４（Ｈ）１６０１）であるとき、ブロック８０４からのＳＤＲＡＭ８０８のバンク２へのメモリライトリクエスト（図１４（Ｂ））が出力されると、調停回路１０１はリクエスト受信ブロック１５０１でブロック８０４，８０５，８０６から出力されているメモリリクエストを受け取り、アクセス要求判断手段１５０２で、直前に許可したリードアクセス（図１４（Ｈ）１６０１）と同じリードアクセス要求が、ブロック８０５，８０６から出力されている（図１４（Ｄ），（Ｆ））と判断し、リードアクセス時優先順位指定手段１５０３の設定に従って、許可信号生成ブロック１００５に、ブロック８０６に対する許可信号を生成するよう指示する。それとともに、ブロック８０６のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０６にメモリアクセス許可信号（図１４（Ｇ））を返信する（リードアクセス時優先順位変更処理）。
【０１４８】
アドレス生成ブロック１０３が調停回路１０１から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック８０６からのメモリアドレスを受け取り、ＳＤＲＡＭ８０８に出力する。コマンド生成ブロック１０２が調停回路１０１から出力されたコマンド生成制御信号に基づき、ＲＡＳ，ＣＡＳなどのメモリコマンドを生成し、前記メモリコマンドをＳＤＲＡＭ８０８に出力し、ブロック８０６のバンク０へのメモリリードアクセス１６０２を実行する。
【０１４９】
ブロック８０６のバンク０へのメモリリードアクセス１６０２が終わると、メモリアクセスを許可する優先順位に従って、ブロック８０４のバンク２へのメモリライトアクセス１６０３を実行し、続いてブロック８０５のバンク１へのメモリリードアクセス１６０４を実行する。
【０１５０】
以上のような構成にしたため、ＳＤＲＡＭ８０８に対してメモリ制御装置１０５がメモリリードアクセス中の場合は、調停回路１０１がリードアクセスの優先順位を上げて、連続してリードアクセスが行われるようにメモリアクセス要求の優先順位を変更することにより、ＳＤＲＡＭ８０８にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
【０１５１】
この実施の形態４では、ＳＤＲＡＭ８０８が「バースト長」＝”２”に設定されている場合を一例として説明したが、例えば、「バースト長」＝”４”，”８”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１５２】
また、この実施の形態４では、ＳＤＲＡＭ８０８が「ＣＡＳレイテンシ」＝”３”に設定されている場合を一例として説明したが、例えば、「ＣＡＳレイテンシ」＝”２”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１５３】
また、この実施の形態４では、実施の形態１と同様にメモリアクセス優先順位指定手段１００３を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも同様の効果が得られる。
【０１５４】
なお、この実施の形態４では、直前にアクセスを許可したメモリアクセスがリードアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック８０６，８０５，８０４の順に優先順位が高いという例で説明したが、リードアクセス時優先順位指定手段１５０３を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも同様の効果が得られる。
【０１５５】
なお、この実施の形態４では、メモリをＳＤＲＡＭ８０８という例で説明したが、ＳＤＲＡＭに限らず他の同期式メモリについても同様の効果が得られる。
（実施の形態５）
以下に、第２７ないし第３３の本発明の実施の形態について、図６及び図７及び図１５及び図１６を用いて説明する。図６は、本発明におけるメモリ制御装置を示すブロック図、図７は、実施の形態５の主要な信号のタイミングチャート、図１５は実施の形態５の調停回路を示すブロック図である。
【０１５６】
図６において、このメモリ制御装置１０５は調停回路１０１，コマンド生成ブロック１０２，アドレス生成ブロック１０３，データラッチブロック１０４については実施の形態１の構成と同じであり、説明を省略する。この実施の形態５は、ＳＤＲＡＭ８０８の内部データを保持するために一定時間毎に調停回路１０１に対し、リフレッシュ要求信号を出力するリフレッシュ要求ブロック６０１を有する。
【０１５７】
前記調停回路１０１は、図１５に示すように前記リフレッシュ要求ブロック６０１からのリフレッシュ要求と前記複数ブロック８０４，８０５，８０６からのメモリリクエストを受け取り、受け取ったリフレッシュ要求とメモリリクエストから要求されたメモリアクセスの種類を判断するアクセス要求判断手段１５０２を含み、許可信号の生成を指示するリクエスト受信ブロック１７０１と、前記複数ブロックからのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段１００３と、前記リフレッシュ要求ブロックからリフレッシュ要求が出力され、前記調停回路が直前に許可したメモリアクセスがライトアクセスの場合に、次にメモリへのアクセスを許可するブロックを選択するライトアクセス時優先順位指定手段１７０２と、前記リクエスト受信ブロック１７０１からの許可信号の生成を指示され、前記ＳＤＲＡＭ８０８へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック１００５と、前記リクエスト受信ブロック１７０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック１００６とで構成される。
【０１５８】
図７において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はリフレッシュ要求ブロック６０１から出力されるリフレッシュ要求信号、
（Ｃ）は調停回路１０１からリフレッシュ要求ブロック６０１へリフレッシュ許可信号、
（Ｄ）はブロック８０４から出力される調停回路１０１へのメモリリクエスト、
（Ｅ）は調停回路１０１から返信されるブロック８０４へのメモリアクセス許可信号、
（Ｆ）はブロック８０５から出力される調停回路１０１へのメモリリクエスト、
（Ｇ）は調停回路１０１から返信されるブロック８０５へのメモリアクセス許可信号、
（Ｈ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセスを示す。
７０１はメモリ制御装置１０５がアクセス中のバンク１へのメモリライトアクセス、
７０２はブロック８０４のバンク１へのメモリリードアクセス、
７０３はリフレッシュ要求ブロック６０１のリフレッシュ動作、
７０４はブロック８０５のバンク０へのメモリリードアクセスである。
【０１５９】
本発明の実施の形態５のメモリ制御装置は、前述の実施の形態４の調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に前記複数のブロックのメモリアクセスの優先順位を変更していたのに対し、直前に許可したメモリアクセスがライトアクセスの場合に、前記複数のブロックのメモリアクセスの優先順位を変更する機能が前述の実施の形態４とは異なっている。
【０１６０】
最初に、調停回路１０１が直前に許可したメモリアクセスがライトアクセスで、リフレッシュ要求ブロックからリフレッシュ要求が出力された場合について説明する。
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をリフレッシュ要求ブロック６０１，ブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定したとして、リフレッシュ要求ブロック６０１がＳＤＲＡＭ８０８に対しリフレッシュ動作を実行する場合のメモリ制御装置１０５の動作について説明する。
【０１６１】
リフレッシュ要求ブロック６０１がＳＤＲＡＭ８０８にアクセスする場合には、メモリ制御装置１０５を介して、制御信号の受け渡しを行う。リフレッシュ要求ブロック６０１から調停回路１０１にリフレッシュ要求信号（図７（Ｂ））が出力されると、ＳＤＲＡＭ８０８に対するメモリリクエストを出力しているブロックが他に存在しなければ調停回路１０１がリフレッシュ要求ブロック６０１に対し、リフレッシュ許可信号（図７（Ｃ））を返信する。リフレッシュ要求ブロック６０１の前記リフレッシュ要求信号と同時に他のブロック（ブロック８０４，８０５，８０６）がメモリリクエスト（図７（Ｄ），（Ｆ））を出力している場合には、ＳＤＲＡＭ８０８にアクセスする優先順位に従って優先順位の高いブロックに対し許可信号を返信する。
【０１６２】
メモリ制御装置１０５がＳＤＲＡＭ８０８のバンク０に対しライトアクセス中（図７（Ｈ）７０１）でリフレッシュ要求ブロック６０１からリフレッシュ要求信号（図７（Ｂ））が出力され、それと同時にブロック８０４からバンク１へのメモリリードリクエスト（図７（Ｄ））と、ブロック８０５からバンク０へのメモリリードリクエスト（図７（Ｆ））が出力されているとする。調停回路１０１はリクエスト受信ブロック１７０１でリフレッシュ要求ブロック６０１から出力されているリフレッシュ要求とブロック８０４，８０５から出力されているメモリリクエストを受け取り、アクセス要求判断手段１５０２で、リフレッシュ要求（図７（Ｂ））が出力されていると判断し、許可信号生成ブロック１００５に、ブロック８０４に対する許可信号を生成するよう指示するとともに、リフレッシュ要求ブロックから出力されているリフレッシュ要求の優先順位を下げて、ブロック８０４のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０４に対しメモリアクセス許可信号（図７（Ｅ））を返信する（リフレッシュ順序変更処理）。
【０１６３】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１７０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってＳＤＲＡＭ８０８に対しメモリリードアクセス７０２を実行する。
【０１６４】
その後、ＳＤＲＡＭ８０８に対しリフレッシュ動作７０３を実行し、リフレッシュ動作が終了すると、ブロック８０５から出力されているＳＤＲＡＭ８０８のバンク０に対するメモリリードリクエスト（図７（Ｆ））を受け付け、ブロック８０５に対しメモリアクセス許可信号（図７（Ｇ））を返信し、ブロック８０５のバンク０へのメモリリードアクセス７０４を実行する。
【０１６５】
コマンド生成ブロック１０２及びアドレス生成ブロック１０３及びデータラッチブロック１０４の動作については、実施の形態１と同様なので省略する。
次に、調停回路１０１が直前に許可したメモリアクセスがライトアクセスの場合に、リフレッシュ要求の優先順位を下げる場合について説明する。
【０１６６】
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定し、リフレッシュ要求ブロック６０１からリフレッシュ要求信号が出力され、ブロック８０４がバンク１へのメモリリードリクエストを、ブロック８０５がバンク０へのメモリリードリクエストを出力するとする。
【０１６７】
調停回路１０１が直前に許可したアクセスがライトアクセスで、メモリ制御装置１０５がバンク０にメモリライトアクセス中（図７（Ｈ）７０１）であるとき、アクセス要求判断手段１５０２では、直前のライトアクセスを許可した時点でリフレッシュ要求の優先順位を下げる。ブロック８０４からＳＤＲＡＭ８０８のバンク１へのメモリライトリクエスト（図７（Ｄ））が出力され、それと同時にブロック８０５からバンク０へのメモリリードリクエスト（図７（Ｆ））が出力されると、リクエスト受信ブロック１７０１は許可信号生成ブロック１００５に、ブロック８０４に対する許可信号を生成するよう指示する。それとともに、ブロック８０４のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０４にメモリアクセス許可信号（図７（Ｅ））を返信する（リフレッシュ順序変更処理）。
【０１６８】
制御信号生成ブロック１００６は前記リクエスト受信ブロック１７０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する。生成された制御信号に従ってＳＤＲＡＭ８０８に対しメモリリードアクセス７０２を実行する。
【０１６９】
その後、ＳＤＲＡＭ８０８に対しリフレッシュ動作７０３を実行し、リフレッシュ動作が終了すると、ブロック８０５から出力されているＳＤＲＡＭ８０８のバンク０に対するメモリリードリクエスト（図７（Ｆ））を受け付け、ブロック８０５に対しメモリアクセス許可信号（図７（Ｇ））を返信し、ブロック８０５のバンク０へのメモリリードアクセス７０４を実行する。
【０１７０】
コマンド生成ブロック１０２及びアドレス生成ブロック１０３及びデータラッチブロック１０４の動作については、実施の形態１と同様なので省略する。
次に、調停回路１０１が直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックを選択する場合について図１６を用いて説明する。図１６は、実施の形態５において、直前に許可したメモリアクセスがライトアクセスの場合に次にリードアクセスを許可する場合のタイミングチャートである。
【０１７１】
図１６において、
（Ａ）はＳＤＲＡＭ８０８が動作するクロック、
（Ｂ）はリフレッシュ要求ブロック６０１から出力されるリフレッシュ要求信号、
（Ｃ）は調停回路１０１からリフレッシュ要求ブロック６０１へリフレッシュ許可信号、
（Ｄ）はブロック８０４から出力される調停回路１０１へのメモリリクエスト、
（Ｅ）は調停回路１０１から返信されるブロック８０４へのメモリアクセス許可信号、
（Ｆ）はブロック８０５から出力される調停回路１０１へのメモリリクエスト、
（Ｇ）は調停回路１０１から返信されるブロック８０５へのメモリアクセス許可信号、
（Ｈ）はメモリ制御装置１０５がＳＤＲＡＭ８０８に対し実行しているメモリアクセスを示す。
１８０１はメモリ制御装置１０５がアクセス中のバンク０へのメモリライトアクセス、
１８０２はブロック８０５のバンク２へのメモリリードアクセス、
１８０３はリフレッシュ要求ブロック６０１のリフレッシュ動作、
１８０４はブロック８０４のバンク１へのメモリリードアクセスである。
【０１７２】
以下、ＳＤＲＡＭ８０８に備えられているモード設定を「ＣＡＳレイテンシ」＝”３”、「バースト長」＝”２”と設定し、ＳＤＲＡＭ８０８に対する優先順位をリフレッシュ要求ブロック６０１、ブロック８０４，８０５，８０６の順に優先順位が高いとメモリアクセス優先順位指定手段１００３に設定し、直前に許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック８０６，８０５，８０４，リフレッシュ要求ブロック６０１の順に優先順位が高いとライトアクセス時優先順位指定手段１７０２に設定する。そして、リフレッシュ要求ブロック６０１がリフレッシュ要求を、ブロック８０４がバンク１にメモリリードリクエストを、ブロック８０５がバンク２にメモリリードリクエストを出力するとする。
【０１７３】
調停回路１０１が直前に許可したアクセスがバンク０へのメモリライトアクセスで、メモリ制御装置１０５がバンク０にメモリライトアクセス中（図１６（Ｈ）１８０１）であるとき、調停回路１０１はリクエスト受信ブロック１７０１でリフレッシュ要求ブロック６０１から出力されているリフレッシュ要求信号と、ブロック８０４，８０５，８０６から出力されているメモリリクエストを受け取り、アクセス要求判断手段１５０２で、リフレッシュ要求（図１６（Ｂ））と、ブロック８０４，８０５からリードリクエストが出力されている（図１６（Ｄ），（Ｆ））と判断し、ライトアクセス時優先順位指定手段１７０２の設定に従って、許可信号生成ブロック１００５に、ブロック８０５に対する許可信号を生成するよう指示する。それとともに、ブロック８０５のメモリアクセス要求に対する制御信号を生成するよう制御信号生成ブロック１００６に指示する。許可信号生成ブロック１００５はブロック８０５にメモリアクセス許可信号（図１６（Ｇ））を返信する（ライトアクセス時優先順位変更処理）。
【０１７４】
アドレス生成ブロック１０３が調停回路１０１から出力されたアドレス生成制御信号に基づき、アクセスを許可されたブロック８０５からのメモリアドレスを受け取り、ＳＤＲＡＭ８０８に出力する。コマンド生成ブロック１０２が調停回路１０１から出力されたコマンド生成制御信号に基づき、ＲＡＳ，ＣＡＳなどのメモリコマンドを生成し、前記メモリコマンドをＳＤＲＡＭ８０８に出力し、ブロック８０５のバンク２へのメモリリードアクセス１８０２を実行する。
【０１７５】
ブロック８０５のバンク２へのメモリリードアクセス１８０２が終わると、メモリアクセスを許可する優先順位に従って、リフレッシュ要求ブロック６０１のリフレッシュ動作１８０３を実行し、ブロック８０４のバンク１へのメモリリードアクセス１６０４を実行する。
【０１７６】
以上のような構成にしたため、ＳＤＲＡＭ８０８に対してメモリ制御装置１０５がメモリライトアクセス中の場合は、調停回路１０１がライトアクセスの後のリフレッシュ動作の優先順位を下げて、他のブロックからのリードアクセス要求を受け付けることにより、ＳＤＲＡＭ８０８にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
【０１７７】
この実施の形態５では、ＳＤＲＡＭ８０８が「バースト長」＝”２”に設定されている場合を一例として説明したが、例えば、「バースト長」＝”４”，”８”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１７８】
また、この実施の形態５では、ＳＤＲＡＭ８０８が「ＣＡＳレイテンシ」＝”３”に設定されている場合を一例として説明したが、例えば、「ＣＡＳレイテンシ」＝”２”，その他の値に設定されている場合にも、同様の効果が得られる。
【０１７９】
また、この実施の形態５では、実施の形態１と同様にメモリアクセス優先順位指定手段１００３を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも同様の効果が得られる。
【０１８０】
なお、この実施の形態５では、直前にアクセスを許可したメモリアクセスがライトアクセスの場合に、次にリードアクセスを許可するブロックの優先順位をブロック８０６，８０５，８０４の順に優先順位が高いという例で説明したが、ライトアクセス時優先順位指定手段１７０２を外部から設定可能な構成にして、ブロック８０４，８０５，８０６の優先順位を変更しても良く、その場合でも同様の効果が得られる。
【０１８１】
なお、この実施の形態５では、メモリをＳＤＲＡＭ８０８という例で説明したが、ＳＤＲＡＭに限らず他の同期式メモリについても同様の効果が得られる。
（実施の形態６）
以下に、第３４ないし第４０の本発明の実施の形態について、図１及び図１７を用いて説明する。図１７は実施の形態６における調停回路を示すブロック図である。
【０１８２】
メモリ制御装置１０５の構成に関しては、実施の形態１の構成（図１）と同様なので図番を同じくして説明は省略する。
調停回路１０１は、図１、図１７に示すように前記複数ブロック８０４，８０５，８０６からのメモリリクエストとメモリアドレスを受け取り、許可信号の生成を指示するリクエスト受信ブロック１９０１が、実施の形態１及び実施の形態４で説明したバンク判断手段１００２とアクセス要求判断手段１５０２を含むよう構成されており、前記複数ブロック８０４，８０５，８０６からのメモリアクセスの優先順位を指定するメモリアクセス優先順位指定手段１００３と、前記複数ブロック８０４，８０５，８０６からのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に、メモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段１９０２と、前記調停方法指定手段１９０２の設定がバンク優先の場合に、次にアクセスを許可するブロックを選択する同一バンク時優先順位指定手段１００４と、前記調停方法指定手段１９０２の設定がアクセス優先の場合に、次にリードアクセスを許可するブロックを選択するリードアクセス時優先順位指定手段１５０３と、前記リクエスト受信ブロック１９０１からの許可信号の生成を指示され、前記ＳＤＲＡＭ８０８へのアクセスを許可したブロックに許可信号を出力する許可信号生成ブロック１００５と、前記リクエスト受信ブロック１９０１からの制御信号の生成を指示され、コマンド生成制御信号及びアドレス生成制御信号及びデータラッチ制御信号を生成する制御信号生成ブロック１００６とで構成される。
【０１８３】
本発明の実施の形態６のメモリ制御装置は、前述の実施の形態１の調停回路１０１が直前にメモリアクセスを許可したバンクとは異なるバンクにアクセスするように複数のブロック８０４，８０５，８０６のメモリアクセスの優先順位を変更する。また、前述の実施の形態４の調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に前記複数のブロックのメモリアクセスの優先順位を変更していたのに対し、調停回路１０１がメモリアクセスの優先順位を変更するための調停方法を指定する調停方法指定手段１９０２を持ち、前記複数ブロック８０４，８０５，８０６からのメモリアクセス要求が直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、前記調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合でも、前記調停方法指定手段１９０２の設定に従って調停方法を指定する機能が前述の実施の形態１及び実施の形態４とは異なっている。
【０１８４】
前記調停方法指定手段１９０２の設定がバンク優先の場合には、リクエスト受信ブロック１９０１はバンク判断手段１００２を用いて、前述の実施の形態１と同様に同一バンクが連続しないようにメモリアクセスの優先順位を変更する。
【０１８５】
また、前記調停方法指定手段１９０２の設定がアクセス優先の場合にはリクエスト受信ブロック１９０１はアクセス要求手段１５０２を用いて、前述の実施の形態４と同様にリードアクセスが連続するようにメモリアクセスの優先順位を変更する。
【０１８６】
以上のような構成にしたため、前記複数ブロック８０４，８０５，８０６からのメモリアクセス要求が、直前にアクセスしたバンクと同一バンクに対するアクセス要求でかつ、ＳＤＲＡＭ８０８に対してメモリ制御装置１０５がメモリリードアクセス中の場合でも、調停回路１０１が同一のバンクに対するメモリアクセスを出力するブロックの優先順位を下げる。または、異なるバンクに対するメモリアクセス要求を出力しているブロックの優先順位を上げて、異なるバンクに連続してアクセスできるようにする。または、調停回路１０１がリードアクセスの優先順位を上げて、連続してリードアクセスが行われるようにメモリアクセス要求の優先順位を変更する。かかる作用により、ＳＤＲＡＭ８０８にアクセスできない待ちサイクルを解消して、処理時間を向上させることができる。
【０１８７】
この実施の形態６では、調停方法指定手段１９０２を外部から設定可能な構成にして、調停方法を変更しても良く、その場合でも同様の効果が得られる。
なお、この実施の形態６では、メモリをＳＤＲＡＭ８０８という例で説明したが、ＳＤＲＡＭに限らず他の同期式メモリについても同様の効果が得られる。
【図面の簡単な説明】
【０１８８】
【図１】本発明の実施の形態１におけるメモリ制御装置を示すブロック図
【図２】本発明の実施の形態１におけるメモリ制御装置の主要な信号のタイミングチャート
【図３】本発明の実施の形態２におけるメモリ制御装置の主要な信号のタイミングチャート
【図４】本発明の実施の形態３におけるメモリ制御装置の主要な信号のタイミングチャート
【図５】本発明の実施の形態４におけるメモリ制御装置の主要な信号のタイミングチャート
【図６】本発明の実施の形態５におけるメモリ制御装置を示すブロック図
【図７】本発明の実施の形態５におけるメモリ制御装置の主要な信号のタイミングチャート
【図８】実施の形態１における調停回路
【図９】本発明の実施の形態１において、同一バンクが連続した場合に次にアクセスを許可するブロックを選択する場合のタイミングチャート
【図１０】本発明の実施の形態２の調停回路１０１を示すブロック図
【図１１】本発明の実施の形態２のデータラッチブロック１０４を示すブロック図
【図１２】本発明の実施の形態３の調停回路を示すブロック図
【図１３】本発明の実施の形態４の調停回路を示すブロック図
【図１４】本発明の実施の形態４において、調停回路１０１が直前に許可したメモリアクセスがリードアクセスの場合に次にリードアクセスを許可する場合のタイミングチャート
【図１５】本発明の実施の形態５の調停回路を示すブロック図
【図１６】本発明の実施の形態５において、調停回路１０１が直前に許可したメモリアクセスがライトアクセスの場合に次にリードアクセスを許可する場合のタイミングチャート
【図１７】本発明の実施の形態６の調停回路を示すブロック図
【図１８】従来発明のメモリ制御装置の構成を示すブロック図
【図１９】従来発明のメモリ制御装置の主要な信号のタイミングチャート
【符号の説明】
【０１８９】
１０１  調停回路
１０２  コマンド生成ブロック
１０３  アドレス生成ブロック
１０４  データラッチブロック
１０５  メモリ制御装置
２０１  メモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス
２０２  ブロック８０５のバンク２へのメモリリードアクセス
２０３  ブロック８０４のバンク１へのメモリリードアクセス
２０４  ブロック８０６のバンク０へのメモリリードアクセス
３０１  メモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス
３０２  ブロック８０４のバンク１へのメモリリードリクエスト
３０３  ブロック８０４のバンク２へのメモリリードリクエスト
３０４  ブロック８０４のバンク２へのメモリリードアクセス
３０５  ブロック８０４のバンク１へのメモリリードアクセス
３０６  ＳＤＲＡＭ８０８のバンク２から読み出した８バイトのバンクリードデータ
３０７  ＳＤＲＡＭ８０８のバンク１から読み出した８バイトのバンクリードデータ
４０１  メモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス
４０２  ブロック８０５のバンク１へのメモリリードリクエスト
４０３  ブロック８０５のバンク１へのメモリリードアクセス
４０４  メモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス
４０５  ブロック８０６のバンク２へのメモリリードリクエスト
４０６  ブロック８０６のバンク２へのメモリリードアクセス
５０１  メモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス
５０２  ブロック８０４のバンク２へのメモリライトリクエスト
５０３  ブロック８０５のバンク０へのメモリリードリクエスト
５０４  ブロック８０５のバンク０へのメモリリードアクセス
５０５  ブロック８０４のバンク２へのメモリライトアクセス
６０１  リフレッシュ要求ブロック
７０１  メモリ制御装置１０５がアクセス中のバンク０へのメモリライトアクセス
７０２  ブロック８０４のバンク１へのメモリリードアクセス
７０３  リフレッシュ要求ブロック６０１のリフレッシュ動作
７０４  ブロック８０５のバンク０へのメモリリードアクセス
１００１  リクエスト受信ブロック
１００２  バンク判断手段
１００３  メモリアクセス優先順位指定手段
１００４  同一バンク時優先順位指定手段
１００５  許可信号生成ブロック
１００６  制御信号生成ブロック
１１０１  メモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス
１１０２  ブロック８０６のバンク０へのメモリリードアクセス
１１０３  ブロック８０４のバンク１へのメモリリードアクセス
１１０４  ブロック８０５のバンク２へのメモリリードアクセス
１２０１  リクエスト受信ブロック
１２０２  バンク判断手段
１３０１  ライトデータラッチブロック
１３０２  データ入れ替えブロック
１３０３  リードデータラッチブロック
１４０１  リクエスト受信ブロック
１４０２  データ単位判断手段
１４０３  ウェイトサイクル指定手段
１５０１  リクエスト受信ブロック
１５０２  アクセス要求判断手段
１５０３  リードアクセス時優先順位指定手段
１６０１  メモリ制御装置１０５がアクセス中のバンク１へのメモリリードアクセス
１６０２  ブロック８０６のバンク０へのメモリリードアクセス
１６０３  ブロック８０４のバンク２へのメモリライトアクセス
１６０４  ブロック８０５のバンク１へのメモリリードアクセス
１７０１  リクエスト受信ブロック
１７０２  ライトアクセス時優先順位指定手段
１８０１  メモリ制御装置１０５がアクセス中のバンク０へのメモリライトアクセス
１８０２  ブロック８０５のバンク２へのメモリリードアクセス
１８０３  リフレッシュ要求ブロック６０１のリフレッシュ動作
１８０４  ブロック８０４のバンク１へのメモリリードアクセス
１９０１  リクエスト受信ブロック
１９０２  調停方法指定手段
【図１】
2004252960.tif 000003
【図２】
2004252960.tif 000004
【図３】
2004252960.tif 000005
【図４】
2004252960.tif 000006
【図５】
2004252960.tif 000007
【図６】
2004252960.tif 000008
【図７】
2004252960.tif 000009
【図８】
2004252960.tif 000010
【図９】
2004252960.tif 000011
【図１０】
2004252960.tif 000012
【図１１】
2004252960.tif 000013
【図１２】
2004252960.tif 000014
【図１３】
2004252960.tif 000015
【図１４】
2004252960.tif 000016
【図１５】
2004252960.tif 000017
【図１６】
2004252960.tif 000018
【図１７】
2004252960.tif 000019
【図１８】
2004252960.tif 000020
【図１９】
2004252960.tif 000021