(57)【要約】【課題】  共有リソースへのアクセス要求の調停を一定の時間間隔で行うシステムでは、アクセス要求の発生タイミングに時間的な偏りが生じた場合、アクセス要求の存在しない調停時刻ではいずれのマスタにもアクセス許可が発行されず、アクセス許可を与える機会が無駄に失われてしまう。また、その結果として他の調停時刻に多数のアクセス要求が集中した場合には、アクセス待ち時間が増大する。【解決手段】  バスマスタ１００〜１０２からのアクセス要求を調停するバス調停部１０３に、調停履歴管理部１０６を設ける。調停履歴管理部１０６では、ある基本調停時刻にいずれのバスマスタからのアクセス要求も存在しなかったことを記録する。この記録に従って、アクセス要求調停部１０５は、当該基本調停時刻を過ぎて発行されたアクセス要求に対して、次の基本調停時刻を待たずにアクセス許可を発行する。【選択図】  図１
2006195714.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスタと少なくとも１つの共有リソースとの間に介在したリソース管理装置であって、
各マスタの優先順位情報を調停情報として管理する調停情報管理部と、
前記調停情報をもとに各マスタから前記共有リソースへのアクセス要求を調停するアクセス要求調停部と、
前記アクセス要求調停部に調停動作の開始を指示する調停タイミング制御部と、
前記アクセス要求調停部によりアクセスが許可されたマスタと前記共有リソースとの間のデータ転送を制御するリソース制御部と、
前記アクセス要求調停部における調停状況の履歴を履歴情報として管理する調停履歴管理部とを備え、
前記調停タイミング制御部は、前記アクセス要求調停部による調停動作の開始タイミングを、一定間隔の基本調停時刻に合致した基本タイミングから、前記調停履歴管理部の履歴情報をもとにシフトさせる機能を有することを特徴とするリソース管理装置。
【請求項２】
請求項１記載のリソース管理装置において、
前記調停タイミング制御部は、
前記基本調停時刻に１以上のマスタからアクセス要求が発行されている場合には、前記基本タイミングに従って前記アクセス要求調停部に調停動作の開始を指示し、
前記基本調停時刻にいずれのマスタからもアクセス要求が発行されなかったためアクセス許可が発行されなかった場合には、前記調停履歴管理部に前記履歴情報として許可先送り記録を保持させ、
前記基本調停時刻以外の時刻に１以上のマスタからアクセス要求が発行されており、かつ前記調停履歴管理部が前記許可先送り記録を保持している場合には、前記アクセス要求を発行した１以上のマスタのうちのいずれかに対して次の基本調停時刻を待たずにアクセス許可が発行されるように、前記アクセス要求調停部による調停動作の開始タイミングを前記基本タイミングからシフトさせ、かつ前記調停履歴管理部が保持している前記許可先送り記録を抹消させることを特徴とするリソース管理装置。
【請求項３】
請求項２記載のリソース管理装置において、
前記調停情報管理部は、１周期内の各基本調停時刻における各マスタの優先順位情報を前記調停情報として持ち、前記調停履歴管理部に蓄積された１又は複数の許可先送り記録を、前記周期より短くない期間毎に初期化させる機能を有することを特徴とするリソース管理装置。
【請求項４】
請求項２記載のリソース管理装置において、
前記許可先送り記録の累積数に制限を加えるように先送り上限値を設定する履歴設定情報管理部を更に備えたことを特徴とするリソース管理装置。
【請求項５】
請求項４記載のリソース管理装置において、
前記履歴設定情報管理部は、前記共有リソースの状況を表すリソース状況信号を前記リソース制御部から受け取り、前記共有リソースの状況に応じて前記先送り上限値の設定を変更する機能を有することを特徴とするリソース管理装置。
【請求項６】
請求項２記載のリソース管理装置において、
前記基本調停時刻以外の時刻にアクセス許可を獲得し得るマスタであるか否かを前記複数のマスタの各々について設定する履歴設定情報管理部を更に備えたことを特徴とするリソース管理装置。
【請求項７】
請求項１記載のリソース管理装置において、
前記調停タイミング制御部は、
前記基本調停時刻に１以上のマスタからアクセス要求が発行されている場合には、前記基本タイミングに従って前記アクセス要求調停部に調停動作の開始を指示し、
前記基本調停時刻以外の時刻に１以上のマスタからアクセス要求が発行されている場合には、前記アクセス要求を発行した１以上のマスタのうちのいずれかに対して次の基本調停時刻を待たずにアクセス許可が発行されるように、前記アクセス要求調停部による調停動作の開始タイミングを前記基本タイミングからシフトさせ、かつ前記調停履歴管理部に前記履歴情報として許可前倒し記録を保持させ、
前記基本調停時刻にいずれのマスタからもアクセス要求が発行されなかったためアクセス許可が発行されなかった場合には、前記調停履歴管理部が保持している前記許可前倒し記録を抹消させることを特徴とするリソース管理装置。
【請求項８】
請求項７記載のリソース管理装置において、
前記調停情報管理部は、１周期内の各基本調停時刻における各マスタの優先順位情報を前記調停情報として持ち、前記調停履歴管理部に蓄積された１又は複数の許可前倒し記録を、前記周期より短くない期間毎に初期化させる機能を有することを特徴とするリソース管理装置。
【請求項９】
請求項７記載のリソース管理装置において、
前記許可前倒し記録の累積数に制限を加えるように前倒し上限値を設定する履歴設定情報管理部を更に備えたことを特徴とするリソース管理装置。
【請求項１０】
請求項９記載のリソース管理装置において、
前記履歴設定情報管理部は、前記共有リソースの状況を表すリソース状況信号を前記リソース制御部から受け取り、前記共有リソースの状況に応じて前記前倒し上限値の設定を変更する機能を有することを特徴とするリソース管理装置。
【請求項１１】
請求項７記載のリソース管理装置において、
前記基本調停時刻以外の時刻にアクセス許可を獲得し得るマスタであるか否かを前記複数のマスタの各々について設定する履歴設定情報管理部を更に備えたことを特徴とするリソース管理装置。
【請求項１２】
請求項１記載のリソース管理装置において、
前記調停履歴管理部は、前記複数のマスタについて前記履歴情報を管理するための単一の履歴カウンタを有し、
前記調停タイミング制御部は、
前記基本調停時刻に１以上のマスタからアクセス要求が発行されている場合には、前記基本タイミングに従って前記アクセス要求調停部に調停動作の開始を指示し、
前記基本調停時刻にいずれのマスタからもアクセス要求が発行されなかったためアクセス許可が発行されなかった場合には、前記履歴カウンタの値が未だ上限値に達していないことを条件として前記履歴カウンタの値を１だけ増加させ、
前記基本調停時刻以外の時刻に１以上のマスタからアクセス要求が発行されている場合には、前記履歴カウンタの値が未だ下限値に達していないことを条件として、前記アクセス要求を発行した１以上のマスタのうちのいずれかに対して次の基本調停時刻を待たずにアクセス許可が発行されるように、前記アクセス要求調停部による調停動作の開始タイミングを前記基本タイミングからシフトさせ、かつ前記履歴カウンタの値を１だけ減少させることを特徴とするリソース管理装置。
【請求項１３】
請求項１記載のリソース管理装置において、
前記調停履歴管理部は、前記複数のマスタの各々について又は各々前記複数のマスタのうちの２以上のマスタからなる複数のマスタグループの各々について前記履歴情報を個別に管理するための複数の履歴カウンタを有し、
前記調停タイミング制御部は、
前記基本調停時刻にいずれのマスタからもアクセス要求が発行されなかったためアクセス許可が発行されなかった場合には、当該基本調停時刻において最優先順位を持つマスタについて前記履歴カウンタの値を１だけ増加させ、
前記基本調停時刻に１以上のマスタからアクセス要求が発行されている場合には、前記基本タイミングに従って前記アクセス要求調停部に調停動作の開始を指示し、かつ当該基本調停時刻において最優先以外の順位を持つマスタが前記アクセス要求調停部によりアクセス許可を受けたことを条件として、当該アクセス許可を受けたマスタについて前記履歴カウンタの値を１だけ減少させ、
前記基本調停時刻以外の時刻に１以上のマスタからアクセス要求が発行されており、かつ当該アクセス要求を発行したマスタについて前記履歴カウンタの値が未だ下限値に達していないという条件が満たされた場合には、当該条件を満たすマスタのうちのいずれかに対して次の基本調停時刻を待たずにアクセス許可が発行されるように、前記アクセス要求調停部による調停動作の開始タイミングを前記基本タイミングからシフトさせ、かつ前記アクセス要求調停部によりアクセス許可を受けたマスタについて前記履歴カウンタの値を１だけ減少させることを特徴とするリソース管理装置。
【請求項１４】
複数のマスタが少なくとも１つの共有リソースへのアクセス要求をそれぞれ発行するシステムにおけるリソース管理方法であって、
前記システムは、アクセス要求調停部と、基本調停時刻信号生成部と、調停タイミング生成部と、履歴カウンタとを備えており、前記調停タイミング生成部にて、
動作時刻が前記基本調停時刻信号生成部から通知される基本調停時刻であるかを判断する第１のステップと、
前記第１のステップで前記動作時刻が前記基本調停時刻であるときに、前記アクセス要求調停部からの信号をもとに１以上のマスタからのアクセス要求が存在するかを確認する第２のステップと、
前記第２のステップで１以上のマスタからのアクセス要求が存在するときに、前記アクセス要求調停部に調停の指示をするように調停タイミング信号を発行する第３のステップと、
前記第２のステップでいずれのマスタからのアクセス要求も存在しないときに、前記基本調停時刻にアクセス要求が存在しなかったためアクセス許可が発行されなかったことを記録するように前記履歴カウンタの値を１だけ増加させる第４のステップと、
前記第１のステップで前記動作時刻が前記基本調停時刻でないときに、前記アクセス要求調停部からの信号をもとに、１以上のマスタからのアクセス要求が存在するかを確認し、かついずれのマスタからのアクセス要求も存在しないときには処理を終了する第５のステップと、
前記第５のステップで１以上のマスタからのアクセス要求が存在するときに、過去にアクセス許可を発行していない基本調停時刻が存在するかを判定するように前記履歴カウンタの値が１以上であるかを確認し、前記履歴カウンタの値が０のときには処理を終了する第６のステップと、
前記第６のステップで前記履歴カウンタの値が１以上であるときに、前記アクセス要求調停部に調停の指示をするように調停タイミング信号を発行し、かつ前記履歴カウンタの値を１だけ減少させる第７のステップとを有することを特徴とするリソース管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマスタが少なくとも１つの共有リソースへのアクセス要求をそれぞれ発行するシステムにおいて、各マスタから共有リソースへのアクセス要求を調停するためのリソース管理装置に関するものである。
【背景技術】
【０００２】
システムＬＳＩの内部では、マイクロプロセッサ、ＤＳＰ（Digital Signal Processor）、ＤＭＡ（Direct Memory Access）コントローラ等の複数のマスタが、メモリ、周辺Ｉ／Ｏ（input/output）コントローラ等の共有リソースにアクセスする。ここで、各マスタから共有リソースへのアクセス要求を効率的に調停するためのリソース管理装置が必要である。
【０００３】
ある従来技術によれば、予めテーブル形式で持っている各マスタの優先順位情報をもとに、リソース管理装置が一定時間毎にアクセス要求の調停を行う。複数パターンの優先順位情報が当該テーブルに格納されており、調停を行う一定時間毎にパターンが順に切り替えられる。各マスタは優先順位パターンの中で最優先に設定されている回数分のアクセス許可を受けることができ、各マスタの最低アクセスバンド幅を保証することが可能である（特許文献１参照）。
【特許文献１】特開２００４−２４６８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように共有リソースへのアクセス要求の調停を一定の時間間隔で行うシステムにおいて、各マスタからのアクセス要求の発生タイミングに時間的な偏りが生じた場合、アクセス要求の存在しない調停時刻ではいずれのマスタにもアクセス許可が発行されず、アクセス許可を与える機会が無駄に失われてしまう。また、その結果として他の調停時刻に多数のアクセス要求が集中した場合には、低い優先順位を持つマスタのアクセス待ち時間が増大する。
【０００５】
本発明の目的は、共有リソースへのアクセス要求の調停を一定の時間間隔で行うシステムにおけるアクセス効率及びアクセスレイテンシを改善することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明では、一定間隔の基本調停時刻に合致した基本タイミングで各マスタから共有リソースへのアクセス要求の調停を行いつつ、調停状況の履歴をもとに、調停動作の開始タイミングを基本タイミングからシフトさせることとした。
【０００７】
具体的には、ある基本調停時刻にいずれのマスタからのアクセス要求も存在しなかったためアクセス許可を発行しなかったことを調停履歴管理部において記録（許可先送り記録）し、そのアクセス許可を、基本調停時刻を過ぎてアクセス要求を発行したマスタに基本タイミングとは無関係に発行する。
【０００８】
また、システムの能力に余裕がある場合には、あるマスタのアクセス要求発行直前の基本調停時刻に他のマスタにアクセス許可が発行されても、次の基本調停時刻を待たずにアクセス許可の発行を許容し、そのようにしてアクセス許可を発行したことを調停履歴管理部において記録（許可前倒し記録）する。
【０００９】
好ましくは、許可先送り記録の累積数に制限を加えるように先送り上限値を設定したり、許可前倒し記録の累積数に制限を加えるように前倒し上限値を設定したりする。
【発明の効果】
【００１０】
本発明によれば、共有リソースへのアクセス要求の調停を一定の時間間隔で行うシステムにおいて、調停状況の履歴をもとに、調停動作の開始タイミングを一定時間毎の基本タイミングからシフトさせることとしたので、アクセス効率及びアクセスレイテンシが改善される。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。以下の説明において、各バスマスタは、データアクセスを行うためのアドレス信号、制御信号等を能動的に送出する機能を有するものである。一般に、１つの機能ブロックはバス接続のための複数のインターフェースを持ち、いくつかはバスマスタとして機能し、いくつかはバススレーブとして機能する。例えば、ハーバードアーキテクチャ（Harvard architecture）のプロセッサは、インストラクション用バスマスタと、データ用バスマスタとを有する。
【００１２】
《第１の実施形態》
図１は、本発明の第１の実施形態に係るリソース管理装置の構成を示している。図１のリソース管理装置１０は、３つのバスマスタ１００，１０１，１０２と共有リソース１０９との間に介在しており、バス調停部１０３と、調停情報管理部１０７と、リソース制御部１０８とを備えている。バス調停部１０３において、１０４は調停タイミング制御部、１０５はアクセス要求調停部、１０６は調停履歴管理部である。バスマスタ１００，１０１，１０２は、それぞれバス１１０，１１１，１１２を介してバス調停部１０３中のアクセス要求調停部１０５に接続されている。なお、以下の説明では、バスマスタ１００，１０１，１０２を適宜バスマスタＡ，Ｂ，Ｃという。
【００１３】
バス調停部１０３は、バスマスタ１００〜１０２からそれぞれ任意の時刻に発行されるアクセス要求を、調停情報管理部１０７に収められている各バスマスタ１００〜１０２の優先順位情報をもとに調停し、この調停により選択された１つのアクセス要求をリソース制御部１０８に伝える。リソース制御部１０８は、バス調停部１０３によって選択されたバスマスタと共有リソース１０９との間のデータ転送制御を行う。
【００１４】
バス調停部１０３において、調停タイミング制御部１０４は、調停履歴管理部１０６からの履歴情報やアクセス要求調停部１０５が送出するアクセス要求の有無を示す信号をもとに、アクセス要求調停部１０５と履歴情報管理部１０７とに対して調停タイミング信号を出力する。調停情報管理部１０７へ供給される調停タイミング信号は、優先順位情報のパターン指定に用いられる。アクセス要求調停部１０５は、調停情報管理部１０７からの優先順位情報をもとにバスマスタ１００〜１０２からのアクセス要求の調停を行い、選択されたバスマスタからのアクセス要求のリソース制御部１０８への送出と、選択されたバスマスタとリソース制御部１０８との間のデータ転送制御を行う。調停履歴管理部１０６は、調停タイミング制御部１０４からの履歴制御信号を受け、調停履歴を記録する。また調停履歴管理部１０６は、調停情報管理部１０７からの調停周期信号を受けて、調停履歴を初期化できるようになっている。
【００１５】
図２は、図１中の調停情報管理部１０７が持つ調停情報をテーブル形式の情報とした例を示している。図２のテーブルにおいて、最も左の列はバスマスタＡ，Ｂ，Ｃ間の固定優先順位を表し、上の行にあるバスマスタほど高い優先度を有する。他の５列はバスマスタＡ，Ｂ，Ｃ間の最優先順位を示し、「１」の立っている行のバスマスタが最優先であることを表す。各スロットの最優先順位は最も左の列に示す固定的な優先順位よりも優先され、最優先に指定されているバスマスタからのアクセス要求が存在しない場合に固定的な優先順位が用いられる。これら５列の各々を「スロット」と呼び、最上行に示した「スロット番号」を各スロットに割り付ける。アクセス要求調停部１０５への優先順位情報出力に使用するスロットの番号は一定時間毎に１から順に２、３と更新され、５まで行くと、次は１に戻る。
【００１６】
図２によれば、スロットが１巡する間にバスマスタＡ，Ｂ，Ｃの各々はスロット中に「１」を立てた個数分だけアクセス許可を受けることができる。具体的には、バスマスタＡは５回に２回の割合で、バスマスタＢは５回に２回の割合で、バスマスタＣは５回に１回の割合でそれぞれアクセス許可を受けることができる。これにより、バスマスタＡ及びＢはそれぞれ全バンド幅の４割、バスマスタＣは２割のバンド幅を得ることができ、それぞれに最低アクセスバンド幅の保証がなされる。この意味から、図２のテーブルで定義される周期を「バンド幅保証周期」という。
【００１７】
図３は、図１中の調停タイミング制御部１０４の詳細構成を示している。調停タイミング制御部１０４は、基本調停時刻信号生成部２００、単位時刻信号生成部２０１及び調停タイミング生成部２０２の３つのブロックからなる。単位時刻信号生成部２０１は、基本調停時刻信号生成部２００及び調停タイミング生成部２０２へ、バスマスタにアクセス許可を与える最小時間間隔を表す単位時刻信号を出力する。単位時刻信号の生成は外部より入力されるクロック信号（不図示）をもとに行われ、１クロック時間又は複数クロック時間を単位時間とする。１クロック時間を単位時間とする場合には、単位時刻信号生成部２０１を設ける必要はない。基本調停時刻信号生成部２００は、単位時刻信号生成部２０１からの単位時刻信号をもとに、調停を行う基本となる一定間隔の調停時刻を表す基本調停時刻信号を調停タイミング生成部２０２に出力する。基本調停時刻信号は、１つあるいは複数の単位時間毎に発行される。調停タイミング生成部２０２は、単位時刻信号生成部２０１からの単位時刻信号と、基本調停時刻信号生成部２００からの基本調停時刻信号と、調停履歴管理部１０６からの履歴情報と、アクセス要求調停部１０５から伝えられるバスマスタからのアクセス要求の有無を表す信号とをもとに調停タイミング信号を生成し、これをアクセス要求調停部１０５及び調停情報管理部１０７に出力する。また、調停タイミング生成部２０２は、調停履歴管理部１０６に与えるべき履歴制御信号も生成する。
【００１８】
図３では、調停履歴管理部１０６が履歴カウンタ２０３を用いて調停履歴を記録する例が示されている。履歴カウンタ２０３は、調停タイミング生成部２０２からの履歴制御信号をもとに増減操作され、調停情報管理部１０７からの調停周期信号をもとに初期化される。この履歴カウンタ２０３の値は、履歴情報として調停タイミング生成部２０２に伝えられ、調停タイミング信号の生成に用いられる。
【００１９】
図４は、図１中のバス調停部１０３の動作例を示している。ここでは、履歴カウンタ２０３の初期値が０であるものとする。
【００２０】
バス調停部１０３は、単位時刻信号生成部２０１により通知される単位時間毎に図４の動作を行う。まず、ステップ３０１では動作時刻が基本調停時刻信号生成部２００により通知される基本調停時刻であるかを調停タイミング生成部２０２が判断し、基本調停時刻である場合にはステップ３０２に進み、そうでない場合にはステップ３０５へ進む。ステップ３０２では、アクセス要求調停部１０５からの信号をもとに１つ以上のバスマスタからのアクセス要求が存在するかを調停タイミング生成部２０２が確認し、アクセス要求が存在する場合にはステップ３０３へ、存在しない場合にはステップ３０４へ進む。ステップ３０３では調停タイミング生成部２０２より調停タイミング信号を発行し、アクセス要求調停部１０５に調停の指示をする。これによりバスマスタ１００〜１０２のうちのいずれかが、図２の優先順位情報に従ってアクセス許可を受ける。ステップ３０４では履歴カウンタ２０３の値を１だけ増加させることで、基本調停時刻にアクセス要求が存在せずアクセス許可が発行されなかったことを許可先送り記録として残す。
【００２１】
ステップ３０５では、アクセス要求調停部１０５からの信号をもとに１つ以上のバスマスタからのアクセス要求が存在するかを調停タイミング生成部２０２が確認し、アクセス要求が存在しない場合には処理を終了し、アクセス要求が存在する場合にはステップ３０６へ進む。ステップ３０６では、過去にいずれのバスマスタへもアクセス許可を発行していない基本調停時刻が存在するかを判定するように、履歴カウンタ２０３の値が１以上であるかを調停タイミング生成部２０２が確認する。履歴カウンタ２０３の値が１以上である場合にはステップ３０７へ進み、履歴カウンタ２０３の値が０の場合には処理を終了する。ステップ３０７では、ステップ３０３と同様に調停タイミング生成部２０２が調停タイミング信号を発行し、アクセス許可を発行するようにアクセス要求調停部１０５に調停を指示し、ステップ３０８へ移る。ステップ３０８では許可先送り記録を１つ抹消するように履歴カウンタ２０３の値を１だけ減少させて処理を終了する。
【００２２】
図５は、図４のフローに従った場合のアクセス許可タイミングを示している。図５中の基本調停時刻１〜５は、それぞれ図２のスロット１〜５に対応する。Ｒ１及びＲ４はバスマスタＡからのアクセス要求であり、Ｒ２及びＲ５はバスマスタＢからのアクセス要求であり、Ｒ３はバスマスタＣからのアクセス要求である。これらのアクセス要求Ｒ１〜Ｒ５を示す矢印において、黒丸は各バスマスタＡ，Ｂ，Ｃからのアクセス要求の発行タイミングを、矢印の先はアクセス許可の発行タイミングをそれぞれ表している。基本調停時刻１、２、４、５では図４におけるステップ３０１，３０２，３０３により各基本調停時刻でアクセス許可が発行されているが、基本調停時刻３ではいずれのバスマスタからもアクセス要求が存在せず（図５中の×印）、ステップ３０４により履歴カウンタ２０３に許可先送りが履歴として記録される。そして、基本調停時刻３を過ぎて発行されたバスマスタＣからのアクセス要求Ｒ３に対して、ステップ３０５，３０６，３０７，３０８によってアクセス許可が直ちに発行されたうえ、履歴カウンタ２０３の許可先送り記録が抹消される。これにより、基本調停時刻３に利用されなかった調停機会を無駄にせず用いることが可能となる（白抜き矢印参照）。加えて、バスマスタＣからのアクセス要求Ｒ３に対するアクセス許可発行までの待ち時間を短縮することが可能となる。
【００２３】
図６は、図１中のバス調停部１０３の他の動作例を示している。図４のフローとの違いは、図４中のステップ３０６の制限が取り払われ、履歴カウンタ２０３が負の値をとりうることにある。
【００２４】
図７は、図６のフローに従った場合のアクセス許可タイミングを示している。Ｒ１３及びＲ１５はバスマスタＡからのアクセス要求であり、Ｒ１１及びＲ１４はバスマスタＢからのアクセス要求であり、Ｒ１２はバスマスタＣからのアクセス要求である。バスマスタＢからアクセス要求Ｒ１１が発行されたとき、基本調停時刻１を待たずにステップ３０５，３０７，３０８によってアクセス許可が前倒しで発行され、履歴カウンタ２０３の値を１だけ減少させる。その結果、履歴カウンタ２０３の値が「−１」となる。この後、基本調停時刻１においてステップ３０１，３０２，３０４によって履歴カウンタ２０３の値を１だけ増加させる。アクセス要求Ｒ１２，Ｒ１３，Ｒ１５に対しても同様であり、履歴カウンタ２０３の値を負にできることで基本調停時刻を待たずしてアクセス許可を発行でき、アクセスレイテンシの改善が図れる。バスマスタＢからのアクセス要求Ｒ１４については、図５の場合と同様に、基本調停時刻４でアクセス許可が発行されなかったことを記録（許可先送り記録）し、その後にアクセス許可を発行している。
【００２５】
なお、調停情報管理部１０７から調停履歴管理部１０６への調停周期信号（図１及び図３参照）を用いて、１又は複数のバンド幅保証周期毎に履歴カウンタ２０３の値を０に初期化することにより、長期にわたって履歴が蓄積することでバンド幅保証に正確さが失われるのを防ぐことが可能となる。
【００２６】
《第２の実施形態》
図８は、本発明の第２の実施形態に係るリソース管理装置の構成を示している。図１との違いは履歴設定情報管理部１１３の追加であり、履歴設定情報管理部１１３は調停タイミング制御部１０４の動作に対する各種の設定情報を格納しており、調停タイミング制御部１０４へ判定制御信号Ｓ０を供給する。
【００２７】
図９は、図８中の調停タイミング制御部１０４の詳細構成を示している。履歴設定情報管理部１１３からの判定制御信号Ｓ０は、調停タイミング生成部２０２に入力される。図９の調停タイミング生成部２０２は、履歴設定情報管理部１１３からの判定制御信号Ｓ０に従って、その動作を決定する。
【００２８】
図１０は、履歴カウンタ２０３がとりうる値の上限値及び下限値を履歴設定情報管理部１１３に設定する場合の、図８中のバス調停部１０３の動作例を示している。ここでも、履歴カウンタ２０３の初期値が０であるものとする。
【００２９】
バス調停部１０３は、単位時刻信号生成部２０１により通知される単位時間毎に図１０の動作を行う。まず、ステップ３０１では動作時刻が基本調停時刻信号生成部２００により通知される基本調停時刻であるかを調停タイミング生成部２０２が判断し、基本調停時刻である場合にはステップ３０２に進み、そうでない場合にはステップ３０５へ進む。ステップ３０２では、アクセス要求調停部１０５からの信号をもとに１つ以上のバスマスタからのアクセス要求が存在するかを調停タイミング生成部２０２が確認し、アクセス要求が存在する場合にはステップ３０３へ、存在しない場合にはステップ４０１へ進む。ステップ３０３では調停タイミング生成部２０２より調停タイミング信号を発行し、アクセス要求調停部１０５に調停の指示をする。これによりバスマスタ１００〜１０２のうちのいずれかが、図２の優先順位情報に従ってアクセス許可を受ける。ステップ４０１では、履歴設定情報管理部１１３から判定制御信号Ｓ０として送られる履歴カウンタ２０３の上限値（先送り上限値）と現在の履歴カウンタ２０３の値とを調停タイミング生成部２０２が比較し、上限値に達していない場合にはステップ３０４へ進み、上限値の場合には処理を終了する。ステップ３０４では履歴カウンタ２０３の値を１だけ増加させる。
【００３０】
ステップ３０５では、アクセス要求調停部１０５からの信号をもとに１つ以上のバスマスタからのアクセス要求が存在するかを調停タイミング生成部２０２が確認し、アクセス要求が存在しない場合には処理を終了し、アクセス要求が存在する場合にはステップ４０２へ進む。ステップ４０２では、履歴カウンタ２０３の現在値が履歴設定情報管理部１１３から判定制御信号Ｓ０として送られる履歴カウンタ２０３の下限値（前倒し上限値）より大きいかを調停タイミング生成部２０２が確認し、下限値であった場合には処理を終了し、下限値に達していない場合にはステップ３０７へ移る。ステップ３０７では、ステップ３０３と同様に調停タイミング生成部２０２が調停タイミング信号を発行し、アクセス許可を発行するようにアクセス要求調停部１０５に調停を指示し、ステップ３０８へ移る。ステップ３０８では履歴カウンタ２０３の値を１だけ減少させて処理を終了する。
【００３１】
図１１は、図１０のフローに従って履歴カウンタ２０３の上限値を「１」に設定した場合のアクセス許可タイミングを示している。Ｒ２１及びＲ２５はバスマスタＡからのアクセス要求であり、Ｒ２２及びＲ２４はバスマスタＢからのアクセス要求であり、Ｒ２３はバスマスタＣからのアクセス要求である。基本調停時刻３ではいずれのバスマスタからもアクセス要求が発行されていないため（Ｔ３参照）、ステップ３０４によって履歴カウンタ２０３の値を１だけ増加させることで、基本調停時刻３にアクセス許可を発行していないことを記録する。その結果、履歴カウンタ２０３の値が「１」になる。次の基本調停時刻４でもバスマスタからのアクセス要求が存在しないが（Ｔ４参照）、履歴カウンタ２０３の値が既に上限値である「１」に達しているため、ステップ４０１によって履歴カウンタ２０３の値を増加させないように制御する。すなわち、基本調停時刻４においてアクセス許可を発行していないことを記録しないよう、制限が加わることになる。基本調停時刻３において先送りされたアクセス許可は、基本調停時刻４を過ぎて発行されたアクセス要求Ｒ２３に対して発行されている。
【００３２】
図１２は、図１０のフローに従って履歴カウンタ２０３の下限値を「−１」に設定した場合のアクセス許可タイミングを示している。Ｒ３３及びＲ３５はバスマスタＡからのアクセス要求であり、Ｒ３２及びＲ３４はバスマスタＢからのアクセス要求であり、Ｒ３１はバスマスタＣからのアクセス要求である。基本調停時刻１の前にバスマスタＣから発行されたアクセス要求Ｒ３１に対しては、ステップ３０５，４０２，３０７及び３０８によって履歴カウンタ２０３の値を１だけ減少させるとともに、アクセス許可が直ちに発行される。これにより、基本調停時刻１で発行されるべきアクセス許可を前倒しで発行したことになり、履歴カウンタ２０３の値が「−１」になる。次のバスマスタＢからのアクセス要求Ｒ３２に対しても同様にステップ３０５の「ＹＥＳ」判定によってアクセス許可の発行処理（ステップ３０７）へ移ろうとするが、履歴カウンタ２０３の値が既に下限値「−１」に達しているため、このアクセス要求Ｒ３２に対して直ちにはアクセス許可が発行されない（ステップ４０２）。次の基本調停時刻１において、バスマスタＢからのアクセス要求Ｒ３２が残っているため、ステップ３０１〜３０３によってアクセス許可が発行される。このとき、履歴カウンタ２０３の値は「−１」のままであり、基本調停時刻２で発行される予定のアクセス許可が、アクセス要求Ｒ３２に対して基本調停時刻１に前倒しで発行されたことになる。以降のアクセス要求Ｒ３３〜Ｒ３５についての説明は省略する。
【００３３】
以上、図１０〜図１２に示したように履歴カウンタ２０３の値に制限を設けることで、アクセス許可の発行が集中して生じることを防ぎ、リソース制御部１０８に過大な負荷をかけないようにすることができる。一例としてリソース制御部１０８において、バスマスタからのアドレス等のコマンドや転送されるデータを格納するバッファが存在する場合、リソース制御部１０８や後段の共有リソース１０９におけるデータ処理能力に合わせて履歴カウンタ２０３の上限値及び下限値を設定することで、バッファの溢れや過大な量のデータ蓄積を防ぐことができる。なお、リソース制御部１０８や共有リソース１０９の性質に応じて、履歴カウンタ２０３の上限値又は下限値のいずれか一方のみを選択的に設定することとしてもよい。
【００３４】
図１３は、バスマスタ１００〜１０２の各々が基本調停時刻以外の時刻にアクセス許可を獲得し得るマスタであるか否かを履歴設定情報管理部１１３に設定する場合の、図８中のバス調停部１０３の動作例を示している。図１３中のステップ５０１は、履歴設定情報管理部１１３に設定された情報に従って、基本調停時刻以外の時刻にアクセス許可を獲得し得るマスタである場合に限ってアクセス許可を発行するように制御するためのステップである。一例として、固定優先度の低いバスマスタに対して基本調停時刻以外でのアクセス許可を禁止することで、優先度の高いバスマスタのアクセス許可数が低下するのを防ぐことが可能である。このようにバスマスタ毎のアクセス許可制限を実現するため、調停タイミング生成部２０２は、アクセス要求調停部１０５に調停タイミングの指示に加えて調停禁止バスマスタの指示を行う。
【００３５】
《第３の実施形態》
図１４は、本発明の第３の実施形態に係るリソース管理装置の構成を示している。図８からの変更点は、リソース制御部１０８から履歴設定情報管理部１１３へのリソース状況信号Ｓ１が加わっていることである。リソース状況信号Ｓ１は、リソース制御部１０８又は共有リソース１０９の内部状態を履歴設定情報管理部１１３に伝達する信号である。履歴設定情報管理部１１３は、リソース状況信号Ｓ１をもとに種々の設定情報を動的に変更する。
【００３６】
図１５は、図１４中の履歴設定情報管理部１１３の動作例を示している。ここでは、バスマスタ１００〜１０２からのアクセス要求を表すコマンドを格納するＦＩＦＯバッファ（First-In First-Out buffer）をリソース制御部１０８が備えているものとする。このＦＩＦＯバッファは、アクセス許可を受けたバスマスタ１００〜１０２からのアクセス要求コマンドを順次格納し、共有リソース１０９へと出力するバッファである。
【００３７】
図１５によれば、ＦＩＦＯバッファに蓄積されているコマンドの段数をリソース状況信号Ｓ１としてリソース制御部１０８が履歴設定情報管理部１１３へ通知する。履歴設定情報管理部１１３は、基準値Ｘ，Ｙ及びそれらをもとに選択される設定情報群を有しており、リソース状況信号Ｓ１としてリソース制御部１０８より通知されたＦＩＦＯバッファ中のコマンド段数と、設定されている基準値Ｘ，Ｙとを比較し、その比較結果に応じて履歴カウンタ２０３の上限値及び下限値を選択し、選択した上限値及び下限値を調停タイミング制御部１０４に判定制御信号Ｓ０として出力する。具体的には、ＦＩＦＯバッファ中のコマンド段数が多いほど、履歴カウンタ２０３の上限値を小さくし、又は履歴カウンタ２０３の下限値を大きくすることで、基本調停時刻以外の時刻にアクセス許可を発行する頻度を少なくする。つまり、リソース制御部１０８及び共有リソース１０９の処理能力に応じて履歴カウンタ２０３の値を制限することができ、リソース制御部１０８や共有リソース１０９での処理能力に応じた調停タイミング信号の発行を調停タイミング制御部１０４が行うことができる。
【００３８】
なお、図１５の例では２つの基準値Ｘ，Ｙをもとに１組の上限値及び下限値を選択することとしたが、基準値の数は任意に選択可能であり、また上限値のための基準値と、下限値のための基準値とを区別することも可能である。
【００３９】
履歴カウンタ２０３の制限値の変更の際に、その時点での履歴カウンタ２０３の値が新しい制限値を超えていた場合には、その新しい制限値を履歴カウンタ２０３の値とすることで対応可能であるが、履歴カウンタ２０３の値をそのまま保持しておくことも可能である。また、リソース制御部１０８又は共有リソース１０９の状況に応じて、バスマスタ１００〜１０２の各々が基本調停時刻以外の時刻にアクセス許可を獲得し得るマスタであるか否かの設定を動的に変更するようにしてもよい。
【００４０】
《第４の実施形態》
図１６は、本発明の第４の実施形態に係るリソース管理装置の構成を示している。本実施形態では、調停履歴管理部１０６がバスマスタ毎の履歴カウンタを有し、現時点でいずれのバスマスタが最優先に指定されているかを通知する最優先順位信号Ｓ２が調停情報管理部１０７から調停タイミング制御部１０４に伝達される。
【００４１】
図１７は、図１６中の調停タイミング制御部１０４及び調停履歴管理部１０６の詳細構成を示している。調停履歴管理部１０６は、バスマスタ毎の履歴カウンタ（Ａ，Ｂ，Ｃ）２０４，２０５，２０６を有している。また、調停情報管理部１０７は図２に示すテーブルによって優先順位情報を管理しており、この調停情報管理部１０７から伝達された最優先順位信号Ｓ２を調停タイミング生成部２０２が受け取る。調停タイミング生成部２０２は、調停履歴管理部１０６におけるバスマスタ毎の履歴カウンタ２０４〜２０６を制御するための個別の履歴制御信号を調停履歴管理部１０６に出力する。アクセス要求調停部１０５は、アクセス要求の有無に加えて、いずれのバスマスタにアクセス許可を行ったかを通知する信号を調停タイミング生成部２０２へ送出する。加えて、履歴カウンタ２０４〜２０６の値に応じてバスマスタ毎にアクセス許可を制限するため、調停タイミング生成部２０２からアクセス要求調停部１０５に調停タイミングの指示に加えて調停禁止バスマスタの指示を行う。
【００４２】
図１８は、図１６中のバス調停部１０３の動作例を示している。ここでは、履歴カウンタ２０４〜２０６の初期値が全て０であるものとする。
【００４３】
バス調停部１０３は、単位時刻信号生成部２０１により通知される単位時間毎に図１８の動作を行う。まず、ステップ３０１では動作時刻が基本調停時刻信号生成部２００により通知される基本調停時刻であるかを調停タイミング生成部２０２が判断し、基本調停時刻である場合にはステップ３０２に進み、そうでない場合にはステップ６０３へ進む。ステップ３０２では、アクセス要求調停部１０５からの信号をもとに１つ以上のバスマスタからのアクセス要求が存在するかを調停タイミング生成部２０２が確認し、アクセス要求が存在する場合にはステップ３０３へ、存在しない場合にはステップ６０２へ進む。
【００４４】
ステップ６０２では、履歴カウンタ２０４〜２０６のカウントアップ処理を行う。カウントアップ処理の詳細は図１９に示されており、調停情報管理部１０７からの最優先順位信号Ｓ２に基づき、履歴カウンタ２０４〜２０６のうち最優先に指定されていたバスマスタの履歴カウンタの値を１だけ増加させる。各履歴カウンタ２０４〜２０６の増加の際には履歴設定情報管理部１１３から通知された各カウンタ上限値を確認し、上限値に達している場合にはカウンタ値を増加させないようにする。
【００４５】
図１８のステップ３０３では、調停タイミング生成部２０２より調停タイミング信号を発行し、アクセス要求調停部１０５に調停の指示をする。これによりバスマスタ１００〜１０２のうちのいずれかが、図２の優先順位情報に従ってアクセス許可を受ける。そして、ステップ６０１へ進む。ステップ６０１では、履歴カウンタ２０４〜２０６の第１カウントダウン処理を行う。第１カウントダウン処理の詳細は図２０に示されており、アクセス許可を受けたバスマスタが最優先バスマスタであったかをまず調停タイミング生成部２０２が確認し、最優先バスマスタであった場合にはそのまま終了し、最優先バスマスタでなかった場合には履歴カウンタ２０４〜２０６のうちアクセス許可を与えたバスマスタに対応する履歴カウンタの値を１だけ減少させる。
【００４６】
図１８のステップ６０３では、履歴設定情報管理部１１３で指定されているカウンタ下限値に達していない履歴カウンタに対応するバスマスタからのアクセス要求が存在するかどうかを調停タイミング生成部２０２が判定し、該当するアクセス要求が存在しない場合には処理を終了し、存在する場合にはステップ３０７へ進む。ステップ３０７では、ステップ３０３と同様に調停タイミング生成部２０２が調停タイミング信号を発行し、アクセス許可を発行するようにアクセス要求調停部１０５に調停を指示し、ステップ６０４へ移る。ステップ６０４では、履歴カウンタ２０４〜２０６の第２カウントダウン処理を行う。第２カウントダウン処理の詳細は図２１に示されており、アクセス要求調停部１０５からの信号をもとにアクセス許可をしたバスマスタに対応する履歴カウンタの値を１だけ減少させて処理を終了する。
【００４７】
本実施形態によれば、履歴設定情報管理部１１３において、バスマスタ毎の履歴カウンタ２０４〜２０６それぞれに固有の上限値及び下限値を設定することで、バスマスタ毎に調停タイミング信号の発生を制限することが可能である。いずれの履歴カウンタの値も負にならないように設定をすると、調停情報管理部１０７のテーブルにおいて各バスマスタＡ，Ｂ，Ｃが最優先に設定されている回数以上にアクセス許可を受けることを防ぐことができ、正確にバンド幅保証をすることが可能となる。加えて、各履歴カウンタ２０４〜２０６の値が負になることを許容し、その下限値を適切に設定することで、バンド幅保証を実現しつつ、アクセスレイテンシを改善することが可能である。複数のバスマスタからなる１つのグループに１つの履歴カウンタを割り当ててもよい。
【００４８】
以上、第１〜第４の実施形態を説明してきた。上記説明ではバスマスタの個数を３としたが、実際にはその個数は任意であり、バスの形態もマルチレイヤバス等様々な形態をとることが可能である。１つのバスに複数のバスマスタが接続された形態では、これらのバスマスタ間の調停にも本発明が適用可能である。
【００４９】
また、バンド幅保証を考慮した調停情報管理部１０７の構成としては、図２のほかにも各バスマスタ１００〜１０２が調停を受けた回数をカウンタを用いて計数する等、様々な構成が可能である。更に、例えば図４における履歴カウンタ増減操作は逆でもよく、またその増分は１以外でもよい。
【産業上の利用可能性】
【００５０】
以上説明してきたとおり、本発明に係るリソース管理装置は、アクセス効率及びアクセスレイテンシの改善効果が得られるので、システムＬＳＩ等に好適に利用できる。
【図面の簡単な説明】
【００５１】
【図１】本発明の第１の実施形態に係るリソース管理装置の構成を示すブロック図である。
【図２】図１中の調停情報管理部が持つ調停情報をテーブル形式の情報とした例を示す図である。
【図３】図１中の調停タイミング制御部の詳細構成を示すブロック図である。
【図４】図１中のバス調停部の動作例を示すフローチャート図である。
【図５】図４のフローに従った場合のアクセス許可タイミングを示すタイミングチャート図である。
【図６】図１中のバス調停部の他の動作例を示すフローチャート図である。
【図７】図６のフローに従った場合のアクセス許可タイミングを示すタイミングチャート図である。
【図８】本発明の第２の実施形態に係るリソース管理装置の構成を示すブロック図である。
【図９】図８中の調停タイミング制御部の詳細構成を示すブロック図である。
【図１０】図８中のバス調停部の動作例を示すフローチャート図である。
【図１１】図１０のフローに従って履歴カウンタの上限値を設定する場合のアクセス許可タイミングを示すタイミングチャート図である。
【図１２】図１０のフローに従って履歴カウンタの下限値を設定する場合のアクセス許可タイミングを示すタイミングチャート図である。
【図１３】図８中のバス調停部の他の動作例を示すフローチャート図である。
【図１４】本発明の第３の実施形態に係るリソース管理装置の構成を示すブロック図である。
【図１５】図１４中の履歴設定情報管理部の動作例を示すフローチャート図である。
【図１６】本発明の第４の実施形態に係るリソース管理装置の構成を示すブロック図である。
【図１７】図１６中の調停タイミング制御部及び調停履歴管理部の詳細構成を示すブロック図である。
【図１８】図１６中のバス調停部の動作例を示すフローチャート図である。
【図１９】図１８中のカウントアップ処理の詳細を示すフローチャート図である。
【図２０】図１８中の第１カウントダウン処理の詳細を示すフローチャート図である。
【図２１】図１８中の第２カウントダウン処理の詳細を示すフローチャート図である。
【符号の説明】
【００５２】
１０  リソース管理装置
１００〜１０２  バスマスタ
１０３  バス調停部
１０４  調停タイミング制御部
１０５  アクセス要求調停部
１０６  調停履歴管理部
１０７  調停情報管理部
１０８  リソース制御部
１０９  共有リソース
１１０〜１１２  バス
１１３  履歴設定情報管理部
２００  基本調停時刻信号生成部
２０１  単位時刻信号生成部
２０２  調停タイミング生成部
２０３〜２０６  履歴カウンタ
Ｓ０  判定制御信号
Ｓ１  リソース状況信号
Ｓ２  最優先順位信号
【図１】
2006195714.tif 000003
【図２】
2006195714.tif 000004
【図３】
2006195714.tif 000005
【図４】
2006195714.tif 000006
【図５】
2006195714.tif 000007
【図６】
2006195714.tif 000008
【図７】
2006195714.tif 000009
【図８】
2006195714.tif 000010
【図９】
2006195714.tif 000011
【図１０】
2006195714.tif 000012
【図１１】
2006195714.tif 000013
【図１２】
2006195714.tif 000014
【図１３】
2006195714.tif 000015
【図１４】
2006195714.tif 000016
【図１５】
2006195714.tif 000017
【図１６】
2006195714.tif 000018
【図１７】
2006195714.tif 000019
【図１８】
2006195714.tif 000020
【図１９】
2006195714.tif 000021
【図２０】
2006195714.tif 000022
【図２１】
2006195714.tif 000023