(57)【要約】【構成】ステータス管理回路２６は、互いに異なる優先度を各々が有する複数のバッファ回路１４ａ〜１４ｃから発行された１または２以上のアクセス要求を受け付ける。デコーダ２４は、ステータス管理回路２６によって受け付けられた１または２以上のアクセス要求が緊急アクセス要求を含むか否かを繰り返し判別する。判別結果が否定的であれば、デコーダ２４は、ステータス管理回路２６によって受け付けられた１または２以上のアクセス要求のうちより上位の優先度に対応するアクセス要求を承認する。これに対して、判別結果が肯定的であれば、デコーダ２４は緊急アクセス要求を承認する。【効果】複数のアクセス要求の並列的な発行に起因するアクセス処理の破綻を回避することができる。【選択図】図２
2010272029.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる優先度を各々が有する複数のアクセス要求回路から発行された１または２以上のデータアクセス要求を受け付ける受け付け手段、
前記受け付け手段によって受け付けられた１または２以上のデータアクセス要求が緊急データアクセス要求を含むか否かを繰り返し判別する判別手段、
前記判別手段の判別結果が否定的であるとき前記受け付け手段によって受け付けられた１または２以上のデータアクセス要求のうちより上位の優先度に対応するデータアクセス要求を承認する第１承認手段、および
前記判別手段の判別結果が肯定的であるとき前記緊急データアクセス要求を承認する第２承認手段を備える、アクセス制御回路。
【請求項２】
前記複数のアクセス要求回路の各々は、アクセスデータを一時的に保持するバッファメモリ、および前記バッファメモリの空き容量が基準に達するまでの猶予時間を測定する測定手段を含み、
前記判別手段は前記１または２以上のデータアクセス要求の各々の緊急度を前記測定手段によって測定された猶予時間を参照して算出する算出手段を含む、請求項１記載のアクセス制御回路。
【請求項３】
前記受け付け手段によって受け付けられる１または２以上のデータアクセス要求はバーストアクセス方式を採用するメモリに対するデータアクセス要求に相当し、
前記算出手段は注目するデータアクセス要求に従うアクセス動作のオーバヘッドおよびバースト長をさらに参照して算出処理を実行する、請求項２記載のアクセス制御回路。
【請求項４】
前記第１承認手段および前記第２承認手段の各々によって承認されたデータアクセス要求に従うデータアクセス処理を実行するアクセス処理手段をさらに備える、請求項１ないし３のいずれかに記載のアクセス制御回路。
【請求項５】
前記判別手段は前記アクセス処理手段によるデータアクセス処理が中断されているときに前記受け付け手段の受け付け状態を検出する検出手段をさらに含む、請求項４記載のアクセス制御回路。
【請求項６】
請求項１ないし５のいずれかに記載のアクセス制御回路を備える、データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アクセス制御回路に関し、特に、互いに異なる優先度を各々が有する複数のアクセス要求回路から発行された１または２以上のアクセス要求に従うアクセス処理を制御する、アクセス制御回路に関する。
【背景技術】
【０００２】
この種の回路の一例が、特許文献１に開示されている。この背景技術によれば、複数のアクセス要求を調停するにあたって、リフレッシュ要求の優先順位は如何なるときも入力データ書込要求の優先順位より低くされる。したがって、入力データ書込要求は、リフレッシュ処理の途中でも許可され、これによって入力データの欠落等によるシステムの破綻が回避される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１３５４４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、背景技術では、入力データ書込要求のようなデータアクセス要求が複数の要求元から並列的に発行されることはなく、並列する複数のデータアクセス要求の間で優先順位が切り換えられることはない。このため、複数のデータアクセス要求が並列的に発行されたとき、背景技術ではデータアクセス処理が破綻するおそれがある。
【０００５】
それゆえに、この発明の主たる目的は、複数のデータアクセス要求の並列的な発行に起因するデータアクセス処理の破綻を回避することができる、アクセス制御回路を提供することである。
【課題を解決するための手段】
【０００６】
この発明に従うアクセス制御回路(12：実施例で相当する参照符号。以下同じ)は、互いに異なる優先度を各々が有する複数のアクセス要求回路から発行された１または２以上のデータアクセス要求を受け付ける受け付け手段(26)、受け付け手段によって受け付けられた１または２以上のデータアクセス要求が緊急データアクセス要求を含むか否かを繰り返し判別する判別手段(S1~S15)、判別手段の判別結果が否定的であるとき受け付け手段によって受け付けられた１または２以上のデータアクセス要求のうちより上位の優先度に対応するデータアクセス要求を承認する第１承認手段(S19~S21)、および判別手段の判別結果が肯定的であるとき緊急データアクセス要求を承認する第２承認手段(S17)を備える。
【０００７】
好ましくは、複数のアクセス要求回路の各々は、アクセスデータを一時的に保持するバッファメモリ(144)、およびバッファメモリの空き容量が基準に達するまでの猶予時間を測定する測定手段(142)を含み、判別手段は１または２以上のデータアクセス要求の各々の緊急度を測定手段によって測定された猶予時間を参照して算出する算出手段(S9)を含む。
【０００８】
さらに好ましくは、受け付け手段によって受け付けられる１または２以上のデータアクセス要求はバーストアクセス方式を採用するメモリ(16)に対するデータアクセス要求に相当し、算出手段は注目するデータアクセス要求に従うアクセス動作のオーバヘッドおよびバースト長をさらに参照して算出処理を実行する。
【０００９】
好ましくは、第１承認手段および第２承認手段の各々によって承認されたデータアクセス要求に従うデータアクセス処理を実行するアクセス処理手段(20, 22)がさらに備えられる。
【００１０】
さらに好ましくは、判別手段はアクセス処理手段によるデータアクセス処理が中断されているときに受け付け手段の受け付け状態を検出する検出手段(S1)をさらに含む。
【００１１】
好ましくは、上述のアクセス制御回路はデータ処理装置(10)に設けられる。
【発明の効果】
【００１２】
この発明によれば、緊急データアクセス要求を受け付けたときは、優先度に関わらず、緊急データアクセス要求が承認される。これによって、複数のデータアクセス要求の並列的な発行に起因するデータアクセス処理の破綻を回避することができる。
【００１３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１４】
【図１】この発明の基本的構成を示すブロック図である。
【図２】この発明の一実施例の構成を示すブロック図である。
【図３】図２実施例に適用されるバッファ回路の構成の一例を示すブロック図である。
【図４】図２実施例によって参照されるレジスタの構成の一例を示す図解図である。
【図５】（Ａ）はクロックの一例を示す波形図であり、（Ｂ）はバッファ回路１４ａから出力されたアクセス要求の一例を示す波形図であり、（Ｃ）はバッファ回路１４ａから出力されたカウント値の一例を示す図解図であり、（Ｄ）はバッファ回路１４ｂから出力されたアクセス要求の一例を示す波形図であり、（Ｅ）はバッファ回路１４ｂから出力されたカウント値の一例を示す図解図であり、（Ｆ）はバッファ回路１４ｃから出力されたアクセス要求の一例を示す波形図であり、（Ｇ）はバッファ回路１４ｃから出力されたカウント値の一例を示す図解図であり、（Ｈ）はバッファ回路１４ａのアクティブ／非アクティブ状態の一例を示す波形図であり、（Ｉ）はバッファ回路１４ｂのアクティブ／非アクティブ状態の一例を示す波形図であり、（Ｊ）はバッファ回路１４ｃのアクティブ／非アクティブ状態の一例を示す波形図であり、（Ｋ）はバッファ回路１４ａ〜１４ｃのメモリアクセス状態の一例を示す図解図である。
【図６】図２実施例に適用されるデコーダの処理動作の一部を示すフロー図である。
【図７】図２実施例に適用されるデコーダの処理動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【００１５】
以下、この発明の実施の形態を図面を参照しながら説明する。
［基本的構成］
【００１６】
図１を参照して、この発明のアクセス制御回路は、基本的に次のように構成される。受け付け手段１は、互いに異なる優先度を各々が有する複数のアクセス要求回路２，２，…から発行された１または２以上のデータアクセス要求を受け付ける。判別手段３は、受け付け手段１によって受け付けられた１または２以上のデータアクセス要求が緊急データアクセス要求を含むか否かを繰り返し判別する。第１承認手段４は、判別手段３の判別結果が否定的であるとき、受け付け手段１によって受け付けられた１または２以上のデータアクセス要求のうちより上位の優先度に対応するデータアクセス要求を承認する。第２承認手段５は、判別手段３の判別結果が肯定的であるとき、緊急データアクセス要求を承認する。
【００１７】
したがって、緊急データアクセス要求を受け付けたときは、優先度に関わらず、緊急データアクセス要求が承認される。これによって、複数のデータアクセス要求の並列的な発行に起因するデータアクセス処理の破綻を回避することができる。
［実施例］
【００１８】
図２を参照して、この実施例のデータ処理装置１０は、単一のメモリ制御回路１２と、複数のバッファ回路１４ａ〜１４ｃと、バーストアクセス方式を採用するＤＤＲ−ＳＤＲＡＭ１６とを備える。バッファ回路１４ａ〜１４ｃの各々は、図３に示すように構成される。
【００１９】
以下の説明では、便宜上、バッファ回路１４ａ〜１４ｃはいずれもリードアクセスのみを実行するものとする。また、１回のアクセス時のバースト長は“４ワード”とし、１回のリードアクセスに必要なクロック数は“１５”とする。なお、１回のリードアクセスに必要なクロック数は、具体的には、バースト長の１／２に相当するクロック数とバーストアクセスのオーバヘッドに相当するクロック数の合計と一致する。
【００２０】
さらに、バッファ回路１４ａ，１４ｂおよび１４ｃはそれぞれ“１”，“２”および“３”の識別番号を有する。また、バッファ回路１４ａ〜１４ｃには、１４ａ→１４ｂ→１４ｃの順で低下する優先度が割り当てられる。
【００２１】
リードアクセスにあたっては、図３に示す要求発生回路１４１がアクセス要求ＲＥＱ＊（＊：識別番号と同じ番号、以下同じ）をステータス管理回路２６に向けて発行する。さらに、Ｒ／Ｗ制御回路１４３が、アクセス態様（＝リード）が記述された制御データＣＴＬ＊をセレクタ１８ａに向けて出力し、アクセス先の先頭アドレスが記述されたアドレス情報ＡＤＲＳ＊をセレクタ１８ｂに向けて出力する。
【００２２】
ステータス管理回路２６は、与えられたアクセス要求ＲＥＱ＊に対応して図４に示すレジスタＲＧＳＴ１の設定を更新する。アクセス要求ＲＥＱ＊の発行元に割り当てられたカラムの記述は“０”から“１”に更新され、これによってアクセス要求ＲＥＱ＊の発行元がアクティブ状態となる。バッファ回路１４ａ〜１４ｃのアクセスステータス（＝アクティブ状態／非アクティブ状態）は、このようなレジスタＲＧＳＴ１によって管理される。
【００２３】
デコーダ２４は、リードアクセスが中断されているときにレジスタＲＧＳＴ１を繰り返し参照し、アクセス要求ＲＥＱ＊の緊急度および／またはバッファ回路１４ａ〜１４ｃの優先度に従っていずれか１つのアクセス要求ＲＥＱ＊を承認する。デコーダ２４からは、承認されたアクセス要求ＲＥＱ＊の発行元に対応する識別番号が出力される。出力された識別番号は、ＡＣＫ生成回路２８，セレクタ１８ａ〜１８ｃおよびコマンド生成回路２０に与えられる。
【００２４】
ＡＣＫ生成回路２８は、与えられた識別番号を有するバッファ回路のＲ／Ｗ制御回路１４３（図３参照）に向けて、承認信号ＡＣＫ＊を出力する。Ｒ／Ｗ制御回路１４３は、承認信号ＡＣＫ＊の入力によって自身のアクセス要求が承認されたことを認識し、その後に読み出されるデータの入力に備える。
【００２５】
セレクタ１８ａは、デコーダ２４から与えられた識別番号を有するバッファ回路を選択し、選択されたバッファ回路からの制御データＣＴＬ＊をコマンド生成回路２０に与える。同様に、セレクタ１８ｂは、デコーダ２４から与えられた識別番号を有するバッファ回路を選択し、選択されたバッファ回路からのアドレス情報ＡＤＲＳ＊をアドレスコンバータ２２に与える。
【００２６】
コマンド生成回路２０は、セレクタ１８ａから与えられた制御データＣＴＬ＊に対応するコマンドＣＭＮＤを生成し、生成されたコマンドＣＭＮＤをＤＤＲ−ＳＤＲＡＭ１６に向けて出力する。アドレスコンバータ２２は、セレクタ１８ｂから与えられたアドレス情報ＡＤＲＳ＊が示すアドレスをＤＤＲ−ＳＤＲＡＭ１６の実アドレスＡｄｒｓに変換し、変換された実アドレスＡｄｒｓをＤＤＲ−ＳＤＲＡＭ１６に向けて出力する。所望の４ワードに相当するデータＤＴ＊は、バーストアクセスによってＤＤＲ−ＳＤＲＡＭ１６から読み出される。
【００２７】
セレクタ１８ｃは、ＤＤＲ−ＳＤＲＡＭ１６から読み出されたデータＤＴ＊を、デコーダ２４から与えられた識別番号を有するバッファ回路に向けて出力する。データＤＴ＊は、図３に示すＳＲＡＭ１４４に一時的に書き込まれ、その後に図示しないデータ処理系に向けて出力される。
【００２８】
コマンド生成回路２０は、所望の４ワードに相当するデータの読み出しが終了したとき、アクセス終了信号をデコーダ２４およびステータス管理回路２６に与える。デコーダ２４は、アクセス終了信号に応答して識別番号の出力を停止する。これによって、アクセス要求の承認が解除される。ステータス管理回路２６は、アクセス終了信号を参照してレジスタＲＧＳＴ１に設定を変更する。リードアクセスが終了したアクセス要求ＲＥＱ＊に対応するカラムの記述は“１”から“０”に更新され、これによってアクセス要求ＲＥＱ＊の発行元が非アクティブ状態となる。
【００２９】
アクセス要求ＲＥＱ＊の緊急度に関連して、図３に示す猶予時間算出回路１４２は、ＳＲＡＭ１４４の空き容量が基準値に達するまでの猶予時間（＝ＳＲＡＭ１４４が枯渇するまでの時間）を繰り返し算出する。ＳＲＡＭ１４４からのデータ読み出しはクロックＣＬＫに同期して実行され、猶予時間もまたクロックＣＬＫに同期して減少する。猶予時間算出回路１４２は、クロックＣＬＫに応答してディクリメントされるカウント値ＣＮＴ＊を猶予時間として出力する。
【００３０】
デコーダ２４は、こうして出力されたカウント値ＣＮＴ＊から１回のリードアクセスに必要なクロック数である“１５”を減算して、対応するアクセス要求ＲＥＱ＊の緊急度を算出する。デコーダ２４はさらに、算出された緊急度（＝減算値）が“０”を上回るとき注目するアクセス要求ＲＥＱ＊の緊急度を“低”と判別し、算出された緊急度（＝減算値）が“０”以下のとき注目するアクセス要求ＲＥＱ＊の緊急度を“高”と判別する。
【００３１】
緊急度の高いアクセス要求ＲＥＱ＊が検出されると、デコーダ２４は、この緊急アクセス要求を最優先で承認する。一方、緊急アクセス要求が検出されなかったとき、デコーダ２４は、バッファ回路１４ａ〜１４ｃに割り当てられた優先度に従う順序でアクセス要求ＲＥＱ＊を承認する。
【００３２】
図５（Ａ）〜図５（Ｋ）を参照して、アクセス要求ＲＥＱ１，ＲＥＱ２およびＲＥＱ３が同時に発行されたとき、バッファ回路１４ａ〜１４ｃは同時にアクティブ状態に移行する。このとき、カウント値ＣＮＴ１〜ＣＮＴ３はそれぞれ“４０”，“５０”および“２５”を示す。緊急度は、カウント値ＣＮＴ＊が“１５”まで減少したときに“低”から“高”に更新される。したがって、この時点ではアクセス要求ＲＥＱ１が承認され、アクセス要求ＲＥＱ１に従うリードアクセスが実行される。
【００３３】
アクセス要求ＲＥＱ１に従うリードアクセスが終了すると、バッファ回路１４ａがアクティブ状態から非アクティブ状態に遷移する。また、この時点で、カウント値ＣＮＴ２およびＣＮＴ３はそれぞれ“３４”および“９”を示す。すると、アクセス要求ＲＥＱ３の緊急度が高いとみなされ、バッファ回路１４ｂの優先度がバッファ回路１４ｃの優先度よりも高いにも関わらず、アクセス要求ＲＥＱ３が先に承認される。
【００３４】
アクセス要求ＲＥＱ３に従うリードアクセスが終了すると、バッファ回路１４ｃがアクティブ状態から非アクティブ状態に遷移するとともに、アクセス要求ＲＥＱ２が承認される。バッファ回路１４ｂの状態は、アクセス要求ＲＥＱ２に従うリードアクセスが終了した後に非アクティブ状態に遷移する。
【００３５】
デコーダ２４は、詳しくは、図６〜図７に示すフロー図に沿ってアクセス要求の承認制御を実行する。
【００３６】
まずステップＳ１で、レジスタＲＧＳＴ１を参照してアクティブ状態のバッファ回路を検出する。ステップＳ３では、アクティブ状態のバッファ回路の数を変数Ｋｍａｘに設定する。ステップＳ５では変数Ｋｍａｘが“０”であるか否かを判別し、ＹＥＳであればステップＳ１に戻る一方、ＮＯであればステップＳ７に進む。
【００３７】
ステップＳ７では変数Ｋを“１”に設定し、ステップＳ９ではアクティブ状態にあるＫ番目のバッファ回路の緊急度を算出する。ステップＳ１１では、算出された緊急度が高いか否かを判別する。
【００３８】
判別結果がＹＥＳであればステップＳ１７に進み、アクティブ状態にあるＫ番目のバッファ回路からのアクセス要求を承認する。判別結果がＮＯであれば、変数ＫをステップＳ１３でインクリメントし、インクリメントされた変数Ｋが変数Ｋｍａｘを上回るか否かをステップＳ１５で判別する。変数Ｋが変数Ｋｍａｘ以下であればステップＳ９に戻り、変数Ｋが変数Ｋｍａｘを上回ればステップＳ１９に進む。ステップＳ１９では、アクティブ状態にあるバッファ回路の中から優先度が最も高いバッファ回路を選択する。ステップＳ２１では、選択されたバッファ回路のアクセス要求を承認する。
【００３９】
ステップＳ１７またはＳ２１の処理が完了すると、コマンド生成回路２０からアクセス終了信号が与えられたか否かをステップＳ２３で判別する。判別結果がＮＯからＹＥＳに更新されると、ステップＳ２５でアクセス要求の承認を解除し、その後にステップＳ１に戻る。
【００４０】
以上の説明から分かるように、ステータス管理回路２６は、互いに異なる優先度を各々が有する複数のバッファ回路１４ａ〜１４ｃから発行された１または２以上のアクセス要求を受け付ける。デコーダ２４は、ステータス管理回路２６によって受け付けられた１または２以上のアクセス要求が緊急アクセス要求を含むか否かを繰り返し判別する(S1~S15)。判別結果が否定的であれば、デコーダ２４は、ステータス管理回路２６によって受け付けられた１または２以上のアクセス要求のうちより上位の優先度に対応するアクセス要求を承認する(S19~S21)。これに対して、判別結果が肯定的であれば、デコーダ２４は緊急アクセス要求を承認する(S17)。
【００４１】
したがって、緊急アクセス要求を受け付けたときは、予め設定された優先度に関わらず、緊急アクセス要求が承認される。これによって、複数のアクセス要求の並列的な発行に起因するアクセス処理の破綻を回避することができる。
【００４２】
なお、この実施例では、ＤＤＲ(Double-Data-Rate)型のＳＤＲＡＭを採用するようにしているが、これに代えて従来型のＳＤＲＡＭ（ＤＤＲ型に比べてデータ転送速度が半分のＳＤＲＡＭ）を採用するようにしてもよい。
【００４３】
また、この実施例のメモリ制御回路は、ディジタルカメラのバスシステムに応用することができる。ディジタルカメラにおいては、撮像素子からのデータ入力回路や表示装置へのデータ出力回路のバッファ回路には、リアルタイム処理の要請から高い優先度が割り当てられる。さらに、動画記録指示が発行されたときに動画像データを符号化する符号化回路のバッファ回路にも、高い優先度が割り当てられる。したがって、優先度は、たとえばデータ入力回路→符号化回路→データ出力回路の順で割り当てられる。
【００４４】
これを踏まえて、各々の回路からアクセス要求が同時に発行された場合、メモリ制御回路は、基本的に優先度に従う順序でこれらのアクセス要求を承認する。しかし、データ入力回路および符号化回路のバッファ回路には余裕があるものの、データ出力回路のバッファ回路の余裕がなくなるような事態が発生した場合には、本来の優先度に関係なく、データ出力回路からのアクセス要求が最優先で処理される。これによって、バスシステムの破綻が回避される。
【符号の説明】
【００４５】
１０  …データ処理装置
１２  …メモリ制御回路
１４ａ〜１４ｃ  …バッファ回路
１６  …ＤＤＲ−ＳＤＲＡＭ
２４  …デコーダ
２６  …ステータス管理回路
１４２  …猶予期間算出回路
【図１】
2010272029.tif 000003
【図２】
2010272029.tif 000004
【図３】
2010272029.tif 000005
【図４】
2010272029.tif 000006
【図５】
2010272029.tif 000007
【図６】
2010272029.tif 000008
【図７】
2010272029.tif 000009