(57)【特許請求の範囲】
【請求項１】
複数のユニットから入力されるリクエスト間の調停における調停優位性の切り替え方法であって、
入力されるリクエストの種別を監視するステップと、
前記監視するリクエストの種別と同一の種別のリクエストが連続した連続回数を監視するステップと、
前記監視する連続回数が規定連続回数を超えた発生回数を監視するステップと、
前記監視する発生回数が規定発生回数を超えた場合に、リクエスト調停において優先して選択させるリクエストの種別として前記リクエストの種別を指示するステップと、
前記入力されるリクエストをリクエスト緩衝バッファに格納するステップと、
前記リクエスト緩衝バッファから読み出すリクエストが、前記指示されたリクエストの種別と一致するか判定するステップと、
前記判定の結果、一致した場合には、前記リクエストの種別毎に定めた値であって、前記リクエスト調停において優先的に連続して選択される回数を示す重み付け値を定めた重み付けテーブルを索引して、該当リクエストの重み付け値を決定するステップと、
前記リクエスト調停において勝利させるリクエストを示す調停優位性ポインタと、前記決定した重み付けの値と、に応じて、入力されるリクエスト間の調停を行うステップと、
を備える調停優位性の切り替え方法。
【請求項２】
前記連続回数をカウントして、連続回数保持レジスタに保持するステップと、
前記発生回数をカウントして、発生回数保持レジスタに保持するステップと、
と、を更に備える
ことを特徴とする請求項１に記載の調停優位性の切り替え方法。
【請求項３】
前記重み付けテーブルは、
前記リクエストの種別毎に定めた重み付け値についての優先度が定められており、
前記重み付け値を決定するステップは、
前記重み付け値を連続して決定する場合に、前記定められた重み付け値の優先度に応じて、決定する重み付け値を選択する
ことを特徴とする請求項１又は２に記載の調停優位性の切り替え方法。
【請求項４】
入力されるリクエストについて、前記リクエストの種別と、前記リクエストと同一の種別のリクエストが連続した連続回数と、前記連続回数が規定連続回数を超えた発生回数と、を監視し、前記発生回数が規定発生回数を超えた場合に、リクエスト調停において優先して選択させるリクエストの種別として前記リクエストの種別を指示するリクエスト監視部と、
前記入力されるリクエストを格納するリクエスト緩衝バッファと、
前記リクエスト調停において優先的に連続して選択される回数を示す重み付け値を、前記リクエストの種別毎に定めた重み付けテーブルと、
前記リクエスト緩衝バッファから読み出したリクエストが、前記リクエスト監視部から指示されたリクエストの種別と一致した場合に、前記重み付けテーブルを索引して該当リクエストの重み付け値を決定するリクエスト読み出し部と、
前記リクエスト調停において勝利させるリクエストを示す調停優位性ポインタと、前記決定した重み付けの値と、に応じて、複数のユニットから入力されるリクエスト間の調停を行うリクエスト調停部と、
を備える調停装置。
【請求項５】
前記リクエスト監視部は、
前記連続回数を保持する連続回数保持レジスタと、
前記発生回数を保持する発生回数保持レジスタと、を備える
ことを特徴とする請求項４に記載の調停装置。
【請求項６】
前記重み付けテーブルは、
前記リクエストの種別毎に定めた重み付け値についての優先度が定められており、
前記リクエスト読み出し部は、
前記重み付け値を連続して決定する場合には、前記定められた重み付け値の優先度に応じて、決定する重み付け値を選択する
ことを特徴とする請求項４又は５に記載の調停装置。
【請求項７】
入力されるリクエストの種別を保持する種別レジスタと、
前記リクエストと同一の種別のリクエストが連続した連続回数を保持する連続回数レジスタと、
前記連続回数が規定連続回数を超えた発生回数を保持する発生回数レジスタと、を有し、
前記発生回数が規定発生回数を超えた場合に、リクエスト調停において優先して選択させるリクエストの種別として前記リクエストの種別を指示するリクエスト監視部と、
前記入力されるリクエストを格納するリクエスト緩衝バッファと、
前記リクエスト調停において優先的に連続して選択される回数を示す重み付け値を、前記リクエストの種別毎に定めた重み付けテーブルと、
前記リクエスト緩衝バッファから読み出したリクエストが、前記リクエスト監視部から指示されたリクエストの種別と一致した場合に、前記重み付けテーブルを索引して該当リクエストの重み付け値を決定するリクエスト読み出し部と、
前記リクエスト調停において勝利させるリクエストを示す調停優位性ポインタと、前記決定した重み付けの値と、に応じて、複数のユニットから入力されるリクエスト間の調停を行うリクエスト調停部と、
を備えるプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、調停優位性の切り替え方法、調停装置、及びプロセッサに関する。
【背景技術】
【０００２】
従来、リクエストの調停手法として、ラウンドロビン・固定優先・重み付け等の制御を調停論理において行うことで、リクエスト調停の優位性（優劣）を調整する手法が知られている。稼動状況に応じて調停の優劣を流動的に切り替えることは課題となっており、実現が望まれている。
【０００３】
図７を参照して、本発明に関連する技術である、リクエストの調停優位性を切り替える従来技術について説明する。図７に例示するように、プロセッサ１０１は、リモートリクエスト用のリクエスト緩衝バッファ１０３と、ローカルリクエスト用のリクエスト緩衝バッファ１０４と、各系統からのリクエストを調停するリクエスト調停部１０５と、を備えている。リクエスト調停部１０５は、調停優位性ポインタ１０６を備えている。
【０００４】
調停論理においては、ラウンドロビン・固定優先・重み付け等の制御を行うことで、リクエスト調停の優位性（優劣）を調整している。調停優位性ポインタ１０６が指すリクエストが調停に勝利する。
【０００５】
また、本発明に関連する他の技術として、特許文献１乃至３に記載された調停技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭６３−３０３４５３号公報
【特許文献２】特開２００８−０７１０１９号公報
【特許文献３】特開平３−０８１８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、図７で例示した従来技術では、次のような課題がある。
第１の課題は、調停の優位性について、稼動状況に応じて流動的かつ柔軟に切り替えができないという問題がある。例えば、ハードウェアモードにより初期設定を調整する方法では、固定的な切り替えにしかならない。
第２の課題は、調停の優位性について、細かい精度で切り替えることができないという問題がある。調停で勝利した回数をカウントする方法や、特定のリクエストを検出した場合に優位性を切り替える方法では、精度が粗くなってしまう。
第３の課題は、調停の優位性を切り替える操作が、性能に影響するという問題がある。仮に、優位性を切り替えるためのリクエストを専用に発行した場合には、スループットが低下して性能に影響してしまう。
【０００８】
また、特許文献２に記載された技術では、「リクエスト」ではなく「パス」自体が使用された連続回数をカウントするものであり、調停回路におけるパス自体の重み付けを制御しているに過ぎない。連続パス使用回数記憶部２２に与える値が、固定又は任意の値であるために、期待する精度を満足していない。すなわち、パス使用権は該当パスの使用回数によって管理されている。そして、リクエストの種別を監視していないものであるため、調停優位性の切り替え精度が粗いという問題がある。
【０００９】
また、特許文献３に記載された技術では、あるブロック転送が終了するまでの間は、他のリクエストにより調停を妨げられることはない。リクエストの「連続回数」は「特定量」という表現を用いて監視されているものの、リクエストの「種別」と連携して、調停優位性を切替える構成を有してはいない。このため、リクエストの種別に応じて、流動的かつ動的に調停の優先度を細かく切替えることができないという問題がある。
【００１０】
従って、本発明の目的は、リクエストの種別に応じて、流動的かつ動的に調停の優先度を細かく切替えることが可能な調停優位性の切り替え方法、調停装置、及びプロセッサを提供することである。
【課題を解決するための手段】
【００１１】
本発明に係る調停優位性の切り替え方法は、複数のユニットから入力されるリクエスト間の調停における調停優位性の切り替え方法であって、入力されるリクエストの種別を監視するステップと、前記監視するリクエストの種別と同一の種別のリクエストが連続した連続回数を監視するステップと、前記監視する連続回数が規定連続回数を超えた発生回数を監視するステップと、前記監視する発生回数が規定発生回数を超えた場合に、リクエスト調停において優先して選択させるリクエストの種別として前記リクエストの種別を指示するステップと、前記入力されるリクエストをリクエスト緩衝バッファに格納するステップと、前記リクエスト緩衝バッファから読み出すリクエストが、前記指示されたリクエストの種別と一致するか判定するステップと、前記判定の結果、一致した場合には、前記リクエストの種別毎に定めた値であって、前記リクエスト調停において優先的に連続して選択される回数を示す重み付け値を定めた重み付けテーブルを索引して、該当リクエストの重み付け値を決定するステップと、前記リクエスト調停において勝利させるリクエストを示す調停優位性ポインタと、前記決定した重み付けの値と、に応じて、入力されるリクエスト間の調停を行うステップと、を備えるものである。
【００１２】
また、本発明に係る調停装置は、入力されるリクエストについて、前記リクエストの種別と、前記リクエストと同一の種別のリクエストが連続した連続回数と、前記連続回数が規定連続回数を超えた発生回数と、を監視し、前記発生回数が規定発生回数を超えた場合に、リクエスト調停において優先して選択させるリクエストの種別として前記リクエストの種別を指示するリクエスト監視部と、前記入力されるリクエストを格納するリクエスト緩衝バッファと、前記リクエスト調停において優先的に連続して選択される回数を示す重み付け値を、前記リクエストの種別毎に定めた重み付けテーブルと、前記リクエスト緩衝バッファから読み出したリクエストが、前記リクエスト監視部から指示されたリクエストの種別と一致した場合に、前記重み付けテーブルを索引して該当リクエストの重み付け値を決定するリクエスト読み出し部と、前記リクエスト調停において勝利させるリクエストを示す調停優位性ポインタと、前記決定した重み付けの値と、に応じて、複数のユニットから入力されるリクエスト間の調停を行うリクエスト調停部と、を備えるものである。
【００１３】
また、本発明に係るプロセッサは、入力されるリクエストの種別を保持する種別レジスタと、前記リクエストと同一の種別のリクエストが連続した連続回数を保持する連続回数レジスタと、前記連続回数が規定連続回数を超えた発生回数を保持する発生回数レジスタと、を有し、前記発生回数が規定発生回数を超えた場合に、リクエスト調停において優先して選択させるリクエストの種別として前記リクエストの種別を指示するリクエスト監視部と、前記入力されるリクエストを格納するリクエスト緩衝バッファと、前記リクエスト調停において優先的に連続して選択される回数を示す重み付け値を、前記リクエストの種別毎に定めた重み付けテーブルと、前記リクエスト緩衝バッファから読み出したリクエストが、前記リクエスト監視部から指示されたリクエストの種別と一致した場合に、前記重み付けテーブルを索引して該当リクエストの重み付け値を決定するリクエスト読み出し部と、前記リクエスト調停において勝利させるリクエストを示す調停優位性ポインタと、前記決定した重み付けの値と、に応じて、複数のユニットから入力されるリクエスト間の調停を行うリクエスト調停部と、を備えるものである。
【発明の効果】
【００１４】
本発明によれば、リクエストの種別に応じて、流動的かつ動的に調停の優先度を細かく切替えることが可能な調停優位性の切り替え方法、調停装置、及びプロセッサを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係るプロセッサの論理構成を示すブロック図である。
【図２】本発明の実施の形態１に係るリクエスト監視部の構成を示すブロック図である。
【図３】本発明の実施の形態１に係るリクエスト読み出し部の構成を示すブロック図である。
【図４】本発明の実施の形態１に係るリクエスト調停部の構成を示すブロック図である。
【図５】本発明の実施の形態１に係る重み付けテーブルの構成を示す表である。
【図６】本発明の実施の形態１に係る調停方法の一連の動作を示すフローチャートである。
【図７】本発明に関連する技術を説明するための図である。
【発明を実施するための形態】
【００１６】
まず、本発明の実施の形態について説明する前に、本発明の原理について説明する。
本発明に係る調停方法、調停装置、及びプロセッサは、各論理ユニットから発行されるリクエストを調停する調停技術に関する。そして、リクエストの調停を経由する論理構成において、リクエストの種別に応じて、所望のリクエスト群を優先的かつ流動的に通過させることを可能とする。
【００１７】
後述するように、プロセッサ１は、リクエスト監視部２とリクエスト読み出し部４とを備えている。リクエスト監視部２は、所望のリクエストに関して、リクエスト群の種別と、そのリクエストの連続回数と、そのリクエストの発生履歴と、を監視する。そして、リクエスト監視部２は、優先すべきリクエストが規定回数連続したことに加えて、その連続が発生したことを検出する都度、そのリクエスト種別を、リクエスト読み出し部４へと通知する。
【００１８】
リクエスト読み出し部４は、優先すべきリクエストが読み出された場合に、そのリクエスト種別に対応する調停優位性を決定する。このため、リクエスト読み出し部４は、重み付けテーブルを索引する。重み付けテーブルから索引された重み付けの値はリクエスト調停部５へと送出され、リクエストの調停優位性を切り替える旨の指示が行われる。この切り替え指示は、優先すべきリクエストが調停へと参加するタイミングに合わせて実行される。
【００１９】
このようにして、本発明に係る調停方法、調停装置、及びプロセッサは、所望のリクエスト毎に、リクエストの種別に応じてリクエストの連続性を監視して、調停の重み付けを決定している。このため、アプリケーション特性や負荷バランスに応じた、柔軟かつ流動的な調停優位性の切り替えを行うことができる。
【００２０】
実施の形態１．
以下、図面を参照して本発明の実施の形態１について説明する。まず、図１乃至図５を参照して、本実施の形態１に係る調停方法、調停装置、及びプロセッサの構成について説明する。
【００２１】
図１は、本実施の形態１に係るプロセッサの論理構成を示す図である。図１を参照すると、プロセッサ１は、リクエスト監視部２、７と、リクエスト緩衝バッファ３、８と、リクエスト読み出し部４、９と、リクエスト調停部５と、を備えている。尚、リクエスト監視部７はリクエスト監視部２と、リクエスト緩衝バッファ８はリクエスト緩衝バッファ３と、リクエスト読み出し部９はリクエスト読み出し部４と、それぞれ同一の構成を有している。このため、以下では、リクエスト監視部２と、リクエスト緩衝バッファ３と、リクエスト読み出し部４と、の構成を代表して説明する。
【００２２】
リクエスト監視部２は、各系の入力部（ローカルリクエストの入力を受ける入力部や、リモートリクエストの入力を受ける入力部）にそれぞれ位置しており、入力されるリクエストの種別と、連続回数と、発生履歴（発生回数）と、を監視する。リクエスト監視部２は、入力されたリクエストが調停で優先させるべき条件を満たした場合には、そのリクエスト種別を、リクエスト読み出し部４へと通知する。すなわち、リクエスト監視部２は、優先リクエストの種別とその連続性を監視し、リクエスト読み出し部４へと優位性の切り替の発生を通知（予告）する。
【００２３】
リクエスト緩衝バッファ３は、各々の系に入力されるリクエストを順次格納する。リクエスト監視部２は、リクエストをリクエスト緩衝バッファ３にライトする。リクエスト読み出し部４は、リクエスト緩衝バッファ３から格納されたリクエストをリードする。
【００２４】
リクエスト読み出し部４は、リクエスト緩衝バッファ３に格納されたリクエストを、順次読み出していく。リクエスト読み出し部４は、読み出したリクエストが、リクエスト監視部２から通知された優先すべきリクエストと一致した場合には、該当リクエストの調停優位性を決定するため、後述する図５に例示する重み付けテーブルを索引する。そして、リクエスト読み出し部４は、その索引した重み付け値を、リクエスト調停部５へと送出する。すなわち、リクエスト読み出し部４は、優先リクエストの読み出しを契機として優位性の重み付けテーブルを索引し、優位性の重みの切り替えをリクエスト調停部５へと指示する。
【００２５】
リクエスト調停部５は、リクエスト調停において勝利させるリクエストを示す調停優位性ポインタ６と、決定される調停の重み付けの値と、に応じて、入力されたリクエスト間の調停を行う。
【００２６】
図２は、リクエスト監視部２の構成を示す図である。図２に示すように、レジスタ２１は、リクエスト監視部２に入力されたリクエストを一旦格納する。レジスタ２２は、デコードされたリクエスト種別を、今回のリクエスト種別として保持する。レジスタ２３は、前回のリクエストの種別を保持している。レジスタ２４は、該当リクエストの連続回数を保持する。レジスタ２５は、該当リクエストの発生履歴（発生回数）を保持する。
【００２７】
リクエスト情報は、リクエストのデータやアドレスなどを含んでいる。レジスタ２１に格納されたリクエスト情報は、リクエスト単位で、リクエスト緩衝バッファ３に格納される。また、レジスタ２１に格納されたリクエスト情報のうち、リクエスト種別を示す部分が、リクエスト監視部２のデコード部２０１により、デコードされる。
【００２８】
リクエスト監視部２のデコード部２０１は、レジスタ２１に格納されたリクエストについて、リクエスト種別のデコードを行う。ここで、リクエスト種別のデコードは、リクエスト情報に一般的に付随するスタートビットを契機に行えばよい。すなわち、デコード部２０１は、スタートビット（Ｓｔａｒｔ  Ｂｉｔ）の検出を契機として、リクエスト種別を認識する。尚、スタートビットの検出を契機としてリクエスト種別を認識することで、分割されて送信されてくるリクエストを、リクエスト単位で扱うことができる。
【００２９】
リクエスト監視部２の比較部２０２は、レジスタ２２に保持されている今回のリクエスト種別と、レジスタ２３に保持されている前回のリクエスト種別と、を比較する。比較の結果、これらリクエスト種別が一致した場合には、リクエスト監視部２のインクリメント部２０３は、レジスタ２４に保持されている該当リクエストの連続回数の値を１値インクリメントする。尚、比較結果が不一致の場合には何もしないか、或いは、レジスタ２４に保持された連続回数の値をリセットする制御としても良い。
【００３０】
リクエスト監視部２の判定部２０４は、レジスタ２４に保持された連続回数が、そのリクエストとして任意に設定した値Ｍを超過したか否かを判定する。判定の結果、連続回数Ｍを超過した場合には、リクエスト監視部２のインクリメント部２０５は、レジスタ２５に保持されている該当リクエストの発生履歴（発生回数）の値を１値インクリメントする。尚、連続回数の規定回数Ｍは、図示しないレジスタに格納されている。
【００３１】
リクエスト監視部２の判定部２０６は、レジスタ２５に保持された発生履歴（発生回数）が、そのリクエストとして任意に設定した値Ｎを超過したか否かを判定する。判定の結果、発生回数Ｎを超過した場合には、リクエスト監視部２の判定部２０６は、リクエスト監視部２の論理積部２０７に対して発生回数Ｎを超過したことを示す信号（例えば、１値と０値を用いて超過したか否かを示す場合には、１値の信号）を出力する。リクエスト監視部２の論理積部２０７は、該当リクエストの連続回数がＭを超過し、かつ、発生履歴（発生回数）がＮを超過する場合には、リクエスト読み出し部４に対して、デコードした該当リクエストの種別を通知する。すなわち、リクエスト監視部２は、該当リクエストが、リクエスト調停部５で優先的に通過させるべきリクエストであるものと判定し、そのリクエスト種別を、リクエスト読み出し部４に対して通知する。尚、発生回数の規定回数Ｎは、図示しないレジスタに格納されている。
【００３２】
図３は、リクエスト読み出し部４の構成を示す図である。図３に示すように、レジスタ４１は、リクエスト緩衝バッファ３から読み出したリクエストを格納する。レジスタ４２は、リクエスト監視部２から通知されるリクエスト種別（すなわち、今回優先すべきリクエスト種別）を格納する。
【００３３】
リクエスト読み出し部４の比較部４０１は、レジスタ４１に格納されたリクエストと、レジスタ４２に格納された優先すべきリクエスト種別と、を比較する。比較の結果、一致した場合には、リクエスト読み出し部４の重み付けテーブル索引部４０２は、後述する重み付けテーブル（図５を参照。）を索引して、その優先すべきリクエストに対応する調停優位性の重み付け値を決定する。尚、比較結果が不一致の場合には、重み付けテーブル索引部４０２は、何もしない。
【００３４】
図４は、リクエスト調停部５の構成を示す図である。図４に示すように、リクエスト調停部５は、ローカルリクエスト用とリモートリクエスト用のカウンタ（レジスタ５１、５２）をそれぞれ備えている。カウンタ（レジスタ５１、５２）は調停の重み付け値を格納し、リクエスト読み出し部４、９から送出される重み付け値をそれぞれ格納する。
【００３５】
調停優位性ポインタ６は、ローカル側又はリモート側のいずれかを指している。例えば、初期状態において、調停優位性ポインタ６がローカル側を指しており、ローカル側のカウンタ値が４（Ｐ＝４）であり、リモート側のカウンタ値が６（Ｑ＝６）である状況を想定する。この状況で、ローカル側及びリモート側の双方から、連続してリクエストを受信した場合には、まずは、ローカル側が調停に４回勝利する。そして、ローカル側の４回の勝利を契機として、調停優位性６は、リモート側へと向けられる。調停優位性ポインタ６がリモート側へと向けられた後、リモート側が調停に６回勝利する。リモート側の６回の勝利を契機として、調停優位性ポインタ６はローカル側へ向けられる。
【００３６】
従って、重み付けカウンタ（レジスタ５１、５２）の値が大きいほど、調停において連続して勝利する回数が多くなる。尚、重み付けカウンタ（レジスタ５１、５２）のデフォルトの値は、例えば、双方とも１にするなど（すなわち、初期値としてＰ＝Ｑ＝１とする）、任意に決定すればよい。
【００３７】
また、ローカル側又はリモート側の一方のみからしかリクエストを受信していない状態においては、調停優位性ポインタ６の向きと重み付けカウンタの値とは意味をなさず、無効となる。このため、リクエストの発生した系が調停に勝利する。
【００３８】
図５は、調停優位性を決定するために用いる重み付けテーブルの構成を示す表である。図５に示すように、監視すべきリクエスト種別毎に、項番を付与している。図においては、リクエスト種別として、メモリアクセス、その他命令、プロセッサ通信を示しているが、命令（ベクトルロードなど）及びベクトル長（〜２５６など）をも含めて、リクエスト種別として扱うものとしてもよい。すなわち、例えば、項番３のリクエストの種別が、「メモリアクセスのベクトルロード・ベクトル長６４」であるものとして扱ってもよい。
【００３９】
重み付けを切り替える契機となる条件ＡＢＣと、条件ＡＢＣが成立した場合に設定する重み付けテーブルの値は、リクエスト種別毎に任意に設定する。例えば、リクエストの種別が、メモリアクセスのベクトルロード・ベクトル長６４であるとし、リクエストの連続回数が３２回を越えた発生履歴が２回発生した場合には、重み付けを切り替える条件が成立する。この場合の重み付けテーブル値は３２となり、この重み付けテーブルの値を、リクエスト調停部５の内部の重み付けカウンタ（レジスタ５１、５２）に設定する。尚、図に示す例では、項番１〜１３のリクエスト種別のリクエストについては、ローカル側において発行される。項番１４〜１７のリクエスト種別のリクエストについては、リモート側において発行される。
【００４０】
尚、条件ＡＢＣの値をそれぞれ格納したレジスタ（不図示）について、その格納した値をリセットするタイミングは任意とし、例えば、内蔵タイマーによって定期的にリセットすれば良い。或いは、特定のリクエストの通過を契機として、リセットしても良い。条件Ｂについては、命令の切り替わりタイミングでリセットしても良い。条件Ａは、各リクエストの制御情報に含まれており、分割されたリクエスト受信した場合に、その先頭パケットの開始時に１値となる。また、片方の系において、連続して受信したリクエストについて切り替え条件が成立した場合には、予め決定した優先度の高い重み付けテーブルの値を選択するようにしても良い。例えば、前後に連続して受信したリクエストのうち、後続のリクエスト（最新のリクエスト）を優先させるものとして、後続リクエストの重み付けテーブルの値を設定しても良い。
【００４１】
以上に本実施の形態１に係る各部の構成を説明したが、リクエスト緩衝バッファ３自体は、フリップフロップ回路（ＦＦ）やハードマクロ（ＳＲＡＭ）を用いて構成することが一般的であり、当業者にとって良く知られている。また、リクエスト調停部５の調停回路自体と重み付けの値によって優劣を切り替える制御方法についても当業者にとって良く知られているため、これら構成の詳細な説明については省略する。
【００４２】
次に、図６に示すフローチャートを参照して、本実施の形態１に係る調停方法の一連の動作について説明する。尚、ローカル側の系統の各部（リクエスト監視部７と、リクエスト緩衝バッファ８、リクエスト読み出し部９）はリモート側の各部と同様の動作を行うため、以下では、リモート側の系統の各部の動作を代表して説明する。
【００４３】
リモート側のリクエスト監視部２は、入力されたリクエストの付属情報を常時監視しており、スタートビットの検出を契機として、リクエスト種別のデコードを行う（Ｓ１０１）。そして、リクエスト監視部２は、リクエスト種別の判定において、前回のリクエスト種別との比較を行う（Ｓ１０２）。判定の結果、前回と同じリクエスト種別であった場合には、リクエスト監視部２は、リクエストの連続回数カウンタを１値インクリメントし（Ｓ１０３）、同じリクエスト種別でなかった場合には、何もしないか、或いは、連続回数カウンタをリセットする（Ｓ１０４）ようにしても良い。
【００４４】
連続回数カウンタが１値インクリメントされた後に、リクエスト監視部２は、リクエストの連続性判定において、連続回数が、そのリクエストについて任意に設定した規定連続回数Ｍを超過したか否かの判定を行う（Ｓ１０５）。判定の結果、連続回数が規定連続回数Ｍを超過した場合には、リクエスト監視部２は、そのリクエストの発生履歴カウンタを１値インクリメントする（Ｓ１０６）。
【００４５】
発生履歴カウンタが１値インクリメントされた後に、リクエスト監視部２は、リクエストの発生履歴判定において、発生履歴（発生回数）が、そのリクエストについて任意に設定した規定発生回数Ｎを超過したか否かの判定を行う（Ｓ１０７）。判定の結果、発生履歴（発生回数）が規定発生回数Ｎを超過した場合には、リクエスト監視部２は、そのリクエストは調停優位性を切り替える対象であるものと判定し、そのリクエスト種別をリクエスト読み出し部４へと通知する（Ｓ１０８）。
【００４６】
リクエスト緩衝バッファ３には、リクエストの書き込みが行われる（Ｓ２０１）。尚、リクエスト緩衝バッファ３には、リクエストの種別を含む、該当リクエストの全てのリクエスト情報が格納される。そして、リクエスト緩衝バッファ３に格納されたリクエストが、順次読み出される（Ｓ２０２）。リクエスト緩衝バッファ３は、一般に、調停論理などの手前に設けられる。リクエスト緩衝バッファ３は、リクエスト調停部５においてリクエスト停止が発生した場合に、後続のリクエストを格納する。
【００４７】
リクエスト読み出し部４は、リクエスト監視部２から通知された優位性の切り替えを契機として、リクエスト緩衝バッファ３から読み出したリクエストが優先リクエストであるか否かの判定を行う（Ｓ３０１）。判定の結果、リクエスト緩衝バッファ３から優先すべきリクエストを読み出した場合には、リクエスト読み出し部４は、調停優位性の重み付けテーブルを索引して（Ｓ３０２）、重み付けカウンタに設定すべき値を決定する（Ｓ３０３）。決定された重み付けカウンタの設定値は、リクエスト調停部５へと送出される。
【００４８】
リクエスト調停部５は、リクエスト調停部５から重み付けカウンタの設定値を受信する都度、流動的に調停時の重み付けカウンタに設定する（Ｓ４０１）。そして、リクエスト調停部５は、重み付けカウンタの値を用いて示されるリクエストの優位性に従って、調停を実行する（Ｓ４０２）。
【００４９】
以上説明したように、本実施の形態１に係る調停方法、調停装置、及びプロセッサは、リクエスト監視部２が、リクエストの連続性とその発生履歴を監視するレジスタを有している。そして、リクエスト読み出し部４が、リクエストの連続性とその発生履歴に関して、所望のリクエスト群を優先させるべき条件が成立した場合には、調停の優位性を決定するための重み付けの値を、重み付けテーブルから索引して決定する。重み付けテーブルから索引する重み付けの値は、リクエストの種別毎に任意に決定する。さらに、リクエスト読み出し部４は、決定した重み付けの値を、リクエストの調停参加に先駆けて、リクエスト調停部５へと設定する。このように、リクエストの種別毎に監視する連続回数や、重み付けのテーブル値を可変としていることで、リクエストの種別に応じて、柔軟で流動的かつ高い精度で、調停優位性を切り替えることが可能となる。
【００５０】
そして、本実施の形態１に係る調停方法、調停装置、及びプロセッサによれば、以下に説明するような効果を奏する。
まず、所望のリクエストに与える調停優位性を、リクエストの種別に応じて、柔軟に切り替えることができる点である。その理由は、リクエストの種別・連続性・発生履歴を入力情報として、調停の重み付けを決定するためである。
また、所望のリクエストに与える調停優位性を、流動的に切り替えることができる点である。その理由は、調停の重み付けを切り替える制御を、装置自身（ハードウェア自身）が動的に行うからである。
また、所望のリクエストに与える調停優位性を、細かい精度で切り替えることができる点である。その理由は、リクエスト単位で調停の重み付け値を可変としているからである。
また、調停優位性を切り替える操作において、性能の低下をもたらさない点である。その理由は、調停優位性を切り替えるための専用のリクエストを必要としないからである。
従って、本発明に係る調停方法、調停装置、及びプロセッサによれば、リクエストの種別に応じて、流動的かつ動的に調停の優先度を細かく切替えることができる。
【００５１】
さらに、本実施の形態１に係る調停方法、調停装置、及びプロセッサは、パスを通過した「リクエスト」の種別・連続回数・発生履歴を監視するレジスタを備えており、リクエストの連続性の監視をリクエスト種別毎に行っている。特許文献２に開示された技術はこのような構成を有していない。従って、本実施の形態１に係る調停方法、調停装置、及びプロセッサは、特許文献２に開示された技術と比較して、高い精度で調停優位性を切り替えることができる。
【００５２】
また、特許文献２に開示された技術と比較して、本実施の形態１に係る調停方法、調停装置、及びプロセッサは、リクエストの特性に応じて、流動的かつ動的にリクエストを通過させることができる。例えば、優先度の低いリクエストについては、監視対象外とする（図５に示した重み付けテーブルにおいて、重み付け値を設定する対象外とする）。この場合に、優先度の低いリクエストについては、該当パスの連続履歴がカウントアップされないために、調停優位性ポインタが自パスを向いている状態の比率が増加する。
【００５３】
さらに、本実施の形態１に係る調停方法、調停装置、及びプロセッサは、リクエストの種別・連続回数・発生履歴を監視するレジスタを備えており、かつ、これら監視する情報の相関に基づいて、調停優位性の動的な切り替えを行っている。特許文献３に開示された技術はこのような構成を有していない。従って、本実施の形態１に係る調停方法、調停装置、及びプロセッサは、特許文献３に開示された技術と比較して、調停において競合が発生した場合に、リクエストの連続回数だけでなく、リクエストの種別にも応じて、細かく重み付けを調停することができる。例えば、リクエストの連続回数が少なくても、リクエスト自体の優先度が高く設定されている場合には、調停に勝利させることができる。上述したように、リクエストの種別に応じて、流動的かつ動的に調停の優先度を細かく切り替えることができるという効果は大きな意義を有する。
【００５４】
その他の実施の形態．
上述した実施の形態においては、調停に参加する系が２つである場合を例に説明したが、本発明はこれに限定されない。すなわち、その基本的構成は上述した実施の形態と同様であるが、リクエスト調停部５に対して、３つ以上の系から入力される構成としてもよい。
【００５５】
また、上述した実施の形態においては、リクエスト監視部２とリクエスト読み出し部４との間にリクエスト緩衝バッファ３を備える構成を例に説明したが、リクエスト監視部２は、リクエスト緩衝バッファ３とリクエスト読み出し部４との間に位置する構成としてもよい。
【００５６】
尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００５７】
１  プロセッサ、
２、７  リクエスト監視部、
３、８  リクエスト緩衝バッファ、
４、９  リクエスト読み出し部、
５  リクエスト調停部、
６  調停優位性ポインタ、
２１、２２、２３、２４、２５  レジスタ、
２０１  デコード部、
２０２  比較部、
２０３  インクリメント部、
２０４  判定部、
２０５  インクリメント部、
２０６  判定部、
２０７  論理積部、
４１、４２  レジスタ、
４０１  比較部、
４０２  重み付けテーブル索引部、
５１、５２  レジスタ、
１０１  プロセッサ、
１０３、１０４  リクエスト緩衝バッファ、
１０５  リクエスト調停部、
１０６  調停優位性ポインタ、
【図１】
0005413098.tif 000002
【図２】
0005413098.tif 000003
【図３】
0005413098.tif 000004
【図４】
0005413098.tif 000005
【図５】
0005413098.tif 000006
【図６】
0005413098.tif 000007
【図７】
0005413098.tif 000008