(57)【要約】【課題】クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送効率を向上させる。【解決手段】アクノリッジ信号供給部２２０は、データ転送を許可するクライアントを検出するための許可対象検出情報とクライアントからの要求状態信号とに基づいて、許可対象検出情報より特定されるクライアントのデータ転送を許可する許可信号を供給するか否かを決定する。許可クライアント検出部２１０は、データ転送が行われている期間において、データ転送を許可するクライアントを検出するための許可対象検出情報の値を順次更新する。【選択図】図１
2011141580.tif 000002
【特許請求の範囲】
【請求項１】
バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、前記複数のデータ処理部のうちのいずれか１つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定部と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新部と
を具備するアクセス制御装置。
【請求項２】
前記更新部は、前記決定により供給された許可信号に基づいて前記データ転送が行われている期間が終了するまでの間、所定の順序に従って前記更新を繰り返し行い、当該更新により前記候補の対象となったデータ処理部が前記要求信号を出力している場合に前記更新を停止させる請求項１記載のアクセス制御装置。
【請求項３】
前記更新部は、前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該更新により前記候補の対象となったデータ処理部が前記要求信号を出力していなかった場合には当該期間の経過後も前記更新を繰り返し行い、前記候補の対象となったデータ処理部が前記要求信号を出力している場合には前記更新を停止させる請求項１記載のアクセス制御装置。
【請求項４】
前記複数のデータ処理部が複数のグループに分類され、
前記更新部は、前記グループを単位として前記グループごとに１つのデータ処理部を特定し、前記特定されたデータ処理部を前記候補として前記グループごとに前記更新を行い、
前記複数のデータ処理部から出力された前記要求信号に基づいて、前記更新部により前記グループごとに更新された複数の候補のうちから１つの候補を選択する選択部をさらに具備し、
前記決定部は、前記選択部により選択された前記候補となる前記データ処理部から前記要求信号が出力されたか否かに基づいて、当該データ処理部に前記許可信号を供給するか否かを決定する
請求項１記載のアクセス制御装置。
【請求項５】
読み出し動作または書き込み動作のうち、同一の動作を行う前記データ処理部が同一のグループに含まれるように前記複数のデータ処理部が前記複数のグループに分類される請求項４に記載のアクセス制御装置。
【請求項６】
前記複数のグループのうちの１つのグループを特定するためのグループ情報を保持するグループ情報保持部と、
前記１つのグループを順次変更して前記グループ情報を更新するグループ更新部とをさらに具備し、
前記選択部は、前記グループ情報により特定されるグループに属する前記データ処理部から前記要求信号が供給されている場合には当該グループに係る候補を前記１つの候補として選択し、前記グループ情報により特定されるグループに属する前記データ処理部から前記要求信号が供給されてない場合には当該グループ以外の他のグループの候補を前記１つの候補として選択する
請求項４記載のアクセス制御装置。
【請求項７】
前記更新部は、前記次のデータ転送の許可対象の候補として、読み出し動作または書き込み動作のうちの同一の動作を行う前記データ処理部を連続して選択する請求項１記載のアクセス制御装置。
【請求項８】
データを保持するデータ保持部と、
前記データ保持部との間でデータ転送を行う複数のデータ処理部と、
前記データ保持部と前記複数のデータ処理部との間を接続するバスと、
前記複数のデータ処理部のうちのいずれか１つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定部と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新部と
を具備するデータ処理装置。
【請求項９】
バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、前記複数のデータ処理部のうちのいずれか１つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定手順と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新手順と
を具備するアクセス制御方法。
【請求項１０】
バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、前記複数のデータ処理部のうちのいずれか１つのデータ処理部を前記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から前記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、前記候補とされたデータ処理部に前記データ転送を許可する許可信号を供給するか否かを決定する決定手順と、
前記決定により供給された許可信号に基づいて前記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が前記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を前記候補の対象として更新する更新手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス制御装置に関し、特に複数のデータ処理部に関するアクセス制御を行うアクセス制御装置、データ処理装置およびアクセス制御方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、電子機器の発達とともに、コンピュータ内の各装置におけるデータの処理速度が著しく向上している。このように、各装置におけるデータの処理速度が向上するにつれ、データを蓄積するメモリと、データを処理する装置（クライアント）との間を接続するバスにおけるデータ転送の効率を向上させることが求められている。このため、例えば、複数のクライアントとメモリとの間を接続するバスにおけるデータ転送の効率を向上させるデータ処理装置が多数提案されている。
【０００３】
このようなデータ処理装置として、例えば、バスに接続されているクライアントを順次特定するためのカウンタ値を用いて、データ転送を行うクライアントを、ラウンドロビン方式により検出するバス制御装置が提案されている（例えば、特許文献１参照。）。このバス制御装置は、クライアントを識別するための識別子を各クライアントに割り当て、カウンタ値を順次更新する。そして、このバス制御装置は、そのカウンタ値の更新を行いながら、更新後のカウンタ値を全てのクライアントに順次供給する。
【０００４】
そして、供給されたカウンタ値により特定される識別子が割り当てられたクライアントがメモリアクセスを要求している場合にそのクライアントについてメモリアクセスを許可するとともに、メモリアクセスを実行している間、カウンタ値の更新を停止させる。すなわち、メモリアクセスを要求しているクライアントが、供給されたカウンタ値に対応するクライアントである場合には、そのクライアントについてメモリアクセスが許可され、そのメモリアクセスが実行される。一方、メモリアクセスを要求しているクライアントが、供給されたカウンタ値に対応するクライアントでない場合には、そのクライアントについてメモリアクセスが許可されない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平３−１３０８６０号公報（図１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術によれば、クライアントが割り当てられている識別子を特定するためのカウンタ値のみを供給するため、ポーリング動作に係る処理を軽減することができる。しかしながら、上述の従来技術では、メモリアクセスが許可されたクライアントがそのメモリアクセスの動作を実行している間、カウンタ値の更新を停止させる。このため、メモリアクセスの動作の実行中には、次のメモリアクセスの許可対象となるクライアントを決定することができず、複数のクライアントにより連続してメモリアクセス動作が行われるような場合には、データ転送効率が悪くなるおそれがある。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、データ転送効率を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、バスを介してデータ保持部との間でデータ転送を行う複数のデータ処理部について、上記複数のデータ処理部のうちのいずれか１つのデータ処理部を上記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から上記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、上記候補とされたデータ処理部に上記データ転送を許可する許可信号を供給するか否かを決定する決定部と、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が上記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を上記候補の対象として更新する更新部とを具備するアクセス制御装置、データ処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、データ転送が行われている期間において、次のデータ転送の許可対象の候補を更新させることにより、次のデータ転送の許可対象のデータ処理部を検出させるという作用をもたらす。
【０００９】
また、この第１の側面において、上記更新部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間が終了するまでの間、所定の順序に従って上記更新を繰り返し行い、当該更新により上記候補の対象となったデータ処理部が上記要求信号を出力している場合に上記更新を停止させるようにしてもよい。これにより、データ転送が行われている期間が終了するまでの間に所定の順序に従って更新を繰り返し行い、候補の対象となったデータ処理部が要求信号を出力している場合に更新を停止させるという作用をもたらす。
【００１０】
また、この第１の側面において、上記更新部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において、当該更新により上記候補の対象となったデータ処理部が上記要求信号を出力していなかった場合において、当該期間の経過後も上記更新を繰り返し行い、上記候補の対象となったデータ処理部が上記要求信号を出力している場合に上記更新を停止させるようにしてもよい。これにより、データ転送が行われている期間において候補の対象となったデータ処理部が要求信号を出力していなかった場合には、当該期間の経過後も更新を繰り返させるという作用をもたらす。
【００１１】
また、この第１の側面において、上記複数のデータ処理部が複数のグループに分類され、上記更新部は、上記グループを単位として上記グループごとに１つのデータ処理部を特定し、上記特定されたデータ処理部を上記候補として上記グループごとに上記更新を行い、上記複数のデータ処理部から出力された上記要求信号に基づいて、上記更新部により上記グループごとに更新された複数の候補のうちから１つの候補を選択する選択部をさらに具備し、上記決定部は、上記選択部により選択された上記候補となる上記データ処理部から上記要求信号が出力されたか否かに基づいて、当該データ処理部に上記許可信号を供給するか否かを決定するようにしてもよい。これにより、複数のデータ処理部が分類された複数のグループごとに更新された複数の候補から１つの次のデータ転送の許可対象の候補を選択させるという作用をもたらす。この場合において、上記グループのそれぞれには、読み出し動作または書き込み動作のうち、同一の動作を行う上記データ処理部のみが含まれるように上記複数のグループへの分類が行われるようにしてもよい。これにより、読み出し動作または書き込み動作のうち、同一の動作を行うデータ処理部のみが含まれるように複数のグループへの分類が行われるという作用をもたらす。この場合において、上記複数のグループのうちの１つのグループを特定するためのグループ情報を保持するグループ情報保持部と、上記１つのグループを順次変更して上記グループ情報を更新するグループ更新部とをさらに具備し、上記選択部は、上記グループ情報により特定されるグループに属する上記データ処理部から上記要求信号が供給されている場合には当該グループに係る候補を上記１つの候補として選択し、上記グループ情報により特定されるグループに属する上記データ処理部から上記要求信号が供給されてない場合には当該グループ以外の他のグループの候補を上記１つの候補として選択するようにしてもよい。これにより、グループ情報により特定されるグループに属するデータ処理部から要求信号が供給されてない場合に他のグループのデータ処理部を候補として選択させるという作用をもたらす。
【００１２】
また、この第１の側面において、上記更新部は、上記次のデータ転送の許可対象の候補として、読み出し動作または書き込み動作のうちの同一の動作を行う上記データ処理部を連続して選択するようにしてもよい。これにより、データ転送の許可対象の候補として、読み出し動作または書き込み動作のうちの同一の動作を行うデータ処理部を連続して選択させるという作用をもたらす。
【００１３】
また、この第１の側面において、上記更新部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間が終了するまでの間、上記更新を繰り返し行うようにしてもよい。これにより、データ転送が行われている期間の開始から終了するまでの間、データ転送の許可対象の候補の更新を繰り返させるという作用をもたらす。
【００１４】
また、この第１の側面において、上記更新部は、上記次のデータ転送の許可対象の候補が上記決定により供給された許可信号に基づいて上記データ転送を行っている上記データ処理部である場合において、当該データ処理部が当該データ転送を要求するための上記要求信号を出力している場合には当該データ処理部以外の他のデータ処理部を上記候補の対象として更新するようにしもよい。これにより、データ転送の許可対象の候補がデータ転送を行っているとともにその行っているデータ転送を要求するための要求信号を出力している場合には、他のデータ処理部を候補の対象として更新させるという作用をもたらす。
【００１５】
また、この第１の側面において、上記データ処理部は、上記データ転送が行われている期間において、当該データ転送が終了する所定期間前に上記要求信号の出力を終了し、上記決定部は、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において当該データ転送を行っているデータ処理部による上記要求信号の出力の終了時から、上記データ転送が行われている期間の終了時までの間に上記次のデータ転送の許可対象の候補とされたデータ処理部に上記データ転送を許可する許可信号を供給するか否かを決定するようにしてもよい。これにより、要求信号の出力が終了した時からデータ転送が行われている期間において、要求信号の出力が終了した時からデータ転送の終了時までの間に次のデータ転送の許可対象の候補とされたデータ処理部にデータ転送を許可する許可信号を供給するか否かを決定させるという作用をもたらす。
【００１６】
また、この第１の側面において、上記更新部は、上記次のデータ転送の許可対象の候補となるデータ処理部を特定するための特定情報を保持する特定情報保持部と、上記特定される特定情報を順次変更して上記特定情報を更新する特定情報更新部と、上記更新を行なうか否か決定し、当該決定により候補となるデータ処理部を特定するための特定情報を上記特定情報保持部に保持させる特定情報決定部とを備えるようにしてもよい。これにより、順次変更される特定情報に基づいて、次のデータ転送の許可対象の候補にデータ転送を許可する許可信号を供給するか否かを決定させるという作用をもたらす。
【００１７】
また、本発明の第２の側面は、データを保持するデータ保持部と、上記データ保持部との間でデータ転送を行う複数のデータ処理部と、上記データ保持部と上記複数のデータ処理部との間を接続するバスと、上記複数のデータ処理部のうちのいずれか１つのデータ処理部を上記データ転送の許可対象の候補とし、当該候補とされたデータ処理部から上記データ転送の許可を要求する要求信号が出力されたか否かに基づいて、上記候補とされたデータ処理部に上記データ転送を許可する許可信号を供給するか否かを決定する決定部と、上記決定により供給された許可信号に基づいて上記データ転送が行われている期間において、当該データ転送の次のデータ転送の許可対象の候補となるデータ処理部が上記要求信号を出力していない場合に当該データ処理部以外の他のデータ処理部を上記候補の対象として更新する更新部とを具備するデータ処理装置である。これにより、データ転送が行われている期間において、次のデータ転送の許可対象の候補を更新させることにより、次のデータ転送の許可対象のデータ処理部を検出させるという作用をもたらす。
【発明の効果】
【００１８】
本発明によれば、データ転送効率を向上させることができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態におけるデータ処理装置１００の機能構成例を示すブロック図である。
【図２】本発明の第１の実施の形態における許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の機能構成例を示すブロック図である。
【図３】本発明の第１の実施の形態におけるアクノリッジ信号供給部２２０によるアクノリッジ信号発生例を示すタイミングチャートである。
【図４】本発明の第１の実施の形態において、ＤＲＡＭ１１０から読み出されるデータ（リードデータ）とＤＲＡＭ１１０に書き込まれるデータ（ライトデータ）とのバス１２０を介した転送例を示すタイミングチャートである。
【図５】本発明の第１の実施の形態における許可クライアント検出部２１０の許可クライアント検出処理手順例を示すフローチャートである。
【図６】本発明の第１の実施の形態におけるアクノリッジ信号供給部２２０のアクノリッジ信号供給処理手順例を示すフローチャートである。
【図７】本発明の第２の実施の形態におけるデータ処理装置１００の機能構成例を示すブロック図である。
【図８】本発明の第２の実施の形態における許可クライアント検出部２１０による許可対象検出情報の遷移例を模式的に示す図である。
【図９】本発明の第２の実施の形態におけるアクノリッジ信号供給部２２０によるアクノリッジ信号発生例を示すタイミングチャートである。
【図１０】許可対象検出情報の数が大きい場合における許可対象検出情報の遷移例を模式的に示すイメージ図である。
【図１１】許可対象検出情報の数が大きい場合におけるアクノリッジ信号供給部２２０によるアクノリッジ信号発生例を示すタイミングチャートである。
【図１２】本発明の第３の実施の形態におけるデータ処理装置１００の機能構成例を示すブロック図である。
【図１３】本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０の機能構成例を示すブロック図である。
【図１４】本発明の第３の実施の形態における許可対象検出情報の遷移例を模式的に示すイメージ図である。
【図１５】本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０によるアクノリッジ信号発生例を示すタイミングチャートである。
【図１６】本発明の第３の実施の形態における第１許可クライアント検出部６１０の許可クライアント検出処理手順例を示すフローチャートである。
【図１７】本発明の第３の実施の形態における第２許可クライアント検出部６２０の許可クライアント検出処理手順例を示すフローチャートである。
【図１８】本発明の第１の実施の形態におけるアクノリッジ信号供給部６３０のアクノリッジ信号供給処理手順例を示すフローチャートである。
【図１９】本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０のＡＣＫ更新値生成処理（ステップＳ９５０）の処理手順例を示すフローチャートである。
【図２０】本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０の回数制限情報更新処理（ステップＳ９７０）の処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（データ処理制御：クライアントのデータ転送動作と並行して、次にデータ転送を行うクライアントを検出する例）
２．第２の実施の形態（データ処理制御：読み出し動作または書き込み動作のうちの同一の動作を行うクライアントを連続して選択するように許可対象検出情報を設定する例）
３．第３の実施の形態（データ処理制御：複数の許可クライアント検出部を設ける例）
【００２１】
＜１．第１の実施の形態＞
［データ処理装置１００の機能構成例］
図１は、本発明の第１の実施の形態におけるデータ処理装置１００の機能構成例を示すブロック図である。このデータ処理装置１００は、ＤＲＡＭ（Dynamic Random Access Memory）１１０と、バス１２０と、リフレッシュコントローラ１３０と、第１乃至第７クライアント１４１乃至１４７と、アービタ２００とを備える。
【００２２】
なお、本発明の第１の実施の形態では、リフレッシュコントローラ１３０もクライアントの１つとして考え、リフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７をクライアントと称することとする。また、本発明の第１の実施の形態では、ＤＲＡＭ１１０へのデータ転送の要求に関する信号（クライアントがアービタ２００に供給する信号）を要求状態信号と称することとする。また、ＤＲＡＭ１１０へのデータ転送の許可に関する信号（アービタ２００からクライアントに供給される信号）を許可状態信号と称することとする。
【００２３】
ＤＲＡＭ１１０は、第１乃至第７クライアント１４１乃至１４７との間でデータの読出し、および、データの書込みを行うための記憶装置である。なお、ＤＲＡＭ１１０は、特許請求の範囲に記載のデータ保持部の一例である。
【００２４】
バス１２０は、ＤＲＡＭ１１０と第１乃至第７クライアント１４１乃至１４７との間を相互に接続するバスである。また、このバス１２０は、ＤＲＡＭ１１０とリフレッシュコントローラ１３０との間を相互に接続する。
【００２５】
リフレッシュコントローラ１３０は、ＤＲＡＭ１１０の素子に定期的に電荷を補充するリフレッシュ動作を制御するものである。このリフレッシュコントローラ１３０は、ＲＥＱ［０］線１５９を介して、リフレッシュ動作の要求に関する要求状態信号（第０要求状態信号）をアービタ２００に供給する。ここで、第０要求状態信号は、リフレッシュコントローラ１３０がリフレッシュ動作の許可を要求しているか否かを示す１ビットの信号である。なお、リフレッシュ動作の許可を要求している状態における第０要求状態信号のビットの値は「１」であり、許可を要求していない状態における第０要求状態信号のビットの値は「０」であるものとする。このリフレッシュコントローラ１２０は、例えば、ＤＲＡＭ１１０にリフレッシュ動作が必要な場合には、第０要求状態信号を「０」から「１」に遷移させる。なお、「１」の値の要求状態信号は、特許請求の範囲に記載の要求信号の一例である。
【００２６】
また、このリフレッシュコントローラ１３０には、ＡＣＫ［０］線１６９を介して、リフレッシュ動作の許可に関する信号（第０許可状態信号）がアービタ２００から供給される。ここで、第０許可状態信号は、リフレッシュコントローラ１２０のリフレッシュ動作が許可されたか否かを示す１ビットの信号である。なお、リフレッシュ動作が許可された状態における第０許可状態信号のビットの値は「１」であり、リフレッシュ動作が許可されていない状態における第０許可状態信号のビットの値は「０」であるものとする。このリフレッシュコントローラ１３０は、例えば、ＡＣＫ［０］線１６９を介して第０許可状態信号の「１」が供給された場合には、リフレッシュ動作をＤＲＡＭ１１０に実行させるためのリフレッシュ命令を、バス１２０を介してＤＲＡＭ１１０に供給する。なお、リフレッシュコントローラ１３０は、特許請求の範囲に記載のデータ処理部の一例である。
【００２７】
第１乃至第７クライアント１４１乃至１４７は、バス１２０を介してＤＲＡＭ１１０へデータのデータ転送を行うものである。なお、第２クライアント乃至第７クライアント１４２乃至１４７の構成および動作は、第１クライアント１４１と同一である。このため、ここでは、主に第１クライアント１４１について説明し、第２乃至第７クライアント１４２乃至１４７の説明の一部を省略する。なお、「１」の値の許可状態信号は、特許請求の範囲に記載の許可信号の一例である。
【００２８】
第１クライアント１４１は、ＤＲＡＭ１１０との間でデータ転送を行う必要がある場合には、ＲＥＱ［１］線１５１を介して、第１クライアント１４１のメモリアクセス要求に関する要求状態信号（第１要求状態信号）をアービタ２００に供給する。ここで、第１要求状態信号は、第１クライアント１４１がデータ転送の許可を要求しているか否かを示す１ビットの信号である。なお、データ転送の許可を要求している状態における第１要求状態信号のビットの値は「１」であり、許可を要求していない状態における第１要求状態信号のビットの値は「０」であるものとする。この第１クライアント１４１は、例えば、ＤＲＡＭ１１０との間でデータ転送を行う必要が生じた場合には、第１要求状態信号を「０」から「１」に遷移させる。
【００２９】
また、この第１クライアント１４１には、ＡＣＫ［１］線１６１を介して、データ転送の許可に関する許可状態信号（第１許可状態信号）がアービタ２００から供給される。ここで、第１許可状態信号は、第１クライアント１４１のデータ転送が許可されたか否かを示す１ビットの信号である。なお、データ転送が許可された状態における第１許可状態信号のビットの値は「１」であり、データ転送が許可されていない状態における第１許可状態信号のビットの値は「０」であるものとする。この第１クライアント１４１は、例えば、ＡＣＫ［１］線１６１を介して第１許可状態信号の「１」が供給された場合には、バス１２０を介してＤＲＡＭ１１０との間でデータ転送を行う。
【００３０】
なお、第２乃至第７クライアント１４２乃至１４７の動作は、第１クライアント１４１と同様のものである。すなわち、第２クライアント１４２はＲＥＱ［２］線１５２を介して第２要求状態信号を供給し、第３クライアント１４３はＲＥＱ［３］線１５３を介して第３要求状態信号を供給する。また、第４クライアント１４４はＲＥＱ［４］線１５４を介して第４要求状態信号を供給し、第５クライアント１４５はＲＥＱ［５］線１５５を介して第５要求状態信号を供給する。また、第６クライアント１４６はＲＥＱ［６］線１５６を介して第６要求状態信号を供給し、第７クライアント１４７はＲＥＱ［７］線１５７を介して第７要求状態信号を供給する。
【００３１】
また、第２クライアント１４２にはＡＣＫ［２］線１６２を介して第２許可状態信号が供給され、第３クライアント１４３にはＡＣＫ［３］線１６３を介して第３許可状態信号が供給される。また、第４クライアント１４４にはＡＣＫ［４］線１６４を介して第４許可状態信号が供給され、第５クライアント１４５にはＡＣＫ［５］線１６５を介して第５許可状態信号が供給される。また、第６クライアント１４６にはＡＣＫ［６］線１６６を介して第６許可状態信号が供給され、第７クライアント１４７にはＡＣＫ［７］線１６７を介して第７許可状態信号が供給される。なお、第１乃至第７クライアント１４１乃至１４７は、特許請求の範囲に記載のデータ処理部の一例である。
【００３２】
アービタ２００は、リフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７におけるバス１２０の各クライアントがバス１２０を介してＤＲＡＭ１１０へのアクセスを行う場合におけるアクセス制御を行うアクセス制御部である。このアービタ２００は、どのクライアントがバス１２０を使用するかを決めるバス調停（バスアービトレーション）を行う。このアービタ２００は、ＲＥＱ線１５０を介して供給された第０乃至第７要求状態信号（リクエスト信号）に基づいて次のサイクルのアクノリッジ信号を生成する。ここで、サイクルとは、アービタ２００におけるクロック信号の周期（クロックサイクル）であり、たとえば、図３で示すクロック信号の経過時間がサイクルを示している。また、アクノリッジ信号とは、リフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７におけるデータ転送の許可に関する信号である。そして、このアービタ２００は、生成したアクノリッジ信号を、ＡＣＫ線１６０を介してリフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７に供給する。ここで、ＲＥＱ線１５０は、ＲＥＱ［０］線１５９およびＲＥＱ［１］乃至［７］線１５１乃至１５７の信号線により構成される複数の信号線である。また、ＡＣＫ線１６０は、ＡＣＫ［０］線１６９およびＡＣＫ［１］乃至［７］線１６１乃至１６７の信号線により構成される複数の信号線である。なお、アービタ２００は、特許請求の範囲に記載のアクセス制御装置の一例である。
【００３３】
アービタ２００は、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０を備える。
【００３４】
このアービタ２００は、リフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７から供給される第０乃至第７要求状態信号を、８ビットの信号（リクエスト信号）として用いる。本発明の第１の実施の形態においては、リクエスト信号の最下位（０番目）のビット（ＬＳＢ：Least Significant Bit）を第０要求状態信号とし、１番目のビットを第１要求状態信号とし、２番目のビットを第２要求状態信号とする。また、リクエスト信号の３番目のビットを第３要求状態信号とし、リクエスト信号の４番目のビットを第４要求状態信号とし、５番目のビットを第５要求状態信号とする。また、６番目のビットを第６要求状態信号とし、最上位（７番目）のビット（ＭＳＢ：Most Significant Bit）を第７要求状態信号とする。
【００３５】
また、アービタ２００は、リフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７に供給する第０乃至第７許可状態信号を、８ビットの信号（アクノリッジ信号）として生成し、各ビットを第０乃至第７許可状態信号として供給する。なお、本発明の第１の実施の形態においては、アクノリッジ信号の最下位（０番目）のビット（ＬＳＢ）を第０許可状態信号とし、１番目のビットを第１許可状態信号とし、２番目のビットを第２許可状態信号とし、３番目のビットを第３許可状態信号とする。また、アクノリッジ信号の４番目のビットを第４許可状態信号とし、５番目のビットを第５許可状態信号とし、６番目のビットを第６許可状態信号とし、最上位（７番目）のビット（ＭＳＢ）を第７許可状態信号とする。なお、バス１２０は複数のデータ転送を同時に行えないため、このアクノリッジ信号において「１」の値となるビットの数は、最大で１つである。
【００３６】
許可クライアント検出部２１０は、次にデータ転送が許可されるクライアントを検出するものである。この許可クライアント検出部２１０は、データ転送を許可するクライアントを検出するための許可対象検出情報の値を順次更新し、この許可対象検出情報、リクエスト信号およびアクノリッジ信号に基づいて、次にデータ転送が許可されるクライアントを検出する。ここで、許可対象検出情報は、各クライアントに個別に割り当てられている識別子を指定するための情報であり、データ転送を許可するクライアントを検出する際に用いられる情報である。この許可クライアント検出部２１０は、許可対象検出情報の値と同一の識別子が割り当てられたクライアント（次のデータ転送の許可対象の候補）が要求信号を出力しているか否かに基づいて、次にデータ転送が許可されるクライアントか否か検出する。そして、この許可クライアント検出部２１０は、次にデータ転送が許可されるクライアントを検出した場合には、許可対象検出情報の更新を一時停止することによってクライアントの検出を一時停止する。なお、許可対象検出情報は、特許請求の範囲に記載の特定情報の一例である。また、許可対象検出情報により指定されるクライアントは、特許請求の範囲に記載のデータ転送の許可対象の候補の一例である。
【００３７】
また、許可クライアント検出部２１０は、アクノリッジ信号供給部２２０がクライアントにデータ転送を許可した場合には、そのデータ転送の終了を待たずに、次にデータ転送が許可されるクライアントの検出を許可対象検出情報の更新の再開により開始する。すなわち、この許可クライアント検出部２１０は、第１乃至第７クライアント１４１乃至１４７のいずれかにおけるデータ転送動作と並行して、次にデータ転送を行うクライアントを検出する。
【００３８】
ただし、この許可クライアント検出部２１０は、データ転送が行われている期間において、許可対象検出情報により特定される次のデータ転送の許可対象の候補となるクライアントが要求状態信号を供給している場合には、許可対象検出情報の更新を停止する。一方、この許可クライアント検出部２１０は、許可対象検出情報により特定される次のデータ転送の許可対象の候補となるクライアントが要求状態信号を供給していない場合には、許可対象検出情報を更新する。
【００３９】
この許可クライアント検出部２１０は、許可対象検出情報を、信号線２１９を介してアクノリッジ信号供給部２２０に供給する。なお、この許可クライアント検出部２１０については、図２を参照して詳細に説明する。また、許可クライアント検出部２１０は、特許請求の範囲に記載の更新部の一例である。
【００４０】
アクノリッジ信号供給部２２０は、データ転送の許可を要求しているクライアントのうちいずれか１つのクライアントに対してデータ転送を許可するか否かを決定するものである。このアクノリッジ信号供給部２２０は、許可対象検出情報およびリクエスト信号に基づいて、アクノリッジ信号を供給する。例えば、許可対象検出情報により特定されるクライアントの要求状態信号のビットの値が「１」であるとともにデータ転送が許可されたクライアントがない場合を想定する。この場合には、アクノリッジ信号供給部２２０は、その許可対象検出情報より特定されるクライアントのデータ転送を許可する。すなわち、このアクノリッジ信号供給部２２０は、許可対象検出情報より特定されたクライアントが「１」の値の要求信号を供給したか否かに基づいて、「１」の値の許可状態信号をその特定されたクライアントに供給するか否かを決定する。
【００４１】
一方、許可対象検出情報より特定されるクライアントの要求状態信号の値が「１」であるが既に他のクライアントにデータ転送を許可している場合を想定する。この場合には、アクノリッジ信号供給部２２０は、そのデータ転送の終了とともに許可対象検出情報より特定されるクライアントのデータ転送を許可する。また、このアクノリッジ信号供給部２２０は、リフレッシュコントローラ１３０からビットの値が「１」の第０要求状態信号が供給された場合には、次にデータ転送が許可されるクライアントとして、リフレッシュコントローラ１３０を優先的に決定する。
【００４２】
このアクノリッジ信号供給部２２０は、生成したアクノリッジ信号の各ビットを、ＡＣＫ線１６０を介してリフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７に供給する。なお、このアクノリッジ信号供給部２２０については、図２を参照して詳細に説明する。なお、アクノリッジ信号供給部２２０は、特許請求の範囲に記載の決定部の一例である。
【００４３】
このように、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０を設けることによって、クライアントのデータ転送動作と並行して、次にデータ転送を行うクライアントを効率的に検出することができる。
【００４４】
［許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の機能構成例］
図２は、本発明の第１の実施の形態における許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の機能構成例を示すブロック図である。なお、本発明の第１の実施の形態では、クライアントを識別するための識別子を各クライアントに付与する。また、本発明の第１の実施の形態においては、第１クライアント１４１には識別子「１」が割り当てられ、第２クライアント１４２には識別子「２」が割り当てられ、第３クライアント１４３には識別子「３」が割り当てられるものとする。また、第４クライアント１４４には識別子「４」が割り当てられ、第５クライアント１４５には識別子「５」が割り当てられ、第６クライアント１４６には識別子「６」が割り当てられ、第７クライアント１４７には識別子「７」が割り当てられるものとする。
【００４５】
また、本発明の第１の実施の形態では、許可対象検出情報として、「１」乃至「７」を示す３ビットのビット列（すなわち、「１」乃至「７」を示す「００１」乃至「１１１」のビット列）を用いる場合を例にして説明する。
【００４６】
許可クライアント検出部２１０は、カウントアップ値供給部２１１と、加算器２１２と、更新情報生成部２１３と、許可対象検出情報決定部２１４と、許可対象検出情報選択部２１５と、許可対象検出情報保持部２１６とを備える。
【００４７】
カウントアップ値供給部２１１は、許可対象検出情報の値を１つ繰り上げるためのカウントアップ値を供給するものである。すなわち、このカウントアップ値供給部２１１は、許可対象検出情報のビット列に加算するビット列（すなわち、「１」の値を示す「００１」）をカウントアップ値として保持し、保持しているカウントアップ値を加算器２１２に順次供給する。
【００４８】
加算器２１２は、信号線２１９を介して供給される許可対象検出情報の値と、カウントアップ値供給部２１１から供給されるカウントアップ値とを加算するものであり、その加算された値（加算対象となった値＋１）を更新情報生成部２１３に供給する。
【００４９】
更新情報生成部２１３は、次のサイクルの許可対象検出情報の値（許可対象検出情報の更新値（更新情報））を生成するものである。この更新情報生成部２１３は、加算器２１２により加算された値（加算値）が許可対象検出情報の値の最大値「７」を超えている場合には、その加算値を許可対象検出情報の値の最小値「１」に変換する。また、この更新情報生成部２１３は、その加算値が許可対象検出情報の値の最大値「７」を超えていない場合には、その加算値を更新情報の値とする。すなわち、この更新情報生成部２１３は、その加算値が「８」である場合には、更新情報の値を「１」にする。また、この更新情報生成部２１３は、その加算値が「１」乃至「７」である場合には、更新情報の値をその加算値（「１」乃至「７」）とする。この更新情報生成部２１３は、生成した更新情報を許可対象検出情報選択部２１５に供給する。
【００５０】
ここで、カウントアップ値供給部２１１、加算器２１２および更新情報生成部２１３における処理の一例について説明する。カウントアップ値供給部２１１、加算器２１２および更新情報生成部２１３における処理は、例えば、次の式１により表すことができる。
ｉ＝（（ｉ＋１−ｉ０）ｍｏｄ  Ｎ）＋ｉ０    ・・・式１
【００５１】
ここで、式１の左辺のｉは、更新情報である。また、式１の右辺のｉは、信号線２１９を介して供給される許可対象検出情報である。「１」は、カウントアップ値供給部２１１から供給されるカウントアップ値である。また、ｉ０は、許可対象検出情報の値の最小値（許可対象検出情報最小値）である。このｉ０は、本発明の第１の実施の形態では、「１」である。また、Ｎは、許可対象検出情報の値の最大値（許可対象検出情報最大値）である。このＮは、本発明の第１の実施の形態では、「７」である。
【００５２】
例えば、信号線２１９を介して供給される許可対象検出情報が「７」である場合を想定する。この場合には、加算器２１２により、カウントアップ値「１」が加算され、加算値「８」が生成される。これは、式１の右辺の「ｉ＋１」に相当する処理内容である。次に、更新情報生成部２１３により、加算値「８」から許可対象検出情報最小値（ｉ０）の値「１」が減算され、その減算された値「７」を許可対象検出情報最大値（Ｎ）の値「７」で除算して剰余が求められる。そして、その剰余の値「０」に許可対象検出情報最小値（ｉ０）の値「１」が加算され、更新情報（更新値「１」）が生成される。
【００５３】
次に、信号線２１９を介して供給される許可対象検出情報が「２」である場合を想定する。この場合には、加算器２１２により、カウントアップ値「１」が加算され、加算値「３」が生成される。次に、更新情報生成部２１３により、加算値「３」から許可対象検出情報最小値（ｉ０）の値「１」が減算され、その減算された値「２」を許可対象検出情報最大値（Ｎ）の値「７」で除算して剰余が求められる。そして、その剰余の値「２」に許可対象検出情報最小値（ｉ０）の値「１」が加算され、更新情報（更新値「３」）が生成される。なお、カウントアップ値供給部２１１、加算器２１２および更新情報生成部２１３は、特許請求の範囲に記載の特定情報更新部の一例である。
【００５４】
許可対象検出情報決定部２１４は、次のサイクルの許可対象検出情報を決定するものである。この許可対象検出情報決定部２１４は、ＡＣＫ線１６０を介して供給されるアクノリッジ信号、ＲＥＱ線１５０を介して供給されるリクエスト信号および信号線２１９を介して供給される許可対象検出情報に基づいて、次のサイクルの許可対象検出情報を決定する。ここで、許可対象検出情報（ｉ）により特定されるクライアントの要求状態信号の値（リクエスト信号におけるｉ番目のビットの値（ＲＥＱ［ｉ］値））が「０」である場合について説明する。この場合において、許可対象検出情報決定部２１４は、更新情報を選択させるための命令（許可対象検出情報更新命令）を許可対象検出情報選択部２１５に供給する。次に、ＲＥＱ［ｉ］値が「１」である場合について説明する。この場合において、この許可対象検出情報決定部２１４は、許可対象検出情報（ｉ）により特定されるクライアントに関する許可状態信号の値（アクノリッジ信号のｉ番目のビットの値（ＡＣＫ［ｉ］値））を参照して、次のサイクルの許可対象検出情報を決定する。
【００５５】
具体的には、許可対象検出情報決定部２１４は、ＲＥＱ［ｉ］値が「１」であり、かつ、ＡＣＫ［ｉ］値が「０」である場合には、現サイクルの許可対象検出情報を選択させるための命令（許可対象検出情報待機命令）を許可対象検出情報選択部２１５に供給する。なお、このＲＥＱ［ｉ］値が「１」であるとともにＡＣＫ［ｉ］値が「０」である場合とは、次にデータ転送が許可されるクライアントとして許可対象検出情報（ｉ）により特定されるクライアントが検出された場合である。また、この許可対象検出情報決定部２１４は、ＲＥＱ［ｉ］値が「１」であるとともにＡＣＫ［ｉ］値が「１」である場合には、許可対象検出情報更新命令を許可対象検出情報選択部２１５に供給する。
【００５６】
ここで、ＲＥＱ［ｉ］値およびＡＣＫ［ｉ］値が、ともに「１」である場合について詳細に説明する。ＲＥＱ［ｉ］値は、本発明の第１の実施の形態において、データ転送が終了する１つ前のサイクルで「１」から「０」に遷移する。また、ＡＣＫ［ｉ］値は、データ転送が終了したサイクル（例えば、図３で示すＡＣＫ[４]線１６４の経過時間「１１」）で「１」から「０」に遷移する。すなわち、ＲＥＱ［ｉ］値およびＡＣＫ［ｉ］値がともに「１」である場合の最前のサイクルは、許可対象検出情報（ｉ）が示すクライアントがデータ転送を開始したサイクルまたはデータ転送の待ちをしているサイクルである。例えば、図３で示す例では、ＡＣＫ[４]線１６４の経過時間「４」である。また、ＲＥＱ［ｉ］値およびＡＣＫ［ｉ］値がともに「１」である場合の最後のサイクルは、データ転送が終了する１つ前のサイクルである。例えば、図３で示す例では、ＡＣＫ[４]線１６４の経過時間「１０」である。ＲＥＱ［ｉ］値とＡＣＫ［ｉ］値とがともに「１」の場合に許可対象検出情報更新命令を供給することで、許可対象検出情報（ｉ）より特定されるクライアントのデータ転送の開始とともに、次にデータ転送を許可するクライアントの検出を開始することができる。
【００５７】
なお、この許可対象検出情報決定部２１４は、例えば、３ビットのエンコードされた許可対象検出情報を８ビットの信号にデコードして、リクエスト信号およびアクノリッジ信号との論理積（ａｎｄ）を行う回路により実現することができる。
【００５８】
許可対象検出情報選択部２１５は、許可対象検出情報決定部２１４から供給される許可対象検出情報更新命令または許可対象検出情報待機命令に基づいて、次のサイクルの許可対象検出情報を選択するものである。この許可対象検出情報選択部２１５は、許可対象検出情報更新命令が供給された場合には、更新情報生成部２１３から供給される更新情報を次のサイクルの許可対象検出情報として選択する。また、この許可対象検出情報選択部２１５は、許可対象検出情報待機命令が供給された場合には、許可対象検出情報保持部２１６から信号線２１９を介して供給される現サイクルの許可対象検出情報を次のサイクルの許可対象検出情報として選択する。この許可対象検出情報選択部２１５は、選択した許可対象検出情報を許可対象検出情報保持部２１６に供給する。
【００５９】
許可対象検出情報保持部２１６は、許可対象検出情報選択部２１５が選択した許可対象検出情報を保持するものである。この許可対象検出情報保持部２１６は、保持した許可対象検出情報を、信号線２１９を介して、加算器２１２、許可対象検出情報決定部２１４、許可対象検出情報選択部２１５およびアクノリッジ信号更新値生成部２２１に供給する。
【００６０】
また、アクノリッジ信号供給部２２０は、アクノリッジ信号更新値生成部２２１と、リフレッシュ許可信号供給部２２２と、アクノリッジ信号決定部２２３と、アクノリッジ信号選択部２２４と、アクノリッジ信号保持部２２５とを備える。
【００６１】
アクノリッジ信号更新値生成部２２１は、次のサイクルのアクノリッジ信号になる可能性がある値であるアクノリッジ信号の更新値（更新アクノリッジ信号）を生成するものである。このアクノリッジ信号更新値生成部２２１は、ＲＥＱ線１５０を介して供給されるリクエスト信号のＲＥＱ［ｉ］値が「１」である場合には、アクノリッジ信号のＡＣＫ［ｉ］値が「１」であり、他のビットは全て「０」の値である更新アクノリッジ信号を生成する。また、このアクノリッジ信号更新値生成部２２１は、リクエスト信号のＲＥＱ［ｉ］値が「０」である場合には、全てのビットが「０」の値である更新アクノリッジ信号を生成する。例えば、このアクノリッジ信号更新値生成部２２１は、「２」の値の許可対象検出情報と、２番目のビットの値が「１」のリクエスト信号とが供給されると、２番目のビットの値が「１」であり、他のビットは全て「０」の値である更新アクノリッジ信号を生成する。またこのアクノリッジ信号更新値生成部２２１は、「２」の値の許可対象検出情報と、２番目のビットの値が「０」のリクエスト信号とが供給されると、全てのビットが「０」の値である更新アクノリッジ信号を生成する。このアクノリッジ信号更新値生成部２２１は、生成した更新アクノリッジ信号をアクノリッジ信号選択部２２４に供給する。
【００６２】
なお、このアクノリッジ信号更新値生成部２２１は、例えば、信号線２１９を介して供給される許可対象検出情報の３ビットのエンコードされた値を８ビットの値にデコードして、リクエスト信号との論理積（ａｎｄ）を行う回路により実現することができる。
【００６３】
リフレッシュ許可信号供給部２２２は、リフレッシュコントローラ１３０にリフレッシュ動作を許可させるアクノリッジ信号（リフレッシュ許可信号）を供給するものである。すなわち、このリフレッシュ許可信号は、０番目のビットの値が「１」であり、他のビットは全て「０」の値であるアクノリッジ信号である。このリフレッシュ許可信号供給部２２２は、リフレッシュ許可信号をアクノリッジ信号選択部２２４に供給する。
【００６４】
アクノリッジ信号決定部２２３は、ＡＣＫ線１６０を介して供給されるアクノリッジ信号と、ＲＥＱ線１５０を介して供給されるリクエスト信号とに基づいて、次のサイクルのアクノリッジ信号を決定するものである。まず、このアクノリッジ信号決定部２２３は、要求状態信号の値が「１」であるとともに許可状態信号の値が「１」であるクライアントがあるか否かを検出する。このアクノリッジ信号決定部２２３は、両方の信号とも値が「１」であるクライアントを検出した場合には、現サイクルのアクノリッジ信号を選択させるための命令（ＡＣＫ待機命令）をアクノリッジ信号選択部２２４に供給する。
【００６５】
また、このアクノリッジ信号決定部２２３は、両方の信号とも値が「１」であるクライアントが検出されない場合には、リクエスト信号の０番目のビットの値に基づいて次のサイクルのアクノリッジ信号を決定する。この場合においてリクエスト信号の０番目のビットの値が「１」であると、アクノリッジ信号決定部２２３は、リフレッシュ許可信号を選択させるための命令（第１ＡＣＫ更新命令）をアクノリッジ信号選択部２２４に供給する。また、この場合においてリクエスト信号の０番目のビットの値が「０」であると、アクノリッジ信号決定部２２３は、更新アクノリッジ信号を選択させるための命令（第２ＡＣＫ更新命令）をアクノリッジ信号選択部２２４に供給する。
【００６６】
アクノリッジ信号選択部２２４は、アクノリッジ信号決定部２２３から供給されるＡＣＫ待機命令、第１ＡＣＫ更新命令または第２ＡＣＫ更新命令に基づいて、次のサイクルのアクノリッジ信号を選択するものである。このアクノリッジ信号選択部２２４は、ＡＣＫ待機命令が供給された場合には、アクノリッジ信号保持部２２５からＡＣＫ線１６０を介して供給される現サイクルのアクノリッジ信号を、次のサイクルのアクノリッジ信号として選択する。また、このアクノリッジ信号選択部２２４は、第１ＡＣＫ更新命令が供給された場合には、リフレッシュ許可信号供給部２２２から供給されるリフレッシュ許可信号を、次のサイクルのアクノリッジ信号として選択する。また、このアクノリッジ信号選択部２２４は、第２ＡＣＫ更新命令が供給された場合には、アクノリッジ信号更新値生成部２２１から供給される更新アクノリッジ信号を、次のサイクルのアクノリッジ信号として選択する。このアクノリッジ信号選択部２２４は、選択したアクノリッジ信号をアクノリッジ信号保持部２２５に供給する。
【００６７】
アクノリッジ信号保持部２２５は、アクノリッジ信号選択部２２４が選択したアクノリッジ信号を保持するものである。このアクノリッジ信号保持部２２５は、保持したアクノリッジ信号を、ＡＣＫ線１６０を介して、許可対象検出情報決定部２１４、アクノリッジ信号選択部２２４およびアクノリッジ信号決定部２２３に供給する。また、アクノリッジ信号保持部２２５は、保持したアクノリッジ信号の各ビットを、リフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７に供給する。
【００６８】
このように、現サイクルのリクエスト信号、現サイクルの許可対象検出情報および現サイクルのアクノリッジ信号に基づいて、次のサイクルの許可対象検出情報および次のサイクルのアクノリッジ信号を生成することができる。
【００６９】
［アクノリッジ信号供給部によるアクノリッジ信号発生例］
図３は、本発明の第１の実施の形態におけるアクノリッジ信号供給部２２０によるアクノリッジ信号発生例を示すタイミングチャートである。ここでは、横軸をアービタ２００の動作におけるクロック信号として、許可対象検出情報（ｉ）２１９の値と、ＲＥＱ［０］線１５９における第０要求状態信号の変化と、ＲＥＱ［３］線１５３における第３要求状態信号の変化とが示されている。また、ここでは、ＲＥＱ［４］線１５４における第４要求状態信号の変化と、ＲＥＱ［７］線１５７における第７要求状態信号の変化と、ＡＣＫ［０］線１６９における第０許可状態信号の変化とが示されている。さらに、ここでは、ＡＣＫ［３］線１６３における第３許可状態信号の変化と、ＡＣＫ［４］線１６４における第４許可状態信号の変化と、ＡＣＫ［７］線１６７における第７許可状態信号の変化とが示されている。
【００７０】
また、ここでは、経過時間として、クロックのサイクル数で経過時間をカウントした値が示されている。
【００７１】
なお、本発明の第１の実施の形態では、リードデータおよびライトデータを転送する期間は、クロック数で８サイクルを想定する。さらに、リードアクセスからライトアクセスへの切り替えおよびライトアクセスからリードアクセスへの切り替えには、クロック数で２サイクルの待ち時間が生じるものとする。また、リードアクセスおよびライトアクセスからリフレッシュ動作への切り替えにはクロック数で２サイクルの待ち時間が生じ、リフレッシュ動作からリードアクセスおよびライトアクセスへの切り替えにもクロック数で２サイクルの待ち時間が生じるものとする。
【００７２】
また、本発明の第１の実施の形態では、便宜上、クライアントは、「１」の値の許可状態信号の供給が開始されてから終了するまでの期間において、ＤＡＲＭ１１０へのアクセスに関する命令を、バス１２０を介してＤＲＡＭ１１０に供給するものとする。
【００７３】
なお、本発明の第１の実施の形態では、リードアクセスの次にリードアクセスが続く動作の際およびライトアクセスの次にライトアクセスが続く動作の際には、待ち時間は０サイクルで次の動作が実行できるものとする。
【００７４】
この例では、便宜上、ＲＥＱ［１］線１５１、ＲＥＱ［２］線１５２、ＲＥＱ［５］線１５５およびＲＥＱ［６］線１５６における値は、「０」であることを想定して説明する。このため、ＲＥＱ［１］線１５１、ＲＥＱ［２］線１５２、ＲＥＱ［５］線１５５およびＲＥＱ［６］線１５６については、図３への図示およびその説明を省略する。
【００７５】
同様に、この例では、ＡＣＫ［１］線１６１、ＡＣＫ［２］線１６２、ＡＣＫ［５］線１６５およびＡＣＫ［６］線１６６における値は、「０」であることを想定して説明する。このため、ＡＣＫ［１］線１６１、ＡＣＫ［２］線１６２、ＡＣＫ［５］線１６５およびＡＣＫ［６］線１６６については、図３への図示およびその説明を省略する。
【００７６】
また、図３では、ＲＥＱ［０］線１５９の第０要求状態信号が経過時間「２６」において「０」から「１」に遷移し、ＲＥＱ［３］線１５３の第３要求状態信号が経過時間「６」において「０」から「１」に遷移することを想定する。また、ＲＥＱ［４］線１５４の第４要求状態信号が経過時間「２」において「０」から「１」に遷移し、ＲＥＱ［７］線１５７の第７要求状態信号が経過時間「４」において「０」から「１」に遷移するものとする。
【００７７】
また、図３では、ＲＥＱ［３］線１５３の経過時間「６」におけるデータ転送要求は、リードアクセスに関するデータ転送要求であるものとする。また、ＲＥＱ［４］線１５４の経過時間「２」におけるデータ転送要求も、リードアクセスに関するデータ転送要求であることとする。また、ＲＥＱ［７］線１５７の経過時間「４」におけるデータ転送要求は、ライトアクセスに関するデータ転送要求であることとする。
【００７８】
また、経過時間「０」における許可対象検出情報の値は第１クライアント１４１を特定する「１」であることを想定する。
【００７９】
なお、経過時間「０」において、アクノリッジ信号供給部２２０が供給するアクノリッジ信号は、８ビットの全ての値が「０」であることを想定する。
【００８０】
この図３では、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０が供給する許可対象検出情報およびアクノリッジ信号に注目して説明する。
【００８１】
まず、経過時間「０」において、許可クライアント検出部２１０が供給する許可対象検出情報およびアクノリッジ信号供給部２２０が供給するアクノリッジ信号について説明する。許可対象検出情報保持部２１６は、保持している値「１」を、信号線２１９を介して、加算器２１２、許可対象検出情報決定部２１４、許可対象検出情報選択部２１５およびアクノリッジ信号更新値生成部２２１に供給する。また、アクノリッジ信号保持部２２５は、保持している８ビットの全ての値が「０」であるアクノリッジ信号を、ＡＣＫ線１６０を介して、許可対象検出情報決定部２１４、アクノリッジ信号選択部２２４およびアクノリッジ信号決定部２２３に供給する。さらに、アクノリッジ信号保持部２２５は、保持している８ビットの全ての値が「０」であるアクノリッジ信号の各ビットを、リフレッシュコントローラ１３０および第１乃至第７クライアント１４１乃至１４７に供給する。
【００８２】
次に、経過時間「０」における許可クライアント検出部２１０の許可対象検出情報決定動作について説明する。最初に、加算器２１２は、カウントアップ値供給部２１１から供給されるカウントアップ値「１」を許可対象検出情報「１」に加算した加算値「２」を更新情報生成部２１３に供給する。続いて、更新情報生成部２１３は、加算値「２」に基づいて、更新情報「２」を生成し、その生成した更新情報「２」を許可対象検出情報選択部２１５に供給する。また、許可対象検出情報保持部２１６に保持されている値「１」が供給された許可対象検出情報決定部２１４は、更新情報生成部２１３における更新情報の生成と同時に、経過時間「１」における許可対象検出情報を決定する。ここで、経過時間「０」において、ＲＥＱ［１］線１５１の第１要求状態信号は「０」であるため、許可対象検出情報決定部２１４は、許可対象検出情報更新命令を許可対象検出情報選択部２１５に供給する。そして、許可対象検出情報選択部２１５は、更新情報生成部２１３で生成された更新情報「２」と、信号線２１９を介して供給された現サイクルの許可対象検出情報「１」とのうち、更新情報「２」を選択する。続いて、この許可対象検出情報選択部２１５は、その選択した更新情報「２」を次のサイクルの許可対象検出情報として許可対象検出情報保持部２１６に供給する。このようにして、経過時間「０」において、経過時間「１」における許可対象検出情報「２」が生成され、その生成された許可対象検出情報「２」が許可対象検出情報保持部２１６に保持される。
【００８３】
次に、経過時間「０」におけるアクノリッジ信号供給部２２０のアクノリッジ信号決定動作について説明する。最初に、アクノリッジ信号更新値生成部２２１は、許可対象検出情報「１」と８ビットの全ての値が「０」であるリクエスト信号に基づいて、全てのビットが「０」の値である更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部２２３は、８ビットの全ての値が「０」であるリクエスト信号と、８ビットの全ての値が「０」であるアクノリッジ信号とに基づいて、経過時間「１」におけるアクノリッジ信号を決定する。このアクノリッジ信号決定部２２３は、リクエスト信号とアクノリッジ信号とに基づいて、要求状態信号および許可状態信号の両方とも値が「１」であるクライアントは存在しないと決定する。さらに、リクエスト信号の０番目のビットの値が「０」であるため、アクノリッジ信号決定部２２３は、第２ＡＣＫ更新命令をアクノリッジ信号選択部２２４に供給する。そして、アクノリッジ信号選択部２２４は、アクノリッジ信号更新値生成部２２１から供給された全てのビットが「０」の値である更新アクノリッジ信号を選択して、その選択したアクノリッジ信号をアクノリッジ信号保持部２２５に供給する。このようにして、経過時間「０」において、経過時間「１」におけるアクノリッジ信号が生成され、その生成されたアクノリッジ信号がアクノリッジ信号保持部２２５に保持される。
【００８４】
経過時間「１」における動作は、経過時間「０」と同様の動作であるため、説明を省略する。経過時間「１」において、経過時間「２」における許可対象検出情報が「３」の値に決定される。
【００８５】
また、経過時間「２」においては、ＲＥＱ［４］線１５４の第４要求状態信号が「０」から「１」に遷移する。この経過時間「２」において、許可対象検出情報「３」より特定されるクライアントに関するＲＥＱ［３］線１５３の第３要求状態信号は「０」であるため、許可対象検出情報決定部２１４は、許可対象検出情報更新命令を許可対象検出情報選択部２１５に供給する。このようにして、経過時間「２」において、経過時間「３」における許可対象検出情報「４」が決定され、その決定された許可対象検出情報「４」が許可対象検出情報保持部２１６に保持される。なお、アクノリッジ信号供給部２２０の動作は、経過時間「０」と同様の動作である。
【００８６】
また、経過時間「３」において、許可対象検出情報「４」により特定されるクライアントに関するＲＥＱ［４］線１５４の第４要求状態信号は「１」である。このため、許可対象検出情報決定部２１４は、アクノリッジ信号の第４許可状態信号の値（ＡＣＫ［４］線１６４における値）も参照して次のサイクルの許可対象検出情報を決定する。この経過時間「３」においてＡＣＫ［４］線１６４における値は「０」であるため、許可対象検出情報決定部２１４は、許可対象検出情報待機命令を許可対象検出情報選択部２１５に供給する。これにより、経過時間「４」における許可対象検出情報「４」が決定され、その決定された許可対象検出情報「４」が許可対象検出情報保持部２１６に保持される。
【００８７】
この経過時間「３」において、アクノリッジ信号更新値生成部２２１は、許可対象検出情報「４」と４番目のビットの値（ＲＥＱ［４］線１５４の値）が「１」であるリクエスト信号とに基づいて、４番目のビットの値が「１」の更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部２２３は、４番目のビットの値（ＲＥＱ［４］線１５４における値）が「１」であるリクエスト信号と、８ビットの全ての値が「０」であるアクノリッジ信号とに基づいて、経過時間「４」におけるアクノリッジ信号を決定する。このアクノリッジ信号決定部２２３は、この２つの信号から、要求状態信号および許可状態信号の両方とも値が「１」であるクライアントは存在しないと判断する。さらに、リクエスト信号の４番目のビットの値（ＲＥＱ［４］線１５４における値）が「１」であるため、アクノリッジ信号決定部２２３は、第２ＡＣＫ更新命令をアクノリッジ信号選択部２２４に供給する。そして、アクノリッジ信号選択部２２４は、アクノリッジ信号更新値生成部２２１から供給された４番目のビットの値が「１」である更新アクノリッジ信号を選択して、その選択したアクノリッジ信号をアクノリッジ信号保持部２２５に供給する。このようにして、経過時間「３」において、経過時間「４」におけるアクノリッジ信号（４番目のビットの値が「１」）が決定され、その決定されたアクノリッジ信号がアクノリッジ信号保持部２２５に保持される。
【００８８】
また、経過時間「４」においては、ＡＣＫ［４］線１６４の第４許可状態信号が「１」であるため、第４クライアント１４４は、ＤＲＡＭ１１０とのデータ転送（リードアクセス）を開始する。この経過時間「４」の直前にライトアクセスはないことにより待ち時間は不要であるため、第４クライアント１４４は、経過時間「４」から経過時間「１１」までの８サイクルの期間においてリードアクセスを行う。
【００８９】
また、経過時間「４」において、許可対象検出情報の値は「４」であり、リクエスト信号の値は４番目のビットの値（ＲＥＱ［４］線１５４における値）および７番目のビットの値（ＲＥＱ［７］線１５７における値）が「１」である。また、アクノリッジ信号は４番目のビットの値（ＲＥＱ［４］線１５４における値）が「１」である。すなわち、許可対象検出情報「４」より特定されるクライアントの第４要求状態信号および第４許可状態信号が両方とも「１」であるため、許可対象検出情報決定部２１４は、許可対象検出情報更新命令を許可対象検出情報選択部２１５に供給する。これにより、経過時間「５」における許可対象検出情報「５」が決定され、その決定された許可対象検出情報「５」が許可対象検出情報保持部２１６に保持される。
【００９０】
また、経過時間「４」において、アクノリッジ信号決定部２２３は、ＲＥＱ［４］線１５４における値が「１」であるとともに、ＡＣＫ［４］線１６４における値が「１」であるため、ＡＣＫ待機命令をアクノリッジ信号選択部２２４に供給する。これにより、経過時間「４」において、経過時間「５」におけるアクノリッジ信号（４番目のビットの値が「１」）が決定され、その決定されたアクノリッジ信号がアクノリッジ信号保持部２２５に保持される。
【００９１】
なお、経過時間「５」および「６」における許可クライアント検出部２１０の動作は、経過時間「０」と同様の動作であるため、ここでの説明を省略する。すなわち、経過時間「６」において、経過時間「７」における許可対象検出情報が「７」の値に決定される。また、経過時間「５」および「６」におけるアクノリッジ信号供給部２２０の動作は、経過時間「４」と同様の動作であるため、ここでの説明を省略する。
【００９２】
また、経過時間「７」において、許可対象検出情報は「７」、リクエスト信号は３番目のビットの値（ＲＥＱ［３］線１５３の値）と４番目のビットの値（ＲＥＱ［４］線１５４の値）と７番目のビットの値（ＲＥＱ［７］線１５７の値）とが「１」である。また、アクノリッジ信号は４番目のビットの値（ＡＣＫ［４］線１６４における値）が「１」である。すなわち、許可対象検出情報「７」により特定されるクライアントの第７要求状態信号の値が「１」であるが、第７許可状態信号が「０」であるため、許可対象検出情報決定部２１４は、許可対象検出情報待機命令を許可対象検出情報選択部２１５に供給する。これにより、経過時間「８」における許可対象検出情報「７」が決定され、その決定された許可対象検出情報「７」が許可対象検出情報保持部２１６に保持される。なお、この経過時間「７」におけるアクノリッジ信号供給部２２０の動作は、経過時間「４」と同様の動作であるため、ここでの説明を省略する。
【００９３】
そして、経過時間「１０」まで、許可対象検出情報は「７」の値となり、アクノリッジ信号は４番目のビットの値（ＡＣＫ［４］線１６４における値）が「１」の値となる。
【００９４】
また、経過時間「１０」において、第４クライアント１４４は、ＲＥＱ［４］線１５４の第４要求状態信号を「１」から「０」に遷移させて、リードアクセスが次のサイクルで完了することを通知する。これにより、経過時間「１１」におけるリクエスト信号は、３番目のビットの値（ＲＥＱ［３］線１５３における値）および７番目のビットの値（ＲＥＱ［７］線１５７における値）が「１」になる。
【００９５】
また、経過時間「１１」において、許可クライアント検出部２１０は、許可対象検出情報を「７」のまま許可対象検出情報保持部２１６に保持する。次に、経過時間「１１」におけるアクノリッジ信号供給部２２０のアクノリッジ信号決定動作について説明する。アクノリッジ信号更新値生成部２２１は、許可対象検出情報「７」と、３番目のビットおよび７番目のビットの値が「１」であるリクエスト信号に基づいて、７番目のビットの値（ＡＣＫ［７］線１６７における値）が「１」である更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部２２３は、要求状態信号と許可状態信号の両方とも値が「１」であるクライアントが検出されないと判断する。これにより、アクノリッジ信号決定部２２３は、リクエスト信号の０番目のビットの値に基づいて次のサイクルのアクノリッジ信号を決定する。経過時間「１１」において、リクエスト信号の０番目のビットの値（ＲＥＱ［０］線１５９における値）は「０」であるため、アクノリッジ信号決定部２２３は、第２ＡＣＫ更新命令をアクノリッジ信号選択部２２４に供給する。これにより、経過時間「１１」において、経過時間「１２」におけるアクノリッジ信号（７番目のビットの値が「１」）が決定され、その決定されたアクノリッジ信号がアクノリッジ信号保持部２２５に保持される。
【００９６】
また、経過時間「１２」においては、ＡＣＫ［７］線１６７の第７許可状態信号が「１」であるため、第７クライアント１４７は、ＤＲＡＭ１１０とのデータ転送（ライトアクセス）を開始する。ここで、経過時間「１２」の直前におけるＤＲＡＭ１１０の動作はリードアクセスであり、第７クライアント１４７によるＤＲＡＭ１１０の動作はライトアクセスであることから、ＤＲＡＭ１１０において２サイクルの待ち時間が必要となる。そこで、第７クライアント１４７は、経過時間「１２」および「１３」において、ライトアクセスに関する命令の供給を開始しないで待機する。そして、第７クライアント１４７は、経過時間「１４」においてライトアクセスに関する命令の供給を開始し、経過時間「２１」までの８サイクルの期間においてＤＲＡＭ１１０との間でライトアクセスを行う。
【００９７】
なお、経過時間「１２」から経過時間「２１」までの許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の動作は、信号の値が異なるものの経過時間「１１」までにおいて説明した動作と同様のものであるため、ここでの説明を省略する。
【００９８】
また、経過時間「２１」において、経過時間「２２」の許可対象検出情報の値は「３」と決定され、アクノリッジ信号は３番目のビットの値（ＡＣＫ［３］線１６３における値）が「１」と決定される。
【００９９】
また、経過時間「２２」において、ＡＣＫ［３］線１６３の第３許可状態信号が「１」であるため、第３クライアント１４３は、ＤＲＡＭ１１０とのデータ転送（リードアクセス）を開始する。ここで、経過時間「２２」の直前におけるＤＲＡＭ１１０の動作はライトアクセスであり、第３クライアント１４３によるＤＲＡＭ１１０の動作はリードアクセスであることから、ＤＲＡＭ１１０において２サイクルの待ち時間が必要となる。そこで、第３クライアント１４３は、経過時間「２２」および「２３」において、リードアクセスに関する命令の供給を開始しないで待機する。そして、第３クライアント１４３は、経過時間「２４」においてリードアクセスに関する命令の供給を開始し、経過時間「３１」までの８サイクルの期間においてＤＲＡＭ１１０との間でリードアクセスを行う。
【０１００】
なお、経過時間「２２」から経過時間「３０」までの許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の動作は、信号の値が異なるものの経過時間「１１」までにおいて説明した動作と同様のものであるため、ここでの説明を省略する。
【０１０１】
そして、経過時間「３０」において、経過時間「３１」の許可対象検出情報の値は「７」と決定され、アクノリッジ信号は３番目のビットの値（ＡＣＫ［３］線１６３における値）が「１」と決定される。また、経過時間「３０」において、第３クライアント１４３は、ＲＥＱ［３］線１５３の第３要求状態信号を「１」から「０」に遷移させて、リードアクセスが次のサイクルで完了することを通知する。これにより、経過時間「３１」におけるリクエスト信号は、０番目のビットの値（ＲＥＱ［０］線１５９における値）および７番目のビットの値（ＲＥＱ［７］線１５７における値）が「１」になる。
【０１０２】
また、経過時間「３１」において、許可クライアント検出部２１０は、許可対象検出情報を「７」のまま許可対象検出情報保持部２１６に保持する。次に、経過時間「３１」におけるアクノリッジ信号供給部２２０のアクノリッジ信号決定動作について説明する。最初に、アクノリッジ信号更新値生成部２２１は、７番目のビットの値（ＡＣＫ［７］線１６７における値）が「１」である更新アクノリッジ信号を生成する。また、アクノリッジ信号決定部２２３は、要求状態信号と許可状態信号の両方とも値が「１」であるクライアントが検出されないと判断する。これにより、アクノリッジ信号決定部２２３は、リクエスト信号の０番目のビットの値に基づいて次のサイクルのアクノリッジ信号を決定する。経過時間「３１」において、リクエスト信号の０番目のビットの値（ＲＥＱ［０］線１５９における値）は「１」であるため、アクノリッジ信号決定部２２３は、第１ＡＣＫ更新命令をアクノリッジ信号選択部２２４に供給する。そして、アクノリッジ信号選択部２２４は、リフレッシュ許可信号供給部２２２から供給されたリフレッシュ許可信号を選択して、その選択したリフレッシュ許可信号をアクノリッジ信号保持部２２５に供給する。このようにして、経過時間「３１」において、経過時間「３２」におけるアクノリッジ信号（０番目のビットの値が「１」）が生成され、その生成されたアクノリッジ信号がアクノリッジ信号保持部２２５に保持される。
【０１０３】
また、経過時間「３２」において、ＡＣＫ［０］線１６９の第０許可状態信号が「１」であるため、リフレッシュコントローラ１３０は、ＤＲＡＭ１１０にリフレッシュ命令の供給を開始する。ここで、経過時間「３２」の直前におけるＤＲＡＭ１１０の動作はリードアクセスであり、リフレッシュコントローラ１３０によるＤＲＡＭ１１０の動作はリフレッシュであることから、ＤＲＡＭ１１０において２サイクルの待ち時間が必要となる。そこで、リフレッシュコントローラ１３０は、経過時間「３２」および「３３」において、リフレッシュに関する命令の供給を開始しないで待機する。そして、リフレッシュコントローラ１３０は、経過時間「３４」においてリフレッシュに関する命令の供給を開始し、経過時間「４１」までの８サイクルの期間においてリフレッシュ動作をＤＲＡＭ１１０に行わせる。
【０１０４】
なお、経過時間「３２」から経過時間「４３」までの許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の動作は、信号の値が異なるもののこれまでにおいて説明した動作と同様のものであるため、説明を省略する。
【０１０５】
このように、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、クライアントの検出を待つサイクルを減少させることができる。
【０１０６】
［データ処理装置の効果例］
図４は、本発明の第１の実施の形態において、ＤＲＡＭ１１０から読み出されるデータ（リードデータ）とＤＲＡＭ１１０に書き込まれるデータ（ライトデータ）とのバス１２０を介した転送例を示すタイミングチャートである。ここでは、データ転送の終了を待たずに次にデータ転送を許可するクライアントを検出するデータ処理装置１００と、データ転送の終了を待ってから次にデータ転送を許可するクライアントを検出するデータ処理装置（従来の装置）との違いを説明する。
【０１０７】
図４（ａ）には、本発明の第１の実施の形態のデータ処理装置１００による転送データの例が示されている。この図４（ａ）には、横軸をアービタ２００の動作におけるクロック信号として、許可対象検出情報（ｉ）２１９の値と、ＲＥＱ［３］線１５３における第３要求状態信号の変化とが示されている。また、ここでは、ＲＥＱ［４］線１５４における第４要求状態信号の変化と、ＲＥＱ［７］線１５７における第７要求状態信号の変化と、ＡＣＫ［３］線１６３における第３許可状態信号の変化とが示されている。さらに、ここでは、ＡＣＫ［４］線１６４における第４許可状態信号の変化と、ＡＣＫ［７］線１６７における第７許可状態信号の変化とが示されている。また、ここでは、バス１２０を介して転送されるリードデータおよびライトデータが示されている。
【０１０８】
この図４では、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０による処理については、図3において示す例と同様であるため、ここでの説明を省略する。この図４では、バス１２０を介して転送されるデータに着目して説明する。
【０１０９】
なお、本発明の第１の実施の形態では、便宜上、許可状態信号がクライアントに供給される期間と、そのクライアントからＤＲＡＭ１１０に命令が発行される期間と、ＤＲＡＭ１１０からデータが伝送されるまでの期間とにおける遅延は考慮しないことにする。すなわち、この図４（ａ）において、「１」の値の許可状態信号がクライアントに供給されると、ＤＲＡＭ１１０は、その許可状態信号が供給されたサイクルにおいて、その許可状態信号に基づいてデータ転送の待ちまたはデータ転送を行うことにする。そして、ＤＲＡＭ１１０がデータ転送を行う場合には、その許可状態信号が供給されたサイクルにおいて、データがバス１２０を介して転送されることにする。
【０１１０】
ここで、本発明の第１の実施の形態によりバス１２０を介して転送されるデータについて、図４（ａ）のバス１２０を用いて説明する。まず、経過時間「４」乃至「１１」においては、第７クライアント１４７によるリードアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０から読み出されたリードデータがデータ転送される。その後、経過時間「１２」および「１３」においては、直前のリードアクセスとのバス使用の衝突を防ぐため、第４クライアント１４４によるライトアクセスに関する命令をＤＲＡＭ１１０にデータ転送することの待ち時間が発生する。続いて、経過時間「１４」乃至「２１」においては、第７クライアント１４７によるライトアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０に書き込まれるライトデータがデータ転送される。
【０１１１】
その後、経過時間「２２」および「２３」においては、直前のライトアクセスとのバス使用の衝突を防ぐため、第３クライアント１４３によるリードアクセスに関する命令をＤＲＡＭ１１０にデータ転送することの待ち時間が発生する。そして、経過時間「２４」および「３１」においては、第３クライアント１４３によるリードアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０からリードデータがデータ転送される。
【０１１２】
図４（ｂ）には、データ転送の終了を待ってから、次にデータ転送を許可するクライアントを検出する従来の装置による転送データの例が示されている。この図４（ｂ）には、横軸をアービタ２００の動作におけるクロック信号として、許可対象検出情報（ｉ）３６０の値と、ＡＣＫ［３］線３８３における第３許可状態信号の変化とが示されている。さらに、ここには、ＡＣＫ［４］線３８４における第４許可状態信号の変化と、ＡＣＫ［７］線３８７における第７許可状態信号の変化と、バス３９０を介して転送されるリードデータおよびライトデータとが示されている。
【０１１３】
なお、この図４（ｂ）では、リクエスト信号における「０」から「１」への遷移のタイミングは、図４（ａ）において示したリクエスト信号と同様のものとする。また、この図４（ｂ）における従来の装置は、アービタ２００以外は本発明の第１の実施の形態におけるデータ処理装置１００と同一の構成を想定して説明する。すなわち、ＡＣＫ［３］線３８３はＡＣＫ［３］線１６３に対応し、ＡＣＫ［４］線３８４はＡＣＫ［４］線１６４に対応し、ＡＣＫ［７］線３８７はＡＣＫ［７］線１６７に対応するものとする。また、バス３９０はバス１２０に対応するものとする。
【０１１４】
この図４（ｂ）における従来の装置のアービタは、バス３９０を介してデータ転送が行われている期間は、許可対象検出情報の値の更新を行わないものとする。
【０１１５】
ここで、従来の装置における許可対象検出情報およびアクノリッジ信号について簡単に説明する。経過時間「０」乃至「３」においては、従来の装置における許可対象検出情報およびアクノリッジ信号は、本発明の第１の実施の形態と同様である。その後、経過時間「４」において、従来の装置のアービタは、許可対象検出情報「７」により特定されるクライアントのデータ転送が終了していないため、経過時間「５」における許可対象検出情報の値を現サイクルの値と同一の「７」にする。この動作は、経過時間「１１」まで継続して行われる。
【０１１６】
そして、経過時間「１１」では、従来の装置のアービタは、許可対象検出情報「７」により特定されるクライアントからデータ転送の終了を示す「０」の値の要求状態信号を受け取り（図示はせず）、経過時間「１２」の許可対象検出情報の値を「１」に決定する。これにより、従来の装置のアービタでは、次にデータを転送するクライアントの検出が再開される。
【０１１７】
その後、経過時間「１５」において、許可対象検出情報の値が「４」であり、この許可対象検出情報「４」より特定されるクライアントの要求状態信号が「１」である。このため、許可対象検出情報の値の更新が中断されるとともに、４番目のビットの値が「１」のアクノリッジ信号が生成される。そして、経過時間「２３」において許可対象検出情報「４」により特定されるクライアントのデータ転送が終了するまで、「４」の値の許可対象検出情報が供給される。これと同時に、４番目のビットの値（ＡＣＫ［４］線３８４の値）が「１」のアクノリッジ信号が供給される。
【０１１８】
そして、経過時間「２３」において、経過時間「１１」と同様にして、次にデータを転送するクライアントの検出が再開される。その後、経過時間「２９」において、許可対象検出情報の値の更新が中断されるとともに、３番目のビットの値が「１」のアクノリッジ信号が生成される。そして、経過時間「３０」において３番目のビットの値（ＡＣＫ［３］線３８３の値）が「１」のアクノリッジ信号が供給される。
【０１１９】
すなわち、図４（ｂ）のバス３９０に示すように、従来の装置によれば、経過時間「４」乃至「１１」においては、許可対象検出情報「７」より特定されるクライアントによるリードアクセスに関する命令がＤＲＡＭ１１０にデータ転送される。また、この命令のデータ転送とともに、経過時間「４」乃至「１１」においては、ＤＲＡＭ１１０から読み出されたリードデータがデータ転送される。その後、経過時間「１２」乃至「１５」においては、アービタが次にデータ転送を許可するクライアントを検出している状態であるため、この経過時間「１２」乃至「１５」におけるバス３９０を介したデータ転送は行われない。そして、経過時間「１６」乃至「２３」においては、第４クライアント１４４によるライトアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０から読み出されたライトデータがデータ転送される。その後、経過時間「２４」乃至「２９」においては、アービタが次にデータ転送を許可するクライアントを検出している状態であるため、この経過時間「２４」乃至「２９」におけるバス３９０を介したデータ転送は行われない。そして、経過時間「３０」および「３１」においては、第３クライアント１４３によるリードアクセスの最初の２サイクル分が行われる。
【０１２０】
このように、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、バスの使用効率を向上させることができる。
【０１２１】
［アービタの動作例］
図５は、本発明の第１の実施の形態における許可クライアント検出部２１０の許可クライアント検出処理手順例を示すフローチャートである。
【０１２２】
なお、この図５および図６において示す許可対象検出情報（ｉ）、許可対象検出情報最小値（ｉ０）、ＲＥＱ［ｉ］値、ＡＣＫ［ｉ］値および許可対象検出情報最大値（Ｎ）は、図２において示したものと同一であるため、ここでの説明を省略する。
【０１２３】
まず、許可対象検出情報保持部２１６における許可対象検出情報（ｉ）が許可対象検出情報最小値（ｉ０）に初期化される（ステップＳ９０１）。このステップＳ９０１は、例えば、データ処理装置１００の電源を投入直後などにおいて行われる。
【０１２４】
次に、許可対象検出情報決定部２１４によって、許可対象検出情報保持部２１６に保持されている許可対象検出情報（ｉ）により特定されるクライアントの要求状態信号の値（ＲＥＱ［ｉ］値）が「１」であるか否かが判断される（ステップＳ９０２）。そして、ＲＥＱ［ｉ］値が「１」でないと判断された場合には、ステップＳ９０４に進む。
【０１２５】
一方、ＲＥＱ［ｉ］値が「１」であると判断された場合には（ステップＳ９０２）、許可対象検出情報（ｉ）より特定されるクライアントの許可状態信号の値（ＡＣＫ［ｉ］値）が「１」であるか否かが判断される（ステップＳ９０３）。このステップＳ９０３は、許可対象検出情報決定部２１４によって行われる。そして、ＡＣＫ［ｉ］値が「１」でないと判断された場合には（ステップＳ９０３）、ステップＳ９０５に進む。ここで、ＡＣＫ［ｉ］値が「１」でないと判断された場合とは、次にデータ転送が許可されるクライアントが検出されたことにより、現サイクルの許可対象検出情報（ｉ）が許可対象検出情報保持部２１６に保持された場合を意味する。
【０１２６】
一方、ＡＣＫ［ｉ］値が「１」であると判断された場合には（ステップＳ９０３）、更新情報生成部２１３が生成した更新情報（（（ｉ＋１−ｉ０）ｍｏｄ  Ｎ）＋ｉ０）が許可対象検出情報保持部２１６に保持される（ステップＳ９０４）。このステップＳ９０４は、許可対象検出情報選択部２１５によって行われる。
【０１２７】
その後、許可クライアント検出処理を継続して行うか否かが判断され（ステップＳ９０５）、許可クライアント検出処理を継続する場合には、ステップＳ９０２に戻る。この場合に、許可対象検出情報保持部２１６に保持された許可対象検出情報（ｉ）を出力させる。なお、許可クライアント検出処理を継続する場合とは、例えば、次のサイクルに進む場合を意味する。また、バス制御を終了する場合とは、例えば、データ処理装置１００の電源を落とした時を意味する。なお、ステップＳ９０２、ステップＳ９０３、ステップＳ９０４およびステップＳ９０５は、特許請求の範囲に記載の更新手順の一例である。
【０１２８】
図６は、本発明の第１の実施の形態におけるアクノリッジ信号供給部２２０のアクノリッジ信号供給処理手順例を示すフローチャートである。
【０１２９】
まず、アクノリッジ信号保持部２２５におけるアクノリッジ信号（ＡＣＫ）が全てのビットが「０」の値であるアクノリッジ信号に初期化される（ステップＳ９１１）。このステップＳ９１１は、例えば、データ処理装置１００の電源を投入直後などにおいて行われる。
【０１３０】
次に、アクノリッジ信号決定部２２３によって、変数（ｊ）が「０」に初期化される（ステップＳ９１２）。続いて、アクノリッジ信号決定部２２３によって、変数（ｊ）が示すクライアントの要求状態信号の値（ＲＥＱ［ｊ］値）と、変数（ｊ）が示すクライアントの許可状態信号の値（ＡＣＫ［ｊ］値）とが両方とも「１」であるか否かが判断される（ステップＳ９１３）。そして、ＲＥＱ［ｊ］値とＡＣＫ［ｊ］値とが両方とも「１」であると判断された場合には（ステップＳ９１３）、ステップＳ９１９に進む。なお、このＲＥＱ［ｊ］値とＡＣＫ［ｊ］値とが両方とも「１」であると判断された場合には、現サイクルのアクノリッジ信号（ＡＣＫ）がアクノリッジ信号保持部２２５に保持される。
【０１３１】
一方、ＲＥＱ［ｊ］値とＡＣＫ［ｊ］値との少なくとも一方が「１」でないと判断された場合には（ステップＳ９１３）、変数（ｊ）と許可対象検出情報最大値（Ｎ）とが同じ値であるか否かが判断される（ステップＳ９１４）。そして、変数（ｊ）と許可対象検出情報最大値（Ｎ）とが同じ値でないと判断された場合には（ステップＳ９１４）、変数（ｊ）の値に「１」の値が加算されることによって変数（ｊ）の値が更新され（ステップＳ９１５）、ステップＳ９１３に戻る。
【０１３２】
一方、変数（ｊ）と許可対象検出情報最大値（Ｎ）とが同じ値であると判断された場合には（ステップＳ９１４）、リクエスト信号の０番目のビットの値（ＲＥＱ［０］値）が「１」であるか否かが判断される（ステップＳ９１６）。このステップＳ９１６は、アクノリッジ信号決定部２２３によって行われる。そして、リクエスト信号の０番目のビットの値（ＲＥＱ［０］値）が「１」であると判断された場合には、０番目のビットの値（ＡＣＫ［０］値）が「１」であるアクノリッジ信号がアクノリッジ信号保持部２２５に保持される（ステップＳ９１７）。
【０１３３】
一方、リクエスト信号の０番目のビットの値（ＲＥＱ［０］値）が「１」でないと判断された場合には（ステップＳ９１６）、アクノリッジ信号更新値生成部２２１が生成した更新アクノリッジ信号が許可対象検出情報保持部２１６に保持される（ステップＳ９１８）。すなわち、アクノリッジ信号が、ＲＥＱ［ｉ］の値をＡＣＫ［ｉ］の値にしたアクノリッジ信号に更新される。なお、ステップＳ９１８は、特許請求の範囲に記載の決定手順の一例である。
【０１３４】
そして、アクノリッジ信号供給処理を継続するか否かが判断され（ステップＳ９１９）、アクノリッジ信号供給処理を継続する場合には、ステップＳ９１２に戻る。この場合に、許可対象検出情報保持部２１６に保持されたアクノリッジ信号を出力させる。なお、アクノリッジ信号供給処理を継続する場合とは、次のサイクルに進む時を意味する。また、アクノリッジ信号供給処理を終了する場合とは、データ処理装置１００の電源を落とした時を意味する。
【０１３５】
このように、本発明の第１の実施の形態では、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送効率を向上させることができる。
【０１３６】
また、図２において示すように、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０は、カウンタ回路、セレクタ回路、論理積回路、固定値発生回路およびレジスタなどの簡単な回路により構成することができる。
【０１３７】
＜２．第２の実施の形態＞
本発明の第１の実施の形態では、クライアントからの要求が、読み出し、または、書き込みの何れの要求であっても、同じように行う例を示した。しかしながら、上述したように、読み出し処理と書き込み処理との間の切り替えを、先の処理から２サイクル以内に行う場合には、データの衝突回避のため、２サイクルの待ち時間を要する。そこで、この時間を軽減させることが重要である。
【０１３８】
そこで、本発明の第２の実施の形態では、ＤＲＡＭ１１０におけるデータ転送動作の切り替え動作を軽減する例について図７乃至９を用いて説明する。
【０１３９】
［データ処理装置１００の機能構成例］
図７は、本発明の第２の実施の形態におけるデータ処理装置１００の機能構成例を示すブロック図である。このデータ処理装置１００は、ＤＲＡＭ１１０と、バス１２０と、リフレッシュコントローラ１３０と、第１乃至第３クライアント４１０、４２０、および４３０と、アービタ２００とを備える。なお、第１乃至第３クライアント４１０、４２０、および４３０以外の構成は、図１において示した構成と同様のものであるため、同一の符号を付してここでの詳細な説明を省略する。
【０１４０】
なお、この本発明の第２の実施の形態では、図１のＲＥＱ［０］線１５９をＲＥＱ［０］線４５９として、図１のＡＣＫ［０］線１６９をＡＣＫ［０］線４６９として示す。また、図１のＲＥＱ線１５０をＲＥＱ線４５０として、図１のＡＣＫ線１５０をＡＣＫ線４５０として示す。
【０１４１】
第１乃至第３クライアント４１０、４２０、および４３０は、本発明の第１の実施の形態における第１クライアント１４１と同様に、バス１２０を介してＤＲＡＭ１１０へデータの読み書きをそれぞれ行うものである。この第１乃至第３クライアント４１０、４２０、および４３０は、第１乃至第３ライト制御部４１１、４２１および４３１と、第１乃至第３リード制御部４１２、４２２および４３２とを備える。
【０１４２】
なお、第２乃至第３クライアント４２０および４３０における動作は、第１クライアント４１０と同一である。また、第２乃至第３ライト制御部４２１および４３１における動作は、第１ライト制御部４１１と同一である。そのため、ここでは、主に第１ライト制御部４１１について説明し、第２乃至第３ライト制御部４２１および４３１の説明の一部を省略する。
【０１４３】
また、第２乃至第３リード制御部４２２および４３２における動作は、第１リード制御部４１２と同一である。そのため、ここでは、主に第１リード制御部４１２について説明し、第２乃至第３リード制御部４２２および４３２の説明の一部を省略する。
【０１４４】
第１ライト制御部４１１は、第１クライアント４１０におけるライトアクセスを制御するものである。この第１ライト制御部４１１は、第１クライアント４１０がＤＲＡＭ１１０に対してライトアクセスを行う必要がある場合には、ＲＥＱ［１］線４５１を介して、第１クライアント４１０のライトアクセスの要求に関する信号をアービタ２００に供給する。なお、このライトアクセスの要求に関する信号（第１ライト要求状態信号）は、第１クライアント４１０がライトアクセスの許可を要求しているか否かを示す１ビットの信号であり、図１の要求状態信号と同様の信号である。また、第１ライト制御部４１１には、ＡＣＫ［１］線４６１を介して、ライトアクセスの許可に関する信号（第１ライト許可状態信号）がアービタ２００から供給される。なお、この第１ライト許可状態信号は、第１ライト制御部４１１のライトアクセスが許可されたか否かを示す１ビットの信号であり、図１の許可状態信号と同様の信号である。
【０１４５】
なお、第２乃至第３ライト制御部４２１および４３１における動作は、第１ライト制御部４１１と同様のものである。すなわち、第２ライト制御部４２１は、ＲＥＱ［２］線４５２を介して第２ライト要求状態信号を供給する。第３ライト制御部４３１は、ＲＥＱ［３］線４５３を介して第３ライト要求状態信号を供給する。また、第２ライト制御部４２１には、ＡＣＫ［２］線４６２を介して、第２ライト許可状態信号がアービタ２００から供給される。第３ライト制御部４３１には、ＡＣＫ［３］線４６３を介して、第３ライト許可状態信号がアービタ２００から供給される。
【０１４６】
第１リード制御部４１２は、第１クライアント４１０におけるリードアクセスを制御するものである。この第１リード制御部４１２第１クライアント４１０がＤＲＡＭ１１０に対してリードアクセスを行う必要がある場合には、ＲＥＱ［４］線４５４を介して、第１クライアント４１０のリードアクセスの要求に関する信号をアービタ２００に供給する。なお、このリードアクセスの要求に関する信号（第１リード要求状態信号）は、第１クライアント４１０がリードアクセスの許可を要求しているか否かを示す１ビットの信号であり、図１の要求状態信号と同様の信号である。また、第１リード制御部４１２には、ＡＣＫ［４］線４６４を介して、リードアクセスの許可に関する信号（第１リード許可状態信号）がアービタ２００から供給される。なお、この第１リード許可状態信号は、第１リード制御部４１２のリードアクセスが許可されたか否かを示す１ビットの信号であり、図１の許可状態信号と同様の信号である。
【０１４７】
なお、第２乃至第３リード制御部４２２および４３２における動作は、第１リード制御部４１２と同様のものである。すなわち、第２リード制御部４２２は、ＲＥＱ［５］線４５５を介して第２リード要求状態信号を供給する。第３リード制御部４３２は、ＲＥＱ［６］線４５６を介して第３ライト要求状態信号を供給する。また、第２リード制御部４２２には、ＡＣＫ［５］線４６５を介して、第２リード許可状態信号がアービタ２００から供給される。第３リード制御部４３２には、ＡＣＫ［６］線４６６を介して、第３リード許可状態信号がアービタ２００から供給される。
【０１４８】
この図７におけるアービタ２００は、図１のアービタ２００と同様の機能である。しかしながら、本発明の第２の実施の形態では、許可対象検出情報の値、リクエスト信号のビット数およびアクノリッジ信号のビット数などが本発明の第１の実施の形態と異なるため、これらについて説明する。本発明の第２の実施の形態では、検出対象のクライアントは、第１乃至第３ライト制御部４１１、４２１、４３１と、第１乃至第３リード制御部４１２、４２２、４３２との合計６個のクライアントである。そのため、本発明の第２の実施の形態では、許可対象検出情報の値は、「１」から「６」までの値となる。また、ＤＲＡＭ１１０に対するクライアントは、第１乃至第３ライト制御部４１１、４２１、４３１と、第１乃至第３リード制御部４１２、４２２、４３２と、リフレッシュコントローラ１３０との合計７個である。このため、本発明の第２の実施の形態では、リクエスト信号およびアクノリッジ信号のビット数は「７」になる。
【０１４９】
なお、リクエスト信号について、本発明の第２の実施の形態では、最下位（０番目）のビット（ＬＳＢ）を第０要求状態信号とし、１番目のビットを第１ライト要求状態信号とし、２番目のビットを第２ライト要求状態信号とする。また、リクエスト信号の３番目のビットを第３ライト要求状態信号とし、４番目のビットを第１リード要求状態信号とし、５番目のビットを第２リード要求状態信号とし、６番目のビット（ＭＳＢ）を第３リード要求状態信号とする。すなわち、１乃至６番目のビットは、許可対象検出情報より特定されるクライアントの許可状態信号となる。
【０１５０】
また、アクノリッジ信号についても、本発明の第２の実施の形態では、最下位（０番目）のビット（ＬＳＢ）を第０許可状態信号とし、１番目のビットを第１ライト許可状態信号とし、２番目のビットを第２ライト許可状態信号とする。また、アクノリッジ信号の３番目のビットを第３ライト許可状態信号とし、４番目のビットを第１リード許可状態信号とし、５番目のビットを第２リード許可状態信号とし、６番目のビット（ＭＳＢ）を第３リード許可状態信号とする。すなわち、１乃至６番目のビットは、許可対象検出情報より特定されるクライアントの許可状態信号となる。
【０１５１】
このように、クライアントにライト制御部およびリード制御部を設けることにより、クライアントのライト動作およびリード動作のそれぞれに対する許可を供給することができる。
【０１５２】
［許可対象検出情報の値の遷移例］
図８は、本発明の第２の実施の形態における許可クライアント検出部２１０による許可対象検出情報の遷移例を模式的に示す図である。
【０１５３】
図８に示す例では、許可対象検出情報の遷移により特定されるクライアントを楕円５１１乃至５１６内に示す。なお、楕円５１１乃至５１６内には、各クライアントの識別子（１）乃至（６）と、各クライアントの名称（ライト（１）乃至（３）、リード（１）乃至（３））とを関連付けて示す。すなわち、楕円５１１に対応するクライアントは、第１ライト制御部４１１（識別子（１）、ライト（１））であり、楕円５１２に対応するクライアントは、第２ライト制御部４２１（識別子（２）、ライト（２））である。また、楕円５１３に対応するクライアントは、第３ライト制御部４３１（識別子（３）、ライト（３））であり、楕円５１４に対応するクライアントは、第１リード制御部４１２（識別子（４）、リード（１））である。さらに、楕円５１５に対応するクライアントは、第２リード制御部４２２（識別子（５）、リード（２））であり、楕円５１６に対応するクライアントは、第３リード制御部４３２（識別子（６）、リード（３））である。
【０１５４】
また、図８では、許可対象検出情報の遷移順序を楕円５１１乃至５１６を結ぶ矢印により表す。すなわち、この図８では、許可対象検出情報の値は１ずつカウントアップされ、「６」の後は「１」に戻ることが示されている。
【０１５５】
このように、複数のデータ転送要求がアービタ２００に供給されている場合には、読み出し動作または書き込み動作のうちの同一の動作を行うクライアントを連続して選択するように許可対象検出情報を設定する。これにより、アクセスの切り替えの待ち時間の発生を抑えることができ、バスの使用効率を向上させることができる。
【０１５６】
［アクノリッジ信号供給部によるアクノリッジ信号発生例］
図９は、本発明の第２の実施の形態におけるアクノリッジ信号供給部２２０によるアクノリッジ信号発生例を示すタイミングチャートである。
【０１５７】
ここでは、横軸をアービタ２００の動作におけるクロック信号として、許可対象検出情報（ｉ）５１０の値と、ＲＥＱ［０］線４５９における第０要求状態信号の変化と、ＲＥＱ［１］線４５１における第１ライト要求状態信号の変化とが示されている。また、ここでは、ＲＥＱ［４］線４５４における第１リード要求状態信号の変化と、ＲＥＱ［６］線４５６における第３リード要求状態信号の変化と、ＡＣＫ［０］線４６９における第０許可状態信号の変化とが示されている。さらに、ここでは、ＡＣＫ［１］線４６１における第１ライト許可状態信号の変化と、ＡＣＫ［４］線４６４における第１リード要求状態信号の変化と、ＡＣＫ［６］線４６６における第３リード許可状態信号の値の変化とが示されている。また、ここでは、バス１２０を介して転送されるデータが示されている。
【０１５８】
この図９では、便宜上、ＲＥＱ［２］線４５２、ＲＥＱ［３］線４５３、ＲＥＱ［５］線４５５における値は「０」であることを想定し、図９への図示およびその説明を省略する。また、ＡＣＫ［２］線４６２、ＡＣＫ［３］線４６３、ＡＣＫ［５］線４６５における値も「０」であることを想定し、図９への図示およびその説明を省略する。
【０１５９】
また、図９では、ＲＥＱ［０］線４５９の第０要求状態信号の値は経過時間「２６」において「０」から「１」に遷移し、ＲＥＱ［１］線４５１の第１ライト要求状態信号は経過時間「４」において「０」から「１」に遷移することを想定する。また、ＲＥＱ［４］線４５４の第１リード要求状態信号は経過時間「２」において「０」から「１」に遷移し、ＲＥＱ［６］線４５６の第３リード要求状態信号は経過時間「６」および「２１」において「０」から「１」に遷移するものとする。
【０１６０】
また、経過時間「０」における許可対象検出情報の値は「１」を想定し、アクノリッジ信号は７ビットの全ての値が「０」であることを想定する。また、バス１２０を介するデータ転送に関する条件については、図４と同様のものを想定する。
【０１６１】
なお、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の動作については、各信号の値は異なるが、図３において示した動作と同様であるため、ここでの詳細な説明を省略する。
【０１６２】
ここで、本発明の第２の実施の形態によりバス１２０を介して転送されるデータについて、図９のバス１２０を用いて説明する。まず、経過時間「４」乃至「１１」においては、第１リード制御部４１２によるリードアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０から読み出されたリードデータがデータ転送される。その後、経過時間「１２」乃至「１９」においては、第３リード制御部４３２によるリードアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０から読み出されたリードデータがデータ転送される。
【０１６３】
そして、経過時間「２０」および「２１」においては、直前のリードアクセスとのバス使用の衝突を防ぐため、第１ライト制御部４１１によるライトアクセスに関する命令をＤＲＡＭ１１０にデータ転送することの待ち時間が発生する。その後、経過時間「２２」乃至「２９」においては、第１ライト制御部４１１によるライトアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０に書き込まれるライトデータがデータ転送される。
【０１６４】
そして、経過時間「３０」および「３１」においては、直前のライトアクセスとのバス使用の衝突を防ぐため、リフレッシュコントローラ１３０によるリフレッシュに関する命令をＤＲＡＭ１１０にデータ転送することの待ち時間が発生する。その後、経過時間「３２」乃至「３９」においては、リフレッシュコントローラ１３０によるリフレッシュに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０においてリフレッシュ動作が行われる。
【０１６５】
このように、本発明の第２の実施の形態では、読み出し動作または書き込み動作のうちの同一の動作を行うクライアントを連続して選択するように許可対象検出情報を設定ことによって、データ転送効率を向上させることができる。
【０１６６】
ここで、この本発明の第２の実施の形態と、本発明の第１の実施の形態との差異について説明する。この本発明の第２の実施の形態では、データ転送の許可を要求する信号の値が「０」から「１」に遷移する順序が、最初に第１リード制御部４１２、２番目に第１ライト制御部４１１、そして３番目に第３リード制御部４３２である。すなわち、最初にリードアクセスに関する要求、２番目にライトアクセスに関する要求、３番目にリードアクセスに関する要求の順序である。この順序は、図３において示した本発明の第１の実施の形態における要求の順序と同様である。
【０１６７】
この要求の順序に対して、本発明の第２の実施の形態におけるデータ転送の順序は、最初が第１リード制御部４１２のリードアクセスであり、２番目が第３リード制御部４３２のリードアクセスであり、３番目が第１ライト制御部４１１のライトアクセスである。この順序は、本発明の第１の実施の形態における、最初がリードアクセスであり、２番目がライトアクセスであり、３番目がリードアクセスである順序とは異なる。すなわち、本発明の第２の実施の形態では、リードアクセスを連続させることによって、アクセスの切り替えの待ち時間の発生が抑えられている。
【０１６８】
このように、同じデータアクセスが連続して実行されるように許可対象検出情報を設定することによって、アクセスの切り替えの待ち時間の発生を抑えることができる。すなわち、同じアクセスを連続して実行する割合を上昇させることによって、バスの使用効率を向上させることができる。
【０１６９】
なお、本発明の第１および第２の実施の形態においては、許可対象検出情報の値がデータを転送する期間（データ転送期間）である８サイクルより少ない場合を想定した。すなわち、本発明の第１および第２の実施の形態においては、許可対象検出情報の値が比較的に小さい装置を想定して説明した。しかしながら、クライアントの数によっては、許可対象検出情報の数が大きくなることが考えられる。この許可対象検出情報の数が大きくなればなるほど、許可対象検出情報の値の更新に関する待ち時間が長くなることによるデータ転送の遅延が生じる可能性がある。
【０１７０】
次に、許可対象検出情報の数が大きい場合において発生するデータ転送の遅延の例について図１０および１１を用いて説明する。
【０１７１】
［課題の例における許可対象検出情報の値の遷移例］
図１０は、許可対象検出情報の数が大きい場合における許可対象検出情報の遷移例を模式的に示すイメージ図である。
【０１７２】
この許可対象検出情報の数が大きい場合においては、データ転送期間は８サイクルであり、許可対象検出情報の値は「１」乃至「１２」であることを想定する。また、この許可対象検出情報の数が大きい場合においては、本発明の第２の実施の形態において許可対象検出情報の数が大きい場合を想定して説明する。さらに、この場合において、データ処理装置１００は、図７の第１乃至第３クライアント４１０．４２０、４３０の代わりに、第１乃至第６クライアントを備えることとする。なお、これに伴い、第１乃至第６クライアントは、第１乃至第６ライト制御部（ライト（１）乃至（６））と、第１乃至第６リード制御部（リード（１）乃至（６））とを備えることとする。
【０１７３】
図１０に示す例では、許可対象検出情報の遷移により特定されるクライアントを楕円５３１乃至５４２内に示す。なお、楕円５３１乃至５４２内には、各クライアントの識別子（１）乃至（１２）と、各クライアントの名称（ライト（１）乃至（６）、リード（１）乃至（６））とを関連付けて示す。
【０１７４】
また、図１０では、許可対象検出情報の遷移順序を楕円５３１乃至５４２を結ぶ矢印により表す。すなわち、この図１０では、許可対象検出情報の値は１ずつカウントアップされ、「１２」の後は「１」に戻ることが示されている。
【０１７５】
［アクノリッジ信号供給部によるアクノリッジ信号発生例］
図１１は、許可対象検出情報の数が大きい場合におけるアクノリッジ信号供給部２２０によるアクノリッジ信号発生例を示すタイミングチャートである。
【０１７６】
なお、ここでは、第１乃至第６ライト制御部（ライト（１）乃至（６））から供給されるライトアクセスの許可の要求の信号を、第１乃至第６ライト要求状態信号と示す。また、第１乃至第６リード制御部（リード（１）乃至（６））から供給されるリードアクセスの許可の要求の信号を、第１乃至第６リード要求状態信号と示す。なお、第１乃至第６ライト制御部（ライト（１）乃至（６））に供給されるライトアクセスの許可に関する信号を、第１乃至第６ライト許可状態信号と示す。また、第１乃至第６リード制御部（リード（１）乃至（６））に供給されるリードアクセスの許可に関する信号を、第１乃至第６ライト許可状態信号と示す。
【０１７７】
また、ここでは、リフレッシュコントローラ１３０の第０要求状態信号をアービタ２００に供給する線をＲＥＱ［０］線５４９と示し、アービタ２００からリフレッシュコントローラ１３０に第０許可状態信号を供給する線をＡＣＫ［０］線５５９と示す。また、第１ライト制御部についても、第１ライト要求状態信号に関する線をＲＥＱ［１］線５４１と示し、第１ライト許可状態信号に関する線をＡＣＫ［１］線５５１と示す。同様に、第２ライト制御部の線をＲＥＱ［２］線５４２およびＡＣＫ［２］線５５２と示し、第３リード制御部の線をＲＥＱ［９］線５４３およびＡＣＫ［９］線５５３と示す。
【０１７８】
また、１３ビットのリクエスト信号およびアクノリッジ信号における各ビットと許可状態信号との関係は、本発明の第２の実施の形態と同様のものとする。すなわち、最下位（０番目）のビット（ＬＳＢ）は第０許可状態信号であり、１番目乃至１２番目のビットは、許可対象検出情報の値により特定されるクライアントの許可状態信号である。
【０１７９】
図１１では、横軸をアービタ２００の動作におけるクロック信号として、許可対象検出情報（ｉ）５３０の値と、ＲＥＱ［０］線５４９における第０要求状態信号の変化と、ＲＥＱ［１］線５４１における第１ライト要求状態信号の変化とが示されている。また、ここでは、ＲＥＱ［２］線５４２における第２ライト要求状態信号の変化と、ＲＥＱ［９］線５４３における第３リード要求状態信号の変化と、ＡＣＫ［０］線５５９における第０許可状態信号の変化とが示されている。さらに、ここでは、ＡＣＫ［１］線５５１における第１ライト許可状態信号の変化と、ＡＣＫ［２］線５５２における第２ライト要求状態信号の変化と、ＡＣＫ［９］線５５３における第３リード許可状態信号の変化とが示されている。また、ここでは、バス５６０を介して転送されるリードデータおよびライトデータが示されている。
【０１８０】
また、図１１では、ＲＥＱ［０］線５４９の第０要求状態信号が経過時間「３２」において「０」から「１」に遷移し、ＲＥＱ［１］線５４１の第１ライト要求状態信号が経過時間「２」において「０」から「１」に遷移することを想定する。また、ＲＥＱ［２］線５４２の第２ライト要求状態信号が経過時間「１７」において「０」から「１」に遷移し、ＲＥＱ［９］線５４３の第３リード要求状態信号が経過時間「２３」において「０」から「１」に遷移することを想定する。
【０１８１】
なお、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０の動作については、各信号の値は異なるが、図３において示した動作と同様であるため、ここでの詳細な説明を省略する。
【０１８２】
ここで、データ転送期間より許可対象検出情報の数が大きい場合においてバス５６０を介して転送されるデータについて、図１１のバス５６０を用いて説明する。まず、経過時間「１３」乃至「２０」において、第１ライト制御部によるライトアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０に書き込まれるライトデータがデータ転送される。続いて、経過時間「２７」乃至「３４」において、第２ライト制御部によるライトアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０に書き込まれるライトデータがデータ転送される。
【０１８３】
そして、経過時間「３５」および「３６」においては、直前のライトアクセスとのバス使用の衝突を防ぐため、リフレッシュコントローラ１３０によるリフレッシュに関する命令をＤＲＡＭ１１０にデータ転送することの待ち時間が発生する。続いて、経過時間「３７」乃至「４３」においては、リフレッシュコントローラ１３０によるリフレッシュに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０においてリフレッシュ動作が行われる。
【０１８４】
ここで、許可対象検出情報の数が大きい場合において発生するデータ転送の遅延について説明する。経過時間「２」において第１ライト要求状態信号が「０」から「１」に遷移してから経過時間「１３」においてデータ転送が開始されるまで、１１サイクルが経過している。これは、許可対象検出情報の値が「３」の時に第１ライト要求状態信号が「０」から「１」に遷移したため、許可対象検出情報の値が「２」になるまで１１サイクルの待ち時間が発生したことが原因である。すなわち、許可対象検出情報の数が大きいほど、許可対象検出情報の値が一巡するための期間が長くなる。
【０１８５】
このように、本発明の第１および第２の実施の形態では、許可対象検出情報の数が大きい場合においてデータ転送の遅延が発生する可能性がある。そこで、本発明の第３の実施の形態では、許可対象検出情報の数が大きい場合において発生するデータ転送の遅延を軽減させる例について図１２乃至２０を用いて説明する。
【０１８６】
＜３．第３の実施の形態＞
［データ処理装置の機能構成例］
図１２は、本発明の第３の実施の形態におけるデータ処理装置１００の機能構成例を示すブロック図である。
【０１８７】
このデータ処理装置１００は、ＤＲＡＭ１１０と、バス１２０と、リフレッシュコントローラ（Ｒｅｆｒ）１３０と、第１乃至第６クライアント（第１乃至第６Ｃ）４１０、４２０、４３０および４４０と、アービタ６００とを備える。
【０１８８】
なお、ＤＲＡＭ１１０と、バス１２０と、リフレッシュコントローラ（Ｒｅｆｒ）１３０とについては、図１において示した各構成と同様であるため、同一の符号を付してここでの詳細な説明を省略する。また、第１乃至第６クライアント（第１乃至第６Ｃ）４１０、４２０、４３０および４４０については、図７において示した第１クライアント４１０と同様のものであるため、ここでの詳細な説明を省略する。なお、第１乃至第６ライト制御部（第１乃至第６ＷＣ）４１１、４２１、４３１および４４１についても、図７において示した第１ライト制御部４１１と同様のものであるため、ここでの詳細な説明を省略する。また、第１乃至第６リード制御部（第１乃至第６ＲＣ）４１２、４２２、４３２および４４２についても、図７において示した第１リード制御部４１２と同様のものであるため、ここでの詳細な説明を省略する。
【０１８９】
なお、本発明の第３の実施の形態では、第１乃至第６ライト制御部（第１乃至第６ＷＣ）４１１、４２１、４３１および４４１をグループ１のクライアントと示す。また、第１乃至第６リード制御部（第１乃至第６ＷＣ）４１２、４２２、４３２および４４２をグループ２のクライアントと示す。
【０１９０】
また、識別子「１」乃至「６」は第１乃至第６ライト制御部（第１乃至第６ＷＣ）４１１、４２１、４３１および４４１を示し、識別子「７」乃至「１２」は第１乃至第６ライト制御部（ＷＣ）４１１、４２１、４３１および４４１を示すものとする。
【０１９１】
アービタ６００は、図１のアービタ２００と同様に、各クライアントがバス１２０を介してＤＲＡＭ１１０へのアクセスを行う場合におけるアクセス制御を行うアクセス制御部である。このアービタ６００は、第１許可クライアント検出部６１０と、第２許可クライアント検出部６２０と、アクノリッジ信号供給部６３０とを備える。
【０１９２】
第１および第２許可クライアント検出部６１０および６２０は、図１の許可クライアント検出部２１０と同様に、次にデータ転送が許可されるクライアントを検出するものである。第１許可クライアント検出部６１０は、グループ１のクライアントを特定する識別子「１」乃至「６」を指定する許可対象検出情報（グループ１許可対象検出情報）を保持する。また、第２許可クライアント検出部６２０は、グループ２のクライアントを特定する識別子「７」乃至「１２」を指定する許可対象検出情報（グループ２許可対象検出情報）を保持する。すなわち、この本発明の第３の実施の形態では、第１許可クライアント検出部６１０は、「１」乃至「６」の値の許可対象検出情報を保持し、第２許可クライアント検出部６２０は、「７」乃至「１２」の値の許可対象検出情報を保持する。第１許可クライアント検出部６１０は、グループ１許可対象検出情報を、信号線７１０を介してアクノリッジ信号供給部６３０に供給する。また、第２許可クライアント検出部６２０は、グループ２許可対象検出情報を、信号線７２０を介してアクノリッジ信号供給部６３０に供給する。なお、この第１および第２許可クライアント検出部６１０および６２０の許可対象検出情報については、図１４を用いて説明する。
【０１９３】
アクノリッジ信号供給部６３０は、図１のアクノリッジ信号供給部２２０と同様に、データ転送の許可を要求しているクライアントのうちいずれか１つのクライアントに対してデータ転送を許可するか否かを決定するものである。このアクノリッジ信号供給部６３０は、第１グループ許可対象検出情報および第２グループ許可対象検出情報のいずれかの許可対象検出情報とリクエスト信号とに基づいて、アクノリッジ信号を供給する。このアクノリッジ信号供給部６３０は、生成したアクノリッジ信号の各ビットを、ＡＣＫ線６６０を介して各クライアントに供給する。なお、このアクノリッジ信号供給部６３０については、図１３を用いて詳細に説明する。
【０１９４】
このように、複数の許可クライアント検出部を設けることによって、複数のクライアントを複数のグループに分類することができる。これにより、１つのグループにおけるクライアントの個数を小さくするとともに、１つのグループにおける許可対象検出情報の数を少なくすることができる。
【０１９５】
なお、本発明の第３の実施の形態では、第１および第２許可クライアント検出部６１０および６２０の２つの許可クライアント検出部を備える例について説明したが、本発明はこれに限定されるものではない。本発明の第３の実施の形態では、許可クライアント検出部の数を多くすればするほど、１つのグループに分類される許可対象検出情報の数を少なくすることができる。そのため、例えば、４つの許可クライアント検出部を儲けてクライアントを４つに分類し、それぞれの許可クライアント検出部における許可対象検出情報の数を４つにする場合なども考えられる。
【０１９６】
［アクノリッジ信号供給部の機能構成例］
図１３は、本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０の機能構成例を示すブロック図である。
【０１９７】
アクノリッジ信号供給部６３０は、アクノリッジ信号更新値生成部２２１と、リフレッシュ許可信号供給部２２２と、アクノリッジ信号決定部２２３と、アクノリッジ信号選択部２２４と、アクノリッジ信号保持部２２５とを備える。また、このアクノリッジ信号供給部６３０は、グループ情報保持部６３１と、グループ決定部６３２と、グループ選択部６３３と、グループ情報管理部６３４と、回数制限情報保持部６３５と、回数制限情報管理部６３６とを備える。
【０１９８】
なお、アクノリッジ信号更新値生成部２２１、リフレッシュ許可信号供給部２２２およびアクノリッジ信号決定部２２３は、図１において示した各構成と同様であるため、同符号を付してここでの説明を省略する。また、アクノリッジ信号選択部２２４およびアクノリッジ信号保持部２２５は、図１において示した各構成と同様であるため、同符号を付してここでの説明を省略する。
【０１９９】
グループ情報保持部６３１は、第１グループ許可対象検出情報または第２グループ許可対象検出情報、どちらの許可対象検出情報をアクノリッジ信号更新値生成部２２１に供給するかを決定するためのグループ情報を保持するものである。ここで、「１」の値のグループ情報は第１グループ許可対象検出情報を示し、「２」の値のグループ情報は第２グループ許可対象検出情報を示すものとする。このグループ情報保持部６３１は、その保持しているグループ情報をグループ決定部６３２に供給する。
【０２００】
グループ決定部６３２は、グループ情報およびリクエスト信号に基づいて、第１グループ許可対象検出情報または第２グループ許可対象検出情報、どちらの許可対象検出情報をアクノリッジ信号更新値生成部２２１に供給するかを決定するものである。このグループ決定部６３２は、ＲＥＱ線６５０を介して供給されるリクエスト信号に基づいて、グループ情報保持部６３１から供給されたグループ情報の値を変更するか否か決定し、その決定したグループ情報を供給する。このグループ決定部６３２は、グループ情報保持部６３１から供給されたグループ情報が示すグループのいずれかのクライアントの要求状態信号の値が「１」である場合には、グループ情報の値を変更しない。また、このグループ決定部６３２は、グループ情報保持部６３１から供給されたグループ情報が示すグループの全てのクライアントの要求状態信号の値が「０」である場合には、グループ情報の値を変更する。また、このグループ情報の値を変更する場合において、０番目のビットの値が「１」のリクエスト信号が供給されると、グループ決定部６３２はグループ情報の値を変更しない。
【０２０１】
このグループ決定部６３２は、グループ情報の値を変更しないと判断した場合には、グループ情報保持部６３１から供給されたグループ情報と同じ値のグループ情報をグループ選択部６３３およびグループ情報管理部６３４に供給する。また、このグループ決定部６３２は、グループ情報の値を変更すると判断した場合には、グループ情報保持部６３１から供給されたグループ情報を変更したグループ情報をグループ選択部６３３およびグループ情報管理部６３４に供給する。また、このグループ決定部６３２は、グループ情報の値を変更すると判断した場合には、更新に関する情報（グループ更新通知情報）を回数制限情報管理部６３６に供給する。
【０２０２】
例えば、「１」の値のグループ情報（グループ情報「１」）が供給されるとともに、グループ１に属するいずれかのクライアントの許可要求信号が「１」であるリクエスト信号が供給された場合を想定する。この場合には、グループ決定部６３２は、グループ情報の値を変更しないで、グループ情報「１」を供給する。また、このグループ決定部６３２は、グループ情報「１」が供給されるとともに、グループ１に属するクライアントの許可要求信号が全て「０」のリクエスト信号が供給された場合には、グループ情報の値を変更し、グループ情報「２」を供給する。
【０２０３】
グループ選択部６３３は、グループ決定部６３２から供給されたグループ情報に基づいて、第１グループ許可対象検出情報または第２グループ許可対象検出情報、どちらかの許可対象検出情報をアクノリッジ信号更新値生成部２２１に供給するものである。このグループ選択部６３３は、例えば、グループ情報「１」が供給された場合には、信号線７１０を介して供給される第１グループ許可対象検出情報をアクノリッジ信号更新値生成部２２１に供給する。また、このグループ選択部６３３は、グループ情報「２」が供給された場合には、信号線７２０を介して供給される第２グループ許可対象検出情報をアクノリッジ信号更新値生成部２２１に供給する。なお、グループ決定部６３２およびグループ選択部６３３は、特許請求の範囲に記載の選択部の一例である。
【０２０４】
グループ情報管理部６３４は、グループ決定部６３２から供給されるグループ情報および回数制限情報管理部６３６から供給されるグループ更新命令情報に基づいて、グループ情報保持部６３１に保持されるグループ情報を管理するものである。ここで、グループ更新命令情報とは、グループ決定部６３２から供給されたグループ情報を更新させ、その更新された値のグループ情報をグループ情報保持部６３１に保持させるための情報である。例えば、このグループ情報管理部６３４は、グループ決定部６３２からグループ情報「１」が供給され、回数制限情報管理部６３６からグループ更新命令情報が供給されない場合には、グループ情報「１」をグループ情報保持部６３１に保持させる。また、このグループ情報管理部６３４は、グループ決定部６３２からグループ情報「１」が供給され、回数制限情報管理部６３６からグループ更新命令情報が供給された場合には、グループ情報「２」をグループ情報保持部６３１に保持させる。このグループ情報管理部６３４は、グループ情報をグループ情報保持部６３１に供給する。なお、グループ情報管理部６３４は、特許請求の範囲に記載のグループ更新部の一例である。
【０２０５】
回数制限情報保持部６３５は、同じグループに属するクライアントが連続してデータ転送を行う回数の制限値の情報（回数制限情報）を保持するものである。この回数制限情報保持部６３５は、保持している回数制限情報を回数制限情報管理部６３６に供給する。
【０２０６】
回数制限情報管理部６３６は、アクノリッジ信号選択部２２４が選択したアクノリッジ信号と、アクノリッジ信号決定部２２３がアクノリッジ信号選択部２２４に供給する命令とに基づいて回数制限情報を管理するものである。この回数制限情報管理部６３６は、例えば、アクノリッジ信号決定部２２３がＡＣＫ待機命令または第１ＡＣＫ更新命令を供給した場合には、回数制限情報を更新しない。また、この回数制限情報管理部６３６は、アクノリッジ信号決定部２２３が第２ＡＣＫ更新命令を供給するとともに、アクノリッジ信号選択部２２４が選択したアクノリッジ信号の全てのビットの値が「０」である場合には、回数制限情報を更新しない。
【０２０７】
また、この回数制限情報管理部６３６は、第２ＡＣＫ更新命令が供給されるとともに、アクノリッジ信号選択部２２４が選択したアクノリッジ信号のいずれかのビットにおける値が「１」である場合には、回数制限情報の値が「１」であるか否かを判断する。回数制限情報の値が「１」でない場合には、回数制限情報の値から「１」の値を減算して回数制限情報を更新する。一方、回数制限情報の値が「１」である場合は、現在の状態が、同一のグループに属するクライアントが連続してデータ転送を行える最後の回である。このため、回数制限情報の値が「１」である場合には、グループ更新命令情報を供給するとともに、回数制限情報の値を、更新するグループの回数制限情報の最大値に更新する。この回数制限情報管理部６３６は、更新の管理が終了した回数制限情報を回数制限情報保持部６３５に供給する。
【０２０８】
このように、グループ情報および回数制限情報を用いることにより、複数の許可対象検出情報を用いて、データ転送の許可を要求しているクライアントのうちいずれか１つのクライアントに対してデータ転送を許可することができる。
【０２０９】
［許可対象検出情報の値の遷移例］
図１４は、本発明の第３の実施の形態における許可対象検出情報の遷移例を模式的に示すイメージ図である。
【０２１０】
図１４（ａ）には、第１許可クライアント検出部６１０におけるグループ１許可対象検出情報の遷移により特定されるクライアントが楕円７１１乃至７１６内に示されている。なお、楕円７１１乃至７１６内には、各クライアントの識別子（１）乃至（６）と、各クライアントの名称（ライト（１）乃至（６））とを関連付けて示す。また、図１４（ａ）では、グループ１許可対象検出情報の遷移順序を楕円７１１乃至７１６を結ぶ矢印により表す。すなわち、この図１４（ａ）では、グループ１許可対象検出情報の値は１ずつカウントアップされ、「６」の後は「１」に戻ることが示されている。
【０２１１】
図１４（ｂ）には、第２許可クライアント検出部６２０におけるグループ２許可対象検出情報の遷移により特定されるクライアントが楕円７２１乃至７２６内に示されている。なお、楕円７２１乃至７２６内には、各クライアントの識別子（７）乃至（１２）と、各クライアントの名称（リード（１）乃至（６））とを関連付けて示す。また、図１４（ｂ）では、グループ２許可対象検出情報の遷移順序を楕円７２１乃至７２６を結ぶ矢印により表す。すなわち、この図１４（ｂ）では、グループ２許可対象検出情報の値は１ずつカウントアップされ、「１２」の後は「７」に戻ることが示されている。
【０２１２】
このように、クライアントをリード動作のクライアントとライト動作のクライアントとに分類し、そのグループごとにデータ転送を許可するクライアントを検出することにより、１つのグループの許可対象検出情報の数を小さくすることができる。
【０２１３】
なお、本発明の第３の実施の形態では、クライアントのアクセス動作ごとにクライアントを分類する例について説明したが、本発明はこれに限定されるものではない。本発明の第３の実施の形態では、グループの分類方法は、１つのグループにおける許可対象検出情報の数が分類前より少なくなるのであれば、何であってもよい。例えば、図１において示した本発明の第１の実施の形態における第１乃至第６クライアント１４１乃至１４７を、２つのグループに分類することも考えられる。
【０２１４】
また、本発明の第３の実施の形態では、クライアントが重複しないようにグループに分類する例について説明したが、本発明はこれに限定されるものではない。例えば、特定のクライアントが複数のグループに属するように分類することにより、そのクライアントの許可対象検出情報のアクノリッジ信号供給部６３０への供給頻度を、他のクライアントと比較して増やすことができる。
【０２１５】
［アクノリッジ信号供給部によるアクノリッジ信号発生例］
図１５は、本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０によるアクノリッジ信号発生例を示すタイミングチャートである。
【０２１６】
この本発明の第３の実施の形態では、第１許可クライアント検出部６１０の許可対象検出情報（第１グループ許可対象検出情報）「１」乃至「６」を示す変数をｓとする。また、第２許可クライアント検出部６２０の許可対象検出情報（第２グループ許可対象検出情報）「７」乃至「１２」を示す変数をｔとする。また、グループ情報保持部６３１から供給されるグループ情報を示す変数をｇとし、回数制限情報保持部６３５から供給される回数制限情報を示す変数をｋとする。
【０２１７】
なお、この本発明の第３の実施の形態では、グループ１の回数制限情報の値の最大値を「６」とし、グループ２の回数制限情報の値の最大値も「６」とする。
【０２１８】
ＲＥＱ［０］乃至［９］線６５９、６５１、６５３および６５６とクライアントとの関係については、図１１のＲＥＱ［０］乃至［９］線５４９、５４１、５４２および５４３と同様であるため、ここでの説明を省略する。また、ＡＣＫ［０］乃至［９］線６６９、６６１、６６３および６６９についても、図１１のＡＣＫ［０］乃至［９］線５５９、５５１、５５２および５５３と同様であるため、ここでの説明を省略する。
【０２１９】
また、１３ビットのリクエスト信号およびアクノリッジ信号における各ビットと許可状態信号との関係は、本発明の第２の実施の形態と同様のものとする。すなわち、最下位（０番目）のビット（ＬＳＢ）は第０許可状態信号であり、１番目乃至１２番目のビットは、許可対象検出情報の値より特定されるクライアントの許可状態信号である。
【０２２０】
ここでは、横軸をアービタ２００の動作におけるクロック信号として、第１グループ許可対象検出情報（ｓ）７１０の値と、第２グループ許可対象検出情報（ｔ）７２０の値と、グループ情報（ｇ）７５０の値と、回数制限情報（ｋ）７６０の値とが示されている。また、ここでは、ＲＥＱ［０］線６５９における第０要求状態信号の変化と、ＲＥＱ［１］線６５１における第１ライト要求状態信号の変化と、ＲＥＱ［２］線６５３における第２ライト要求状態信号の変化とが示されている。さらに、ここでは、ＲＥＱ［９］線６５６における第３リード要求状態信号の変化と、ＡＣＫ［０］線６６９における第０許可状態信号の変化と、ＡＣＫ［１］線６６１における第１ライト許可状態信号の変化とが示されている。また、ここでは、ＡＣＫ［２］線６６３における第２ライト許可状態信号の変化と、ＡＣＫ［９］線６６９における第３リード許可信号の値の変化と、バス１２０を介して転送されるリードデータおよびライトデータとが示されている。
【０２２１】
この図１５では、ＲＥＱ［０］乃至［９］線６５９、６５１、６５３および６５６において値が「０」から「１」に遷移するタイミングは、図１１のＲＥＱ［０］乃至［９］線５４９、５４１、５４２および５４３と同様であるため、ここでの説明を省略する。また、第１許可クライアント検出部６１０および第２許可クライアント検出部６２０の動作については、各信号の値は異なるが、図３において示した許可クライアント検出部２１０の動作と同様のものであるため、ここでの説明を省略する。なお、アクノリッジ信号供給部６３０におけるアクノリッジ信号更新値生成部２２１およびリフレッシュ許可信号供給部２２２の動作については、各信号の値は異なるが、図３において示した各部と同様のものであるため、ここでの説明を省略する。アクノリッジ信号供給部６３０におけるアクノリッジ信号選択部２２４、アクノリッジ信号保持部２２５およびアクノリッジ信号決定部２２３の動作についても、図３において示した各部と同様のものであるため、ここでの説明を省略する。
【０２２２】
まず、経過時間「０」におけるアクノリッジ信号供給部６３０の動作について説明する。グループ情報保持部６３１は、保持しているグループ情報「１」をグループ決定部６３２に供給する。そして、グループ決定部６３２は、グループ１に属する全てのクライアントの許可要求信号が「０」であることからグループ情報を変更し、グループ情報「２」をグループ情報管理部６３４およびグループ選択部６３３に供給する。また、グループ決定部６３２は、グループ更新通知情報を回数制限情報管理部６３６に供給する。
【０２２３】
続いて、グループ選択部６３３は、グループ決定部６３２から供給されたグループ情報「２」に基づいて、第２許可クライアント検出部６２０から供給された第２グループ許可対象検出情報「７」を選択する。そして、グループ選択部６３３は、その選択した第２グループ許可対象検出情報「７」をアクノリッジ信号更新値生成部２２１に供給する。アクノリッジ信号更新値生成部２２１は、許可対象検出情報「７」とリクエスト信号（全てのビットの値が「０」）から、全てのビットの値が「０」の更新アクノリッジ信号を生成する。そして、アクノリッジ信号決定部２２３およびアクノリッジ信号選択部２２４により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部２２５および回数制限情報管理部６３６に供給される。
【０２２４】
続いて、回数制限情報管理部６３６は、まず、グループ更新通知情報に基づいて、回数制限情報保持部６３５から供給された回数制限情報「６」を、グループ２の回数制限情報の最大値に更新する。そして、この回数制限情報管理部６３６は、全てのビット（１３ビット）が「０」のアクノリッジ信号（更新アクノリッジ信号）と第２ＡＣＫ更新命令とに基づいて、回数制限情報を更新しないと判断し、回数制限情報「６」を回数制限情報保持部６３５に供給する。
【０２２５】
これらにより、経過時間「０」において、経過時間「２」におけるグループ情報「２」、回数制限情報「６」およびアクノリッジ信号（全てのビットの値が「０」）が決定される。また、図３の許可クライアント検出部２１０と同様の動作により、第１許可クライアント検出部６１０では経過時間「２」における第１グループ許可対象検出情報「２」が決定される。そして、第２許可クライアント検出部６２０では、経過時間「２」における第２グループ許可対象検出情報「８」が決定される。
【０２２６】
経過時間「１」における動作は、経過時間「０」と同様の動作であるため、説明を省略する。この経過時間「１」において、経過時間「２」におけるグループ情報「１」、回数制限情報「６」、アクノリッジ信号（全てのビットの値が「０」）、第１グループ許可対象検出情報「３」および第２グループ許可対象検出情報「９」が決定される。
【０２２７】
また、経過時間「２」においては、ＲＥＱ［１］線６５１の第１ライト要求状態信号の値が「０」から「１」に遷移する。グループ決定部６３２は、供給されたグループ情報「１」が示すグループ１の第１ライト制御部４１１の第１ライト許可要求信号が「１」のため、グループ情報を更新しないで、グループ情報「１」をグループ情報管理部６３４とグループ選択部６３３とに供給する。
【０２２８】
続いて、グループ選択部６３３は、グループ決定部６３２から供給されたグループ情報「１」に基づいて、第１許可クライアント検出部６１０から供給された第１グループ許可対象検出情報「３」を選択する。そして、グループ選択部６３３は、その選択した第１グループ許可対象検出情報「３」をアクノリッジ信号更新値生成部２２１に供給する。アクノリッジ信号更新値生成部２２１は、第１グループ許可対象検出情報「３」とリクエスト信号（１番目のビットの値のみが「１」）から、全てのビットの値が「０」の更新アクノリッジ信号を生成する。そして、アクノリッジ信号決定部２２３およびアクノリッジ信号選択部２２４により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部２２５および回数制限情報管理部６３６に供給される。
【０２２９】
続いて、回数制限情報管理部６３６は、全てのビットの値が「０」のアクノリッジ信号（更新アクノリッジ信号）および第２ＡＣＫ更新命令に基づいて、回数制限情報保持部６３５から供給された回数制限情報「６」を更新しないと判断する。そして、この回数制限情報管理部６３６は、回数制限情報「６」を回数制限情報保持部６３５に供給する。これらにより、経過時間「２」において、経過時間「３」におけるグループ情報「１」、回数制限情報「６」およびアクノリッジ信号（全てのビットの値が「０」）が決定される。また、図９の許可クライアント検出部２１０と同様の動作により、第１許可クライアント検出部６１０では経過時間「３」における第１グループ許可対象検出情報「４」が決定される。また、第２許可クライアント検出部６２０では、経過時間「３」における第２グループ許可対象検出情報「１０」が決定される。
【０２３０】
経過時間「３」乃至「５」における第１許可クライアント検出部６１０、第２許可クライアント検出部６２０およびアクノリッジ信号供給部６３０の動作は、経過時間「２」と同様の動作であるため、説明を省略する。
【０２３１】
また、経過時間「６」において、第１グループ許可対象検出情報「１」より特定される第１ライト制御部４１１の第１ライト要求状態信号の値が「１」である。このため、、第１許可クライアント検出部６１０では、経過時間「７」の第１グループ許可対象検出情報の値を「１」に決定する。また、グループ決定部６３２およびグループ選択部６３３は、経過時間「２」と同様の動作により、第１許可クライアント検出部６１０から供給された第１グループ許可対象検出情報「１」を選択する。そして、その選択した第１グループ許可対象検出情報「１」をアクノリッジ信号更新値生成部２２１に供給する。アクノリッジ信号更新値生成部２２１は、許可対象検出情報「１」とリクエスト信号（１番目のビットの値のみが「１」）から、１番目のビットの値が「１」の更新アクノリッジ信号を生成する。
【０２３２】
そして、アクノリッジ信号決定部２２３およびアクノリッジ信号選択部２２４により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部２２５および回数制限情報管理部６３６に供給される。続いて、回数制限情報管理部６３６は、１番目のビットが「１」のアクノリッジ信号（更新アクノリッジ信号）および第２ＡＣＫ更新命令に基づいて、回数制限情報保持部６３５から供給された回数制限情報「６」から「１」の値を減算して回数制限情報を更新する。そして、この回数制限情報管理部６３６は、「６」から「１」の値を減算した回数制限情報「５」を回数制限情報保持部６３５に供給する。
【０２３３】
これらにより、経過時間「６」において、経過時間「７」におけるグループ情報「１」、回数制限情報「５」、アクノリッジ信号（１番目のビットの値が「１」）、第１グループ許可対象検出情報「１」および第２グループ許可対象検出情報「８」が決定される。
【０２３４】
また、経過時間「７」において、グループ決定部６３２は、グループ情報を更新しないと判断し、グループ情報「１」をグループ情報管理部６３４およびグループ選択部６３３に供給する。アクノリッジ信号決定部２２３およびアクノリッジ信号選択部２２４は、現サイクルのアクノリッジ信号をアクノリッジ信号保持部２２５および回数制限情報管理部６３６に供給する。回数制限情報管理部６３６は、１番目のビットの値が「１」のアクノリッジ信号およびＡＣＫ待機命令に基づいて、回数制限情報を更新しないと判断し、回数制限情報「５」を回数制限情報保持部６３５に供給する。このように、経過時間「７」において、経過時間「８」におけるグループ情報「１」、回数制限情報「５」、アクノリッジ信号（１番目のビットの値が「１」）が決定される。
【０２３５】
なお、経過時間「８」乃至「２７」における第１許可クライアント検出部６１０、第２許可クライアント検出部６２０およびアクノリッジ信号供給部６３０の動作は、経過時間「７」までに説明した動作と略同様の動作であるため、説明を省略する。
【０２３６】
また、経過時間「２８」において、グループ決定部６３２は、供給されたグループ情報「１」が示すグループ１のクライアントの要求状態信号が全て「０」なため、グループ情報「２」をグループ情報管理部６３４およびグループ選択部６３３に供給する。また、グループ決定部６３２は、グループ更新通知情報を回数制限情報管理部６３６に供給する。  続いて、グループ選択部６３３は、グループ決定部６３２から供給されたグループ情報「２」に基づいて、第２グループ許可対象検出情報「９」をアクノリッジ信号更新値生成部２２１に供給する。アクノリッジ信号更新値生成部２２１は、許可対象検出情報「９」とリクエスト信号（９ビットの値が「１」）から、９番目のビットの値が「１」の更新アクノリッジ信号を生成する。そして、アクノリッジ信号決定部２２３およびアクノリッジ信号選択部２２４により、更新アクノリッジ信号が選択され、この更新アクノリッジ信号がアクノリッジ信号保持部２２５および回数制限情報管理部６３６に供給される。
【０２３７】
続いて、回数制限情報管理部６３６は、まず、グループ更新通知情報に基づいて、回数制限情報保持部６３５から供給された回数制限情報「５」をグループ２のの回数制限情報の最大値「６」に更新する。そして、この回数制限情報管理部６３６は、９番目のビットの値が「１」のアクノリッジ信号および第２ＡＣＫ更新命令に基づいて、更新した回数制限情報「６」から「１」の値を減算して回数制限情報を更新する。そして、この回数制限情報管理部６３６は、「６」から「１」の値を減算した回数制限情報「５」を回数制限情報保持部６３５に供給する。これらにより、経過時間「２８」において、経過時間「２９」におけるグループ情報「２」、回数制限情報「５」およびアクノリッジ信号（９番目のビットの値が「１」）が決定される。
【０２３８】
なお、経過時間「２９」乃至「３７」における第１許可クライアント検出部６１０、第２許可クライアント検出部６２０およびアクノリッジ信号供給部６３０の動作は、経過時間「２８」までに説明した動作と略同様の動作であるため、ここでの説明を省略する。
【０２３９】
また、経過時間「３８」において、グループ決定部６３２は、０番目のビットの値が「１」の値のリクエスト信号が供給されているため、グループ情報を更新しないで、グループ情報「２」をグループ情報管理部６３４およびグループ選択部６３３に供給する。また、アクノリッジ信号決定部２２３は第１ＡＣＫ更新命令を供給し、アクノリッジ信号選択部２２４は、０番目のビットの値が「１」のアクノリッジ信号（リフレッシュ許可信号）をアクノリッジ信号保持部２２５および回数制限情報管理部６３６に供給する。回数制限情報管理部６３６は、第１ＡＣＫ更新命令に基づいて、回数制限情報保持部６３５から供給された回数制限情報「５」を更新しないと判断する。そして、この回数制限情報管理部６３６は、回数制限情報「５」を回数制限情報保持部６３５に供給する。これらにより、経過時間「３８」において、経過時間「３９」におけるグループ情報「２」、回数制限情報「５」およびアクノリッジ信号（０番目のビットの値が「１」）が決定される。
【０２４０】
また、経過時間「３９」において、グループ決定部６３２は、０番目のビットの値が「１」の値のリクエスト信号が供給されているため、グループ情報を更新しないで、グループ情報「２」をグループ情報管理部６３４およびグループ選択部６３３に供給する。また、アクノリッジ信号決定部２２３はＡＣＫ待機命令を供給し、アクノリッジ信号選択部２２４は、現サイクルのアクノリッジ信号（０番目のビットの値が「１」）をアクノリッジ信号保持部２２５および回数制限情報管理部６３６に供給する。回数制限情報管理部６３６は、ＡＣＫ待機命令に基づいて、回数制限情報保持部６３５から供給された回数制限情報「５」を更新しないと判断する。そして、この回数制限情報管理部６３６は、回数制限情報「５」を回数制限情報保持部６３５に供給する。これらにより、経過時間「３９」において、経過時間「４０」におけるグループ情報「２」、回数制限情報「５」およびアクノリッジ信号（０番目のビットの値が「１」）が決定される
【０２４１】
なお、経過時間「４０」乃至「４３」における第１許可クライアント検出部６１０、第２許可クライアント検出部６２０およびアクノリッジ信号供給部６３０の動作は、経過時間「３９」までに説明した動作と略同様の動作であるため、ここでの説明を省略する。
【０２４２】
ここで、本発明の第３の実施の形態によりバス１２０を介して転送されるデータについて、図１５のバス１２０を用いて説明する。まず、経過時間「７」乃至「１４」において、第１ライト制御部４１１によるライトアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０に書き込まれるライトデータがデータ転送される。その後、経過時間「２１」乃至「２８」において、第２ライト制御部４２１によるライトアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０に書き込まれるライトデータがデータ転送される。
【０２４３】
続いて、経過時間「２９」乃至「３０」において、直前のライトアクセスとのバス使用の衝突を防ぐため、第３リード制御部４３２によるリードアクセスに関する命令をＤＲＡＭ１１０にデータ転送することの待ち時間が発生する。そして、経過時間「３１」乃至「３８」において、第３リード制御部４３２によるリードアクセスに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０から読み出されたリードデータがデータ転送される。
【０２４４】
続いて、経過時間「３９」乃至「４０」において、直前のリードアクセスとのバス使用の衝突を防ぐため、リフレッシュコントローラ１３０によるリフレッシュに関する命令をＤＲＡＭ１１０にデータ転送することの待ち時間が発生する。そして、経過時間「４１」乃至「４３」において、リフレッシュコントローラ１３０によるリフレッシュに関する命令がＤＲＡＭ１１０にデータ転送されるとともに、ＤＲＡＭ１１０においてリフレッシュ動作が行われる。
【０２４５】
ここで、本発明の第３の実施の形態について、図１１において示した１つの許可クライアント検出部を設ける場合と比較して説明する。本発明の第３の実施の形態と、図１１において示したデータ転送期間より許可対象検出情報の数が大きい場合との違いは、アービタが異なるだけで、リクエスト信号および許可対象検出情報の数などは同一である。図１１において示した場合では、経過時間「１３」乃至「２０」において、第１ライト制御部によるライトアクセスが行われる。一方、本発明の第３の実施の形態では、経過時間「７」乃至「１４」において第１ライト制御部４１１によるライトアクセスが行われる。すなわち、図１１および図１５に示した条件においては、第１および第２許可クライアント検出部６１０および６２０を設けることによって、６サイクル分のデータ転送の遅延が軽減される。
【０２４６】
このように、複数の許可クライアント検出部を設けることによって、データ転送の遅延を軽減させることができる。
【０２４７】
［アービタの動作例］
図１６は、本発明の第３の実施の形態における第１許可クライアント検出部６１０の許可クライアント検出処理手順例を示すフローチャートである。
【０２４８】
この図１６乃至２０において、ｓは、第１許可クライアント検出部６１０における許可対象検出情報（第１グループ許可対象検出情報）である。また、ｓ０は、第１グループ許可対象検出情報の値の最小値（第１グループ許可対象検出情報最小値）である。また、ＲＥＱ［ｓ］値は、第１グループ許可対象検出情報（ｓ）により特定されるクライアントの要求状態信号の値である。また、ＡＣＫ［ｓ］値は、第１グループ許可対象検出情報（ｓ）により特定されるクライアントに供給される許可状態信号の値である。また、Ｍは、第１グループ許可対象検出情報の値の最大値（第１グループ許可対象検出情報最大値）である。
【０２４９】
すなわち、本発明の第３の実施の形態においては、第１グループ第１グループ許可対象検出情報（ｓ）は、「１」乃至「６」の値のうちいずれかの値である。また、第１グループ許可対象検出情報最小値（ｓ０）の値は、「１」である。第１グループ許可対象検出情報最大値（Ｍ）の値は、「６」である。
【０２５０】
なお、この第１許可クライアント検出部６１０の許可クライアント検出処理手順例は、図５において示した許可クライアント検出部２１０の許可クライアント検出処理手順例と同様であるため、ここでの説明を省略する。ステップＳ９２１はステップＳ９０１に、ステップＳ９２２はステップＳ９０２に、ステップＳ９２３はステップＳ９０３に、ステップＳ９２４はステップＳ９０４に、ステップＳ９２５はステップＳ９０５にそれぞれ対応する。
【０２５１】
図１７は、本発明の第３の実施の形態における第２許可クライアント検出部６２０の許可クライアント検出処理手順例を示すフローチャートである。
【０２５２】
この図１６乃至２０において、ｔは、第２許可クライアント検出部６２０における許可対象検出情報（第２グループ許可対象検出情報）である。また、ｔ０は、第２グループ許可対象検出情報の値の最小値（第２グループ許可対象検出情報最小値）である。また、ＲＥＱ［ｔ］値は、第２グループ許可対象検出情報（ｔ）により特定されるクライアントの要求状態信号の値である。また、ＡＣＫ［ｔ］値は、第２グループ許可対象検出情報（ｔ）により特定されるクライアントに供給される許可状態信号の値である。また、Ｐは、第２グループ許可対象検出情報の値の最大値（第２グループ許可対象検出情報最大値）である。
【０２５３】
すなわち、本発明の第３の実施の形態においては、第２グループ許可対象検出情報（ｔ）は、「７」乃至「１２」の値のうちいずれかの値である。また、第２グループ許可対象検出情報最小値（ｔ０）の値は、「７」である。第２グループ許可対象検出情報最大値（Ｐ）の値は、「１２」である。
【０２５４】
なお、この第２許可クライアント検出部６２０の許可クライアント検出処理手順例は、図５において示した許可クライアント検出部２１０の許可クライアント検出処理手順例と同様であるため、ここでの説明を省略する。ステップＳ９３１はステップＳ９０１に、ステップＳ９３２はステップＳ９０２に、ステップＳ９３３はステップＳ９０３に、ステップＳ９３４はステップＳ９０４に、ステップＳ９３５はステップＳ９０５にそれぞれ対応する。
【０２５５】
図１８は、本発明の第１の実施の形態におけるアクノリッジ信号供給部６３０のアクノリッジ信号供給処理手順例を示すフローチャートである。
【０２５６】
この図１８乃至２０において、ｇは、グループ情報保持部６３１に保持されるグループ情報である。また、ｋは、回数制限情報保持部６３５に保持される回数制限情報である。また、Ｌ[１]は、グループ１の回数制限情報の最大値（第１グループ回数最大値）である。Ｌ[２]は、グループ２の回数制限情報の最大値（第２グループ回数最大値）である。
【０２５７】
すなわち、本発明の第３の実施の形態においては、グループ情報（ｇ）は、「１」および「２」の値のうちいずれかの値である。また、回数制限情報（ｋ）は、「１」乃至「６」の値のうちいずれかの値である。第１グループ回数最大値（Ｌ[１]）は「６」であり、第２グループ回数最大値Ｌ[２]は「６」である。
【０２５８】
まず、アクノリッジ信号保持部２２５におけるアクノリッジ信号（ＡＣＫ）と、回数制限情報保持部６３５における回数制限情報（ｋ）と、グループ情報保持部６３１におけるグループ情報が初期化される（ステップＳ９４１）。これにより、アクノリッジ信号（ＡＣＫ）は全てのビットの値が「０」にされ、グループ情報（ｇ）の値は「１」にされ、回数制限情報（ｋ）は第１グループ回数最大値（Ｌ[１]）の値の「６」にされる。このステップＳ９１１は、例えば、データ処理装置１００の電源を投入直後などにおいて行われる。
【０２５９】
次に、アクノリッジ信号決定部２２３によって、変数（ｊ）が「０」に初期化される（ステップＳ９１２）。続いて、アクノリッジ信号決定部２２３によって、変数（ｊ）が示すクライアントの要求状態信号の値（ＲＥＱ［ｊ］値）と、変数（ｊ）が示すクライアントの許可状態信号の値（ＡＣＫ［ｊ］値）とが両方とも「１」であるか否かが判断される（ステップＳ９１３）。そして、ＲＥＱ［ｊ］値とＡＣＫ［ｊ］値とが両方とも「１」であると判断された場合（ステップＳ９１３）には、ステップＳ９１９に進む。なお、このＲＥＱ［ｊ］値とＡＣＫ［ｊ］値とが両方とも「１」であると判断された場合には、現サイクルのアクノリッジ信号（ＡＣＫ）がアクノリッジ信号保持部２２５に保持される。
【０２６０】
一方、ＲＥＱ［ｊ］値とＡＣＫ［ｊ］値との少なくとも一方が「１」でないと判断された場合には（ステップＳ９１３）、変数（ｊ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値であるか否かが判断される（ステップＳ９４４）。すなわち、このステップＳ９１３において、変数（ｊ）が、第１グループ許可対象検出情報と第２グループ許可対象検出情報とのうちの最も大きい値になったか否かが判断される。そして、変数（ｊ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値でないと判断された場合（ステップＳ９４４）には、変数（ｊ）の値に「１」の値が加算されることによって変数（ｊ）の値が更新され（ステップＳ９１５）、ステップＳ９１３に戻る。
【０２６１】
一方、変数（ｊ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値であると判断された場合には（ステップＳ９４４）、リクエスト信号の０番目のビットの値（ＲＥＱ［０］値）が「１」であるか否かが判断される（ステップＳ９１６）。なお、このステップＳ９１６は、アクノリッジ信号決定部２２３によって行われる。そして、リクエスト信号の０番目のビットの値（ＲＥＱ［０］値）が「１」と判断された場合（ステップＳ９１６）には、０番目のビットの値（ＡＣＫ［０］値）が「１」のアクノリッジ信号がアクノリッジ信号保持部２２５に保持される（ステップＳ９１７）。
【０２６２】
一方、リクエスト信号の０番目のビットの値（ＲＥＱ［０］値）が「１」でないと判断された場合には（ステップＳ９１６）、更新アクノリッジ信号を生成するＡＣＫ更新値生成処理が行われる（ステップＳ９５０）。なお、このステップＳ９５０については、図１９を用いて詳細に説明する。続いて、回数制限情報（ｋ）を更新する回数制限情報更新処理が行われる（ステップＳ９７０）。なお、このステップＳ９６０については、図２０を用いて詳細に説明する。
【０２６３】
そして、アクノリッジ信号供給処理を継続するか否かが判断され（ステップＳ９１９）、アクノリッジ信号供給処理を継続する場合には、ステップＳ９１２に戻る。この場合に、許可対象検出情報保持部２１６に保持されたアクノリッジ信号を出力させる。なお、アクノリッジ信号供給処理を継続する場合とは、次のサイクルに進む時を意味する。また、アクノリッジ信号供給処理を終了する場合とは、データ処理装置１００の電源を落とした時を意味する。
【０２６４】
図１９は、本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０のＡＣＫ更新値生成処理（ステップＳ９５０）の処理手順例を示すフローチャートである。
【０２６５】
まず、グループ決定部６３２によって、グループ情報保持部６３１から供給されたグループ情報の値が「１」であるか否かが判断される（ステップＳ９５１）。そして、グループ情報が「１」であると判断された場合には（ステップＳ９５１）、変数（ａ）が「１」（第１グループ許可対象検出情報最小値）に初期化される（ステップＳ９５２）。続いて、グループ決定部６３２によって、変数（ａ）が示すクライアントの要求状態信号の値（ＲＥＱ［ａ］値）が「１」であるか否かが判断される（ステップＳ９５３）。そして、ＲＥＱ［ａ］値が「１」であると判断された場合には（ステップＳ９５３）、アクノリッジ信号保持部２２５に保持されているアクノリッジ信号が、ＲＥＱ［ａ］の値をＡＣＫ［ａ］の値にしたアクノリッジ信号に更新される（ステップＳ９５４）。
【０２６６】
一方、ＲＥＱ［ａ］値が「１」でないと判断された場合には（ステップＳ９５３）、変数（ａ）と第１グループ許可対象検出情報最大値（Ｍ）とが同じ値であるか否かが判断される（ステップＳ９５５）。そして、変数（ａ）と第１グループ許可対象検出情報最大値（Ｍ）とが同じ値でないと判断された場合には（ステップＳ９５５）、変数（ａ）の値に「１」の値が加算されることによって変数（ａ）の値が更新され（ステップＳ９５６）、ステップＳ９５３に戻る。
【０２６７】
一方、変数（ａ）と第１グループ許可対象検出情報最大値（Ｍ）とが同じ値であると判断された場合には（ステップＳ９５５）、グループ情報および回数制限情報が更新される（ステップＳ９５７）。すなわち、グループ決定部６３２によってグループ情報が「２」に更新されるとともに、回数制限情報管理部６３６によって回数制限情報が第２グループ回数最大値Ｌ[２]の「６」に更新され（ステップＳ９５７）、ステップＳ９６１に進む。
【０２６８】
一方、グループ情報が「１」でないと判断された場合には（ステップＳ９５１）、変数（ｂ）が「Ｍ＋１」（第２グループ許可対象検出情報最小値）に初期化される（ステップＳ９５８）。続いて、グループ決定部６３２によって、変数（ｂ）が示すクライアントの要求状態信号の値（ＲＥＱ［ｂ］値）が「１」であるか否かが判断される（ステップＳ９５９）。そして、ＲＥＱ［ｂ］値が「１」であると判断された場合には（ステップＳ９５９）、アクノリッジ信号保持部２２５に保持されているアクノリッジ信号が、ＲＥＱ［ｂ］の値をＡＣＫ［ｂ］の値にしたアクノリッジ信号に更新される（ステップＳ９６１）。
【０２６９】
一方、ＲＥＱ［ｂ］値が「１」でないと判断された場合には（ステップＳ９５９）、変数（ｂ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値であるか否かが判断される（ステップＳ９６２）。そして、変数（ｂ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値でないと判断された場合には（ステップＳ９６２）、変数（Ｂ）の値に「１」の値が加算されることによって変数（ｂ）の値が更新され（ステップＳ９６３）、ステップＳ９５９に戻る。
【０２７０】
一方、変数（ｂ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値であると判断された場合には（ステップＳ９６２）、グループ情報および回数制限情報が更新される（ステップＳ９６４）。すなわち、グループ決定部６３２によってグループ情報が「１」に更新されるとともに、回数制限情報管理部６３６によって回数制限情報が第１グループ回数最大値Ｌ[１]の「６」に更新され（ステップＳ９６４）、ステップＳ９５４に進む。
【０２７１】
図２０は、本発明の第３の実施の形態におけるアクノリッジ信号供給部６３０の回数制限情報更新処理（ステップＳ９７０）の処理手順例を示すフローチャートである。
【０２７２】
まず、回数制限情報管理部６３６により、変数（ｃ）が「１」（第１グループ許可対象検出情報最小値）に初期化される（ステップＳ９７１）。続いて、回数制限情報管理部６３６によって、変数（ｃ）が示すクライアントの許可状態信号の値（ＡＣＫ［ｃ］値）が「１」であるか否かが判断される（ステップＳ９７２）。そして、ＡＣＫ［ｃ］値が「１」でないと判断された場合には（ステップＳ９７２）、変数（ｃ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値であるか否かが判断される（ステップＳ９７３）。そして、変数（ｃ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値でないと判断された場合には（ステップＳ９７３）、変数（ｃ）の値に「１」の値が加算されることによって変数（ｃ）の値が更新され（ステップＳ９７４）、ステップＳ９７２に戻る。
【０２７３】
一方、変数（ｃ）と第２グループ許可対象検出情報最大値（Ｐ）とが同じ値であると判断された場合には（ステップＳ９７３）、回数制限情報更新処理を終了する。
【０２７４】
一方、ＡＣＫ［ｃ］値が「１」であると判断された場合には（ステップＳ９７２）、回数制限情報（ｋ）の値が「１」であるか否かが判断される（ステップＳ９７５）。回数制限情報（ｋ）の値が「１」でないと判断された場合には、回数制限情報（ｋ）の値から「１」の値が減算されることによって回数制限情報（ｋ）の値が更新され（ステップＳ９７６）、回数制限情報更新処理を終了する。
【０２７５】
一方、回数制限情報（ｋ）の値が「１」であると判断された場合には（ステップＳ９７５）、グループ情報管理部６３４によって、グループ情報が更新される（ステップＳ９７７）。続いて、回数制限情報管理部６３６によって、回数制限情報がその更新されたグループの回数制限情報の最大値（ｋ［ｇ］）に更新され（ステップＳ９７８）、回数制限情報更新処理を終了する。
【０２７６】
このように、本発明の第３の実施の形態では、複数のクライアントを複数のグループに分類し、複数の許可クライアント検出部を設けることによって、データ転送効率を向上させることができる。
【０２７７】
このように、本発明の実施の形態によれば、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送効率を向上させることができる。
【０２７８】
ここで、本発明の実施の形態の効果について、待ち行列方式（ＦＩＦＯ（First-In First-Out））のアービタを備えるデータ処理装置と比較して説明する。
【０２７９】
まず、待ち行列方式のアービタを備えるデータ処理装置について簡単に説明する。この装置は、共有データバスに接続された複数のクライアントからのバス要求を記憶する待ち行列部を備えるアービタによりデータ転送を行うクライアントを決定するデータ処理装置（例えば、米国特許第６６７１７６１号明細書参照。）である。このデータ処理装置では、複数のバス要求を待ち行列部に順次記憶する。そして、このデータ処理装置は、基本的に待ち行列の先頭からバス要求を処理することによってバス調停（バスを使用するクライアントの決定）を行う。このデータ処理装置では、複数のバス要求を待ち行列内に記憶しておくことができるため、特にバスの輻輳が大きいときに、データ転送が終了した時点で次に実行すべきデータ転送（クライアント）は既に決まっている可能性が高くなる。このため、このデータ処理装置では、データ転送の切り替えに伴う待ち時間（例えば、図４（ｂ）において示した従来の装置に関するタイミングチャートの経過時間「１２」乃至「１５」）の発生を抑えることが可能になる。
【０２８０】
しかしながら、このデータ処理装置は、回路規模が大きくなりやすいという問題がある。例えば、バスクライアントの数が多い場合には、同時に多くのバス要求が発生する可能性があるため、バス要求を記憶するための待ち行列部のキューの数を多くする必要がある。また、このデータ処理装置は、複数のバス要求が同時に発生した場合において待ち行列の最後尾に登録するバス要求を決めるために、バス要求の優先順位付けを行う回路が必要となる。すなわち、これらのキューの数の増加および優先順位付けを行う回路の追加のため、このデータ処理装置は複雑なアルゴリズムを実現する複雑な回路になる。
【０２８１】
さらに、このデータ処理装置では、ＤＲＡＭへのアクセス制御を行う場合において、バス効率が低下する問題が生じる。ＤＲＡＭへのアクセス制御を行う場合においては、本発明の第２の実施の形態において示したように、リードアクセスとライトアクセスとの間の切り替えを少なくして待ち時間を減らした方がバス効率は上昇する。この並び替えをを行う回路を優先順位付けを行う回路に加えると、データ処理装置のアルゴリズムはさらに複雑になり、それに伴い回路もさらに複雑になる。
【０２８２】
本発明の実施の形態は、例えば、図４（ａ）において示したように、クライアントにデータ転送を許可している間に次にデータ転送を行うクライアントを検出することによって、データ転送の切り替えに伴う待ち時間の発生を抑えることを可能にしている。また、図８および図１５において示したように、同じアクセスを連続して実行する割合を上昇させることによって、リードアクセスとライトアクセスとの間の切り替えを少なくして待ち時間を減らすことを可能にしている。さらに、図２および図２０において示したように、許可クライアント検出部２１０およびアクノリッジ信号供給部２２０は、カウンタ回路、セレクタ回路、論理積回路、固定値発生回路およびレジスタなどの簡単な回路により構成することができる。
【０２８３】
すなわち、本発明の実施の形態によれば、待ち行列方式のデータ処理装置のように複雑な回路を用いることなく、データ転送効率を向上させることができる。要するに、本発明の実施の形態によれば、待ち行列方式の装置と比較して、同等の効果を簡単な回路および簡単なアルゴリズムで実現することができる。
【０２８４】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０２８５】
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【符号の説明】
【０２８６】
１００  データ処理装置
１１０  ＤＲＡＭ
１２０  バス
１３０  リフレッシュコントローラ
１４１〜１４７  第１乃至第７クライアント
２００  アービタ
２１０  許可クライアント検出部
２１１  カウントアップ値供給部
２１２  加算器
２１３  更新情報生成部
２１４  許可対象検出情報決定部
２１５  許可対象検出情報選択部
２１６  許可対象検出情報保持部
２２０  アクノリッジ信号供給部
２２１  アクノリッジ信号更新値生成部
２２２  リフレッシュ許可信号供給部
２２３  アクノリッジ信号決定部
２２４  アクノリッジ信号選択部
２２５  アクノリッジ信号保持部
４１０  第１クライアント
４１１  第１ライト制御部
４１２  第１リード制御部
４２０  第２クライアント
４２１  第２ライト制御部
４２２  第２リード制御部
４３０  第３クライアント
４３１  第３ライト制御部
４３２  第３リード制御部
６００  アービタ
６１０  第１許可クライアント検出部
６２０  第２許可クライアント検出部
６３０  アクノリッジ信号供給部
６３１  グループ情報保持部
６３２  グループ決定部
６３３  グループ選択部
６３４  グループ情報管理部
６３５  回数制限情報保持部
６３６  回数制限情報管理部
【図１】
2011141580.tif 000003
【図２】
2011141580.tif 000004
【図３】
2011141580.tif 000005
【図４】
2011141580.tif 000006
【図５】
2011141580.tif 000007
【図６】
2011141580.tif 000008
【図７】
2011141580.tif 000009
【図８】
2011141580.tif 000010
【図９】
2011141580.tif 000011
【図１０】
2011141580.tif 000012
【図１１】
2011141580.tif 000013
【図１２】
2011141580.tif 000014
【図１３】
2011141580.tif 000015
【図１４】
2011141580.tif 000016
【図１５】
2011141580.tif 000017
【図１６】
2011141580.tif 000018
【図１７】
2011141580.tif 000019
【図１８】
2011141580.tif 000020
【図１９】
2011141580.tif 000021
【図２０】
2011141580.tif 000022