(57)【要約】      （修正有）【課題】仮想割り込みサービスプロバイダのためのサービス要求割り込みルータを提供する。【解決手段】サービス要求割り込みルータは、複数の仮想ＩＳＰを有する割り込みサービスプロバイダ（ＩＳＰ）にマッピングされた割り込みコントローラと、各割り込み信号を対応するサービス要求に変換し、かつそれぞれ自身のサービス要求を複数の仮想ＩＳＰのうち１つに配向するように構成された複数のサービス要求ノード（ＳＲＮ）と、時間スライス方式で複数の仮想ＩＳＰ間の調停を行い、複数の仮想ＩＳＰのそれぞれに対しては、それぞれの仮想ＩＳＰに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成された調停装置と、を含む。【選択図】なし【特許請求の範囲】
【請求項１】
サービス要求割り込みルータであって、
複数の仮想ＩＳＰを有する割り込みサービスプロバイダ（ＩＳＰ）にマッピングされた割り込みコントローラと、
各割り込み信号を対応するサービス要求に変換し、かつそれぞれ、自身のサービス要求を前記複数の仮想ＩＳＰのうち１つに配向するように構成された複数のサービス要求ノード（ＳＲＮ）と、
時間スライス方式で前記複数の仮想ＩＳＰ間の調停を行い、前記複数の仮想ＩＳＰのそれぞれに対しては、前記それぞれの仮想ＩＳＰに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成された調停装置と、
を含むサービス要求割り込みルータ。
【請求項２】
前記サービス要求割り込みルータは、さらに、それぞれ複数のＩＳＰにマッピングされた複数の割り込みコントローラを含み、
前記複数のＳＲＮのそれぞれは、自身のサービス要求を、複数のＩＳＰのうち１つに、また複数のＩＳＰのうち１つが複数の仮想ＩＳＰを有する場合には前記複数の仮想ＩＳＰのうち１つに配向するように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項３】
前記サービス要求割り込みルータは、さらに、前記複数の割り込みコントローラのそれぞれに割り当てられた専用の調停装置を含む、
請求項２記載のサービス要求割り込みルータ。
【請求項４】
前記サービス要求割り込みルータは、さらに、調停装置を含み、
前記調停装置は、前記複数の割り込みコントローラによって共有され、時間スライス方式で前記複数のＩＳＰおよびその仮想ＩＳＰ間の調停を行い、前記複数のＩＳＰおよび仮想ＩＳＰのそれぞれに対しては、前記それぞれのＩＳＰおよび仮想ＩＳＰに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成されている、
請求項２記載のサービス要求割り込みルータ。
【請求項５】
前記調停装置は、逐次シーケンスで、保留中のサービス要求を有するＩＳＰおよび仮想ＩＳＰのみの間の調停を行うように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項６】
前記複数の仮想ＩＳＰのうち少なくとも１つは、仮想マシンモニタ（ＶＭＭ）またはハイパーバイザである、
請求項１記載のサービス要求割り込みルータ。
【請求項７】
前記複数の仮想ＩＳＰのうち少なくとも１つは、仮想マシン（ＶＭ）である、
請求項１記載のサービス要求割り込みルータ。
【請求項８】
前記調停装置は、逐次シーケンスで、前記複数の仮想ＩＳＰの間の調停を行うように構成されている、
請求項７記載のサービス要求割り込みルータ。
【請求項９】
前記調停装置は、逐次シーケンスで、前記複数の仮想ＩＳＰの全ての間の調停を行うように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項１０】
前記調停装置は、逐次シーケンスで、保留中のサービス要求を有する仮想ＩＳＰのみの間の調停を行うように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項１１】
前記ＩＳＰは、仮想マシンモニタ（ＶＭＭ）サポートを有する中央処理ユニット（ＣＰＵ）である、
請求項１記載のサービス要求割り込みルータ。
【請求項１２】
前記ＩＳＰは、ダイレクトメモリアクセス（ＤＭＡ）である、
請求項１記載のサービス要求割り込みルータ。
【請求項１３】
前記調停装置は、少なくとも１つのＳＲＮがリコンフィグレーションされること、少なくとも１つの仮想ＩＳＰが新たなサービス要求を有すること、少なくとも１つの仮想ＩＳＰがサービス要求を承認すること、および少なくとも１つの仮想ＩＳＰがイネーブル／ディスエーブルされることを含むグループから選択されるイベントが発生した場合にのみ、前記複数の仮想ＩＳＰの再調停を行うように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項１４】
前記サービス要求割り込みルータは、さらに、前記調停装置に対して並列に結合されたロックステップ調停装置を含み、
前記ロックステップ調停装置と前記調停装置とが異なる出力を供給する場合、前記調停装置および前記ロックステップ調停装置の少なくとも一方の誤りが検出される、
請求項１記載のサービス要求割り込みルータ。
【請求項１５】
前記サービス要求割り込みルータは、さらに、少なくとも２つのロックステップ調停装置を含み、前記少なくとも２つのロックステップ調停装置は、それぞれ前記調停装置に対して並列に結合されて設けられており、
前記調停装置および前記ロックステップ調停装置のうち少なくとも１つが異なる出力を供給する場合、特定多数決に基づいて誤りが検出される、
請求項１記載のサービス要求割り込みルータ。
【請求項１６】
前記調停装置は、複数のクロックサイクルにわたって複数の段に保留中のサービス要求を有する仮想ＩＳＰ間の調停を行うように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項１７】
前記割り込みコントローラは、マッピングされた、勝者であるサービス要求に関するＩＳＰ情報を報知するように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項１８】
前記勝者であるサービス要求に関する情報は、サービス要求優先順位番号（ＳＰＲＮ）および前記勝者であるサービス要求の配向先の仮想ＩＳＰを含む、
請求項１７記載のサービス要求割り込みルータ。
【請求項１９】
前記情報は、さらに、関連するＳＲＮのインデクス番号または誤り検出符号（ＥＤＣ）情報を含む、
請求項１８記載のサービス要求割り込みルータ。
【請求項２０】
システムオンチップであって、
請求項１記載のサービス要求割り込みルータと、
複数の仮想ＩＳＰを有するＩＳＰと、
を含み、
前記複数の仮想ＩＳＰは、仮想マシンモニタ（ＶＭＭ）および少なくとも１つの仮想マシン（ＶＭ）を含む、
システムオンチップ。
【請求項２１】
前記調停装置は、前記複数の仮想ＩＳＰのうち少なくとも１つに対し、優先順位に基づいて調停を行うように構成されている、
請求項１記載のサービス要求割り込みルータ。
【請求項２２】
前記複数の仮想ＩＳＰのうち優先される少なくとも１つの仮想ＩＳＰは、仮想マシンモニタ（ＶＭＭ）またはスーパーバイザである、
請求項２１記載のサービス要求割り込みルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
サービス要求割り込みルータ（ＩＲ）とは、オンチップリソースと割り込みサービスプロバイダ（ＩＳＰ）との間のインタフェースである。動作中、オンチップリソースは、サービス要求割り込み信号をＩＲに送信する。ＩＲは、制御情報、例えば優先順位およびＩＳＰの割り当てを追加することにより、割り込み信号をＩＳＰのためのサービス要求に変換し、各ＩＳＰに対し、割り当てられた優先順位に基づいて、各ＩＳＰにマッピングされた保留中のサービス要求間の調停を行う。ついで、各ＩＳＰがサービス要求に応答する。ＩＳＰは、例えば、中央処理ユニット（ＣＰＵ）またはダイレクトメモリアクセス（ＤＭＡ）であってよい。
【図面の簡単な説明】
【０００２】
【図１】本開示の一態様による、サービス要求割り込みルータ（ＩＲ）を備えた調停システムを示す概略図である。
【図２】本開示の一態様による、制御レジスタを含むサービス要求ノード（ＳＲＮ）を示す図である。
【図３】Ａ，Ｂとも、本開示の一態様による、割り込みコントローラ（ＩＣ）が中央処理ユニット（ＣＰＵ）とサービス要求（ＳＲ）シーケンスを調整するシステムを示す図である。
【図４】本開示の一態様による、割り込みサービスプロバイダ（ＩＳＰ）の提供のための３つのパイプライン段を有する調停装置を含むサービス要求割り込みルータ（ＩＲ）を備えたシステムを示す図である。
【図５】本開示の一態様による、３つの仮想割り込みサービスプロバイダ（ｖＩＳＰ）によって共有される調停装置の調停シーケンスのパイプライン段を示す図である。
【図６】本開示の一態様による、２つの中央処理ユニットすなわちＣＰＵ０（ＶＭ０，ＶＭ２）およびＣＰＵ１（ＶＭ０，ＶＭ１）のための保留中のサービス要求（ＳＲ）を有する共有のシーケンスを含む、調停装置Ａｒｂの調停シーケンス６００のパイプライン段を示す図である。
【図７】本開示の一態様による、サービス要求割り込み信号を調停する方法を示すフローチャートである。
【発明を実施するための形態】
【０００３】
本開示は、１つの割り込みコントローラ、複数のサービス要求ノード（ＳＲＮ）および１つの調停装置を含むサービス要求割り込みルータ（ＩＲ）に関する。割り込みコントローラは、複数の仮想ＩＳＰを有する１つの割り込みサービスプロバイダ（ＩＳＰ）にマッピングされている。複数のＳＲＮは、各割り込み信号を対応するサービス要求に変換し、かつそれぞれ、自身のサービス要求を複数の仮想ＩＳＰのうち１つに配向するように構成されている。調停装置は、時間スライス方式で複数の仮想ＩＳＰ間の調停を行い、複数の仮想ＩＳＰのそれぞれに対しては、これらに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成されている。したがって、単独の調停装置によって複数の仮想ＩＳＰの調停を行うことができる。
【０００４】
図１には、本開示の一態様による、サービス要求割り込みルータ（ＩＲ）１１０を備えたシステムオンチップ（ＳｏＣ）であってよいシステム１００の概略図が示されている。
【０００５】
ＩＲ１１０は、１つもしくは複数のサービス要求ノードＳＲＮ０〜ＳＲＮｍ、１つもしくは複数の調停装置Ａｒｂ１〜Ａｒｂｖおよび１つもしくは複数の割り込みコントローラＩＣ０〜ＩＣｎを含む。ＩＲ１１０が実行可能なタスクは、例えば保留中のサービス要求割り込み信号を有するサービス要求ノードＳＲＮ０〜ＳＲＮｍ間での優先順位の割り当て、割り込みコントローラＩＣ０〜ＩＣｎへのサービス要求ノードＳＲＮ０〜ＳＲＮｍの割り当て、および同じ割り込みサービスプロバイダ（ＩＳＰ）に割り当てられたサービス要求ノードＳＲＮ０〜ＳＲＮｍ間の調停を含む。
【０００６】
割り込みコントローラ（ＩＣ）は、複数の割り込み源を１つもしくは複数のラインに結合する装置である。各割り込みサービスプロバイダ（ＩＳＰ）のそれぞれにマッピングされた１つずつの専用の割り込みコントローラＩＣ０〜ＩＣｎが存在しており、これらはサービス要求を実行するオンチップリソースである。ＩＳＰは、中央処理ユニット（ＣＰＵ）またはダイレクトメモリアクセス（ＤＭＡ）であってよい。ＣＰＵはハイパーバイザサポートを有し、それぞれ自身のオペレーティングシステムを有する仮想ＣＰＵである複数の仮想マシン（ＶＭ）を実行することができる。さらに、当該ＣＰＵは、ＶＭをスケジューリングする仮想マシンモニタ（ＶＭＭ、ハイパーバイザとしても知られる）を実行する。各ＶＭおよびＶＭＭは独立のＩＳＰであり、ＩＲは、ＶＭおよびＶＭＭのそれぞれに対し、独立にまたは並列に、保留中のサービス要求全ての間の調停を行う。ＩＲには、適正なスケジューリングのために、各ＶＭおよびＶＭＭに対して最高優先順位を有するサービス要求が既知とならなければならない。
【０００７】
各サービス要求割り込み信号ＩＳ０〜ＩＳｍに対してサービス要求ノードＳＲＮ０〜ＳＲＮｍが存在している。サービス要求ノードＳＲＮ０〜ＳＲＮｍは、各サービス要求割り込み信号ＩＳ０〜ＩＳｍを、割り込みとしても知られる、対応するサービス要求に変換するように構成されている。各サービス要求ノードＳＲＮ０〜ＳＲＮｍは、サービス要求制御レジスタを含み、例えばサービス要求優先順位番号（ＳＲＰＮ）およびサービスタイプ（ＴＯＳ）を考慮してコンフィグレーション可能である。ＳＲＰＮは、仮想ＩＳＰ（すなわちＶＭＭまたはＶＭ）に対するサービス要求の優先順位を定めるレジスタビットによって規定されている。ＴＯＳレジスタビットは、サービス要求ノードＳＲＮ０〜ＳＲＮｍを特定の割り込みコントローラＩＣ０〜ＩＣｎにマッピングし、例えば０のＴＯＳは割り込みコントローラＩＣ０にマッピングされる。サービス要求ノードＳＲＮ０〜ＳＲＮｍのそれぞれは、自身のサービス要求を、複数の仮想ＩＳＰ（すなわちＶＭＭまたはＶＭ）のうち１つへ配向するように構成可能である。
【０００８】
調停装置Ａｒｂ１〜Ａｒｂｖは、それぞれ、時間スライス方式でハードウェアＩＳＰ（ＣＰＵまたはＤＭＡ）および仮想ＩＳＰ（ＶＭまたはＶＭＭ）間の調停を行い、ハードウェアＩＳＰまたは仮想ＩＳＰのそれぞれに対しては、これらに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成されている。時間スライス方式とは、時間多重シーケンスまたはラウンドロビン方式としても知られている。一態様では、調停装置Ａｒｂ１〜Ａｒｂｖは、逐次シーケンスで、保留中のサービス要求を有するＩＳＰおよび仮想ＩＳＰのみの間の調停を行うように構成可能である。他の態様では、調停装置Ａｒｂ１〜Ａｒｂｖは、逐次シーケンスで、保留中のサービス要求が存在するか否かにかかわらず、仮想ＩＳＰ全ての間の調停を行うように構成可能である。
【０００９】
サービス要求割り込みルータ（ＩＲ）１１０の面積を低減するために、複数の割り込みコントローラＩＣ間で１つの調停装置を共有する、共有の調停装置Ａｒｂを構成可能である。例えば、図１の調停装置Ａｒｂ１は割り込みコントローラＩＣ０，ＩＣ１によって共有されており、これにより、時間スライス方式で複数のＩＳＰおよびその仮想ＩＳＰ間の調停が行われ、ＩＳＰおよび仮想ＩＳＰのそれぞれに対しては、これらに配向されたサービス要求のどれが最高優先順位を有するか、つまりどのサービス要求が当該調停の「勝者」となるかの調停が行われる。
【００１０】
代替的に、調停装置Ａｒｂは、割り込みコントローラＩＣ０〜ＩＣｎのうち１つに専用に割り当てることもできる。例えば、調停装置Ａｒｂ２は割り込みコントローラＩＣ２に専用に割り当てられており、調停装置Ａｒｂｖは割り込みコントローラＩＣｎに専用に割り当てられている。
【００１１】
動作中、ＩＲ１１０がサービス要求割り込み信号ＩＳ０〜ＩＳｍを各サービス要求ノードＳＲＮ０〜ＳＲＮｍで受信すると、これらのサービス要求ノードＳＲＮ０〜ＳＲＮｍは、サービス要求を提供する割り込みコントローラＩＣ０〜ＩＣｎおよびこれに関連するＩＳＰ（ＣＰＵ０〜ＣＰＵ２，…，ＤＭＡ，ＶＭＭｘ，ＶＭｙ）にマッピングされる。各調停装置Ａｒｂは、時間スライス方式で仮想ＩＳＰ間の調停を行い、仮想ＩＳＰのそれぞれに対しては、これらに配向されたサービス要求（ＳＲ）のうちどれが最高優先順位を有するかの調停を行う。各割り込みコントローラＩＣは、ＳＲ信号によって、どのＳＲが当該調停ラウンドの勝者であるかを、関連する仮想ＩＳＰに報知する。準備が完了すると、ＩＳＰまたは仮想ＩＳＰは、割り込みコントローラＩＣに肯定応答信号（ＡＣＫ）によって応答し、ついでＳＲを提供する。ＩＳＰソフトウェアには、ＳＲＰＮおよびＴＯＳに基づいてＳＲの提供が既知となる。
【００１２】
図２には、本開示の一態様による、サービス要求制御レジスタ（ＳＲＣＲ）を含むサービス要求ノード（ＳＲＮ）２００が示されている。
【００１３】
サービス要求制御レジスタ（ＳＲＣＲ）は、ＳＲの優先順位およびハードウェアＩＳＰ（ＣＰＵまたはＤＭＡ）または仮想ＩＳＰの割り当てのコンフィグレーションに用いられる。より詳細には、各ＳＲＮ２００は、ＳＲの優先順位およびサービスタイプ（ＴＯＳ）を考慮してコンフィグレーション可能である。ＳＲの優先順位は、サービス要求優先順位番号（ＳＲＰＮ）を含むことができる。ＴＯＳは、どの割り込みコントローラＩＣにサービス要求ノードＳＲＮがマッピングされるか、例えばＴＯＳ０がＩＣ０にマッピングされることおよびＴＯＳ１がＩＣ１にマッピングされることを規定する。
【００１４】
図示の例のＳＲＣＲは３２ビットを有するが、本開示はこれに限定されない。セットビット／クリアビットは、サービス要求ノードＳＲＮのトリガ／クリアに用いられる。オーバフロービットは、ＳＲの保留中に新たな割り込みが生じたことを表す。イネーブルビット／ディスエーブルビットは、サービス要求ノードＳＲＮをイネーブル／ディスエーブルする。ステータスビットは、ＳＲが保留されている（例えば「１」にセットされている）ことまたは保留されていない（例えば「０」にセットされている）ことを表す。スティッキービットは、サービス要求ノードＳＲＮがセットビット／クリアビットによって修正されたことを表す。
【００１５】
図３のＡ，Ｂには、本開示の一態様による、割り込みコントローラ（ＩＣ）３１０が中央処理ユニット（ＣＰＵｘ）３２０とサービス要求（ＳＲ）のシーケンスを調整するシステム３００が示されている。ＣＰＵ３２０は、１つの仮想マシンマネージャ（ＶＭＭ）および３つの仮想マシン（ＶＭ０，ＶＭ１，ＶＭ２）を含む。ＶＭ０，ＶＭ２に対する保留中のサービス要求が存在しており、しばらく後、図３のＢに示されている時点では、ＶＭ１に対する新たなサービス要求が保留されている。
【００１６】
図３のＡには、調停装置Ａｒｂが固定の逐次シーケンスで仮想ＩＳＰ全ての間の調停を行うように構成されたシーケンスが示されている。したがって、当該調停シーケンスは、ＶＭＭ，ＶＭ０，ＶＭ１，ＶＭ２，ＶＭＭ，ＶＭ０，ＶＭ１，ＶＭ２，…となっている。初期的にはＶＭ０，ＶＭ２のみに対するサービス要求しか保留されていないが、調停装置Ａｒｂは、仮想ＩＳＰの全て、すなわちＶＭＭ，ＶＭ０，ＶＭ１，ＶＭ２間の調停を行う。ＶＭＭまたはＶＭに対してサービス要求が保留されていない場合、シーケンスにおける対応するスロットは空いている。
【００１７】
図３のＢには、調停装置Ａｒｂが保留中のサービス要求を有する仮想ＩＳＰのみの間で調停を行うように構成されたシーケンスが示されている。これにより待ち時間が低減される。したがって、当該調停シーケンスは、ＶＭ０，ＶＭ２，ＶＭ０，ＶＭ２，ＶＭ０，ＶＭ２，ＶＭ０，ＶＭ１，ＶＭ２…となっている。このケースでは、調停装置Ａｒｂは、初期的にはＶＭ０，ＶＭ２のみの間で調停を行うが、所定の時間後、ＶＭ１に対する追加のサービス要求が追加されると、ＶＭ１を含めた調停を行うようになる。当該シーケンスには、サービス要求が保留されていない仮想ＩＳＰは含まれない。
【００１８】
図４には、本開示の一態様による、ＩＳＰ４２０を提供する３つのパイプライン段を有する調停装置を含むＩＲ４１０を備えたシステム４００が示されている。
【００１９】
ＩＲ４１０は、２つの中央処理ユニットＣＰＵ０，ＣＰＵ１およびそのＶＭＭ，ＶＭの間で共有される調停装置を有する。各ＣＰＵ０，ＣＰＵ１は、ＶＭＭ，ＶＭ０，ＶＭ１，ＶＭ２を含む。
【００２０】
調停装置Ａｒｂは、図１に示されている調停装置Ａｒｂ１と等価であるが、これには、保留中のＳＲを有する多数のサービス要求ノードＳＲＮ０〜ＳＲＮｍを良好に管理するためのパイプライン段が構成されている。１つのパイプライン段は１サイクルと等価であり、この例では、各調停ラウンドが３サイクルを有する。
【００２１】
調停装置Ａｒｂは、どのサービス要求ノードＳＲＮ０〜ＳＲＮ９が割り込みコントローラＩＣ０，ＩＣ１にマッピングされているかを識別する。より詳細には、ＩＣ０に仮想ＩＳＰ（ＶＭＭ，ＶＭ０，ＶＭ１，ＶＭ２）がマッピングされており、ＩＣ１に仮想ＩＳＰ（ＶＭＭ，ＶＭ０，ＶＭ１，ＶＭ２）がマッピングされている。ついで、調停装置Ａｒｂは、各仮想ＩＳＰに対し、どのサービス要求ノードＳＲＮが最高優先順位を有するか、つまりどのサービス要求ノードＳＲＮが当該調停ラウンドの「勝者」であるかを判定する。ここでの調停は、物理的制約のため、複数のシステムにおいて１サイクルでは達成されない。よって、この例での調停装置Ａｒｂは、各仮想ＩＳＰに対し、上述したように、時間多重シーケンスを用いた３つのパイプライン段として構成されている。
【００２２】
割り込みコントローラＩＣ０，ＩＣ１のそれぞれは、勝者であるサービス要求ノードＳＲＮのためのサービス要求（ＳＲ）を、段３から関連する仮想割り込みサービスプロバイダＩＳＰへ送信する。仮想ＩＳＰは、ＳＲを承認できるようになるまでに幾らかの時間を要することがある。仮想ＩＳＰの準備が完了すると、この仮想ＩＳＰは、肯定応答信号ＡＣＫによって割り込みコントローラＩＣ０またはＩＣ１に応答する。ついで割り込みコントローラＩＣ０またはＩＣ１は、ＳＲおよび関連するサービス要求ノードＳＲＮをクリアし、ＳＲはもはや保留中ではなくなる。ＳＲ，ＡＣＫは、インデクス番号およびＳＲＰＮを用いて、サービス要求ノードＳＲＮを識別する。
【００２３】
図４には３段のパイプライン構成が示されているが、本開示はこれに限定されない。任意の数の段を適切に設けることができる。
【００２４】
図５には、本開示の一態様による、同じＣＰＵ２の３つの仮想ＩＳＰによって共有される調停装置Ａｒｂ２のための調停シーケンス５００のパイプライン段が示されている。
【００２５】
パイプラインは、図示されているようにそれぞれ水平方向の３つの行として、３つの段または３つのサイクルを有する。段１〜３は、図４に示されている調停シーケンス段と等価である。各サイクルの段１は、種々の仮想ＩＳＰ（ＶＭ０，ＶＭ１，ＶＭ２）に切り替え可能である。第１のサイクルでは、調停装置Ａｒｂ２がＶＭ０に対する調停ラウンドを開始する。第２のサイクルでは、調停装置Ａｒｂ２がＶＭ２に対する新たな調停ラウンドの段１のパイプライン入力を開始し、その間、ＶＭ０に対する第１の調停ラウンドは段２で行われる。第３のサイクルでは、調停装置Ａｒｂ２が、段３で、第１の調停ラウンドの勝者であるサービス要求ノードＳＲＮを判定する。調停装置Ａｒｂ２がＶＭ２に対する調停ラウンドを開始し、ＶＭ０に対する調停ラウンドを保留している場合、調停装置Ａｒｂ２は、上述したように、時間多重方式で仮想ＩＳＰの調停を行う。また、調停装置Ａｒｂ２がＶＭ１に対する調停ラウンドを開始し、ＶＭ０，ＶＭ２に対する調停ラウンドを保留している場合、調停装置Ａｒｂ１は、上述したように、時間多重方式で仮想ＩＳＰの調停を行う。
【００２６】
図６には、本開示の一態様による、２つの中央処理ユニット（ＣＰＵ０，ＣＰＵ１）およびその仮想ＩＳＰ（ＣＰＵ０．ＶＭ０，ＣＰＵ０．ＶＭ２，ＣＰＵ１．ＶＭ０，ＣＰＵ１．ＶＭ１）のための保留中のサービス要求（ＳＲ）を有する共有のシーケンスを含む、調停装置Ａｒｂ１の調停シーケンス６００のパイプライン段が示されている。
【００２７】
調停装置Ａｒｂ１は、ＣＰＵ０．ＶＭ０に対する保留中のサービス要求（ＳＲ）を有するサービス要求ノードＳＲＮ間の調停の段１を開始し、この調停は上述したように各パイプライン段を移行していく。ついで、調停装置Ａｒｂ１は、ＣＰＵ１．ＶＭ０に対する保留中のサービス要求割り込み信号を有するサービス要求ノードＳＲＮ間の調停の段１を開始し、この調停も３つの段を移行していく。同様に、調停装置Ａｒｂは、ＣＰＵ０．ＶＭ２に対する保留中のサービス要求割り込み信号を有するサービス要求ノードＳＲＮ間の調停の段１を開始し、この調停も３つの段を移行していく。さらに、段２で段１の勝者であるサービス要求ノードＳＲＮ間の調停が行われ、段３で段２の勝者であるサービス要求ノードＳＲＮ間の調停が行われ、段３の端で、関連する仮想ＩＳＰに対する最高優先順位を有するサービス要求ノードＳＲＮが、割り込みコントローラＩＣのＳＲ送信により、関連する仮想ＩＳＰに明らかとなる。なお、当該調停は、時間多重シーケンスで実行可能である。
【００２８】
優先順位ベースの調停を実行可能である。言い換えれば、調停装置Ａｒｂは、１つの仮想ＩＳＰに他に優る優先順位を供給することができる。当該優先順位は、保留中のＳＲに依存していてもよいし、またはこれから独立であってもよい。例えば、優先される１つの仮想ＩＳＰがＶＭＭである場合、調停装置Ａｒｂによって開始される次の調停ラウンドは、ＶＭＭに対するものとなる。優先された当該ＶＭＭが保留中の１つもしくは複数のＳＲを有するサービス要求ノードＳＲＮにマッピングされていない場合、調停装置Ａｒｂは、他の非優先の仮想ＩＳＰ、例えばＶＭに対して、上述したように時間多重シーケンスで調停を行う。
【００２９】
イベントドリブンの再調停も実行可能である。調停装置Ａｒｂは、調停ラウンドの新たな勝者を生じさせうるイベントが検出された場合にのみ、仮想ＩＳＰ間の再調停を行うように構成可能である。既に調停が行われた同じＳＲ間に競合が生じた場合には、既に勝者が既知であるので、再調停は必要ない。このように新たなイベントが生じないかぎり再調停が行われないことにより、大幅なパワー節約が可能となる。こうしたイベントの例として、少なくとも１つのＳＲＮのリコンフィグレーション、少なくとも１つの仮想ＩＳＰの新たなＳＲ所有、少なくとも１つの仮想ＩＳＰのＳＲ承認、または少なくとも１つの仮想ＩＳＰのイネーブル／ディスエーブルが含まれる。もちろん、本開示はこうした例に限定されない。再調停は、調停ラウンドの新たな勝者を生じさせうる任意のイベントによってトリガ可能である。
【００３０】
図７には、本開示の一態様による、サービス要求割り込み信号を調停する方法のフローチャート７００が示されている。
【００３１】
最初に、ステップ７１０で、サービス要求（ＳＲ）が割り込みコントローラＩＣ０〜ＩＣｎ、より詳細には仮想ＩＳＰにマッピングされる。
【００３２】
ステップ７２０で、調停装置Ａｒｂは、仮想ＩＳＰ間の調停を行い、仮想ＩＳＰのそれぞれに対しては、これらに配向されたＳＲのうちどれが最高優先順位を有するかの調停を行う。上述したように、当該調停は、時間多重シーケンスで、フレキシブルにまたは固定に実行可能である。
【００３３】
任意の手段として、ロックステップ調停を実行し、調停装置Ａｒｂ内の誤りを監視することもできる。より詳細には、（図示されていない）ロックステップ調停装置が調停装置Ａｒｂに対して並列に結合されている。ステップ７３０で、ロックステップ調停が上記調停と並列に実行され、ロックステップ調停装置および調停装置Ａｒｂの双方が同時に同じ入力を受信する。ロックステップ調停装置および調停装置Ａｒｂが同じクロックサイクルで同じ出力を供給しない場合、ステップ７４０で、誤りが検出される。当該誤りは調停装置Ａｒｂ内かつ／またはロックステップ調停装置内で生じたものでありうる。こうしたロックステップ調停は、一般に、安全性にとって重要と考えられる仮想ＩＳＰの調停を行う調停装置Ａｒｂに用いられる。ロックステップ調停装置は実質的には調停装置Ａｒｂの複製であるので、本開示において個別の詳細な説明は不要とする。代替的に、ロックステップ調停装置は、安全性検査のロバスト性を高めるため、上記調停装置に対して相違していてよい。
【００３４】
さらに任意の手段として、特定多数決をともなうトリプルロックステップ調停を実行し、調停装置Ａｒｂ内の誤りを監視することもできる。より詳細には、（図示されていない）第１のロックステップ調停装置および第２のロックステップ調停装置のそれぞれが、調停装置Ａｒｂに対して並列に結合されている。ステップ７５０で、第１のロックステップ調停および第２のロックステップ調停のそれぞれが上記調停と並列に実行され、第１のロックステップ調停装置および第２のロックステップ調停装置ならびに調停装置Ａｒｂのそれぞれが同時に同じ入力を受信する。第１のロックステップ調停装置および第２のロックステップ調停装置ならびに調停装置Ａｒｂのいずれかが同じクロックサイクルで同じ出力を供給しない場合、ステップ７６０で、誤りが検出される。当該誤りは、調停装置Ａｒｂ内ならびに第１のロックステップ調停装置内および第２のロックステップ調停装置内のいずれかで生じたものでありうる。ステップ７７０で、３つの出力のうち同じ出力を有する２つが正しいと見なされ、異なる出力を有する調停装置が誤りを有すると見なされる。こうしたトリプルロックステップ調停は、一般に、安全性にとって重要と考えられる仮想ＩＳＰを調停する調停装置Ａｒｂに用いられる。２つのロックステップ調停装置のそれぞれは実質的に調停装置Ａｒｂの複製であるので、本開示において個別の詳細な説明は不要とする。代替的に、調停装置および２つのロックステップ調停装置は、安全性検査のロバスト性を高めるため、相互に相違していてよい。
【００３５】
複数のＶＭおよび１つのＶＭＭを有するＣＰＵに共有される調停装置により、説明したように、ルーティングの複雑性が低減され、チップ面積が低減され、さらに電力消費が低減される。
【００３６】
特定の態様を図示して説明したが、当該分野の通常の能力を有する者であれば、本開示の観点から逸脱することなく、種々の代替構成および／または等価構成を図示および説明した特定の実施形態と置換することができる。本開示は、説明した特定の態様の任意の適用形態または変更形態をカバーすることを意図している。
【図１】
2019126034.tif 000002
【図２】
2019126034.tif 000003
【図３】
2019126034.tif 000004
【図４】
2019126034.tif 000005
【図５】
2019126034.tif 000006
【図６】
2019126034.tif 000007
【図７】
2019126034.tif 000008
【外国語明細書】
2019126034.tif 000009
2019126034.tif 000010
2019126034.tif 000011
2019126034.tif 000012
2019126034.tif 000013
2019126034.tif 000014
2019126034.tif 000015
2019126034.tif 000016
2019126034.tif 000017
2019126034.tif 000018
2019126034.tif 000019
2019126034.tif 000020
2019126034.tif 000021
2019126034.tif 000022
2019126034.tif 000023
2019126034.tif 000024
2019126034.tif 000025
2019126034.tif 000026
2019126034.tif 000027
2019126034.tif 000028
2019126034.tif 000029