(57)【要約】【課題】複数のマスタによってバスの使用に競合が生じる場合において、処理時間を短縮するとともに、バスの有効利用を可能とする調停装置および調停方法を提供する。【解決手段】  調停装置において、テーブル２０は、転送要求を発する複数のマスタの順序を格納し、制御回路３０は、テーブル２０を参照して転送要求を発すると予測されるマスタによる転送要求を優先的に処理する。【選択図】図１
2008299624.tif 000002
【特許請求の範囲】
【請求項１】
転送要求を発する複数のマスタの順序を格納したテーブルと、
前記テーブルを参照して転送要求を発すると予測されるマスタによる転送要求を優先的に処理するように構成された制御回路を備えたことを特徴とする調停装置。
【請求項２】
前記制御回路が、前記マスタから重複を許して選択した第１および第２のマスタであって前記テーブルにおいて連続して転送要求を発する頻度が所定の回数以上であるマスタの組合せについて、前記第１のマスタによる転送要求を処理した直後に前記第２のマスタによる転送要求を優先的に処理するように構成されたことを特徴とする、請求項１に記載の調停装置。
【請求項３】
前記テーブルに格納されたマスタの順序に対する更新要求を入力し、前記更新要求に基づいて前記テーブルを更新するように構成されたテーブル更新回路を備えたことを特徴とする、請求項１または２に記載の調停装置。
【請求項４】
前記テーブルが、転送要求が実際に処理されたマスタの順序を格納するように構成されたことを特徴とする、請求項１ないし３のいずれかに記載の調停装置。
【請求項５】
（ａ）転送要求を発する複数のマスタの順序を格納したテーブルを参照して転送要求を発すると予測されるマスタによる転送要求を優先的に処理する工程を含むことを特徴とする調停方法。
【請求項６】
前記処理工程（ａ）において、前記マスタから重複を許して選択した第１および第２のマスタであって前記テーブルにおいて連続して転送要求を発する頻度が所定の回数以上であるマスタの組合せについて、前記第１のマスタによる転送要求を処理した直後に前記第２のマスタによる転送要求を優先的に処理することを特徴とする、請求項５に記載の調停方法。
【請求項７】
（ｂ）前記テーブルに格納されたマスタの順序に対する更新要求を入力し、前記更新要求に基づいて前記テーブルを更新する工程を含むことを特徴とする、請求項５または６に記載の調停方法。
【請求項８】
（ｃ）前記テーブルに転送要求が実際に処理されたマスタの順序を格納する工程を含むことを特徴とする、請求項５ないし７のいずれかに記載の調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は調停装置および調停方法に関し、特にバスシステムの調停装置および調停方法に関する。
【背景技術】
【０００２】
複数のマスタから1つの資源（リソース）に対する要求が競合した場合、これらの要求を調整して、マスタの資源への割当を決定することを調停（アービトレーション、Ａｒｂｉｔｒａｔｉｏｎ）という。
【０００３】
例えば、複数のマスタが存在するバスシステムの場合、ある瞬間にリソース（すなわち、バス）を使用できるのは1つのマスタに限られる。したがって、バスシステムは適当に調停を行なって、各マスタに対してバスの使用権を順次割り当てる必要がある。
【０００４】
従来の調停方法は、マスタに対して優先順位を固定する方法、所定の期間転送を待たされたマスタの優先順位を上げていく方法、優先順位を巡回させる方法、または、これらの方法を組み合わせた方法によって実現されている。
【０００５】
なお、特許文献１において、優先順位を巡回させる方法と優先順位を固定する方法のいずれか一方を選択することができる方法が開示されている。
【０００６】
【特許文献１】特開２００２−３１２３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで、一例として、４つのマスタ（マスタ１〜マスタ４とする。）が１つのバスを共有し、これらのマスタの間でバスの使用権の競合が生じる場合を考える。
【０００８】
また、マスタ１による転送に続いて、マスタ４による転送が行われることによって完結する一連の転送処理を転送処理Ａと呼ぶ。
【０００９】
優先順位を巡回させる従来の調停方法を転送処理Ａに適用した場合のバスの占有状況を、図４を参照して説明する。
【００１０】
マスタの優先順位は「マスタ１→２→３→４→１→…」の順序で巡回させるものとする。このとき、マスタ１およびマスタ４による転送の間に、マスタ２およびマスタ３の転送による割り込みが発生する。したがって、転送処理Ａの実行を完了するまでの時間が増大する。
【００１１】
一方、優先順位を固定する従来の調停方法を転送処理Ａに適用した場合のバスの占有状況を、図５を参照して説明する。
【００１２】
いま、転送処理Ａを考慮し、マスタ１およびマスタ４の優先順位を高く設定するものとする。このとき、フェーズ２においては転送処理Ａが完了しているにも関わらず、マスタ４の転送の優先順位が高く設定されているため、マスタ２および３は転送ができなくなる。
【００１３】
転送許可を順に与える従来方法は、マスタに対して転送を順に許可するため、転送処理に関係のないマスタの転送の割り込みを防ぐことができない。したがって、処理時間を短縮し、処理時間を保証することが難しいという問題がある。
【００１４】
優先順位を固定する従来方法は、特定の転送処理に関係するマスタの優先順位のみが高く設定されることにより、かかる転送処理と関係ないマスタの転送が一切できなくなる。すなわち、特定のマスタによってバスが占有され、バスを有効に活用することができないという問題がある。
【００１５】
また、特許文献１に開示された方式は、これらの従来方法のいずれかを選択可能とする方法であるため、これらの問題を同時に解決することはできない。
【００１６】
したがって、複数のマスタによってバスの使用に競合が生じる場合において、処理時間を短縮するとともに、バスの有効利用を可能とする調停装置および調停方法を提供することが課題となる。
【課題を解決するための手段】
【００１７】
本発明の第１の視点に係る調停装置は、転送要求を発する複数のマスタの順序を格納したテーブルと、前記テーブルを参照して転送要求を発すると予測されるマスタによる転送要求を優先的に処理するように構成された制御回路を備えたことを特徴とする。
【００１８】
本発明の第２の視点に係る調停方法は、（ａ）転送要求を発する複数のマスタの順序を格納したテーブルを参照して転送要求を発すると予測されるマスタによる転送要求を優先的に処理する工程を含むことを特徴とする。
【００１９】
第１の展開形態の調停装置は、前記制御回路が、前記マスタから重複を許して選択した第１および第２のマスタであって前記テーブルにおいて連続して転送要求を発する頻度が所定の回数以上であるマスタの組合せについて、前記第１のマスタによる転送要求を処理した直後に前記第２のマスタによる転送要求を優先的に処理するように構成されたことを特徴とする。
【００２０】
第２の展開形態の調停装置は、前記テーブルに格納されたマスタの順序に対する更新要求を入力し、前記更新要求に基づいて前記テーブルを更新するように構成されたテーブル更新回路を備えたことを特徴とする。
【００２１】
第３の展開形態の調停装置は、前記テーブルが、転送要求が実際に処理されたマスタの順序を格納するように構成されたことを特徴とする。
【００２２】
第４の展開形態の調停方法は、前記処理工程（ａ）において、前記マスタから重複を許して選択した第１および第２のマスタであって前記テーブルにおいて連続して転送要求を発する頻度が所定の回数以上であるマスタの組合せについて、前記第１のマスタによる転送要求を処理した直後に前記第２のマスタによる転送要求を優先的に処理することを特徴とする。
【００２３】
第５の展開形態の調停方法は、（ｂ）前記テーブルに格納されたマスタの順序に対する更新要求を入力し、前記更新要求に基づいて前記テーブルを更新する工程を含むことを特徴とする。
【００２４】
第６の展開形態の調停方法は、（ｃ）前記テーブルに転送要求が実際に処理されたマスタの順序を格納する工程を含むことを特徴とする。
【発明の効果】
【００２５】
本発明に係る調停装置または方法によって、テーブルに格納された転送処理に応じて、バスの要求を発するマスタを予測し、かかるマスタに優先的にバスを割り当てるように調停することで、処理時間の短縮を図ることができる。
【００２６】
また、優先的なバスの割り当てを一時的にすることで、特定のマスタのみによって、バスが占有されることを防ぎ、バスの効率的な利用を可能とする。
【発明を実施するための最良の形態】
【００２７】
本発明の実施形態に係る調停装置は、複数のマスタが同一バスを使用する場合の調停装置であって、マスタの転送要求の順序を記録したテーブルに基づいて、現在、リソースを使用しているマスタの次にリソースの使用を要求するマスタに対する優先順位を一時的に引き上げる。このように、特定の転送処理に関与する一群のマスタに対して、他のマスタよりも優先的にリソースを使用させることによって処理時間の短縮を図る。
【００２８】
図１は、本発明の実施形態に係る調停装置の構成図である。
【００２９】
調停装置は、図１を参照すると、テーブル更新回路１０、テーブル２０、制御回路３０および転送許可生成回路４０を備える。
【００３０】
テーブル更新回路１０は、テーブル変更要求に基づいて、テーブル２０を更新する。
【００３１】
テーブル２０は、所定の転送処理において、転送要求を発するマスタの順序を格納している。
【００３２】
制御回路３０は、マスタ１〜ｎの優先順位を保持しており、テーブル２０、マスタ１〜ｎからの転送要求、転送許可生成回路４０から取得した現在のバスの使用状況を参照して、マスタ１〜ｎの優先順位を決定する。
【００３３】
転送許可生成回路４０は、制御回路３０によって決定された優先順位に基づいて、マスタ１〜ｎに転送許可を行う。
【００３４】
このように、本実施形態に係る調停装置においては、テーブル２０の情報に基づいて所定の転送処理に関与するマスタを認識して、かかるマスタに対する転送許可の優先度を引き上げることによって、処理時間の短縮を図る。
【００３５】
また、処理中に他のマスタによる転送の割り込みを防ぎ、処理時間を一定に保つことにより、処理時間を保証することができる。
【００３６】
次に、図１の調停装置の動作を、図２および図３を参照して、説明する。
【００３７】
ここでは、一例として、４つの転送処理Ａ〜Ｄをテーブル２０に格納した場合について説明する。
【００３８】
転送処理Ａは「マスタ１→４」、転送処理Ｂは「マスタ２→３→１」、転送処理Ｃは「マスタ３→１→４→２→２」、転送処理Ｄは「マスタ４→２→３→４」の順で、転送要求（バスの使用要求）を発するものとする。
【００３９】
このとき、テーブル２０には、図２（Ａ）に示すように、転送処理Ａ〜Ｄを単位として、転送要求の順序のデータが格納される。
【００４０】
いま、マスタ１〜４から重複を許して２つのマスタからなる組を選び出す方法は、１６通り考えられる。
【００４１】
図２（Ａ）を参照し、転送処理Ａ〜Ｄにおいて、これらの各組について連続して転送要求が発せられた回数を数え上げると、図２（Ｂ）のようになる。
【００４２】
例えば、マスタ１の直後にマスタ４による転送要求が発せられた回数は２回である（図２（Ｂ）の右上のマス参照）。図２（Ａ）を参照すると、転送処理Ａおよび転送処理Ｃにおいて、それぞれ1回ずつ「マスタ１→４」の順で転送要求が生じていることが分かる。
【００４３】
制御回路３０は、マスタ１の転送要求を入力した場合、テーブル２０を参照し、テーブル２０に格納された転送処理Ａ〜Ｄにおいて、マスタ１の転送後にはマスタ４の転送要求が発生するものと予測する。
【００４４】
制御回路３０は、転送許可生成回路４０からマスタ１の転送許可報告を入力した場合、マスタ４の優先度を一時的に引き上げる。
【００４５】
さらに、制御回路３０は、転送許可生成回路４０からマスタ４の転送許可報告を入力すると、マスタ４の優先度を元に戻す。
【００４６】
転送許可生成回路４０は、制御回路３０による優先度に基づいて調停を行う。
【００４７】
以上の動作の様子を、図３に示す。すなわち、マスタ１の次に、マスタ４の転送が行われ、マスタの優先順位を巡回させる従来の調停方法（図４）と比較し、転送処理Ａの処理時間を短縮することができる。
【００４８】
すなわち、マスタ１の転送とマスタ４の転送の間に他のマスタ２、３による転送の割り込みを防ぐことができる。
【００４９】
また、他のマスタによる転送の割り込みがないため、転送処理Ａの実行時間を保証することもできる。
【００５０】
他の実施形態として、上記のテーブル２０に、次のような改良を加えることができる。
【００５１】
図１および図２に示した例では、転送処理Ａ〜Ｄにおけるバスの使用要求の順序を転送処理Ａ〜Ｄが実行される前に、テーブル２０に登録する必要がある。
【００５２】
一方、マスタ１〜４が、実際にバスを利用して転送を行った順序の履歴をテーブル２０に記録しておいて、この履歴に基づいて、バスの使用要求を発するマスタの予測を行うようにしてもよい。
【００５３】
このとき、転送処理の開始前において、テーブル２０を更新する手間を省略することができる。
【００５４】
また、テーブルに格納される情報として、マスタによるバス使用順序のみならず、読み出しまたは書き込み（リード／ライト）等、データの転送方向についてもテーブルに記録、保持することで、さらに、効率よく転送を制御するようにしてもよい。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施形態に係る調停装置の構成図である。
【図２】本発明の実施形態に係る調停装置におけるテーブルの一例を示す図である。
【図３】本発明の実施形態に係る調停装置の動作を説明するための図である。
【図４】マスタの優先順位を巡回させる従来の調停方法を説明するための図である。
【図５】マスタの優先順位を固定する従来の調停方法を説明するための図である。
【符号の説明】
【００５６】
１０  テーブル更新回路
２０  テーブル
３０  制御回路
４０  転送許可生成回路
【図１】
2008299624.tif 000003
【図２】
2008299624.tif 000004
【図３】
2008299624.tif 000005
【図４】
2008299624.tif 000006
【図５】
2008299624.tif 000007