IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インフィネオン テクノロジーズ アクチエンゲゼルシャフトの特許一覧

特許7233932仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ
<>
  • 特許-仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ 図1
  • 特許-仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ 図2
  • 特許-仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ 図3
  • 特許-仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ 図4
  • 特許-仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ 図5
  • 特許-仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ 図6
  • 特許-仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-27
(45)【発行日】2023-03-07
(54)【発明の名称】仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ
(51)【国際特許分類】
   H04L 47/6275 20220101AFI20230228BHJP
   H04L 12/46 20060101ALI20230228BHJP
   H04L 41/0895 20220101ALI20230228BHJP
   H04L 47/80 20220101ALI20230228BHJP
【FI】
H04L47/6275
H04L12/46 100R
H04L41/0895
H04L47/80
【請求項の数】 19
【外国語出願】
(21)【出願番号】P 2019004437
(22)【出願日】2019-01-15
(65)【公開番号】P2019126034
(43)【公開日】2019-07-25
【審査請求日】2021-04-13
(31)【優先権主張番号】15/872,216
(32)【優先日】2018-01-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】599158797
【氏名又は名称】インフィニオン テクノロジーズ アクチエンゲゼルシャフト
【氏名又は名称原語表記】Infineon Technologies AG
【住所又は居所原語表記】Am Campeon 1-15, 85579 Neubiberg, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100165940
【弁理士】
【氏名又は名称】大谷 令子
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【弁理士】
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】グレン アシュリー ファラル
(72)【発明者】
【氏名】フランク ヘルヴィヒ
(72)【発明者】
【氏名】ゲアハート ヴィラー
【審査官】佐々木 洋
(56)【参考文献】
【文献】米国特許出願公開第2015/0286596(US,A1)
【文献】特開2007-183951(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 47/6275
H04L 12/46
H04L 41/0895
H04L 47/80
(57)【特許請求の範囲】
【請求項1】
サービス要求割り込みルータであって、
前記サービス要求割り込みルータは、複数の割り込みコントローラと、複数のサービス要求ノード(SRN)と、調停装置と、を含み、
各割り込みコントローラは、それぞれの中央処理ユニット(CPU)またはダイレクトメモリアクセス(DMA)にマッピングされ、各CPUまたはDMAは、1つまたは複数の仮想割り込みサービスプロバイダ(ISP)を有し、
前記複数のサービス要求ノード(SRN)は、それぞれの割り込み信号を対応するサービス要求に変換するように構成され、前記SRNの各々は、自身のサービス要求を前記複数の仮想ISPのうち1つに配向するように構成され、
前記調停装置は、時間スライス方式で前記複数の仮想ISP間の調停を行い、前記複数の仮想ISPのそれぞれに対しては、前記それぞれの仮想ISPに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成され、
前記複数のSRNのそれぞれは、自身のサービス要求を、複数のCPUまたはDMAのうち1つに、また複数のCPUまたはDMAのうち1つが複数の仮想ISPを有する場合には前記複数の仮想ISPのうち1つに配向するように構成され、
それぞれのCPUまたはDMAにマッピングされ各割り込みコントローラは、前記それぞれのCPUまたはDMAの各仮想ISPのための割り込み要求を処理する、
サービス要求割り込みルータ。
【請求項2】
前記サービス要求割り込みルータは、さらに、前記複数の割り込みコントローラのそれぞれに割り当てられた専用の調停装置を含む、
請求項1記載のサービス要求割り込みルータ。
【請求項3】
前記サービス要求割り込みルータは、さらに、調停装置を含み、
前記調停装置は、前記複数の割り込みコントローラによって共有され、時間スライス方式で複数のISPおよびその仮想ISP間の調停を行い、前記複数のISPおよび仮想ISPのそれぞれに対しては、前記それぞれのISPおよび仮想ISPに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項4】
前記調停装置は、逐次シーケンスで、保留中のサービス要求を有するISPおよび仮想ISPのみの間の調停を行うように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項5】
前記複数の仮想ISPのうち少なくとも1つは、仮想マシンモニタ(VMM)またはハイパーバイザである、
請求項1記載のサービス要求割り込みルータ。
【請求項6】
前記複数の仮想ISPのうち少なくとも1つは、仮想マシン(VM)である、
請求項1記載のサービス要求割り込みルータ。
【請求項7】
前記調停装置は、逐次シーケンスで、前記複数の仮想ISPの間の調停を行うように構成されている、
請求項6記載のサービス要求割り込みルータ。
【請求項8】
前記調停装置は、逐次シーケンスで、前記複数の仮想ISPの全ての間の調停を行うように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項9】
前記調停装置は、逐次シーケンスで、保留中のサービス要求を有する仮想ISPのみの間の調停を行うように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項10】
前記調停装置は、少なくとも1つのSRNがリコンフィグレーションされること、少なくとも1つの仮想ISPが新たなサービス要求を有すること、少なくとも1つの仮想ISPがサービス要求を承認すること、および少なくとも1つの仮想ISPがイネーブル/ディスエーブルされることを含むグループから選択されるイベントが発生した場合にのみ、前記複数の仮想ISPの再調停を行うように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項11】
前記サービス要求割り込みルータは、さらに、前記調停装置に対して並列に結合されたロックステップ調停装置を含み、
前記ロックステップ調停装置と前記調停装置とが異なる出力を供給する場合、前記調停装置および前記ロックステップ調停装置の少なくとも一方の誤りが検出される、
請求項1記載のサービス要求割り込みルータ。
【請求項12】
前記サービス要求割り込みルータは、さらに、少なくとも2つのロックステップ調停装置を含み、前記少なくとも2つのロックステップ調停装置は、それぞれ前記調停装置に対して並列に結合されて設けられており、
前記調停装置および前記ロックステップ調停装置のうち少なくとも1つが異なる出力を供給する場合、特定多数決に基づいて誤りが検出される、
請求項1記載のサービス要求割り込みルータ。
【請求項13】
前記調停装置は、複数のクロックサイクルにわたって複数の段に保留中のサービス要求を有する仮想ISP間の調停を行うように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項14】
前記割り込みコントローラは、マッピングされた、勝者であるサービス要求に関するISP情報を報知するように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項15】
前記勝者であるサービス要求に関する情報は、サービス要求優先順位番号(SRPN)および前記勝者であるサービス要求が配向される仮想ISPを含む、
請求項14記載のサービス要求割り込みルータ。
【請求項16】
前記情報は、さらに、関連するSRNのインデクス番号を含む、
請求項15記載のサービス要求割り込みルータ。
【請求項17】
前記調停装置は、前記複数の仮想ISPのうち少なくとも1つに対し、優先順位に基づいて調停を行うように構成されている、
請求項1記載のサービス要求割り込みルータ。
【請求項18】
前記複数の仮想ISPのうち優先される少なくとも1つの仮想ISPは、仮想マシンモニタ(VMM)またはハイパーバイザである、
請求項17記載のサービス要求割り込みルータ。
【請求項19】
システムオンチップであって、
請求項1記載のサービス要求割り込みルータと、
複数の仮想ISPを有するISPと、
を含み、
前記複数の仮想ISPは、仮想マシンモニタ(VMM)および少なくとも1つの仮想マシン(VM)を含む、
システムオンチップ。
【発明の詳細な説明】
【技術分野】
【0001】
背景
サービス要求割り込みルータ(IR)とは、オンチップリソースと割り込みサービスプロバイダ(ISP)との間のインタフェースである。動作中、オンチップリソースは、サービス要求割り込み信号をIRに送信する。IRは、制御情報、例えば優先順位およびISPの割り当てを追加することにより、割り込み信号をISPのためのサービス要求に変換し、各ISPに対し、割り当てられた優先順位に基づいて、各ISPにマッピングされた保留中のサービス要求間の調停を行う。ついで、各ISPがサービス要求に応答する。ISPは、例えば、中央処理ユニット(CPU)またはダイレクトメモリアクセス(DMA)であってよい。
【図面の簡単な説明】
【0002】
図1】本開示の一態様による、サービス要求割り込みルータ(IR)を備えた調停システムを示す概略図である。
図2】本開示の一態様による、制御レジスタを含むサービス要求ノード(SRN)を示す図である。
図3】A,Bとも、本開示の一態様による、割り込みコントローラ(IC)が中央処理ユニット(CPU)とサービス要求(SR)シーケンスを調整するシステムを示す図である。
図4】本開示の一態様による、割り込みサービスプロバイダ(ISP)の提供のための3つのパイプライン段を有する調停装置を含むサービス要求割り込みルータ(IR)を備えたシステムを示す図である。
図5】本開示の一態様による、3つの仮想割り込みサービスプロバイダ(vISP)によって共有される調停装置の調停シーケンスのパイプライン段を示す図である。
図6】本開示の一態様による、2つの中央処理ユニットすなわちCPU0(VM0,VM2)およびCPU1(VM0,VM1)のための保留中のサービス要求(SR)を有する共有のシーケンスを含む、調停装置Arbの調停シーケンス600のパイプライン段を示す図である。
図7】本開示の一態様による、サービス要求割り込み信号を調停する方法を示すフローチャートである。
【発明を実施するための形態】
【0003】
本開示は、1つの割り込みコントローラ、複数のサービス要求ノード(SRN)および1つの調停装置を含むサービス要求割り込みルータ(IR)に関する。割り込みコントローラは、複数の仮想ISPを有する1つの割り込みサービスプロバイダ(ISP)にマッピングされている。複数のSRNは、各割り込み信号を対応するサービス要求に変換し、かつそれぞれ、自身のサービス要求を複数の仮想ISPのうち1つに配向するように構成されている。調停装置は、時間スライス方式で複数の仮想ISP間の調停を行い、複数の仮想ISPのそれぞれに対しては、これらに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成されている。したがって、単独の調停装置によって複数の仮想ISPの調停を行うことができる。
【0004】
図1には、本開示の一態様による、サービス要求割り込みルータ(IR)110を備えたシステムオンチップ(SoC)であってよいシステム100の概略図が示されている。
【0005】
IR110は、1つもしくは複数のサービス要求ノードSRN0~SRNm、1つもしくは複数の調停装置Arb1~Arbvおよび1つもしくは複数の割り込みコントローラIC0~ICnを含む。IR110が実行可能なタスクは、例えば保留中のサービス要求割り込み信号を有するサービス要求ノードSRN0~SRNm間での優先順位の割り当て、割り込みコントローラIC0~ICnへのサービス要求ノードSRN0~SRNmの割り当て、および同じ割り込みサービスプロバイダ(ISP)に割り当てられたサービス要求ノードSRN0~SRNm間の調停を含む。
【0006】
割り込みコントローラ(IC)は、複数の割り込み源を1つもしくは複数のラインに結合する装置である。各割り込みサービスプロバイダ(ISP)のそれぞれにマッピングされた1つずつの専用の割り込みコントローラIC0~ICnが存在しており、これらはサービス要求を実行するオンチップリソースである。ISPは、中央処理ユニット(CPU)またはダイレクトメモリアクセス(DMA)であってよい。CPUはハイパーバイザサポートを有し、それぞれ自身のオペレーティングシステムを有する仮想CPUである複数の仮想マシン(VM)を実行することができる。さらに、当該CPUは、VMをスケジューリングする仮想マシンモニタ(VMM、ハイパーバイザとしても知られる)を実行する。各VMおよびVMMは独立のISPであり、IRは、VMおよびVMMのそれぞれに対し、独立にまたは並列に、保留中のサービス要求全ての間の調停を行う。IRには、適正なスケジューリングのために、各VMおよびVMMに対して最高優先順位を有するサービス要求が既知とならなければならない。
【0007】
各サービス要求割り込み信号IS0~ISmに対してサービス要求ノードSRN0~SRNmが存在している。サービス要求ノードSRN0~SRNmは、各サービス要求割り込み信号IS0~ISmを、割り込みとしても知られる、対応するサービス要求に変換するように構成されている。各サービス要求ノードSRN0~SRNmは、サービス要求制御レジスタを含み、例えばサービス要求優先順位番号(SRPN)およびサービスタイプ(TOS)を考慮してコンフィグレーション可能である。SRPNは、仮想ISP(すなわちVMMまたはVM)に対するサービス要求の優先順位を定めるレジスタビットによって規定されている。TOSレジスタビットは、サービス要求ノードSRN0~SRNmを特定の割り込みコントローラIC0~ICnにマッピングし、例えば0のTOSは割り込みコントローラIC0にマッピングされる。サービス要求ノードSRN0~SRNmのそれぞれは、自身のサービス要求を、複数の仮想ISP(すなわちVMMまたはVM)のうち1つへ配向するように構成可能である。
【0008】
調停装置Arb1~Arbvは、それぞれ、時間スライス方式でハードウェアISP(CPUまたはDMA)および仮想ISP(VMまたはVMM)間の調停を行い、ハードウェアISPまたは仮想ISPのそれぞれに対しては、これらに配向されたサービス要求のうちどれが最高優先順位を有するかの調停を行うように構成されている。時間スライス方式とは、時間多重シーケンスまたはラウンドロビン方式としても知られている。一態様では、調停装置Arb1~Arbvは、逐次シーケンスで、保留中のサービス要求を有するISPおよび仮想ISPのみの間の調停を行うように構成可能である。他の態様では、調停装置Arb1~Arbvは、逐次シーケンスで、保留中のサービス要求が存在するか否かにかかわらず、仮想ISP全ての間の調停を行うように構成可能である。
【0009】
サービス要求割り込みルータ(IR)110の面積を低減するために、複数の割り込みコントローラIC間で1つの調停装置を共有する、共有の調停装置Arbを構成可能である。例えば、図1の調停装置Arb1は割り込みコントローラIC0,IC1によって共有されており、これにより、時間スライス方式で複数のISPおよびその仮想ISP間の調停が行われ、ISPおよび仮想ISPのそれぞれに対しては、これらに配向されたサービス要求のどれが最高優先順位を有するか、つまりどのサービス要求が当該調停の「勝者」となるかの調停が行われる。
【0010】
代替的に、調停装置Arbは、割り込みコントローラIC0~ICnのうち1つに専用に割り当てることもできる。例えば、調停装置Arb2は割り込みコントローラIC2に専用に割り当てられており、調停装置Arbvは割り込みコントローラICnに専用に割り当てられている。
【0011】
動作中、IR110がサービス要求割り込み信号IS0~ISmを各サービス要求ノードSRN0~SRNmで受信すると、これらのサービス要求ノードSRN0~SRNmは、サービス要求を提供する割り込みコントローラIC0~ICnおよびこれに関連するISP(CPU0~CPU2,…,DMA,VMMx,VMy)にマッピングされる。各調停装置Arbは、時間スライス方式で仮想ISP間の調停を行い、仮想ISPのそれぞれに対しては、これらに配向されたサービス要求(SR)のうちどれが最高優先順位を有するかの調停を行う。各割り込みコントローラICは、SR信号によって、どのSRが当該調停ラウンドの勝者であるかを、関連する仮想ISPに報知する。準備が完了すると、ISPまたは仮想ISPは、割り込みコントローラICに肯定応答信号(ACK)によって応答し、ついでSRを提供する。ISPソフトウェアには、SRPNおよびTOSに基づいてSRの提供が既知となる。
【0012】
図2には、本開示の一態様による、サービス要求制御レジスタ(SRCR)を含むサービス要求ノード(SRN)200が示されている。
【0013】
サービス要求制御レジスタ(SRCR)は、SRの優先順位およびハードウェアISP(CPUまたはDMA)または仮想ISPの割り当てのコンフィグレーションに用いられる。より詳細には、各SRN200は、SRの優先順位およびサービスタイプ(TOS)を考慮してコンフィグレーション可能である。SRの優先順位は、サービス要求優先順位番号(SRPN)を含むことができる。TOSは、どの割り込みコントローラICにサービス要求ノードSRNがマッピングされるか、例えばTOS0がIC0にマッピングされることおよびTOS1がIC1にマッピングされることを規定する。
【0014】
図示の例のSRCRは32ビットを有するが、本開示はこれに限定されない。セットビット/クリアビットは、サービス要求ノードSRNのトリガ/クリアに用いられる。オーバフロービットは、SRの保留中に新たな割り込みが生じたことを表す。イネーブルビット/ディスエーブルビットは、サービス要求ノードSRNをイネーブル/ディスエーブルする。ステータスビットは、SRが保留されている(例えば「1」にセットされている)ことまたは保留されていない(例えば「0」にセットされている)ことを表す。スティッキービットは、サービス要求ノードSRNがセットビット/クリアビットによって修正されたことを表す。
【0015】
図3のA,Bには、本開示の一態様による、割り込みコントローラ(IC)310が中央処理ユニット(CPUx)320とサービス要求(SR)のシーケンスを調整するシステム300が示されている。CPU320は、1つの仮想マシンマネージャ(VMM)および3つの仮想マシン(VM0,VM1,VM2)を含む。VM0,VM2に対する保留中のサービス要求が存在しており、しばらく後、図3のBに示されている時点では、VM1に対する新たなサービス要求が保留されている。
【0016】
図3のAには、調停装置Arbが固定の逐次シーケンスで仮想ISP全ての間の調停を行うように構成されたシーケンスが示されている。したがって、当該調停シーケンスは、VMM,VM0,VM1,VM2,VMM,VM0,VM1,VM2,…となっている。初期的にはVM0,VM2のみに対するサービス要求しか保留されていないが、調停装置Arbは、仮想ISPの全て、すなわちVMM,VM0,VM1,VM2間の調停を行う。VMMまたはVMに対してサービス要求が保留されていない場合、シーケンスにおける対応するスロットは空いている。
【0017】
図3のBには、調停装置Arbが保留中のサービス要求を有する仮想ISPのみの間で調停を行うように構成されたシーケンスが示されている。これにより待ち時間が低減される。したがって、当該調停シーケンスは、VM0,VM2,VM0,VM2,VM0,VM2,VM0,VM1,VM2…となっている。このケースでは、調停装置Arbは、初期的にはVM0,VM2のみの間で調停を行うが、所定の時間後、VM1に対する追加のサービス要求が追加されると、VM1を含めた調停を行うようになる。当該シーケンスには、サービス要求が保留されていない仮想ISPは含まれない。
【0018】
図4には、本開示の一態様による、ISP420を提供する3つのパイプライン段を有する調停装置を含むIR410を備えたシステム400が示されている。
【0019】
IR410は、2つの中央処理ユニットCPU0,CPU1およびそのVMM,VMの間で共有される調停装置を有する。各CPU0,CPU1は、VMM,VM0,VM1,VM2を含む。
【0020】
調停装置Arbは、図1に示されている調停装置Arb1と等価であるが、これには、保留中のSRを有する多数のサービス要求ノードSRN0~SRNmを良好に管理するためのパイプライン段が構成されている。1つのパイプライン段は1サイクルと等価であり、この例では、各調停ラウンドが3サイクルを有する。
【0021】
調停装置Arbは、どのサービス要求ノードSRN0~SRN9が割り込みコントローラIC0,IC1にマッピングされているかを識別する。より詳細には、IC0に仮想ISP(VMM,VM0,VM1,VM2)がマッピングされており、IC1に仮想ISP(VMM,VM0,VM1,VM2)がマッピングされている。ついで、調停装置Arbは、各仮想ISPに対し、どのサービス要求ノードSRNが最高優先順位を有するか、つまりどのサービス要求ノードSRNが当該調停ラウンドの「勝者」であるかを判定する。ここでの調停は、物理的制約のため、複数のシステムにおいて1サイクルでは達成されない。よって、この例での調停装置Arbは、各仮想ISPに対し、上述したように、時間多重シーケンスを用いた3つのパイプライン段として構成されている。
【0022】
割り込みコントローラIC0,IC1のそれぞれは、勝者であるサービス要求ノードSRNのためのサービス要求(SR)を、段3から関連する仮想割り込みサービスプロバイダISPへ送信する。仮想ISPは、SRを承認できるようになるまでに幾らかの時間を要することがある。仮想ISPの準備が完了すると、この仮想ISPは、肯定応答信号ACKによって割り込みコントローラIC0またはIC1に応答する。ついで割り込みコントローラIC0またはIC1は、SRおよび関連するサービス要求ノードSRNをクリアし、SRはもはや保留中ではなくなる。SR,ACKは、インデクス番号およびSRPNを用いて、サービス要求ノードSRNを識別する。
【0023】
図4には3段のパイプライン構成が示されているが、本開示はこれに限定されない。任意の数の段を適切に設けることができる。
【0024】
図5には、本開示の一態様による、同じCPU2の3つの仮想ISPによって共有される調停装置Arb2のための調停シーケンス500のパイプライン段が示されている。
【0025】
パイプラインは、図示されているようにそれぞれ水平方向の3つの行として、3つの段または3つのサイクルを有する。段1~3は、図4に示されている調停シーケンス段と等価である。各サイクルの段1は、種々の仮想ISP(VM0,VM1,VM2)に切り替え可能である。第1のサイクルでは、調停装置Arb2がVM0に対する調停ラウンドを開始する。第2のサイクルでは、調停装置Arb2がVM2に対する新たな調停ラウンドの段1のパイプライン入力を開始し、その間、VM0に対する第1の調停ラウンドは段2で行われる。第3のサイクルでは、調停装置Arb2が、段3で、第1の調停ラウンドの勝者であるサービス要求ノードSRNを判定する。調停装置Arb2がVM2に対する調停ラウンドを開始し、VM0に対する調停ラウンドを保留している場合、調停装置Arb2は、上述したように、時間多重方式で仮想ISPの調停を行う。また、調停装置Arb2がVM1に対する調停ラウンドを開始し、VM0,VM2に対する調停ラウンドを保留している場合、調停装置Arb1は、上述したように、時間多重方式で仮想ISPの調停を行う。
【0026】
図6には、本開示の一態様による、2つの中央処理ユニット(CPU0,CPU1)およびその仮想ISP(CPU0.VM0,CPU0.VM2,CPU1.VM0,CPU1.VM1)のための保留中のサービス要求(SR)を有する共有のシーケンスを含む、調停装置Arb1の調停シーケンス600のパイプライン段が示されている。
【0027】
調停装置Arb1は、CPU0.VM0に対する保留中のサービス要求(SR)を有するサービス要求ノードSRN間の調停の段1を開始し、この調停は上述したように各パイプライン段を移行していく。ついで、調停装置Arb1は、CPU1.VM0に対する保留中のサービス要求割り込み信号を有するサービス要求ノードSRN間の調停の段1を開始し、この調停も3つの段を移行していく。同様に、調停装置Arbは、CPU0.VM2に対する保留中のサービス要求割り込み信号を有するサービス要求ノードSRN間の調停の段1を開始し、この調停も3つの段を移行していく。さらに、段2で段1の勝者であるサービス要求ノードSRN間の調停が行われ、段3で段2の勝者であるサービス要求ノードSRN間の調停が行われ、段3の端で、関連する仮想ISPに対する最高優先順位を有するサービス要求ノードSRNが、割り込みコントローラICのSR送信により、関連する仮想ISPに明らかとなる。なお、当該調停は、時間多重シーケンスで実行可能である。
【0028】
優先順位ベースの調停を実行可能である。言い換えれば、調停装置Arbは、1つの仮想ISPに他に優る優先順位を供給することができる。当該優先順位は、保留中のSRに依存していてもよいし、またはこれから独立であってもよい。例えば、優先される1つの仮想ISPがVMMである場合、調停装置Arbによって開始される次の調停ラウンドは、VMMに対するものとなる。優先された当該VMMが保留中の1つもしくは複数のSRを有するサービス要求ノードSRNにマッピングされていない場合、調停装置Arbは、他の非優先の仮想ISP、例えばVMに対して、上述したように時間多重シーケンスで調停を行う。
【0029】
イベントドリブンの再調停も実行可能である。調停装置Arbは、調停ラウンドの新たな勝者を生じさせうるイベントが検出された場合にのみ、仮想ISP間の再調停を行うように構成可能である。既に調停が行われた同じSR間に競合が生じた場合には、既に勝者が既知であるので、再調停は必要ない。このように新たなイベントが生じないかぎり再調停が行われないことにより、大幅なパワー節約が可能となる。こうしたイベントの例として、少なくとも1つのSRNのリコンフィグレーション、少なくとも1つの仮想ISPの新たなSR所有、少なくとも1つの仮想ISPのSR承認、または少なくとも1つの仮想ISPのイネーブル/ディスエーブルが含まれる。もちろん、本開示はこうした例に限定されない。再調停は、調停ラウンドの新たな勝者を生じさせうる任意のイベントによってトリガ可能である。
【0030】
図7には、本開示の一態様による、サービス要求割り込み信号を調停する方法のフローチャート700が示されている。
【0031】
最初に、ステップ710で、サービス要求(SR)が割り込みコントローラIC0~ICn、より詳細には仮想ISPにマッピングされる。
【0032】
ステップ720で、調停装置Arbは、仮想ISP間の調停を行い、仮想ISPのそれぞれに対しては、これらに配向されたSRのうちどれが最高優先順位を有するかの調停を行う。上述したように、当該調停は、時間多重シーケンスで、フレキシブルにまたは固定に実行可能である。
【0033】
任意の手段として、ロックステップ調停を実行し、調停装置Arb内の誤りを監視することもできる。より詳細には、(図示されていない)ロックステップ調停装置が調停装置Arbに対して並列に結合されている。ステップ730で、ロックステップ調停が上記調停と並列に実行され、ロックステップ調停装置および調停装置Arbの双方が同時に同じ入力を受信する。ロックステップ調停装置および調停装置Arbが同じクロックサイクルで同じ出力を供給しない場合、ステップ740で、誤りが検出される。当該誤りは調停装置Arb内かつ/またはロックステップ調停装置内で生じたものでありうる。こうしたロックステップ調停は、一般に、安全性にとって重要と考えられる仮想ISPの調停を行う調停装置Arbに用いられる。ロックステップ調停装置は実質的には調停装置Arbの複製であるので、本開示において個別の詳細な説明は不要とする。代替的に、ロックステップ調停装置は、安全性検査のロバスト性を高めるため、上記調停装置に対して相違していてよい。
【0034】
さらに任意の手段として、特定多数決をともなうトリプルロックステップ調停を実行し、調停装置Arb内の誤りを監視することもできる。より詳細には、(図示されていない)第1のロックステップ調停装置および第2のロックステップ調停装置のそれぞれが、調停装置Arbに対して並列に結合されている。ステップ750で、第1のロックステップ調停および第2のロックステップ調停のそれぞれが上記調停と並列に実行され、第1のロックステップ調停装置および第2のロックステップ調停装置ならびに調停装置Arbのそれぞれが同時に同じ入力を受信する。第1のロックステップ調停装置および第2のロックステップ調停装置ならびに調停装置Arbのいずれかが同じクロックサイクルで同じ出力を供給しない場合、ステップ760で、誤りが検出される。当該誤りは、調停装置Arb内ならびに第1のロックステップ調停装置内および第2のロックステップ調停装置内のいずれかで生じたものでありうる。ステップ770で、3つの出力のうち同じ出力を有する2つが正しいと見なされ、異なる出力を有する調停装置が誤りを有すると見なされる。こうしたトリプルロックステップ調停は、一般に、安全性にとって重要と考えられる仮想ISPを調停する調停装置Arbに用いられる。2つのロックステップ調停装置のそれぞれは実質的に調停装置Arbの複製であるので、本開示において個別の詳細な説明は不要とする。代替的に、調停装置および2つのロックステップ調停装置は、安全性検査のロバスト性を高めるため、相互に相違していてよい。
【0035】
複数のVMおよび1つのVMMを有するCPUに共有される調停装置により、説明したように、ルーティングの複雑性が低減され、チップ面積が低減され、さらに電力消費が低減される。
【0036】
特定の態様を図示して説明したが、当該分野の通常の能力を有する者であれば、本開示の観点から逸脱することなく、種々の代替構成および/または等価構成を図示および説明した特定の実施形態と置換することができる。本開示は、説明した特定の態様の任意の適用形態または変更形態をカバーすることを意図している。
図1
図2
図3
図4
図5
図6
図7