(57)【特許請求の範囲】
【請求項１】
自律的に共有資源にアクセスを行う複数のイニシエータＩＰと、
前記複数のイニシエータＩＰに応じた複数の算出装置と、
共有資源である少なくとも１つのターゲットＩＰと、
調停回路と、
を備えた情報処理システムであって、
前記複数のイニシエータＩＰに含まれる第１のイニシエータＩＰは、
前記ターゲットＩＰに対し、一定処理を行うために必要な第１のデータ転送に応じて複数の第１のアクセスリクエストを順次生成し、
前記複数の算出装置に含まれる、前記第１のイニシエータＩＰに対応した第１の算出装置に対し、前記複数の第１のアクセスリクエストを発行し、
前記複数のイニシエータＩＰに含まれる第２のイニシエータＩＰは、
前記ターゲットＩＰに対し、一定処理を行うために必要な第２のデータ転送に応じて複数の第２のアクセスリクエストを順次生成し、
前記複数の算出装置に含まれる、前記第２のイニシエータＩＰに対応した第２の算出装置に対し、前記複数の第２のアクセスリクエスト発行し、
前記第１の算出装置は、
前記第１のデータ転送の総データ量と、予め設定された第１の転送許容時間と、から第１の転送レートを算出し、
第１の設定タイミング毎に、前記第１のイニシエータＩＰに転送済みのデータ量と、前記第１のイニシエータＩＰが前記第１のデータ転送を開始してからの経過時間と、から第２の転送レートを算出し、
前記第１の転送レートと、前記第２の転送レートと、の比較結果に基づいて、前記第１のイニシエータＩＰが発行前の前記第１のアクセスリクエストに対応付ける第１の重みづけを設定し、
前記第１のアクセスリクエストに対応付けられた前記第１の重みづけに基づいて第３のアクセスリクエストを前記調停回路に出力し、
前記第２の算出装置は、
前記第２のデータ転送の総データ量と、予め設定された第２の転送許容時間と、から第３の転送レートを算出し、
第２の設定タイミング毎に、前記第２のイニシエータＩＰに転送済みのデータ量と、前記第２のイニシエータＩＰが前記第２のデータ転送を開始してからの経過時間と、から第４の転送レートを算出し、
前記第３の転送レートと、前記第４の転送レートと、の比較結果に基づいて、前記第２のイニシエータＩＰが発行前の前記第２のアクセスリクエストに対応付ける第２の重みづけを設定し、
前記第２のアクセスリクエストに対応付けられた前記第２の重みづけに基づいて第４のアクセスリクエストを前記調停回路に出力し、
前記調停回路は、前記第３のアクセスリクエストと前記第４のアクセスリクエストに基づいて、前記第１のイニシエータＩＰと前記第２のイニシエータＩＰとの間の転送処理の調停行う、
情報処理システム。
【請求項２】
前記第１の重みづけは、転送処理が終了するまでの遅延許容時間である、請求項１に記載の情報処理システム。
【請求項３】
前記調停回路は、前記第１のイニシエータＩＰが発行したものの転送処理が完了していない前記第３のアクセスリクエストの各々の前記重みづけを、経過時間に応じて更新する、請求項１又は２に記載の情報処理システム。
【請求項４】
前記第１の算出装置は、前記第１の設定タイミング毎に、直近の前記第１の設定タイミングに達するまでに終了すべき転送データ量と、現在の転送済みのデータ量と、の差分を算出し、
当該差分に基づいて、前記第１のイニシエータＩＰが発行前の前記第１のアクセスリクエストに対応付ける前記第１の重みづけを設定する、請求項１〜３の何れかに記載の情報処理システム。
【請求項５】
前記第１の算出装置は、前記比較結果と、前記第１のイニシエータＩＰが前記第１のデータ転送を開始してからの経過時間と、に基づいて、前記第１のイニシエータＩＰが発行前の前記第１のアクセスリクエストに対応付ける前記第１の重みづけを設定する、請求項１〜４の何れかに記載の情報処理システム。
【請求項６】
前記第１の算出装置は、前記比較結果に基づいて算出した値に対し、前記第１のデータ転送を開始してからの経過時間が大きくなるにつれて小さくなる係数を掛け合わせることにより前記第１の重みづけを算出する、請求項５に記載の情報処理システム。
【請求項７】
前記第１の算出装置は、前記第１のデータ転送を開始してからの経過時間が大きくなるにつれて、前記第１の設定タイミングに達するまでの時間間隔を小さくする、請求項１〜６の何れかに記載の情報処理システム。
【請求項８】
前記第１の算出装置は、前記第１の設定タイミング毎に、前記第２の転送レートと、予め定められた第５の転送レートと、を比較し、
前記第５の転送レートとの比較結果に応じて、前記第３のアクセスリクエストに対し、即時的処理を求めることを示すフラグを設定し、
前記調停回路は、前記フラグの設定されている前記第３のアクセスリクエストを優先して転送対象とし、
前記第５の転送レートは、この転送レートよりも前記第２の転送レートが低い場合には、以後発行する前記第３のアクセスリクエストを即時的な処理を求めるリクエストと判定するための転送レートである、請求項１〜７の何れかに記載の情報処理システム。
【請求項９】
前記調停回路は、新たに発行された前記アクセスリクエストの前記重みづけと、調停対象となっている前記アクセスリクエストの前記重みづけと、の比較結果に応じて、調停対象となる前記アクセスリクエストを入れ替え、調停対象から除外された前記アクセスリクエストを発行元に通知する、請求項１〜８の何れかに記載の情報処理システム。
【請求項１０】
前記情報処理システムは、複数の前記ターゲットＩＰを備え、
前記調停回路は、前記複数の前記ターゲットＩＰの各々に対する調停処理を行うことを特徴とする、請求項１〜９の何れかに記載の情報処理システム。
【請求項１１】
前記第１のイニシエータＩＰと、前記調停回路と、を有するシステムオンチップを備える、請求項１〜１０の何れかに記載の情報処理システム。
【請求項１２】
前記第１の算出装置は、
前記第１の転送レートを保持する遅延制約条件設定レジスタと、
前記第１のデータ転送を開始してからの経過時間を計測するタイマと、
前記第１のデータ転送を開始してから転送を行った総データ量を計測する転送量累積カウンタと、
前記遅延制約条件設定レジスタの設定値、前記タイマによる経過時間、及び前記転送量累積カウンタの計測した総データ量、に基づいて前記第１の重みづけを算出する遅延許容値算出部と、
前記遅延許容値算出部が算出した前記第１の重みづけを前記第１のアクセスリクエストに対応付ける遅延許容値付与部と、を備える、請求項１〜１１の何れかに記載の情報処理システム。
【請求項１３】
前記ターゲットＩＰは、前記第１のイニシエータＩＰに対して画像データの供給を行う、請求項1〜１２の何れかに記載の情報処理システム。
【請求項１４】
自律的に共有資源にアクセスを行う複数のイニシエータＩＰと、
前記複数のイニシエータＩＰに応じた複数の算出装置と、
共有資源である少なくとも１つのターゲットＩＰと、
調停回路と、
を備えた情報処理システムにおいて、前記複数のイニシエータＩＰと前記ターゲットＩＰの間のデータ転送を調停する方法であって、
前記複数のイニシエータＩＰに含まれる第１のイニシエータＩＰは、
前記ターゲットＩＰに対し、一定処理を行うために必要な第１のデータ転送に応じて複数の第１のアクセスリクエストを順次生成し、
前記複数の算出装置に含まれる、前記第１のイニシエータＩＰに対応した第１の算出装置に対し、前記複数の第１のアクセスリクエストを発行し、
前記複数のイニシエータＩＰに含まれる第２のイニシエータＩＰは、
前記ターゲットＩＰに対し、一定処理を行うために必要な第２のデータ転送に応じて複数の第２のアクセスリクエストを順次生成し、
前記複数の算出装置に含まれる、前記第２のイニシエータＩＰに対応した第２の算出装置に対し、前記複数の第２のアクセスリクエスト発行し、
前記第１の算出装置は、
前記第１のデータ転送の総データ量と、予め設定された第１の転送許容時間と、から第１の転送レートを算出し、
第１の設定タイミング毎に、前記第１のイニシエータＩＰに転送済みのデータ量と、前記第１のイニシエータＩＰが前記第１のデータ転送を開始してからの経過時間と、から第２の転送レートを算出し、
前記第１の転送レートと、前記第２の転送レートと、の比較結果に基づいて、前記第１のイニシエータＩＰが発行前の前記第１のアクセスリクエストに対応付ける第１の重みづけを設定し、
前記第１のアクセスリクエストに対応付けられた前記第１の重みづけに基づいて第３のアクセスリクエストを前記調停回路に出力し、
前記第２の算出装置は、
前記第２のデータ転送の総データ量と、予め設定された第２の転送許容時間と、から第３の転送レートを算出し、
第２の設定タイミング毎に、前記第２のイニシエータＩＰに転送済みのデータ量と、前記第２のイニシエータＩＰが前記第２のデータ転送を開始してからの経過時間と、から第４の転送レートを算出し、
前記第３の転送レートと、前記第４の転送レートと、の比較結果に基づいて、前記第２のイニシエータＩＰが発行前の前記第２のアクセスリクエストに対応付ける第２の重みづけを設定し、
前記第２のアクセスリクエストに対応付けられた前記第２の重みづけに基づいて第４のアクセスリクエストを前記調停回路に出力し、
前記調停回路は、前記第３のアクセスリクエストと前記第４のアクセスリクエストに基づいて、前記第１のイニシエータＩＰと前記第２のイニシエータＩＰとの間の転送処理の調停行う、
調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム、及び調停方法に関する。
【背景技術】
【０００２】
近年、ＩＰコアから共有資源へのアクセス、詳細には共有メモリの帯域やレイテンシが性能上のボトルネックとなってきている。たとえば組み込み機器では、コストや消費電力の制約が大きいことから、必要最小限のメモリ構成を最大限活用する必要がある。そのため、適切に共有資源の調停を行うことができる調停機構を実現する必要が生じている。以下、共有資源へのアクセスを調停する技術について説明する。
【０００３】
特許文献１には、ターゲットＩＰのチャネル毎にリクエストキューを設定し、チャネル毎に優先度を設定して調停を行う技術が開示されている。
【０００４】
非特許文献１には、マスタＩＰ（イニシエータＩＰ）毎に規定の優先度を割り振り、リクエスト発行からの経過時間によって、リクエストに付与された優先度を変化させる技術が開示されている。同様に特許文献２、３にもマスタＩＰ毎に規定の優先度を割り当てることにより調停を行う技術が開示されている。
【０００５】
特許文献４には、マスタＩＰ毎にリクエストの発行数をカウントし、カウント数に応じて調停を行う半導体集積回路が開示されている。
【０００６】
特許文献５には、メモリアクセスに関する技術が開示されている。当該技術では、一定時間に達するまでの残時間と、予め定められたデータ量に達するまでの残りのデータ量と、から以後のメモリアクセスを緊急として扱うか否かを示す２値の情報をリクエストに設定し、当該設定に応じて調停を行う。
【０００７】
なお、特許文献６では、複数のＤＭＡ要求に対する調停において、回路面積を低減させつつ調停を実現するデータ転送制御装置が開示されている。特許文献７には、ネットワーク全体の総帯域容量が不足している場合にユーザの接続待ち時間を短縮できるネットワーク帯域制御方法が開示されている。特許文献８には、内部制御を実施するインターコネクト装置が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第７１９１２７３Ｂ２号明細書
【特許文献２】特開２０１０−３９７６７号公報
【特許文献３】特開２００７−２０１８４０号公報
【特許文献４】特開２００７−３１０５３２号公報
【特許文献５】特開２００７−２８０２５３号公報
【特許文献６】特開２００５−８５０７９号公報
【特許文献７】特開２００８−１７７９７９号公報
【特許文献８】特表２０１０−５３１５１８号公報
【非特許文献】
【０００９】
【非特許文献１】T. Takizawa and M. Hirasawa, "An efficient memory arbitration algorithm for a single chip MPEG2 AV decoder" IEEE Trans. Cons. Electron., vol.47, no.3, pp.660-665, Aug. 2001.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１〜３及び非特許文献１に記載の技術では、リクエストの優先度を固定的に決定しており、データ転送の状態を考慮して優先度を定めることが不可能である。そのため、本来先に処理されるべきリクエストの処理が後回しにされる恐れがある。すなわち、調停の精度が十分ではない恐れがある。
【００１１】
特許文献４に記載の技術では、リクエスト単位での重みづけを行っているわけではないため、調停の精度が十分ではない恐れがある。特許文献５に記載の技術では、データ転送状態を考慮しているものの、リクエストに設定する重みづけ情報が平準化された情報であるため、調停の精度が十分ではない恐れがある。
【００１２】
すなわち、上述の技術では、リクエスト単位でデータ転送状態に応じた重みづけの設定を的確に行っていないため、調停の精度が十分ではないという問題があった。
【課題を解決するための手段】
【００１３】
本発明にかかる情報処理システムの一態様は、
自律的に共有資源にアクセスを行う複数のイニシエータＩＰと、共有資源である少なくとも１つのターゲットＩＰと、調停機構と、を備えた情報処理システムであって、
前記複数のイニシエータＩＰに含まれる第１のイニシエータＩＰは、前記ターゲットＩＰに対し、一定処理を行うために必要なデータ転送に応じて複数のアクセスリクエストを順次生成して発行し、
前記調停機構は、前記データ転送の総データ量と、予め設定された転送許容時間と、から第１の転送レートを算出し、
所定の設定タイミング毎に、前記第１のイニシエータＩＰが転送済みのデータ量と、前記第１のイニシエータＩＰが前記データ転送を開始してからの経過時間と、から第２の転送レートを算出し、
前記第１の転送レートと、前記第２の転送レートと、の比較結果に基づいて、前記第１のイニシエータＩＰが発行前の前記アクセスリクエストに対応付ける重みづけを設定し、
前記アクセスリクエストに対応付けられた前記重みづけに基づいて、転送処理の調停を行う、ものである。
【００１４】
本発明にかかる調停方法の一態様は、
自律的に共有資源にアクセスを行う複数のイニシエータＩＰと、共有資源である少なくとも１つのターゲットＩＰと、の間のデータ転送を調停する方法であって、
前記複数のイニシエータＩＰに含まれる第１のイニシエータＩＰから前記ターゲットＩＰに対し、一定処理を行うために必要なデータ転送に応じて複数のアクセスリクエストを順次生成して発行し、
前記データ転送の総データ量と、予め設定された転送許容時間と、から第１の転送レートを算出し、
所定の設定タイミング毎に、前記第１のイニシエータＩＰが転送済みのデータ量と、前記第１のイニシエータＩＰが前記データ転送を開始してからの経過時間と、から第２の転送レートを算出し、
前記第１の転送レートと、前記第２の転送レートと、の比較結果に基づいて、前記第１のイニシエータＩＰが発行前の前記アクセスリクエストに対応付ける重みづけを設定し、
前記アクセスリクエストに対応付けられた前記重みづけに基づいて、転送処理の調停を行う、ものである。
【００１５】
本発明の情報処理システムは、データ転送の条件から算出した基準となる第１の転送レート、転送済みのデータ量から算出した第２の転送レートを比較し、この比較に応じてアクセスリクエスト毎に重みづけを行っている。このようにアクセスリクエスト毎にデータ転送状況に応じた重みづけを行っているため、情報処理システムは、精度の良い調停処理が実現できる。
【発明の効果】
【００１６】
本発明によれば、精度の良い調停を行うことができる情報処理システム、及び調停方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１にかかる情報処理システムの構成を示すブロック図である。
【図２】実施の形態１にかかる算出装置２の構成を示すブロック図である。
【図３】実施の形態１にかかる遅延制約条件設定レジスタ２３に設定される各パラメータを示す図である。
【図４】実施の形態１にかかるアクセスリクエストの一例を示す概念図である。
【図５】実施の形態１にかかる遅延許容値の算出方法を説明する図である。
【図６】実施の形態１にかかる調停回路４の構成を示すブロック図である。
【図７】実施の形態１にかかる調停回路４による調停の流れを示すフローチャートである。
【図８】実施の形態４にかかる遅延許容値の算出方法を説明する図である。
【図９】実施の形態４にかかる調停回路４による調停の流れを示すフローチャートである。
【図１０】実施の形態５にかかる調停回路４の構成を示すブロック図である。
【図１１】実施の形態６にかかる情報処理システムの構成を示すブロック図である。
【図１２】実施の形態７にかかる情報処理システムの構成を示すブロック図である。
【図１３】実施の形態８にかかる情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。図１は、本実施の形態にかかる情報処理システムの構成を示すブロック図である。情報処理システムは、イニシエータＩＰ１（１−１〜１−３）、算出装置２（２−１〜２−３）、ルータ３（３−１〜３−３）、調停回路４、ターゲットＩＰ５、を備える。イニシエータＩＰ１とターゲットＩＰ５は、ルータ３を介してネットワーク接続されている。なお、以降の説明では、算出装置２及び調停回路４を調停機構とも呼称する。
【００１９】
イニシエータＩＰ１は、マスタＩＰとも呼称され得る。本例では、イニシエータＩＰ１は、ネットワーク通信を行うコンピュータ等の一般的な装置である。イニシエータＩＰ１−１〜１−３は、自律的にターゲットＩＰ５に対してアクセスを行う。イニシエータＩＰ１は、一定処理を行うために、複数のアクセスリクエストを発行する。本明細書において、一定処理とは、一定時間内に所定のデータ量の扱う処理を指す。一定処理の一例として、動画再生時のために１秒間に３０枚のＨＤ画像データを取得する処理が挙げられる。以下、画像データを扱う例について説明する。
【００２０】
ここで、動画再生のために１／３０秒間（３３．３ミリ秒間）に１枚の画像データに相当する６２２０８００バイト（１９２０×１０８０ドットの画像データであり、各画像の各ドットについてＲＧＢがそれぞれ８ビットであらわされている）を転送する必要があり、１アクセスリクエストが１２８バイトのデータを転送する場合、イニシエータＩＰは、１／３０秒間（３３．３ミリ秒間）に４８６００回のアクセスリクエストの発行を順次行う。
【００２１】
ルータ３は、アクセスリクエスト及びデータの転送を行う。ターゲットＩＰ５は、イニシエータＩＰ１から共有される共有資源である。ターゲットＩＰ５は、スレーブＩＰとも呼称される。例えば、ターゲットＩＰ５は、ＳＤＲＡＭコントローラを搭載した装置である。
【００２２】
算出装置２は、画像データ転送の状況に応じて、イニシエータＩＰ１から発行されるアクセスリクエストに対して遅延許容値を付与する。遅延許容値とは、アクセスリクエストの処理が優先的に行われるべきか否かを示す重みづけを示す。本例では、遅延許容値は、アクセスリクエストが処理されるまでに待ち状態として許容できる時間情報である。例えば、あるアクセスリクエストの遅延許容値が５００ｎｓである場合、このアクセスリクエストは５００ｎｓ以内に処理される必要がある。
【００２３】
算出装置２は、遅延許容値を付与したアクセスリクエストをターゲットＩＰ５に送信する。算出装置２は、ターゲットＩＰから受信したデータの転送量をカウントするとともに、受信したデータをイニシエータＩＰ１に送信する。以下、図２を参照して算出装置２の構成及び動作について説明する。
【００２４】
算出装置２は、転送量計測部２１と、転送量累積カウンタ２２と、遅延制約条件設定レジスタ２３と、経過時間計測タイマ２４と、遅延許容値計算部２５と、遅延許容値付与部２６と、を備える。
【００２５】
転送量計測部２１は、ターゲットＩＰ５から受信した１回のアクセスリクエスト毎にデータのデータサイズを計測する処理部である。上述の例では、転送量計測部２１の計測値は、常に１２８バイトとなる。
【００２６】
転送量累積カウンタ２２は、転送量計測部２１が計測したデータ量を累積してカウントするカウンタである。すなわち、転送量累積カウンタ２２は、一定処理が開始してからデータ転送を行った累積のデータ量を保持する。累積カウンタ２２は、この累積データ量を所定の設定タイミングで遅延許容値計算部２５に供給する。
【００２７】
遅延制約条件設定レジスタ２３は、画像データの転送に関する各種の設定値を保持するレジスタ群である。図３を参照して、遅延制約条件設定レジスタ２３に設定される各パラメータを説明する。
【００２８】
単位時間設定レジスタは、１枚の画像データの転送開始から終了までの単位時間を設定するレジスタである。本例では、単位時間設定レジスタには、３３．３ｍｓが設定されている。データ転送要求量設定レジスタは、単位時間当たりのデータ転送量を設定するレジスタである。本例では、データ転送要求量設定レジスタには、６２２０８００バイトが設定されている。有効レジスタは、後述の遅延許容値付与部２６がアクセスリクエストに遅延許容値を付与するか否かを設定する。有効レジスタに１を設定した場合、遅延許容値付与部２６は、アクセスリクエストに遅延許容値を付与する。一方、有効レジスタに０を設定した場合、遅延許容値付与部２６は、アクセスリクエストに遅延許容値を付与しない。
【００２９】
再び図２を参照する。経過時間計測タイマ２４は、１枚の画像データ転送を開始してからの経過時間を計測するタイマである。経過時間計測タイマ２４は、経過時間を遅延許容値計算部２５に通知する。
【００３０】
遅延許容値計算部２５には、転送量累積カウンタ２２から累積データ量、経過時間計測タイマ２４から経過時間が供給される。また、遅延許容値計算部２５は、遅延制約条件設定レジスタ２３から各レジスタの値を読み出す。遅延許容値計算部２５は、これらの値を用いて各アクセスリクエストに付与する遅延許容値を算出する処理部である。以下、図４及び具体例を示して、遅延許容値計算部２５による遅延許容値の算出処理を説明する。図４は、遅延許容値計算部２５による遅延許容値の算出処理を示す概念図である。
【００３１】
転送対象とする画像データ（１９２０×１０８０ドットの画像データであり、各画像の各ドットについてＲＧＢがそれぞれ８ビットであらわされている）は、以下の式に示すように６２２０８００バイトである。
１９２０×１０８０×（８＋８＋８）＝４９７６６４００ビット＝６２２０８００バイト
【００３２】
単位時間（単位時間設定レジスタに設定された値）は、３３．３３３・・（以下、単に３３．３とする）ｍｓである。１つのアクセスリクエストが転送できるデータ量を１２８バイトとする。そのため、１枚の画像データの転送には４８６００個（６２２０８００／１２８）のアクセスリクエストを処理する必要がある。この前提の下で、遅延許容値計算部２５が１０ｍｓ毎に遅延許容値を算出することを想定する。すなわち、遅延許容値計算部２５は、０〜１０ｍｓの遅延許容値、１０〜２０ｍｓの遅延許容値、２０〜３０ｍｓの遅延許容値、３０〜３３．３ｍｓの遅延許容値をそれぞれ算出する。
【００３３】
遅延許容値計算部２５は、はじめに理想転送レート（第１の転送レート）を算出する。理想転送レートとは、対象とするデータ転送を終了させるために基準となる転送割合を示す。本例では、図４に示すように、理想転送レートは、総転送データ量６２２０８００バイトのデータを単位時間３３．３ｍｓで割った一次関数となる。
【００３４】
遅延許容値計算部２５は、理想転送レートと合致するように０〜１０ｍｓの遅延許容値を算出する。具体的には、遅延許容値計算部は、以下の式から遅延許容値を６４６ｎｓと算出する。
３３．３ｍｓ／４８６００回＝６４６ｎｓ
【００３５】
遅延許容値計算部２５は、１０ｍｓの経過後に遅延許容値を再計算する。遅延許容値計算部２５は、理想転送レートとデータ転送の実績（第２の転送レート）と、を比較し、比較結果に応じて遅延許容値を算出する。
【００３６】
理想転送レートでは、１０ｍｓ経過時に１８６６２４０バイトの転送が終了する必要がある。
６２２０８００バイト×１０／３３．３＝１８６６２４０バイト
【００３７】
理想転送レートでは、２０ｍｓ経過時に３７３２４８０バイトの転送が終了する必要がある。同様に、理想転送レートでは、３０ｍｓ経過時に３７３２４８０バイトの転送が終了する必要がある。
６２２０８００バイト×２０／３３．３＝３７３２４８０バイト
６２２０８００バイト×３０／３３．３＝５５９８７２０バイト
【００３８】
遅延許容値計算部２５は、理想転送レートと、データ転送の実績を比較し、比較結果に応じて遅延許容値を算出する。以下に具体例を示す。
【００３９】
図４（Ａ）に示すように１０ｍｓ経過時のデータ転送量が１２０００００バイトであった場合、遅延許容値計算部２５は、１０〜２０ｍｓの間に処理されるべきアクセスリクエストの個数を算出する。そして、遅延許容値計算部２５は、当該個数を基に１０〜２０ｍｓの遅延許容値５０５ｎｓを算出する。
（３７３２４８０バイト−１２０００００バイト）／１２８バイト＝１９７８５０回
１０ｍｓ／１９７８５０回＝５０５ｎｓ
【００４０】
同様に、図４（Ｂ）に示すように１０ｍｓ経過時のデータ転送量が２４０００００バイトであった場合、遅延許容値計算部２５は、遅延許容値９６１ｎｓを算出する。
（３７３２４８０バイト−２４０００００バイト）／１２８バイト＝１０４１００回
１０ｍｓ／１０４１００回＝９６１ｎｓ
【００４１】
同様に、図４（Ｃ）に示すように１０ｍｓ経過時のデータ転送量が３００００００バイトであった場合、遅延許容値計算部２５は、遅延許容値１７４７ｎｓを算出する。
（３７３２４８０バイト−３００００００バイト）／１２８バイト＝５７２２５回
１０ｍｓ／５７２２５回＝１７４７ｎｓ
【００４２】
遅延許容値算出部２５は、２０ｍｓ経過時、３０ｍｓ経過時にも同様に遅延許容値を算出する。なお、上述した遅延許容値の算出方法は、あくまで一例であり、他の方法により遅延許容値を算出しても良い。例えば、遅延許容値算出部２５は、理想転送レート（たとえば１０ｍｓ経過時の理想データ量である１８６６２４０バイト）と、データ転送の実績値（たとえば１０ｍｓ経過時の転送量）と、の差分を算出し、その差分の大きさと比例関係になるように遅延許容値を設定しても良い。
【００４３】
再び図２を参照する。遅延許容値算出部２５は、算出した遅延許容値を遅延許容値付与部２６に通知する。遅延許容値付与部２６は、各アクセスリクエストに遅延許容値計算部２５が算出した遅延許容値を付与する。遅延許容値付与部２６は、遅延許容値を付与したアクセスリクエストをターゲットＩＰ５に送信する。
【００４４】
遅延許容値を付与されたアクセスリクエストの概念を図５に示す。アクセスリクエストは、本例ではいわゆるパケットである。図５に示すパケットは、フリットを２つ持つ。相手先ＩＰ（データの送信先）としてターゲットＩＰ  ５、送信元ＩＰ（データの送信元）としてイニシエータＩＰ１−１、Ｒ／Ｗ種別（リード要求なのか、ライト要求なのか）としてリード、データ長として８ワード、遅延許容値として８００ｎｓ、アドレス（例えばメモリにアクセスする場合に当該メモリ上のアクセスアドレス）として０ｘ８０００００００が設定されている。
【００４５】
続いて、図６を参照して調停回路４の説明を行う。調停回路４は、遅延許容値を利用して調停を行う。本例では、ターゲットＩＰがＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）コントローラであることを想定し、調停回路４は調停を行う。調停回路４は、複数のリクエストエントリ４１と、遅延許容値更新部４２と、遅延許容値比較部４３と、バンク競合チェッカ４４と、ページヒットチェッカ４５と、発行リクエスト調停部４６と、セレクタ４７と、を備える。なお、本例ではルータを介して各装置がネットワーク接続された構成であるため、調停回路４の構成を備える装置がネットワーク上に配置される。
【００４６】
リクエストエントリ４１は、イニシエータＩＰ１から発行されたアクセスリクエストを保持する。ルータ３を介して入力されたアクセスリクエストは、空き状態となっているリクエストエントリ４１に格納される。
【００４７】
なお、調停回路４の備えるリクエストエントリ４１の個数は、例えばターゲットＩＰ５のデータ転送能力や特性、イニシエータＩＰ１の個数に応じて決定すればよい。イニシエータＩＰ１の個数が多い場合には、リクエストエントリ４１の個数を多くするほうが効率的であるが、ターゲットＩＰ５の数と等しくする必要はない。
【００４８】
遅延許容値更新部４２は、一定間隔毎に各リクエストエントリ４１に格納されたアクセスリクエストの遅延許容値を更新する。詳細には、遅延許容値更新部４２は、１００ｎｓ毎に各リクエストエントリ４１に格納されたアクセスリクエストの遅延許容値を１００ｎｓだけ小さくするように更新する。例えば、遅延許容値更新部４２は、１００ｎｓ経過時に８００ｎｓであった遅延許容値を７００ｎｓに更新する。
【００４９】
遅延許容値比較部４３は、各リクエストエントリ４１に格納されたアクセスリクエストの遅延許容値を評価、比較する処理部である。遅延許容値比較部４３は、評価、比較の結果を発行リクエスト調停部４６に通知する。遅延許容値比較部４３、バンク競合チェッカ４４、ページヒットチェッカ４５、及び発行リクエスト調停部４６の詳細な動作は図７を参照して後述する。
【００５０】
バンク競合チェッカ４４は、ＳＤＲＡＭコントローラ内においてバンク競合が生じているか否かを判定する。バンク競合チェッカ４４は、判定結果を発行リクエスト調停部４６に通知する。ページヒットチェッカ４５は、ＳＤＲＡＭコントローラ内においてページヒットが生じているか否かを判定する。ページヒットチェッカ４５は、判定結果を発行リクエスト調停部４６に通知する。
【００５１】
発行リクエスト調停部４６は、遅延許容値の評価、比較結果、バンク競合の有無、ページヒットの有無に応じてアクセスリクエストの調停を行う。発行リクエスト調停部４６は、調停結果として処理対象とするアクセスリクエストが格納されたリクエストエントリ４１の情報をセレクタ４７に通知する。
【００５２】
セレクタ４７は、発行リクエスト調停部４６から通知された情報を基にアクセスリクエストを選択して、ターゲットＩＰ５に発行する。発行されたアクセスリクエストは、リクエストエントリ４１から削除される。
【００５３】
次に、図７を参照して、調停回路４の調停処理の詳細を説明する。図７は、調停処理の流れを示すフローチャートである。発行リクエスト調停部４６は、遅延許容値が所定値（例えば３００ｎｓ）以下のアクセスリクエストがあるか否かを判定する（Ｓ１１）。所定値以下のアクセスリクエストがある場合（Ｓ１１：Ｙｅｓ）、発行リクエスト調停部４６は、バンク競合が生じているか否かを判定する（Ｓ１２）。バンク競合が生じていない場合（Ｓ１２：Ｎｏ）、発行リクエスト調停部４６は、遅延許容値が所定値以下のアクセスリクエストのうち一番遅延許容値が小さいものを選択対象と決定する（Ｓ１３）。アクセスリクエストの決定後には、遅延許容値更新部４２は、一定間隔毎に選択されなかったアクセスリクエストの遅延許容値を更新する（Ｓ１４）。なお、以降の処理においてもアクセスリクエストの決定後には、遅延許容値の更新が実行される。
【００５４】
バンク競合が生じた場合（Ｓ１２：Ｙｅｓ）、発行リクエスト調停部４６は、当該バンクにあるアクセスリクエストの選択対象外とする（Ｓ１５）。所定値以下のアクセスリクエストがない場合（Ｓ１１：Ｎｏ）またはバンク競合が生じた場合（Ｓ１２：Ｙｅｓ）、発行リクエスト調停部４６は、ページヒットしたアクセスリクエストがあるか否かを判定する（Ｓ１６）。
【００５５】
ページヒットしたアクセスリクエストがある場合（Ｓ１６：Ｙｅｓ）、発行リクエスト調停部４６は、当該アクセスリクエストを選択対象と決定する（Ｓ１７）。
【００５６】
ページヒットしたアクセスリクエストがない場合（Ｓ１６：Ｎｏ）、発行リクエスト調停部４６は、遅延許容値が一番小さいアクセスリクエストを選択し（Ｓ１８）、当該アクセスリクエストに関してバンク競合が生じていない場合（Ｓ１９：Ｎｏ）、当該リクエストを選択対象と決定する（Ｓ２０）。
【００５７】
一方、バンク競合が生じた場合（Ｓ１９）、発行リクエスト調停部４６は、当該バンクにあるアクセスリクエストを選択対象から除外し（Ｓ２１）、遅延許容値が一番小さいアクセスリクエストの選択から再度実行する（Ｓ１７）。
【００５８】
なお、図７に示す処理ではバンク競合やページヒットを考慮したが、調停処理は必ずしもこれらの状況を考慮する必要はない。図７は一例であり、調停処理は、遅延許容値を考慮したものであればよい。
【００５９】
続いて、本実施の形態にかかる情報処理システムの効果について説明する。本実施の形態にかかる情報処理システムは、理想転送レート（第１の転送レート）とデータ転送の実績（第２の転送レート）を比較し、この比較に応じてアクセスリクエスト毎に遅延許容値を設定している。本実施の形態にかかる情報処理システムでは、このようにアクセスリクエスト毎にデータ転送状況に応じた重みづけ（上述の例では遅延許容値の設定）を行っているため、精度の良い調停処理が実現できる。
【００６０】
さらに、遅延許容値は、データ転送状況に応じて自動的に設定される。すなわち、ユーザがアクセスリクエストの重みづけを手動で決定する必要がない。
【００６１】
図４を参照して説明した遅延許容値の算出方法では、次の設定タイミングまでに終了すべきデータ転送量に基づく正確な遅延許容値を算出することができる。
【００６２】
調停回路４において、遅延許容値は、経過時間に応じて更新される。そのため、固定的な優先度設定に比べて、より正確な調停を行うことができる。
【００６３】
なお、算出装置２は、算出した遅延許容値を調停回路４に直接送信しても良い。詳細には、算出装置２は、送信元のイニシエータＩＰの識別子と、遅延許容値と、を対にして送信する。調停回路４は、アクセスリクエストに含まれる送信元の情報を基に、アクセスリクエストと遅延許容値を関連付ける。
【００６４】
＜実施の形態２＞
本実施の形態にかかる情報処理システムは、データ転送開始からの経過時間が大きくなるにつれて、算出した値よりも大きな値を遅延許容値とすることを特徴とする。これにより、データ転送の終了制限時間までにデータ転送をより確実に終了することができる。本実施の形態にかかる情報処理システムについて実施の形態１と異なる点を以下に説明する。
【００６５】
本実施の形態にかかる情報処理システムの構成は、実施の形態１と同様である。本実施の形態にかかる遅延許容値算出部２５の動作を図４を参照して説明する。以下の説明では、遅延許容値算出部２５が１０ｍｓ経過時に遅延許容値を算出するものとする。
【００６６】
遅延許容値算出部２５は、理想転送レートと、データ転送の実績を比較し、比較結果に応じて遅延許容値を算出する。
【００６７】
図４（Ａ）に示すように１０ｍｓ経過時のデータ転送量が１２０００００バイトであった場合、遅延許容値計算部２５は、上記した算出方法により１０〜２０ｍｓの遅延許容値５０５ｎｓを算出する。遅延許容値算出部２５は、この算出した値に、以下に示す係数ｋを乗算する。
ｋ：（１−経過ミリ秒／１００）
この場合、係数ｋは０．９となる。そのため、遅延許容値計算部２５は、遅延許容値を４５５ｎｓと決定する。
【００６８】
なお、係数ｋの設定方法は、データ転送開始からの経過時間に応じて小さくなるように設定すればよく、他の係数式を用いても良い。例えば、データ転送開始から１０ｍｓ経過まではｋ＝０．９、１０ｍｓ〜２０ｍｓまではｋ＝０．８、２０ｍｓ〜３３．３ｍｓまではｋ＝０．７と設定しても良い。
【００６９】
このように、遅延許容値計算部２５は、経過時間が大きくなるにつれて、遅延許容値を算出値よりも小さくなるように設定する。これにより、本実施の形態にかかる情報処理システムは、データ転送の終了制限時間までに転送処理をより確実に終了することができる。
【００７０】
＜実施の形態３＞
本実施の形態にかかる情報処理システムは、データ転送開始からの経過時間が大きくなるにつれて、遅延許容値の設定タイミングに達するまでの時間間隔を小さくすることを特徴とする。データ転送の終了制限時間に近づくにつれて遅延許容値を頻繁に再設定することができるため、より精度の高い調停が実行できる。本実施の形態にかかる情報処理システムについて実施の形態１と異なる点を以下に説明する。
【００７１】
本実施の形態にかかる情報処理システムの構成は、実施の形態１と同様である。実施の形態１の遅延許容値計算部２５は、画像データの転送の終了制限時間である３３．３ｍｓに対して、１０ｍｓ毎に遅延許容値の算出を行っていた。本実施の形態にかかる遅延許容値計算部２５は、画像データの転送の終了制限時間である３３．３ｍｓに近づくにつれて、遅延許容値の設定タイミングを徐々に短くする。例えば、遅延許容値計算部２５は、データ転送開始から１０ｍｓ、１８ｍｓ、２４ｍｓ、２８ｍｓ、３１ｍｓ、３２．５ｍｓ経過時にそれぞれ遅延許容値の再算出を行う。
【００７２】
上述の構成により、データ転送が十分に進まずに終了制限時間付近まで経過した場合であっても、画像データの転送の終了制限時間に近づくにつれて頻繁に遅延許容値を設定することができる。これにより、データ転送を確実に終了することができる。
【００７３】
＜実施の形態４＞
本実施の形態にかかる情報処理システムは、データの転送状態に応じて、アクセスリクエストに対して即時処理を求めるフラグを設定する。調停処理は、このフラグを参照して行われる。これにより、データの転送が十分に行われていない場合に、データの転送を促進することができる。以下、実施の形態１と異なる構成、動作について説明する。
【００７４】
まず、遅延許容値計算部２５の動作について図８を参照して説明する。遅延許容値計算部２５は、遅延許容値の算出時に強遅延制約レート（第３の転送レート）を考慮する。強遅延制約レートとは、この転送レートよりもデータ転送実績が低い場合には、以後発行するアクセスリクエストをハードリアルタイム性保証リクエストと判定するための転送レートである。強遅延制約レートは、遅延制約条件設定レジスタ２３に設定する。
【００７５】
ハードリアルタイム性保証リクエストとは、即時的な処理を求めるリクエストである。本例では、ハードリアルタイム性保証リクエストは、遅延許容値以内に処理が終了しなければシステムに多大な影響を与えるリクエストとなる。なお、上述の実施例では、全てのアクセスリクエストは、ソフトリアルタイム性保証リクエストである。ソフトリアルタイム性保証リクエストは、処理制限時間が定まっているものの、当該処理制限時間内に処理が終了しなくても大きな影響が無いリクエストである。
【００７６】
遅延許容値計算部２５は、実施の形態１と同様に設定タイミングにおいて遅延許容値を算出する。これと同時に、遅延許容値計算部２５は、データ転送の実績値（第２の転送レート）と、強遅延制約レートと、を比較する。データ転送の実績値が強遅延制約レートよりも小さい場合、遅延許容値計算部２５は、遅延許容値付与部２６に対して、以後発行するアクセスリクエストに強遅延制約フラグ（ハードリアルタイム性保証リクエストであることを示すフラグ）を設定することを要求する。
【００７７】
続いて、調停回路４の動作について説明する。遅延許容値比較部４３は、遅延許容値の比較に加えて、アクセスリクエストに強遅延制約フラグが設定されているかを判定する。発行リクエスト調停部４６は、遅延許容値の比較、及び強遅延制約フラグの有無によって調停処理を行う。
【００７８】
発行リクエスト調停部４６は、強遅延制約フラグの設定されたアクセスリクエストを無条件でターゲットＩＰ５に発行するリクエストとして選択しても良い。また、図９に示すようなアルゴリズムに従って調停処理を行っても良い。以下、図９に示す調停処理を説明する。
【００７９】
発行リクエスト調停部４６は、強遅延制約フラグが設定されており、遅延許容値が所定値（例えば３００ｎｓ）以下のアクセスリクエストがあるか否かを判定する（Ｓ２１）。条件を満たすアクセスリクエストがある場合（Ｓ２１：Ｙｅｓ）、発行リクエスト調停部４６は、条件を満たすアクセスリクエストのうち一番遅延許容値が小さいものを選択対象と決定する（Ｓ２２）。アクセスリクエストの決定後には、遅延許容値更新部４２は、一定間隔毎に選択されなかったアクセスリクエストの遅延許容値を更新する（Ｓ２３）。その他の処理は、図７に示す処理と同様である。同じ処理には、同一符号を付している。ただし、Ｓ１７の判定において発行リクエスト調停部４６は、遅延許容値の比較ではなく、強遅延フラグの設定されたアクセスリクエストを自動的に選択しても良い。
【００８０】
なお、上記した図９の調停処理は、一例であり、調停回路４は、強遅延制約フラグの有無と遅延許容値の比較を基に調停処理を行えば良い。リクエストエントリ４１内に強遅延制約フラグを持たず、かつ遅延許容値の大きいアクセスリクエストのみが格納されている場合、発行リクエスト調停部４６は、調停処理を実行する時間間隔を大きくしても良い。調停処理を実行する時間間隔を大きくすることにより、例えばターゲットＩＰ５の待機モードへの切り替え回数を減らす等の効果がある。これにより、電力消費を抑えることができる。
【００８１】
上述の処理に示すように、データ転送が大幅に遅れている場合に、アクセスリクエストに対して即時処理を求める強遅延制約フラグを設定する。調停処理では、当該フラグが設定されたアクセスリクエストを優先的に選択対象とする。これにより、遅れの生じているデータ転送処理を促進することができる。
【００８２】
＜実施の形態５＞
本実施の形態にかかる情報処理システムは、リクエストエントリ４１の全てにアクセスリクエストが格納されている場合であっても、新たに到着した緊急に処理すべきアクセスリクエストを調停対象とすることを特徴とする。これにより、リクエストエントリ４１の格納状態によらず、精度の良い調停処理を実現することができる。
【００８３】
本実施の形態にかかる情報処理システムは、実施の形態１の情報処理システムと比べ、調停回路（調停機構）４の構成、動作が異なる。図１０は、本実施の形態にかかる調停回路４の構成を示すブロック図である。
【００８４】
調停回路４は、図６の構成に加えて遅延許容値比較部４８を備える。遅延許容値比較部４８は、リクエストエントリ４１の全てにアクセスリクエストが格納されている場合に、全リクエストエントリ４１に格納されたアクセスリクエストと、新たに到着したアクセスリクエストと、の遅延許容値を比較する。新たに到着したアクセスリクエストの遅延許容値が小さい場合、遅延許容値比較部４８は、全リクエストエントリ４１の中で一番遅延許容値が大きいアクセスリクエストをキャンセルする。すなわち、遅延許容値比較部４８は、当該アクセスリクエストをリクエストエントリ４１から消去する。そして、遅延許容値比較部４８は、当該アクセスリクエストを発行したイニシエータＩＰ１に対して再送要求を発行する。その他の構成、動作は、実施の形態１と同様である。
【００８５】
上述の処理により、調停回路４は、リクエストエントリ４１の格納状態によらず、遅延許容値の小さいアクセスリクエストを優先的に選択するように動作する。よって、リクエストエントリ４１に空きがない状態であっても精度の良い調停処理が実現できる。
【００８６】
なお、遅延許容値比較部４８は、遅延許容値の比較結果だけではなく、リクエストエントリ４１が格納できるアクセスリクエストの数、調停処理の実行間隔等をも考慮して、アクセスリクエストのキャンセルを行うかを決定しても良い。
【００８７】
＜実施の形態６＞
本実施の形態にかかる情報処理システムは、図１１に示すように、ターゲットＩＰ５−１、５−２（複数のターゲットＩＰ５）を備え、このターゲットＩＰ５−１、５−２と接続する調停回路４−１、４−２（調停機構）を備えることを特徴とする。なお、算出装置２（調停機構）及び調停回路４（調停機構）の構成、及び動作は実施の形態１と略同一である。各算出装置２（調停機構）は、ターゲットＩＰ５−１、５−２に対して同様の方式で遅延許容値を設定することができる。
【００８８】
なお、ターゲットＩＰ５の特質に合わせて、遅延許容値算出部２５は、遅延許容値の算出方法を切り替えても良い。また、情報処理システムの備えるターゲットＩＰ５の数は、３以上であっても良い。
【００８９】
＜実施の形態７＞
本実施の形態にかかる情報処理システムは、上述の構成をＳｏＣ（System On Chip）に応用したことを特徴とする。以下に、本実施の形態にかかる情報処理システムについて図１２を参照して説明する。
【００９０】
ＳｏＣ６は、イニシエータＩＰ１と、算出装置２と、オンチップバス７と、調停回路４と、共有資源ＩＦ（インターフェイス）８と、を備える。イニシエータＩＰ１、算出装置２、及び調停回路４の基本動作は、実施の形態１と同様である。オンチップバス７は、チップ上のアクセスリクエストの送受信を行うバスである。共有資源ＩＦ８は、ＳｏＣ６外にあるターゲットＩＰ６とのデータ転送のインターフェイスである。このように、上述した構成は、ＳｏＣにも応用可能である。
【００９１】
＜実施の形態８＞
本実施の形態にかかる情報処理システムは、実施の形態７の構成に加えて、オンチップバス内でも調停を行うことを特徴とする。これにより、調停により出力権限を得たパケットのみが調停回路４に供給されるため、より精度の高い調停処理が実現できる。
【００９２】
図１３は、本実施の形態にかかる情報処理システムの構成を示すブロック図である。図１２の構成に加えて、オンチップバス７は、バス調停部７１を備える。バス調停部７１は、各算出装置から送信されたアクセスリクエストの遅延許容値を比較する。バス調停部７１は、遅延許容値が小さいアクセスリクエストから順に調停回路４に送信する。これにより、調停回路４内のリクエストエントリ４１には、相対的に遅延許容値の小さいアクセスリクエストのみが供給される。
【００９３】
なお、図１に示すネットワーク接続の構成において、ルータ３内にバス調停部７１相当の処理部を設けることも勿論可能である。
【００９４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施形態では、画像データの読み出しについて記載したが、必ずしもこれに限られず、任意のデータの読み出し、及び書き込みに応用することも可能である。また、上述の実施の形態の特徴を適宜組み合わせることが可能である。
【符号の説明】
【００９５】
１  イニシエータＩＰ
２  算出装置（調停機構）
２１  転送量計測部
２２  転送量累積カウンタ
２３  遅延制約条件設定レジスタ
２４  経過時間計測タイマ
２５  遅延許容値計算部
２６  遅延許容値付与部
３  ルータ
４  調停回路（調停機構）
４１  リクエストエントリ
４２  遅延許容値更新部
４３  遅延許容値比較部
４４  バンク競合チェッカ
４５  ページヒットチェッカ
４６  発行リクエスト調停部
４７  セレクタ
４８  遅延許容値比較部
５  ターゲットＩＰ
６  ＳｏＣ（システムオンチップ）
７  オンチップバス
７１  バス調停部
８  共有資源ＩＦ（インターフェイス）
【図１】
0005715458.tif 000002
【図２】
0005715458.tif 000003
【図３】
0005715458.tif 000004
【図４】
0005715458.tif 000005
【図５】
0005715458.tif 000006
【図６】
0005715458.tif 000007
【図７】
0005715458.tif 000008
【図８】
0005715458.tif 000009
【図９】
0005715458.tif 000010
【図１０】
0005715458.tif 000011
【図１１】
0005715458.tif 000012
【図１２】
0005715458.tif 000013
【図１３】
0005715458.tif 000014