(57)【要約】【課題】            多様な優先度遷移アルゴリズムによる調停要求と、システム状況に動的に反応したパフォーマンスを得ることができる単純な構成の占有権調停装置を得る。【解決手段】        占有要求制御部２，３，は、それぞれローテーション制御，ラウンド・ロビン制御，ローテーション制御またはラウンド・ロビン制御により、占有要求Ｂ〜Ｇ，Ｈ〜Ｍ，Ｎ〜Ｓの内からそれぞれ一つを選択する。占有要求制御部４におけるローテーション制御またはラウンド・ロビン制御はＣＰＵ５が選択する。占有要求調停制御部１は、優先順位設定レジスタ１０を具備しており、選択された占有要求に対して、優先順位設定レジスタ１０に設定されている優先順位で占有許可Ｂ〜Ｇ，Ｈ〜Ｍ，Ｎ〜Ｓを付与する。ＣＰＵ５は、優先順位設定レジスタを適時に更新する。優先順位設定レジスタ１０は、占有要求数，占有許可数や、占有許可先の非常事態発生によっても更新され得る。【選択図】          図１
2005056034.tif 000002
【特許請求の範囲】
【請求項１】
共用資源に対する占有要求の競合を調停する占有権調停装置において、
前記占有要求に対して占有許可を付与するための優先順位をそれぞれが異なる優先度遷移アルゴリズムで変更する占有要求制御部と、
優先順位設定レジスタを備え、該優先順位設定レジスタに設定された優先順位で前記占有要求制御部からの占有要求に対して占有許可を付与する占有要求調停制御部と、
前記優先順位設定レジスタに前記優先順位を設定するＣＰＵとを有することを特徴とする占有権調停装置。
【請求項２】
前記占有要求制御部の一つは、前記占有要求に対する優先順位をローテーション制御により変更する機能と、ラウンド・ロビン制御により変更する機能とを備えており、その機能のいずれかは前記ＣＰＵによって選択されることを特徴とする請求項１に記載の占有権調停装置。
【請求項３】
前記占有要求群毎の占有要求数をカウントして占有要求数統計報告を前記ＣＰＵに行う占有要求監視部と、
前記占有要求群対応の占有許可の数をカウントして占有許可数統計報告を前記ＣＰＵに行う占有許可監視部とを設け、
前記ＣＰＵは、前記占有要求数統計報告と占有許可数統計報告を受けると、各占有要求数に対する占有許可数の割合に対し、その時点での最善の優先順位をアプリケーションを介して算出し、算出した優先順位で前記優先順位設定レジスタを変更することを特徴とする請求項１または２に記載の占有権調停装置。
【請求項４】
前記ＣＰＵは、前記占有許可を付与されたデバイスから緊急非常事態が発生したことを告げる連絡信号を受けると、前記占有要求調停制御部が該デバイスに無制御で前記占有許可を付与するための占有要求を生成させることを特徴とする請求項１，２または３に記載の占有権調停装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば共用バスの使用権要求のように、共用資源に対する占有要求の競合を調停する占有権調停装置に関する。
【背景技術】
【０００２】
この種の調停は、一般的には、占有要求の優先順位を更新することなく一定の優先度で行っていた。したがって、ある占有要求のみに対して一定時間共用資源の占有が許可され、本来の許可されるべき占有要求への許可が後回しになり、その結果、システムのパーフォーマンスが低下する場合があった。そこで、占有許可偏らせることなく、システムの状況に応じたパフォーマンスを得ることが求められるようになってきている。
【０００３】
このような要請に応えるための従来技術として、バス使用権の優先度を設定する優先度遷移アルゴリズムの循環経路を、キーボード等による入力設定によって変更して、多用なシステムにおける汎用的なＰＣＩバス使用権の調停を可能にした「ＰＣＩバス使用権調停装置」が知られている（特許文献１参照）。
【０００４】
また、予め設定された優先度によりバス調停を行えるとともに複数のバス要求があった時に、そのバス要求数とバス獲得回数に応じてバスを獲得する優先度を可変にできる「バス調停回路」も知られている（特許文献２参照）。
【０００５】
【特許文献１】特開平１１−２５０００４（第１−８頁、図１）
【特許文献２】実開平５−８７６４７（第１−２頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１記載の技術では、入力設定されている優先度遷移アルゴリズムに基づいた順序でバス使用許可がなされるので、占有要求デバイスの稼動頻度や占有要求頻度を考慮しシステム状況に動的に反応したパフォーマンスを得ることはできないという問題点がある。
【０００７】
また、特許文献２記載の技術では、一つのバス要求ないしはバス獲得許可毎に、それぞれのカウントを行うので、バス要求数が膨大な大規模システムの場合には構成が煩瑣になるという問題点がある。
【０００８】
更に、多様なバス要求に応えるためには数種類の優先度遷移アルゴリズムが備えられている必要があるが、特許文献１および特許文献２のいずれにおいても優先度遷移アルゴリズムは一種類しか扱っていないので、上述の要請を満たさないという問題点がある。
【０００９】
本発明の第１の目的は、占有要求数が膨大な大規模システムの場合であっても構成が単純な占有権調停装置を提供することにある。
【００１０】
本発明の第２の目的は、多様な優先度遷移アルゴリズムによる調停要求に応えることのできる占有権調停装置を提供することにある。
【００１１】
本発明の第３の目的は、占有要求デバイスの稼動頻度や占有要求頻度を考慮しシステム状況に動的に反応したパフォーマンスを得ることができ占有権調停装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の占有権調停装置は、共用資源に対する占有要求の競合を調停する占有権調停装置であって、占有要求（図１の占有要求Ａ〜Ｓ）に対して占有許可（図１の占有許可Ａ〜Ｓ）を付与するための優先順位をそれぞれが異なる優先度遷移アルゴリズムで変更する占有要求制御部（図１の２，３および４）と、優先順位設定レジスタ（図１の１０）を備え、優先順位設定レジスタに設定された優先順位で占有要求制御部からの占有要求に対して占有許可を付与する占有要求調停制御部（図１の１）と、優先順位設定レジスタに優先順位を設定するＣＰＵ（図１の５）とを有することを特徴とする。
【００１３】
また、占有要求制御部の一つ（図１の４）は、占有要求に対する優先順位をローテーション制御により変更する機能と、ラウンド・ロビン制御により変更する機能とを備えており、その機能のいずれかはＣＰＵによって選択されるようにしてもよい。
【００１４】
また、占有要求群毎の占有要求数をカウントして占有要求数統計報告（図３のａ）をＣＰＵに行う占有要求監視部（図３の６）と、占有要求群対応の占有許可の数をカウントして占有許可数統計報告（図３のｂ）をＣＰＵに行う占有許可監視部（図３の７）とを設け、ＣＰＵは、占有要求数統計報告と占有許可数統計報告を受けると、各占有要求数に対する占有許可数の割合に対し、その時点での最善の優先順位をアプリケーション（図３の８）を介して算出し、算出した優先順位で優先順位設定レジスタを変更するようにしてもよい。
【００１５】
また、ＣＰＵは、占有許可を付与されたデバイス（図４のＡ）から緊急非常事態が発生したことを告げる連絡信号（図４のｅ）を受けると、占有要求調停制御部が該デバイスに無制御で占有許可を付与するための占有要求（図４のｄ）を生成させるようにしてもよい。
【発明の効果】
【００１６】
本発明の第１の効果は、多数の占有要求を、服すべき優先度遷移アルゴリズム単位に占有要求群にグループ化し、各グループに対して設定された優先順位の下に占有許可を付与することとしたため、占有要求数が膨大な大規模システムの場合であっても構成を単純化することができるということである。
【００１７】
本発明の第２の効果は、数種類の優先度遷移アルゴリズムを用意し、各優先度遷移アルゴリズムを設定された優先順位で適用することとしたため、多様な優先度遷移アルゴリズムによる調停要求に応えることのできるということである。
【００１８】
本発明の第３の効果は、優先順位設定レジスタを占有要求デバイスの稼動頻度や占有要求頻度、または占有許可デバイスの緊急非常事態に応じて更新可能としたため、システム状況に動的に反応したパフォーマンスを得ることができるということである。
【発明を実施するための最良の形態】
【００１９】
本発明の占有権調停装置は、共用資源に対する占有要求の競合を調停する占有権調停装置であって、多数の占有要求を、服すべき優先度遷移アルゴリズム単位に占有要求群にグループ化し、各グループ対応の占有要求制御部が先ずグループ内の一つの占有要求を選択する。選択された各占有要求制御部からの占有要求は占有要求調停制御部に入力する。占有要求調停制御部は優先順位設定レジスタを具備しており、そこに設定された優先順位の下に占有要求に対して占有許可を付与する。優先順位設定レジスタはＣＰＵにより適時に更新され得る。
【実施例１】
【００２０】
図１は本発明の第１の実施例を示すブロック図である。この実施例は、例えば共用バスに対する１９個のバスマスタ等のデバイスからの占有要求Ａ〜Ｓに対して、占有許可Ａ〜Ｓの内の一つをデバイスへ出力するように調停する占有権調停装置を示す。なお、図１において参照記号が同じである占有要求と占有許可が１対１で対応しているわけではない。
【００２１】
占有要求Ａ〜Ｓは、それを調停する優先権遷移アルゴリズムによって４つの群に分かたれている。占有要求Ａは無制御（無条件）で調停され、常に一定の優先度を有する。占有要求Ｂ〜Ｇはローテーション制御、占有要求Ｈ〜Ｍはラウンド・ロビン制御、占有要求Ｎ〜Ｓはローテーション制御またはラウンド・ロビン制御される。
【００２２】
占有要求ローテーション制御部２は、占有要求Ｂ〜Ｇに対してローテーション制御により優先順位を変更する。占有要求ラウンド・ロビン制御部３は占有要求Ｈ〜Ｍに対してラウンド・ロビン制御により優先順位を変更する。占有要求ローテーション／ラウンド・ロビン制御部４は、占有要求Ｎ〜Ｓに対してローテーション制御またはラウンド・ロビン制御により優先順位を変更する。占有要求ローテーション／ラウンド・ロビン制御部４は、ローテーション制御とラウンドロビン制御のいずれかを指定するレジスタを備えており、占有要求があった時に設定されている方の制御方式が採用される。この制御方式はＣＰＵ５が選択する。
【００２３】
占有要求Ａ，占有要求ローテーション制御部２からの出力，占有要求ラウンド・ロビン制御部３からの出力および占有要求ローテーション／ラウンド・ロビン制御部４からの出力は占有要求調停制御部１へ入力する。占有要求調停制御部１は優先順位設定レジスタ１０を備えており、これに設定されている優先順位に従って、占有要求Ａ，占有要求ローテーション制御部２からの出力，占有要求ラウンド・ロビン制御部３からの出力および占有要求ローテーション／ラウンド・ロビン制御部４からの出力の内の一つに占有許可Ａ〜Ｓを出力する。優先順位設定レジスタ１０への優先順位の設定はＣＰＵ５によって行われる。
【００２４】
占有要求Ａ〜Ｓの内の一つのみが入力するのであれば、占有要求調停制御部１はその占有要求に対して占有許可を付与する。また、一つのグループの内で複数の占有要求があるときは、そのグループの占有要求制御方式による優先度で占有要求が処理され、占有要求調停制御部１は、それに対して占有許可を付与する。例えば、占有要求Ｂ〜Ｇの内で複数の占有要求があるときは、占有要求ローテーション制御部２がローテーション制御により変更する優先度に従って占有要求が処理される。この場合、優先順位設定レジスタ１０は機能しない。
【００２５】
異なるグループに属する複数の占有要求があるときは、それぞれのグループの占有要求制御方式による優先度で占有要求が処理され、占有要求調停制御部１は、それらに対して、優先順位設定レジスタ１０に設定されている優先順位で占有許可を付与する。
【００２６】
図２は、図１に示した実施例における優先順位設定レジスタ１０の設定内容を例示する。図２は、図１における４つの占有要求群に代えて、５つの占有要求群（１）〜（５）に対する優先順位設定レジスタ１０の設定内容を明示している。なお、占有要求群とは、占有要求制御部２，３，４に入力する占有要求の群れであり、例えば、占有要求群（１）は占有要求Ｂ〜Ｇから成る。起動時に、ＣＰＵ５は占有要求群（１）〜（５）に対する優先順位を優先順位設定レジスタ１０へ設定する。
【００２７】
図２を参照すると、占有要求群（１）〜（５）に対して、それぞれ優先度１〜５が設定されていることが分かる。占有要求調停制御部１は、占有要求群（１）〜（５）からの占有要求に対して、優先順位設定レジスタ１０に設定されている優先順位で占有許可を付与する。例えば、占有要求群（２），（３）および（４）からの占有要求が同時にある時は、この順序で占有許可を付与する。優先順位設定レジスタ１０の設定が変更されない限り、占有要求調停制御部１は上述の優先順位で調停を続ける。
【実施例２】
【００２８】
図３は、本発明の第２の実施例を示す。この実施例も図１に示した構成を踏襲する。ただし、図１における４つの占有要求群に代えて５つの占有要求群（１）〜（５）としている。重複を回避するため、図１に沿った前述の説明は割愛する。この実施例は、図２のように設定された優先順位設定レジスタ１０を書き換えるための手段として、占有要求監視部６と占有許可監視部７とを設けたものである。
【００２９】
占有要求監視部６は占有要求群（１）〜（５）毎の占有要求数をカウントして、占有要求数統計報告ａをＣＰＵ５に行っている。また、占有許可監視部７は占有要求群（１）〜（５）対応の占有許可（１）〜（５）の数をカウントして、占有許可数統計報告ｂをＣＰＵ５に行っている。
【００３０】
アプリケーション８は、ＣＰＵ５を介して各占有要求数に対する占有許可数を監視している。アプリケーション８は、専用のインテリジェンスを持たせており、各占有要求数に対する占有許可数の割合に対し、その時点での最善の優先順位を算出してＣＰＵ５へ出力する。ＣＰＵ５は、その優先順位で優先順位設定レジスタ１０を変更することができる。
図３では、図２の起動時における初期設定から、占有要求群（１）〜（５）に対する優先度を２，１，４，５，３に変更していることが分かる。この後は、占有要求調停制御部１はこの優先順位で調停を行う。
【００３１】
このようにして、各デバイスの運用時間が区々であり、それぞれの占有要求の頻度が異なる場合にも、平均的に、もしくは必要なパーフォーマンスを得るように占有許可の優先順位を適時に変更することができるのである。
【００３２】
なお、アプリケーション８に対する外部からの優先順位変更指示ｃにより、優先順位を直接強制的に変更することもできる。ユーザは、占有要求をモニタし、優先順位の変更が必要と判断した場合や、緊急時の処理を人的に行うのである。
【実施例３】
【００３３】
図４は、本発明の第３の実施例を示す。この実施例も図１に示した構成を踏襲する。ただし、図１における４つの占有要求群に代えて５つの占有要求群（１）〜（５）としている。重複を回避するため、図１に沿った前述の説明は割愛する。この実施例は、図１に示した占有要求Ａの一例として、緊急警報（Emergency Warning）回避処理信号ｄをとりあげている。
【００３４】
占有要求調停制御部１からの占有許可（３）を入力したデバイスＡにおいて緊急非常事態が発生した場合、デバイスＡはＥＭ・Warning発生連絡信号ｅをＣＰＵ５へ出力する。ＣＰＵ５は、ＥＭ・Warning回避処理信号ｄを生成するデバイスＢへＥＭ・Warning発生連絡信号ｆを転送して、デバイスＡがＥＭ・Warning状態であることを通知する。また、ＣＰＵ５はデバイスＢからの占有要求を最優先で受け付けるように優先順位設定レジスタ１０を更新する。
【００３５】
図４において、優先順位設定レジスタ１０は、この更新により＜１＞で示すように、ＥＭ・Warning発生前の設定状態（図３）から、デバイスＢからの占有要求（３）に優先度１が与えられ、他の占有要求（２），（１）および（５）は１つずつ繰り下げられていることが分かる。この結果、デバイスＡに対して占有許可（３）としてのＥＭ・Warning回避処理信号ｄが最優先で入力することとなる。これにより、デバイスＡのＥＭ・Warningが効率的に解消できる。
【００３６】
ＥＭ・Warning解消後に、ＣＰＵ５がデバイスＡからＥＭ・Warning終了・解決連絡信号ｇを受信すると、ＣＰＵ５は、図４において＜２＞で示すように、優先順位設定レジスタ１０を元の状態に更新する。
【００３７】
なお、以上に説明した実施例では、占有要求ローテーション制御部２と占有要求ラウンド・ロビン制御部３と占有要求ローテーション／ラウンド・ロビン制御部４の３つの占有要求制御部を備えているが、必ずしも３つである必要はなく複数であればよい。また、他の優先度遷移アルゴリズムを有する占有要求制御部であってもよい。また、占有要求Ｂ〜Ｇ，占有要求Ｈ〜Ｍおよび占有要求Ｎ〜Ｓは、６個づつとなっているが、必ずしも同数である必要はない。
【図面の簡単な説明】
【００３８】
【図１】本発明の第１の実施例を示すブロック図
【図２】図１の実施例における優先順位設定レジスタの設定内容を例示する図
【図３】本発明の第２の実施例を示すブロック図
【図４】本発明の第３の実施例を示すブロック図
【符号の説明】
【００３９】
１      占有要求調停制御部
２      占有要求ローテーション制御部
３      占有要求ラウンド・ロビン制御部
４      占有要求ローテーション／ラウンド・ロビン制御部
５      ＣＰＵ
６      占有要求監視部
７      占有許可監視部
８      アプリケーション
【図１】
2005056034.tif 000003
【図２】
2005056034.tif 000004
【図３】
2005056034.tif 000005
【図４】
2005056034.tif 000006