(57)【要約】【課題】  優先順位を設定するときの自由度を高くして、要求元ごとに所望の優先順位を得ることで、帯域の調整の自由度を高めることを可能とする調停回路を得る。【解決手段】  調停回路の順位レジスタ部では、順位レジスタ２０Ａ〜２０Ｄで巡回順位グループが形成され、順位レジスタ２０Ｅ〜２０Ｈで固定順位グループが形成されており、巡回順位グループの優先順位を固定順位グループの優先順位より高くしている。また、巡回順位グループでは、順位レジスタ２０Ａ〜２０Ｄに複数の優先順位が設定可能となっており、これにより、ラウンドロビン方式で優先順位をローテーションするときに、順位レジスタ２０Ａ〜２０Ｄの間で帯域を調整することができるようにしている。【選択図】        図３
2007052545.tif 000002
【特許請求の範囲】
【請求項１】
アクセス対象にアクセスする複数の要求元のそれぞれに対して設けられ、要求元に対する優先順位を保持する順位レジスタと、
前記要求元から前記アクセス対象へのアクセス要求が入力されることにより、前記順位レジスタから取得した前記優先順位を付加する順位出力手段と、
前記順位出力手段によって付加された前記優先順位から最も高い優先順位を確定する順位確定手段と、
前記順位確定手段によって確定された優先順位の前記要求元に対してアクセス許可を発する許可発行手段と、
を含む調停回路であって、
前記順位レジスタを、アクセス許可が発せられたときに前記優先順位が更新される巡回順位グループを含む複数のグループに分割されると共に、前記複数のグループ間で優先順位が設定された順位レジスタ部と、
前記巡回順位グループ内の前記順位レジスタに対応する前記要求元に前記アクセス許可が発行されたときに、該当巡回順位グループ内の該当順位レジスタの優先順位をグループ内の最下位とすると共に、該当順位より下位の順位レジスタが保持する優先順位を繰り上げることにより順位レジスタが保持する優先順位の更新を行う変更制御手段と、
を含むことを特徴とする調停回路。
【請求項２】
前記順位レジスタのグループに、グループ内の順位レジスタの間で順位が固定された固定順位グループを含むことを特徴とする請求項１に記載の調停回路。
【請求項３】
前記巡回順位グループ内の前記順位レジスタのそれぞれが、優先順位数に応じたビット数のデータを保持可能なレジスタを含み、所定のデータを保持するレジスタの位置によって優先順位が設定されるときに、
前記変更手段が、前記順位レジスタのそれぞれに対し、前記アクセス許可が発行された前記要求元の前記優先順位に該当する位置の前記レジスタ内のデータを優先順位が最下位のレジスタへ繰り下げることにより、順位レジスタが保持する優先順位の更新を行うことを特徴とする請求項１又は請求項２に記載の調停回路。
【請求項４】
アクセス対象にアクセスする複数の要求元のそれぞれに対して設けられ、要求元に対する優先順位を保持する順位レジスタと、
前記要求元から前記アクセス対象へのアクセス要求が入力されることにより、前記順位レジスタから取得した前記優先順位を付加する順位出力手段と、
前記順位出力手段によって付加された前記優先順位から最も高い優先順位を確定する順位確定手段と、
前記順位確定手段によって確定された優先順位の前記要求元に対してアクセス許可を発する許可発行手段と、
を含む調停回路であって、
前記順位レジスタのそれぞれが、優先順位数に応じたビット数のデータを保持可能で、かつ前記要求元の数を越える数のレジスタを含み、所定のデータを保持するレジスタの位置によって優先順位が設定されるときに、
前記順位レジスタのそれぞれに対し、前記アクセス許可が発行された前記要求元の前記優先順位に該当する位置の前記レジスタ内のデータを優先順位が最下位のレジスタへ繰り下げると共に、該当順位より下位の順位レジスタが保持する優先順位を繰り上げることにより、順位レジスタが保持する優先順位の更新を行う変更制御手段と、
を含むことを特徴とする調停回路。
【請求項５】
前記変更制御手段が、前記アクセス許可された前記要求元の前記優先順位に基づいて前記各順位レジスタでデータを更新する前記レジスタの範囲を設定して、設定した範囲内でデータのローテーションを行うことを特徴とする請求項３又は請求項４に記載の調停回路。
【請求項６】
前記変更制御手段によって前記優先順位の更新が可能な前記順位レジスタを、優先順位のそれぞれに対応する前記レジスタと、該レジスタごとに設けられた複数のセレクタによってシフトレジスタが形成されていることを特徴とする請求項３から請求項５の何れか１項に記載の調停回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラウンドロビン方式を適用して、メモリなどへの複数のアクセス要求を調停する調停回路に関する。
【背景技術】
【０００２】
複数のモジュールなどからメモリなどへのアクセス要求を調停する調停回路には、優先順位が固定された方式に加えて、優先順位を切り替えるラウンドロビン方式がある。優先順位が固定された調停回路は、アクセス権が優先順位の高いモジュールに偏るという問題があり、これに対して、ラウンドロビン方式を適用した調停回路では、要求元となる各モジュールから順にアクセス要求があれば各モジュールに均等にアクセス権を付与することが可能となる。
【０００３】
一方、ラウンドロビン方式を適用した調停回路では、要求元の数で帯域を分け合うため、保証される最低帯域は、要求数の均等割りとなり、帯域の調整が困難となる。
【０００４】
ここから、要求元である複数のバスマスタに対して重み付けを設定し、重み付けに応じて分割したバス要求を、ラウンドロビンバス調停回路へ入力することにより、特定のバスマスタによってバスが独占されるのを防止しながら、重要度に配慮したバス調停を行うようにしたバス調停装置が提案されている（例えば、特許文献１参照。）。
【０００５】
また、予め決められた優先順位にしたがって全て要求元にバス使用許可を与えるまでは、新たなバス使用要求の受け付けを抑制することにより、優先順位の一番高いバスアクセス回路（要求元）がバス使用要求を連続して発したときに、そのバスアクセス回路に連続してバス使用許可を与えることになってしまうのを防止する提案もなされている（例えば、特許文献２参照。）。
【０００６】
ところで、ラウンドロビン方式では、調停を要求するモジュールごとに優先度レジスタを設け、バス権を有するモジュールのバス使用を終了するたびに、そのモジュールの優先度を最下位に下げると共に、優先度の低いモジュールの優先度レジスタの内容を１レベルずつ繰り上げるようにしている。
【０００７】
このとき、優先度レジスタの更新は、デコーダ、カウンタないし、インクリメンタなどを用いているため、更新動作の高速化が困難となっている。
【０００８】
ここから、帯域の調整を行うときの優先度の順位情報をエントロピー符号化とすることで、優先順位の高いものがラウンドロビンの中に複数回入るようにし、優先順位の高いモジュールからの要求に対して、より多くのアクセス権アクセス獲得を可能とする提案がなされている（例えば、特許文献３参照。）。
【０００９】
優先順位をビット位置に応じて決定することで、順位確定のための回路の簡素化及び高速化を図るようにした提案がなされている（例えば、特許文献４参照。）。
【００１０】
しかしながら、特許文献３の提案では、順位情報からエントロピー符号化することで帯域の調整を行っているために、調整後の帯域は固定されてしまい、特定の要求元に対してのみの帯域調整などに対応することが困難となり、エントロピー符号化が回路の高速化を妨げることになってしまう。
【００１１】
また、特許文献４の提案では、ビット位置で順位を決定することで付属する回路の高速化は見込めるが、固定順位で調整を行うために、帯域調整ができないという問題がある。
【特許文献１】特開平８−９５９０６号公報
【特許文献２】特開平１１−３１１２３号公報
【特許文献３】特開２００３−２６３４０１号公報
【特許文献４】特開２００２−１３２５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は上記事実に鑑みてなされたものであり、高速化を図りながら、要求元ごとに所望の優先順位を確保し、帯域の調整の自由度を高めることが可能な調停回路を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明は、アクセス対象にアクセスする複数の要求元のそれぞれに対して設けられ、要求元に対する優先順位を保持する順位レジスタと、前記要求元から前記アクセス対象へのアクセス要求が入力されることにより、前記順位レジスタから取得した前記優先順位を付加する順位出力手段と、前記順位出力手段によって付加された前記優先順位から最も高い優先順位を確定する順位確定手段と、前記順位確定手段によって確定された優先順位の前記要求元に対してアクセス許可を発する許可発行手段と、を含む調停回路であって、前記順位レジスタを、アクセス許可が発せられたときに前記優先順位が更新される巡回順位グループを含む複数のグループに分割されると共に、前記複数のグループ間で優先順位が設定された順位レジスタ部と、前記巡回順位グループ内の前記順位レジスタに対応する前記要求元に前記アクセス許可が発行されたときに、該当巡回順位グループ内の該当順位レジスタの優先順位をグループ内の最下位とすると共に、該当順位より下位の順位レジスタが保持する優先順位を繰り上げることにより順位レジスタが保持する優先順位の更新を行う変更制御手段と、を含むことを特徴とする。
【００１４】
この発明によれば、要求元のそれぞれに対応する優先順位を保持する順位レジスタが、ラウンドロビン方式で優先順位を更新する巡回順位グループを含む複数のグループに分割されている。また、複数のグループの間で優先順位が設定されている。
【００１５】
これにより、順位レジスタが保持する優先順位は、巡回順位グループ内でのみ更新されるので、優先順位の更新範囲を複数の順位レジスタの間で設定することが可能となる。
【００１６】
この調停回路においては、前記順位レジスタのグループに、グループ内の順位レジスタの間で順位が固定された固定順位グループを含むことができ、これにより、順位レジスタごとの優先順位の設定や更新範囲の設定の自由度を高くすることができる。
【００１７】
このような調停回路においては、前記巡回順位グループ内の前記順位レジスタのそれぞれが、優先順位数に応じたビット数のデータを保持可能なレジスタを含み、所定のデータを保持するレジスタの位置によって優先順位が設定されるときに、前記変更手段が、前記順位レジスタのそれぞれに対し、前記アクセス許可が発行された前記要求元の前記優先順位に該当する位置の前記レジスタ内のデータを優先順位が最下位のレジスタへ繰り下げることにより、順位レジスタが保持する優先順位の更新を行うことができる。
【００１８】
また、本発明の調停回路は、アクセス対象にアクセスする複数の要求元のそれぞれに対して設けられ、要求元に対する優先順位を保持する順位レジスタと、前記要求元から前記アクセス対象へのアクセス要求が入力されることにより、前記順位レジスタから取得した前記優先順位を付加する順位出力手段と、前記順位出力手段によって付加された前記優先順位から最も高い優先順位を確定する順位確定手段と、前記順位確定手段によって確定された優先順位の前記要求元に対してアクセス許可を発する許可発行手段と、を含む調停回路であって、前記順位レジスタのそれぞれが、優先順位数に応じたビット数のデータを保持可能で、かつ前記要求元の数を越える数のレジスタを含み、所定のデータを保持するレジスタの位置によって優先順位が設定されるときに、前記順位レジスタのそれぞれに対し、前記アクセス許可が発行された前記要求元の前記優先順位に該当する位置の前記レジスタ内のデータを優先順位が最下位のレジスタへ繰り下げると共に、該当順位より下位の順位レジスタが保持する優先順位を繰り上げることにより、順位レジスタが保持する優先順位の更新を行う変更制御手段と、を含むことを特徴とする。
【００１９】
この発明によれば、順位レジスタのそれぞれが、ビットデータを保持可能な複数のレジスタの配列によって形成され、所定のデータを保持するレジスタの位置によって優先順位が定まるようにしている。
【００２０】
このときの優先順位の更新は、アクセス許可された要求元に対する優先順位に対応するレジスタのデータを、各順位レジスタのそれぞれで最下位のデータを保持するレジスタに下げると共に、下位のレジスタのデータを繰り上げる。
【００２１】
また、要求元の数を越えるレジスタを、各順位レジスタに設けることにより、少なくとも一つの順位レジスタに対して、複数の優先順位を設定することが可能となる。
【００２２】
これにより、順位レジスタの間で帯域を異ならせることができるので、優先順を調整するときの自由度を高くすることができる。
【００２３】
このような本発明においては、前記変更制御手段が、前記アクセス許可された前記要求元の前記優先順位に基づいて前記各順位レジスタでデータを更新する前記レジスタの範囲を設定して、設定した範囲内でデータのローテーションを行うことができ好ましい。
【００２４】
また、本発明では、前記変更制御手段によって前記優先順位の更新が可能な前記順位レジスタを、優先順位のそれぞれに対応する前記レジスタと、該レジスタごとに設けられた複数のセレクタによってシフトレジスタを形成することができ、これにより、順位更新をするための回路の簡略化と共に高速化を可能とすることができる。
【００２５】
このような本発明においては、各順位レジスタに保持する優先順位を示すデータを、初期値として変更可能であることが好ましく、これにより、優先順位の調整の自由度をより高くすることができる。
【発明の効果】
【００２６】
以上説明したように本発明によれば、要求元のそれぞれに対応する順位レジスタが保持する優先順位を調整するときの自由度を高めることができ、所望の優先順位でのアクセス許可が可能となり、帯域の調整の自由度が高まるという優れた効果が得られる。
【００２７】
また、ラウンドロビン方式で優先順位を更新するときの回路の簡略化と共に、高速化が可能となる。
【発明を実施するための最良の形態】
【００２８】
以下に、図面を参照しながら本発明の実施の形態を説明する。図１には、本実施の形態に適用した調停回路１０の概略構成を示している。この調停回路１０は、例えば、ＤＭＡ（Direct  Memory  Access）などに対して、複数のモジュールからメモリ（何れも本実施の形態では図示を省略）へのアクセス要求がなされるときに、アクセス要求を調停して、メモリにアクセス権を付与するモジュールを設定する。なお、本発明の調停回路１０は、これに限らず、複数の要求元からの要求を調停する任意の構成のアービタに適用することができる。
【００２９】
調停回路１０は、順位出力部１２、順位確定部１４、許可発行部１６及び順位レジスタ部１８を含んで構成されている。順位出力部１２には、要求元となる図示しないモジュールのそれぞれからアクセス要求信号（REQ）が入力されるようになっている。なお、ここでは、一例として８台のモジュールから、アクセス要求信号REQ−Ａ〜REQ−Ｈが入力されるものとしている。
【００３０】
順位レジスタ部１８には、各モジュールごとに設定されている優先順位を保持する複数の順位レジスタ２０が設けられており、順位レジスタ２０のそれぞれが保持している順位が、モジュールごとの優先順位となっている。順位レジスタ部１８は、順位レジスタ２０に保持している順位情報を順位出力部１２及び許可発行部１６のそれぞれに出力されるようになっている。
【００３１】
順位出力部１２は、アクセス要求信号REQが入力されると、入力されたアクセス要求信号REQの要求元に設定されている優先順位に基づいて、アクセス順位信号REQ-ORDER（REQ-ORDER−Ａ〜REQ-ORDER−H）を出力する。
【００３２】
順位確定部１４は、アクセス順位信号REQ-ORDERに基づいて要求元の中で、最も優先順位の高い要求元に対する最優先信号TOP-PRIを出力する。
【００３３】
許可発行部１６は、最優先信号TOP-PRIに基づいて、該当する要求元にアクセスを許可するアクセス許可信号ACK（ACK−Ａ〜ACK−Ｈ）を出力する。
【００３４】
これにより、複数の要求元の中から、アクセス許可信号ACKによって許可された要求元となるモジュールが、メモリなどへのアクセス対象へアクセスが可能となる。
【００３５】
順位レジスタ部１８には、変更制御部２２が設けられている。順位レジスタ部１８では、順位レジスタ２０に保持する優先順位を、ラウンドロビン方式で入れ替える機能を備えている。
【００３６】
許可発行部１６では、許可信号ACKを出力すると、順位レジスタ部１８の変更制御部２２へ順位入れ替え信号として、許可信号ACKを発した要求元に対する順位レジスタ２０が保持する順位を下げるダウン要求信号DOWN−ORDERを出力するようになっている。
【００３７】
順位レジスタ部１８の変更制御部２２は、ダウン要求信号DOWN−ORDERが入力されることにより、ラウンドロビン方式で、順位レジスタ２０に保持している順位の入れ替えを行うようにしている。
【００３８】
ところで、本実施の形態に適用した調停回路１０では、ラウンドロビン方式で優先順位の入れ替えを行うモジュールに対応する順位レジスタ２０のグループ（巡回順位グループ２４）と、優先順位が固定されているモジュールに対応する順位レジスタ２０のグループ（固定順位グループ２６）に分けられており、また、巡回順位グループ２４と固定順位グループ２６の間でも優先順位が設定されている。
【００３９】
図２には、この順位レジスタ部１８の概略を示しており、図３には、順位レジスタ２０の間での優先順位の一例を示している。なお、本実施の形態では、８つのモジュールのそれぞれに対応して順位レジスタ２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ、２０Ｅ、２０Ｆ、２０Ｇ、２０Ｈを設けており、図３では、順位レジスタ２０Ａ〜２０Ｈを、レジスタＡ〜Ｈとして示している。
【００４０】
また、図３に示されるように、本実施の形態では、順位レジスタ２０Ａ〜２０Ｄ（レジスタＡ〜Ｄ）で巡回順位グループ２４を形成し、順位レジスタ２０Ｅ〜２０Ｈ（レジスタＥ〜Ｈ）で固定順位グループを形成しており、巡回順位グループ２４の優先順位が固定順位グループ２６の優先順位より高くしている。
【００４１】
さらに、巡回順位グループ２４内では、いずれかの順位レジスタ２０に複数の順位を設定できるようにしており、ここでは、一例として、順位レジスタ２０Ｂ（レジスタＢ）に２つの順位が設定されるようにしている。優先順位は、０位が最も高く、数字が大きくなるにしたがって低くなるようにしており、ここでは、０位をレベル０とし、以下優先順位の高い方から順に、レベル１、レベル２、・・としている。
【００４２】
ここから、順位レジスタ２０Ａ〜２０Ｄは、優先順位が最も高い０位（レベル０）から４位（レベル４）までの順位が設定され、順位レジスタ２０Ｅ〜２０Ｈは、優先順位が５位（レベル５）から８位（レベル８）の間となっている。なお、固定順位グループ２６内では、順位レジスタ２０Ｅから２０Ｈの間の順位が予め設定され、順位レジスタ２０Ｅ〜２０Ｈには、設定された順位情報が保持されている。
【００４３】
ここで、まず、巡回順位グループ２４に適用するラウンドロビン方式の基本構成を説明する。
【００４４】
図４には、順位レジスタ部１８の基本構成（以下、順位レジスタ部３０とする）を示している。この順位レジスタ部３０には、要求元（モジュール）のそれぞれに対応する順位レジスタ３２が形成されている。なお、順位レジスタ３２は、基本的構成が順位レジスタ２０と同じになっている。また、図４では、一例として４台（４箇所）の要求元のそれぞれに対応する順位レジスタ３２Ａ、３２Ｂ、３２Ｃ、３２Ｄが形成されている。
【００４５】
順位レジスタ３２Ａ〜３２Ｄのそれぞれには、優先順位の数に応じたレベルユニット３４が形成されている。なお、ここでは、一例として優先順位を、レベル０、レベル１、レベル２、レベル３の４レベルとして、レベル０の優先順位が最も高く、レベル３の優先順位が最も低いものとしており、順位レジスタ３２には、優先順位の数に応じたレベルユニット３４（レベルユニット３４Ａ、３４Ｂ、３４Ｃ、３４Ｄ）が設けられている。
【００４６】
レベルユニット３４には、１ビットのデータが保持されるようになっており、順位レジスタ３２では、何れかのレベルユニット３４Ａ〜３４Ｄの何れに「１」のデータが保持されているかによって優先順位が示される。
【００４７】
すなわち、レベルユニット３４Ａ〜３４Ｄは、優先順位に基づいて並べられており、レベルユニット３４Ａに「１」が保持されている順位レジスタ３２の優先順位が最も高く、レベルユニット３４Ｄに「１」が保持されている順位レジスタ３２の優先順位が最も低くなっている。言い換えれば、各順位レジスタ３２は、レベルユニット３４Ｄにデータが保持されているときに優先順位が最も低く、レベルユニット３４Ａにデータが保持されているときに、優先順位が最も高いと判断される。
【００４８】
順位レジスタ３２では、レベルユニット３４Ａ〜３４Ｄの間でシフトレジスタが形成されており、変更制御部２２Ａから入力される制御信号に基づいて、レベルユニット３４Ａ〜３４Ｄの間で、データの繰り上げ及び繰り下げが行われるようになっている。
【００４９】
このとき、順位レジスタ３２では、データの繰り下げを行うときには、レベルユニット３４Ａ〜３４Ｃのデータのいずれかがレベルユニット３４Ｄに落とされ、移動元のレベルユニット３４に、下位のレベルユニット３４のデータが繰り上げられる。
【００５０】
図５には、このような構成の順位レジスタ３２が設けられた順位レジスタ部３０の具体的構成を示している。各順位レジスタ３２のレベルユニット３４（レベルユニット３４Ａ〜３４Ｄ）は、レジスタユニット３６と、セレクタ３８、４０を含んで形成されている。
【００５１】
図６に示されるように、レジスタユニット３６は、レジスタ４２とセレクタ４４によって形成されており、レジスタ４２には、１ビット（「０」又は「１」）のデータが保持される。また、レジスタユニット３６では、変更制御部２２Ａ（図５参照）からセレクタ４４に更新信号updateが入力されることにより、レジスタ４２に保持しているデータを出力すると共に、セレクタ４４を介してレジスタ４２に入力されるデータを、レジスタ４２に保持可能となっている。
【００５２】
図５に示されるセレクタ３８は、ラウンドロビンの下位側の範囲位置の選択用となっており、下位のレベルユニット３４を更新するか、その範囲でデータを最下位に下ろすべきレベルユニット３４を選択しかつ更新するか、の選択用となっている。
【００５３】
また、セレクタ４０は、自身が含まれるレベルユニット３４及びそれより上位から最下位にデータを下ろすレベルユニット３４の選択用となっている。
【００５４】
図５に示されるように、セレクタ３８には、変更制御部２２Ａからラウンドロビンの後端を示す後端信号end-stopが入力されるようになっている。また、変更制御部２２Ａでは、下位に下げるレベルユニット３４のセレクタ４０に、ダウン要求信号down-orderを出力するようになっている。
【００５５】
変更制御部２２Ａでは、ダウン要求信号down-order、更新信号update及び後端信号end-stopのテーブル（ＬＵＴ：Look−up  table）が設定されて記憶されており、このＬＵＴに基づいてダウン要求信号down-order、更新信号update及び、後端信号end-stopを出力する。
【００５６】
図７には、一例として、レベル０（レベルユニット３４Ａ）のデータを、レベル３（レベルユニット３４Ｄ）に繰り下げ、レベル１（レベルユニット３４Ｂ）、レベル２（レベルユニット３４Ｃ）、レベル３のデータをそれぞれ１ステップずつ繰り上げるときのＬＵＴを示している。なお、ＬＵＴの１段目がレベル０を繰り下げる場合、２段目がレベル１を繰り下げる場合、３段目がレベル２を繰り下げる場合であり、４段目がレベル３を繰り下げる場合（この場合には、実質レベルに変化が生じない）となっている。
【００５７】
このとき、ラウンドロビンの範囲が、レベル０〜レベル３となるので、更新信号updateは、レベル０〜レベル３のレジスタ４２（レジスタユニット３６）のデータを更新し、レベル１〜レベル３のデータを順に繰り上げるように出力されるように設定されている。また、ラウンドロビンの後端がレベル３となるので、レベルユニット３４Ｄのレジスタ３８に後端信号end-stopが出力されるように設定されている。
【００５８】
変更制御部２２Ａは、ダウン要求信号down-orderとして、レベル０のデータを最下位に落とす信号（down-order（０：３））が入力されると、図７に示すＬＵＴに沿って更新信号update、ダウン要求信号down-order 、及び後端信号end-stopを、順位レジスタ３２Ａ〜３２Ｄのレベルユニット３４Ａ〜３４Ｄへ出力するようにしている。
【００５９】
このように構成されている順位レジスタ部３０では、例えば、図８（Ａ）に示されるように、順位レジスタ３２Ａ（レジスタＡ）のレベル３（レベルユニット３４Ｄ）、順位レジスタ３２Ｂ（レジスタＢ）のレベル１（レベルユニット３４Ｂ）、順位レジスタ３２Ｃ（レジスタＣ）のレベル０（レベルユニット３４Ａ）及び、順位レジスタ３２Ｄ（レジスタＤ）のレベル２（レベルユニット３４Ｃ）のそれぞれに「１」が保持されていると、優先順位は、レジスタ３４Ｃ、レジスタ３４Ｂ、レジスタ３４Ｄ、レジスタ３４Ａとなる。
【００６０】
ここで、レジスタ３４Ｂに対応するモジュールに許可信号ACK（許可信号ACK−Ｂが出力され、レジスタ３４Ｂの順位をラウンドロビン方式で下げるダウン要求信号down-order（１：３）が入力されると、図８（Ｂ）に示されるように、各レジスタ３４のレベルユニット３４Ｂに保持されているデータ（１ｃｈのデータ）が、レベルユニット３４Ｄに下げられて、レベルユニット３４Ｄのデータ（レベル３のデータ）として保持される。
【００６１】
これと共に、レベルユニット３４Ｃ、３４Ｄのデータ（レベル２のデータとレベル３のデータ）が、順に繰り上げられ、レベルユニット３４Ｂ、３４Ｃのデータ（レベル１のデータとレベル２のデータ）として保持される。
【００６２】
この結果として、図８（Ｃ）に示されるように、レジスタ３４Ｂの優先順位が最下位に下げられると共に、レジスタ３４Ａ、３４Ｄの優先順位が繰り上げられ、順位レジスタ３２Ａ〜順位レジスタ３２Dの優先順位が、レジスタ３４Ｃ、レジスタ３４Ｄ、レジスタ３４Ａ、レジスタ３４Ｂに更新される。
【００６３】
このように、４つの順位レジスタ３２Ａ〜３２Ｄに対して、優先順位を４レベルに設定することにより、各レジスタの帯域は、１／４となり、順位レジスタ３２Ａ〜３２Ｄの間では、帯域のバランスが均等となる。
【００６４】
一方、図２に示されるように、本実施の形態に適用した順位レジスタ部１８では、巡回順位グループ２４内の順位レジスタ２０（順位レジスタ２０Ａ〜２０Ｄ）のいずれかに対して、２つの順位を設定可能となっている。
【００６５】
このときには、４つの順位レジスタ２０Ａ〜２０Ｄに対して、５つの順位を設定することから、各順位レジスタ２０Ａ〜２０Ｂに、レベルユニット３４Ａ〜３４Ｄと同じ構成のレベルユニット３４Ｅを付加して、５つのレベルユニット３４Ａ〜３４Ｅを設けている。
【００６６】
これにより、図３に示されるように、巡回順位グループ２４では、順位レジスタ２０Ａ〜２０Ｄのいずれかに、複数の順位を設定することができるようになっている。
【００６７】
なお、図３では、一例として、順位レジスタ２０Ｂに複数の順位を設定しており、これにより、順位レジスタ２０Ａ〜２０Ｄの間では、優先順位が順位レジスタ２０Ａ、順位レジスタ２０Ｂ、順位レジスタ２０Ｂ、順位レジスタ２０Ｃ、順位レジスタ２０Ｄとなっており、順位レジスタ２０Ａ、２０Ｃ、２０Ｄの帯域が１／５であるのに対して、順位レジスタ２０Ｂの帯域が２／５となっている。
【００６８】
図２に示されるように、変更制御部２２では、レベルユニット３４Ｄの各セレクタ３８、４０、４４（図６参照、レジスタユニット３６内）にも、ダウン要求信号down-order、更新信号update及び、後端信号end-stopを、許可発行部１６から入力される信号（ダウン要求信号DOWN-ORDER）に基づいて出力するようになっている。
【００６９】
これにより、順位レジスタ部１８では、巡回順位グループ２４内の４つの順位レジスタ２０Ａ〜２０Ｄを、５レベルの優先順位でラウンドロビンを行うことができるようになっている。
【００７０】
一方、順位レジスタ部１８には、固定順位グループの順位レジスタ２０（順位レジスタ２０Ｅ〜２０Ｈ）のそれぞれに、固定順位グループに割り当てられている優先順位のレベル数に合わせた数のレジスタ４６が設けられている。
【００７１】
なお、本実施の形態では、固定順位グループ２６に、優先順位がレベル５からレベル８までの４レベルが割り当てられており、ここから、順位レジスタ２０Ｅ〜２０Ｈには、レジスタ４６Ａ、４６Ｂ、４６C、４６Ｄが設けられている。
【００７２】
ここで、順位レジスタ２０Ｅ〜２０Ｄでは、レジスタ４６Ａのデータが「１」であるときに固定順位グループ２６内で最も優先順位が高く、レジスタ４６Ｄのデータが「１」であるときに、固定順位グループ２６内で最も優先順位が低くなっている。
【００７３】
順位レジスタ２０Ｅ〜２０Ｄでは、レジスタ４６Ａ〜４６Ｄのいずれかのデータが「１」であるかによって優先順位が設定されている。図３では、一例として、順位レジスタ２０Ｅ（レジスタＥ）、順位レジスタ２０Ｆ（レジスタＦ）、順位レジスタ２０Ｇ（レジスタＧ）、順位レジスタ２０Ｈ（レジスタＨ）の順で優先順位が設定されている。
【００７４】
すなわち、順位レジスタ２０Ｅのレジスタ４６Ａ、順位レジスタ２０Ｆのレジスタ４６Ｂ、順位レジスタ２０Ｇのレジスタ４６Ｃ、順位レジスタ２０Ｈのレジスタ４６Ｄのデータが「１」に設定されている。
【００７５】
一方、順位レジスタ部１８に設けている変更制御部２２では、外部から順位レジスタ２０の優先順位の初期値を入力可能となっている。すなわち、変更制御部２２では、順位レジスタ２０Ａ〜２０Ｄのレベルユニット３４Ａ〜３４Ｄのデータの書き換え及び、順位レジスタ２０Ｅ〜２０Ｈの各レジスタ４６Ａ〜４６Ｄのデータの書き換えが可能となっている。
【００７６】
これにより、調停回路１０では、巡回順位グループ２４内の順位レジスタ２０Ａ〜２０Ｄの優先順位の初期値及び、固定順位グループ２６内の順位レジスタ２０Ｅ〜２０Ｈの優先順位の初期値を任意に設定可能となっている。
【００７７】
このように構成されている調停回路１０では、順位出力部１２にアクセス要求REQが入力されると、順位レジスタ部１８から、要求元のモジュールに対応する順位レジスタ２０に保持されている優先順位を取得し、アクセス順位信号REQ−ORDERを順位確定部１４へ出力する。
【００７８】
順位確定部１４では、アクセス順位信号REQ−ORDERが入力されると、要求元に対する優先順位に基づいて優先順位の高い要求元（アクセス要求信号REQ）を示す最優先信号TOP−PRIを許可発行部１６へ出力する。
【００７９】
許可発行部１６では、最優先信号TOP−PRIを受信すると、この最優先信号TOP−PRIによって特定される要求元に対して、許可信号ACKを出力する。
【００８０】
これにより、許可信号ACKを取得した要求元が、メモリなどへのアクセス対象へのアクセス可能となる。
【００８１】
ここで、順位出力部１２に複数の要求元からアクセス信号REQが入力されたときには、それぞれの要求元の順位レジスタ２０に保持されている優先順位を取得し、アクセス信号REQごとに優先順位を付加したアクセス順位信号REQ−ORDER を順位確定部１４へ出力する。
【００８２】
これにより、順位確定部１４では、優先順位の最も高い要求元に対する最優先信号TOP−PRIを、許可発行部１６へ出力し、該当要求元に対する許可信号ACKが発行されるようにしている。
【００８３】
ところで、調停回路１０に設けている発行許可部１６は、許可信号ACKを出力すると、許可信号ACKの出力先に対するダウン要求信号DOWN-ORDERを、順位レジスタ部１８へ出力するようになっており、順位レジスタ部１８では、このダウン要求信号DOWN−ORDERに基づいて、優先順位の変更を行うようになっている。
【００８４】
ここで、許可信号ACKに応じた順位レジスタ部１８での優先順位の変更を説明する。順位レジスタ部１８には、要求元のそれぞれに対応する順位レジスタ２０が設けられており、それぞれの順位レジスタ２０に優先順位を示すデータ（順位情報）が保持されている。
【００８５】
また、順位レジスタ部１８には、順位レジスタ２０が巡回順位グループ２４と固定順位グループ２６に分けられており、巡回順位グループ２４と固定順位グループ２６の間で優先順位が設定されている。
【００８６】
巡回順位グループ２４の順位レジスタ２０Ａ〜２０Ｄでは、レベルユニット３４Ａ〜３４Ｅ内のレジスタ４２に保持されるデータに応じて優先順位が定まるようになっており、固定順位グループ２６の順位レジスタ２０Ｅ〜２０Ｈでは、レジスタ４６Ａ〜４６Ｄに保持されるデータに応じて優先順位が定まるようになっている。
【００８７】
また、順位レジスタ部１８では、変更制御部２２から、順位レジスタ２０Ａ〜２０Ｄの各レベルユニット３４Ａ〜３４Ｅのレジスタ４２で保持するデータ及び、順位レジスタ２０Ｅ〜２０Ｈの各レジスタ４６Ａ〜４６Ｄで保持するデータの書き換えが可能となっている。
【００８８】
これにより、順位レジスタ１８では、巡回順位グループ２４内及び、固定順位グループ２６内のそれぞれで、各順位レジスタ２０の優先順の初期値を、任意に設定することができる。なお、レジスタ４２及び４６（４６Ａ〜４６Ｄ）へのデータの書き込み及び、書き込むデータの入力は、任意の構成を適用することができる。なお、巡回順位グループ２４内の順位レジスタ２０Ａ〜２０Ｄのレベルユニット３４Ｅ〜３４Ｈ及び、固定順位グループ内の順位レジスタ２０Ｅ〜２０Ｈのレベルユニット３４Ａ〜３４Ｄも書き換え可能として、この部分も含めた巡回順位グループ／固定順位グループの再編、再設定ができるようにしても良く、これにより、より自由度を高めることができる。
【００８９】
図３には、このような順位レジスタ部１８での優先順位の設定の一例を示している。
【００９０】
順位レジスタ部１８では、巡回順位グループ２４の優先順位が、固定順位グループ２６の優先順位より高く設定されており、これにより、巡回順位グループ２４のいずれかの順位レジスタ２０に対応するアクセス要求信号REQと、固定順位グループ２６のいずれかの順位レジスタ２０に対応するアクセス要求信号REQが、順位出力部１２に入力されたときには、巡回順位グループ２４の順位レジスタ２０に対して許可信号ACKが出力されるようになっている。
【００９１】
例えば、順位レジスタ２０Ｄに対応するアクセス要求信号REQ−Ｄと、順位レジスタ２０Eに対応するアクセス要求信号REQ−Eが入力されたときには、順位レジスタ２０Ｄに対応する要求元に対して許可信号ACK−Dが出力される。
【００９２】
固定順位グループ２６内では、順位レジスタ２０E〜２０Ｈの保持する優先順位が固定されていることにより、例えば、順位レジスタ２０Ｅに対応するアクセス要求信号REQ−Ｅと、順位レジスタ２０Ｆに対応するアクセス要求信号REQ−Ｆが、順位出力部１２に入力されたときには、アクセス要求信号REQ−Eに対する許可信号ACK−Ｅが出力される。
【００９３】
また、順位レジスタ部１８では、順位レジスタ２０E〜２０Ｈの優先順位が固定であるため、アクセス要求信号REQ −E〜REQのいずれかに対する許可信号ACK（ACK−E〜ACK−Ｈが出力されたときには、優先順位の変更が行われない。
【００９４】
これに対して、順位レジスタ部１８では、巡回順位グループ２４の順位レジスタ２０に対応する許可信号ACK（許可信号ACK−Ａ〜ACK−Ｄ）が出力されたときには、許可発行部１６から出力されるダウン要求信号DOWN−ORDERに基づいた優先順位の変更を行う。このとき、順位レジスタ部１８では、ラウンドロビン方式で優先順位の変更を行うようになっている。
【００９５】
ここで、例えば、図９（Ａ）に示すように、順位レジスタ２０A〜２０Ｄの間で優先順位が設定されているときに、優先順位が最も高い０レベルの順位レジスタ２０Ｂに対応する許可信号ACK−Ｂが出力されることにより、順位レジスタ部１８の変更制御部２２には、順位レジスタ２０Ｂの優先順位を巡回グループ２４内で最下位に落とすために、レベルユニット３４Ａ〜３４Ｄの全てのセレクタ４０にダウン要求信号DOWN−ORDERを出力して、順位を下げるべきレベルユニットを指定し、最下位であるレベル４のレベルユニット３４Ｅのセレクタ３８に後端信号end-stopを出力する。そして、更新すべきレベル０〜４のレベルユニット３４のセレクタ４４（レジスタユニット３６）に更新信号updateを出力する。
【００９６】
これにより、図９（Ｂ）と図９（C）に示されるように、レベル０であった順位レジスタ２０Ｂの優先順位が巡回順位グループ２４の最下位に落とされ、順位レジスタ２０Ａ、２０Ｃ、２０Ｄの優先順位がそれぞれ繰り上げられる。
【００９７】
一方、順位レジスタ部１８では、巡回順位グループ２４内で最上位の順位レジスタ２０に対応する許可信号ACKが順に出力されることにより、図９（Ｃ）から図９（Ｇ）に示されるように、レベル０となった順位レジスタ２０が、レベル４に落とされ、他の順位レジスタ２０の優先順位（レベル）が順に繰り上げられるのが繰り替えされる。
【００９８】
このとき、図９（Ａ）に示されるように、順位レジスタ２０Ａには、２つの優先順位が設定されており、これにより、レベル０の順位レジスタ２０に対応する許可信号ACKが順に出力されたときには、順位レジスタ２０Ｂ〜２０Ｄのそれぞれに対応する許可信号ACK（ACK−Ｂ〜ACK−Ｄ）は１回ずつとなるのに対して、順位レジスタ２０Ａに対応する許可信号ACK−Ａは、２回となる。
【００９９】
すなわち、順位レジスタ２０Ｂ〜２０Ｄに対する帯域が１／５であるのに対して、順位レジスタ２０Ａに対する帯域が２／５となっている。
【０１００】
順位レジスタ２０Ａ〜２０Ｄの間の帯域は、初期値として設定することにより何れの順位レジスタ２０の帯域を広げるかを調節することが可能となる。
【０１０１】
このように順位レジスタ部１８では、巡回順位グループ２４と固定順位グループ２６を設け、グループ間での優先順位を異ならせると共に、巡回順位グループ２４内でも、順位レジスタ２０の帯域を異ならせることができる。
【０１０２】
これにより、優先順位の調整が可能であり、優先順位を設定するときの自由度を高くすることができる。すなわち、複数の順位レジスタ２０の間で優先順位を設定するときの自由度を格段に向上させることができ、また、アクセス要求信号REQに応じた許可信号ACKを、所望の優先度で付与することが可能となる。
【０１０３】
また、巡回順位グループ２４に設けている順位レジスタ２０は、レジスタ４２とセレクタ３８、４０、４４を用いた簡単な構成であり、これにより、ラウンドロビン方式による優先順位の変更（繰り下げ及び繰り上げ）の高速化が可能となっている。
【０１０４】
なお、ここで説明した調停回路１０の順位レジスタ部１８は、一例を示すものであり、各種の構成をとりうる。
【０１０５】
例えば、本実施の形態では、４つの順位レジスタ２０（順位レジスタ２０Ａ〜２０Ｄ）の間で５レベルの優先順位を設定可能としているが、これに限らず、６レベル以上の順位が設定できるものであっても良い。このときには、順位レジスタ２０のそれぞれにレベル数分のレベルユニット３４を設けてシフトレジスタを形成するようにすれば良い。
【０１０６】
これにより、優先順位を巡回する順位レジスタ２０の数及びレベル数に応じて、順位レジスタ２０ごとの帯域調整を行ってバランスを取ることができる。
【０１０７】
また、順位レジスタ部１８には、一つの巡回順位グループ２４と、一つの固定順位グループ２６を設けると共に、巡回順位グループ２４の優先順位を、固定順位グループの優先順位より高くしたが、グループの数及びグループ間の優先順位はこれに限るものではない。
【０１０８】
例えば、図１０に示すように、１０個の順位レジスタ５０Ａ〜５０Ｊを、ラウンドロビン方式で優先順位を変更する２つの巡回順位グループ５２Ａ、５２Ｂと、順位レジスタ５０Ｄ〜５０Ｇによって形成され、順位レジスタ５０Ｄ〜５０Ｇの間で優先順位が固定されている一つの固定順位グループ５４に分けたものであっても良い。
【０１０９】
ここでは、順位レジスタ５０Ａ〜５０Ｃによって形成する巡回順位グループ５２Ａの優先順位が最も高く、順位レジスタ５０Ｈ〜５０Ｊによって形成する巡回順位グループ５２Ｂの優先順位が他のグループよりも低くしている。
【０１１０】
これにより、順位レジスタ５０Ａ〜５０Ｃ、５０Ｈ〜５０Ｊのいずれかに対する許可信号ACKが出力されたときには、該当順位レジスタ５０が含まれる巡回順位グループ５２（５２Ａ又は５２Ｂ）内で、優先順位の繰り下げおよび繰り上げが行われるが、順位レジスタ５０Ｄ〜５０Ｇのいずれかに対する許可信号ACKが出力されたときには、優先順位の変更が生じないようにすることができる。
【０１１１】
また、グループ分けはこれに限るものではなく、例えば、固定順位グループを設けずに、ラウンドロビン方式で優先順位を変更する複数の巡回順位グループによって形成するようにしても良い。
【０１１２】
すなわち、本発明は、少なくとも一つの巡回順位グループが含まれるように複数のグループに分けて、巡回順位グループ内でラウンドロビン方式による優先順位の変更を行うものであれば良い。
【０１１３】
なお、本発明を適用した調停回路１０は、メモリへのアクセス制御を行うＤＭＡ（Direct  Memory  Access）などは勿論、複数の要求元から所定のデバイスなどにアクセス可能とするときの、アクセス制御を行う調停回路として適用することができる。
【図面の簡単な説明】
【０１１４】
【図１】本実施の形態に適用した調停回路の概略構成図である。
【図２】順位レジスタ部に設ける順位レジスタの構成を示す概略回路図である。
【図３】優先順位の設定の一例を表す概略図である。
【図４】ラウンドロビン方式で優先順位の更新が行われる順位レジスタの基本構成を示す概略図である。
【図５】図４に示す順位レジスタの具体的構成を示す概略回路図である。
【図６】各レベルユニットに設けるレジスタユニットの一例を示す概略回路図である。
【図７】図４及び図５に示す順位レジスタでの優先順位の更新（ローテーション）に用いるＬＵＴの一例を示す概略図である。
【図８】（Ａ）〜（Ｃ）は図４及び図５に示す順位レジスタでのデータの更新の一例を示す概略図である。
【図９】（Ａ）は図２に示す巡回順位グループの順位レジスタに保持される優先順位を示すビットデータの一例を示す概略図、（Ｂ）〜（Ｇ）のそれぞれは、最上位のレジスタの優先順位を順に最下位に落としたときの優先順位の変化を示す概略図である。
【図１０】本発明が適用されるグループ分けの他の一例を表す概略図である。
【符号の説明】
【０１１５】
１０    調停回路
１２    順位出力部
１４    順位確定部
１６    許可発行部
１８、３０    順位レジスタ部
２０、３２、５０    順位レジスタ
２０Ａ〜２０Ｄ、３２Ａ〜３２Ｄ、５０Ａ〜５０Ｃ、５０Ｈ〜５０Ｊ    順位レジスタ
２０Ｅ〜２０Ｈ、５０Ｄ〜５０Ｇ    順位レジスタ
２２、２２Ａ    変更制御部
２４、５２Ａ、５２Ｂ    巡回順位グループ
２６、５４    固定順位グループ
３４（３４Ａ〜３４Ｅ）    レベルユニット
３６    レジスタユニット
３８    セレクタ
４０    セレクタ
４２    レジスタ
４４    セレクタ
４６（４６Ａ〜４６Ｄ）    レジスタ
【図１】
2007052545.tif 000003
【図２】
2007052545.tif 000004
【図３】
2007052545.tif 000005
【図４】
2007052545.tif 000006
【図５】
2007052545.tif 000007
【図６】
2007052545.tif 000008
【図７】
2007052545.tif 000009
【図８】
2007052545.tif 000010
【図９】
2007052545.tif 000011
【図１０】
2007052545.tif 000012