(57)【要約】  グローバル割込み番号空間３８がメッセージシグナル割込みを使用して提供される。割込みデスティネーション１０、１２、１４、１６が、全てのキャッシュによって共有されるグローバル保留ステータスメモリ３４または個別の独立した保留ステータスメモリ５６によって提供されるいずれかの補助記憶を用いた保留割込みキャッシュ２４を用いて設けられる。割込み番号空間はどの割込みデスティネーションがどの領域の責任を有するのかを示すために使用されるプログラマブルマッピングデータを用いて領域に分割されてもよい。割り込みが、ある割込みデスティネーションから別の割込みデスティネーションに退避されるとき、このようなプログラマブルマッピングデータは更新される。保留割込みは、この保留割込みデータが新しく責任を有する割込みデスティネーションによって拾われてよいように、再割当て処理中にグローバル保留ステータスメモリ３４にフラッシュバックされてもよい。
2015532994.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の割込みソースと、複数の割込みデスティネーションとの間でメッセージシグナル割込みを通信するための割込み通信装置であって、
前記１つまたは複数の割込みソースのうちの１つからメッセージシグナル割込みを受信するとともに、保留ステータスデータ記憶回路内の関連する記憶位置で保留ステータスデータのストレージにトリガをかけるように構成される割込み変換回路であって、前記記憶位置は、前記複数の割込みデスティネーションによって共有されるグローバル割込み番号空間内の前記メッセージシグナル割込みの割込み番号を表す、割込み変換回路と、
前記複数の割込みデスティネーションのそれぞれの１つにそれぞれ関連付けられ、前記保留ステータスデータ記憶回路から、前記グローバル割込み番号空間内の関連する割込み番号を用いて保留ステータスデータを読み出すとともに、前記複数の割込みデスティネーションのうちの前記それぞれの１つによって処理される割込みにトリガをかけるように構成される、複数の割込みデータ読み出し回路と
を備える割込み通信装置。
【請求項２】
前記保留ステータスデータ記憶回路は、前記割込みデスティネーションのうちのそれぞれの１つにそれぞれ関連付けられた複数の保留割込みキャッシュを含むとともに、前記割込みデスティネーションのうちの前記それぞれの１つによって処理されるべき１つまたは複数の保留割込みの割込み番号を示すデータを記憶するように構成される、請求項１に記載の割込み通信装置。
【請求項３】
前記保留割込みキャッシュは、記憶空間が所与の保留割込みキャッシュ内で利用可能である場合、新たに受信されたメッセージシグナル割込みのための保留ステータスデータが、任意の補助記憶に書き込まれることなく前記所与の保留割込みキャッシュに書き込まれるようなライトバックキャッシュとして構成される、請求項２に記載の割込み通信装置。
【請求項４】
前記所与の保留割込みキャッシュがフルの場合、新たに受信した保留ステータスデータがより高い優先順位の割込みに対応する場合に最低の保留割込みの保留ステータスデータが前記補助記憶に流出する、請求項３に記載の割込み通信装置。
【請求項５】
前記保留割込みキャッシュがフルでない場合、前記補助記憶内の最高優先順位の保留割込みに対する保留ステータスデータが前記補助記憶から前記保留割込みキャッシュへフェッチされる、請求項３または４に記載の割込み通信装置。
【請求項６】
前記複数の割込みデータ読み出し回路は、保留割込みの割込み番号に対応する優先順位データ記憶回路内の記憶位置に関連付けられた優先順位データを読み出すように構成され、前記優先順位データは前記保留割込みの優先順位レベルを示す、請求項１〜５のいずれか一項に記載の割込み通信装置。
【請求項７】
前記優先順位データ記憶回路は、前記複数の割込みデスティネーションのうちのそれぞれの１つにそれぞれ関連付けられるとともに、前記複数の割込みデスティネーションのうちの前記それぞれの一つに対する最近アクセスした優先順位データを記憶する、複数の優先順位データキャッシュを含む、請求項６に記載の割込み通信装置。
【請求項８】
前記割込み番号は複数の隣接する割込み番号のグループに分割され、各隣接する割込み番号のグループは優先順位レベルを共有する、請求項６または７に記載の割込み通信装置。
【請求項９】
前記複数の割込みデータ読み出し回路は、保留割込みの割込み番号に対応するイネーブルデータ記憶回路内の記憶位置に関連付けられたイネーブルデータを読み出すように構成され、前記イネーブルデータは、前記保留割込みが有効にされたかどうかを示す、請求項１〜８のいずれか一項に記載の割込み通信装置。
【請求項１０】
前記イネーブルデータ記憶回路は、前記複数の割込みデスティネーションのそれぞれの１つにそれぞれ関連付けられるとともに、前記複数の割込みデスティネーションのうちの前記それぞれ一つに対する最近アクセスしたイネーブルデータを記憶する、複数のイネーブルデータキャッシュを含む、請求項９に記載の割込み通信装置。
【請求項１１】
前記複数の割込みデスティネーションのうちのそれぞれの対応する１つが保留ステータスデータに応答して割込み処理の実行する責任を有する、前記グローバル割込み番号空間内の１つまたは複数の領域を示す、前記複数の割込みデスティネーションのうちの前記対応する１つに対するプログラマブルマッピングデータを記憶するようにそれぞれが構成される複数のマッピングコントローラを備え、
前記複数の割込みデータ読み出し回路は、前記プログラマブルマッピングデータによって示される１つまたは複数の領域内の関連する割込み番号とともに保留ステータスデータを読み出すとともに、前記複数の割込みデスティネーションのうちの前記それぞれの１つによって処理される割込みにトリガをかけることによって、前記複数の割込みデスティネーションのうちの前記それぞれ一つに対する前記プログラマブルマッピングデータに応答するように構成される、請求項１〜１０のいずれか一項に記載の割込み通信装置。
【請求項１２】
前記保留ステータスデータ記憶回路は、前記複数の割込みデータ読み出し回路によって共有されるとともに、それぞれの割込み番号にマッピングされた位置とともに保留ビットを記憶するグローバル保留ステータスメモリを含み、前記保留ビットは、それぞれの割込み番号に対する割込みが保留されているかどうかを示す、請求項１１に記載の割込み通信装置。
【請求項１３】
前記グローバル保留ステータスメモリは、
前記保留ビットを記憶するために専用化された専用メモリ、および
前記保留ビットに加えて、他のデータを記憶するように構成される汎用メモリの一部のうちの１つである、請求項１２に記載の割込み通信装置。
【請求項１４】
前記保留ステータスデータ記憶回路は、前記割込みデスティネーションのうちのそれぞれの１つにそれぞれ関連付けられた複数の保留割込みキャッシュを含むとともに、前記割込みデスティネーションのうちの前記それぞれの１つに対する前記プログラマブルマッピングデータによって示される、前記１つまたは複数の領域内の１つまたは複数の保留割込みの割込み番号を示すデータを記憶するように構成される、請求項１１〜１３のいずれか一項に記載の割込み通信装置。
【請求項１５】
割込み番号の領域は、前記割込みデスティネーションに対するそれぞれのプログラマブルマッピングデータを変更することによって、割込みデスティネーションの間で再割当てされる、請求項１１〜１４のいずれか一項に記載の割込み通信装置。
【請求項１６】
前記保留ステータスデータ記憶回路は、前記割込みデスティネーションのうちのそれぞれの１つにそれぞれ関連付けられた複数の保留割込みキャッシュを含むとともに、前記割込みデスティネーションのうちの前記それぞれの１つに対する前記プログラマブルマッピングデータによって示される前記１つまたは複数の領域内の１つまたは複数の保留割込みの割込み番号を示すデータを記憶し、割込み番号の領域が割込みデスティネーションから離れて退避されたとき、前記割込みデスティネーションに関連付けられた保留割込みキャッシュは、前記プログラマブルマッピングデータが変更される前に補助記憶にフラッシュされるように構成される、請求項１５に記載の割込み通信装置。
【請求項１７】
前記領域への任意の新たに受信したメッセージシグナル割込みが、前記補助記憶への前記フラッシュが完了するまで前記割込み変換回路によって機能停止される、請求項１６に記載の割込み通信装置。
【請求項１８】
前記保留ステータスデータ記憶回路は、それぞれの割込み番号にマッピングされた位置とともに保留ビットを記憶するための前記複数の割込みデスティネーションのそれぞれに対する別個の保留ステータスメモリを含み、前記保留ビットはそれぞれの割込み番号に対する割込みが保留されているかどうかを示す、請求項１〜１７のいずれか一項に記載の割込み通信装置。
【請求項１９】
前記別個の保留ステータスメモリのそれぞれは、
前記保留ビットを記憶するために専用化された専用メモリ、および
前記保留ビットに加えて、他のデータを記憶するように構成される汎用メモリの一部のうちの一つである、請求項１８に記載の割込み通信装置。
【請求項２０】
割込み番号が現在の割込みデスティネーションから新しい割込みデスティネーションへ離れて退避されたとき、前記現在の割込みデスティネーションの別個の保留ステータスメモリ内の任意の対応するエントリが、前記新しい割込みデスティネーションの別個の保留ステータスメモリに転送される、請求項１８または１９に記載の割込み通信装置。
【請求項２１】
前記割込み番号への任意の新たに受信したメッセージシグナル割込みが前記転送が完了するまで前記割込み変換回路によって機能停止される、請求項２０に記載の割込み通信装置。
【請求項２２】
１つまたは複数の割込みソースと、複数の割込みデスティネーションとの間でメッセージシグナル割込みを通信するための割込み通信装置であって、
前記１つまたは複数の割込みソースのうちの１つからメッセージシグナル割込みを受信するとともに、保留ステータスデータを記憶するための保留ステータスデータ記憶手段内の関連する記憶位置とともに保留ステータスデータのストレージにトリガをかけるための割込み変換手段であって、前記記憶位置は、前記複数の割込みデスティネーションによって共有されるグローバル割込み番号空間内の前記メッセージシグナル割込みの割込み番号を表す、割込み変換手段と、
前記複数の割込みデスティネーションのそれぞれの１つにそれぞれ関連付けられ、前記保留ステータスデータ記憶手段から、前記グローバル割込み番号空間内の関連する割込み番号を用いて保留ステータスデータを読み出すとともに、前記複数の割込みデスティネーションのうちの前記それぞれの１つによって処理される割込みにトリガをかけるための複数の割込みデータ読み出し手段とを備える割込み通信装置。
【請求項２３】
１つまたは複数の割込みソースと、複数の割込みデスティネーションとの間でメッセージシグナル割込みを通信するための方法であって、
前記１つまたは複数の割込みソースのうちの１つからメッセージシグナル割込みを受信するステップと、
保留ステータスデータ記憶回路内の関連する記憶位置とともに保留ステータスデータのストレージにトリガをかけるステップであって、前記記憶位置は、前記複数の割込みデスティネーションによって共有されるグローバル割込み番号空間内の前記メッセージシグナル割込みの割込み番号を表すステップと、
前記複数の割込みデスティネーションのうちのそれぞれの１つに対して、前記保留ステータスデータ記憶回路から前記グローバル割込み番号空間内の関連する割込み番号を用いて保留ステータスデータを読み出すステップと、
前記複数の割込みデスティネーションのうちの前記それぞれの１つによって処理される割込みにトリガをかけるステップとを備える方法。
【請求項２４】
添付の図面を参照して実質的にここに記載される割込み通信装置。
【請求項２５】
添付の図面を参照して実質的にここに記載されるメッセージシグナル割込みを通信するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの分野に関し、より詳細には、本発明は、１つまたは複数の割込みソースと、複数の割込みデスティネーションとの間のメッセージシグナル割込みの通信に関する。
【背景技術】
【０００２】
１つまたは複数の割込みソース（例えば、コンピュータシステム内のデバイス）と、複数の割込みデスティネーション（例えば、これらの割込みを処理するためのプロセッサ）との間で受け渡されるメッセージシグナル割込みをサポートする通信機構を提供することが知られている。個々の割込みデスティネーションのそれぞれが、それぞれの割込み番号で１００またはそれ以上の異なる割込み応答するように形成されうることも可能である。メッセージシグナル割込みは、割込みデスティネーションのアドレスおよび割込みデスティネーションでの割込み番号を含む。このような多くの割込み番号の数を提供することは、使用される割込み番号によって割込みソースから割込みデスティネーションへ情報が受け渡されることを可能にし、それにより割込み通信のオーバーヘッドを削減するとともに割込み処理を高速化することを可能にする。
【０００３】
現在アクティブなプロセッサの数が時間とともに動的に変化してもよい複数のプロセッサを用いてデータ処理システムを提供することも知られている。処理負荷が高いとき、全てのプロセッサがアクティブでもよいが、処理負荷が低下した場合、プロセッサのうちの１つまたは複数が電力節約のためにシャットダウンされてもよい。この状況において、シャットダウン中のプロセッサは、上記プロセッサによって処理されるべき任意の保留割込みを異なるプロセッサにハンドオーバする責任があることが必要である。あるシナリオにおいて、全てのプロセッサはシャットダウンおよび保留割込みに対する責任を単一の残りのプロセッサに転送してもよく、全てのシャットダウンされるプロセッサが全ての割込みが保留中であった状態にあったとすることが可能である。この状況を扱うため、責任を引き継いだプロセッサは記憶リソース、典型的には全ての他のプロセッサからの全ての割込みが潜在的にバッファリングできるのに十分な数の、上記プロセッサに対する割込みハンドラの一部を形成するレジスタを有する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プロセッサの数が増大し、割込みの数が増大するとき、上記のアプローチはうまくスケーリングされないことが理解されよう。既存の記憶手段の機構を拡張することによる各プロセッサに関連付けられた保留割込みをバッファリングするためのレジスタの提供は、所望しない回路規模および商品電力の増大という過度のオーバーヘッドの要求をもたらす。
【課題を解決するための手段】
【０００５】
本発明の一見地から、１つまたは複数の割込みソースと、複数の割込みデスティネーションとの間でメッセージシグナル割込みを通信するための割込み通信装置であって、
１つまたは複数の割込みソースのうちの１つからメッセージシグナル割込みを受信するとともに、保留ステータスデータ記憶回路内の関連する記憶位置で保留ステータスデータのストレージにトリガをかけるように構成される割込み変換回路であって、記憶位置は、複数の割込みデスティネーションによって共有されるグローバル割込み番号空間内のメッセージシグナル割込みの割込み番号を表す割込み変換回路と、
複数の割込みデスティネーションのそれぞれの１つにそれぞれ関連付けられ、保留ステータスデータ記憶回路から、グローバル割込み番号空間内の関連する割込み番号を用いて保留ステータスデータを読み出すとともに、複数の割込みデスティネーションのうちのそれぞれの１つによって処理される割込みにトリガをかけるように構成される、複数の割込みデータ読み出し回路と、
を備える割込み通信装置が提供される。
【０００６】
現在の技術は、特定のプロセッサに割り込みを示すアドレスと、特定のプロセッサに対する割込みを特定する割込み番号とを用いてメッセージシグナル割込みを生成するよりもむしろ、複数の割込みデスティネーション（例えば、プロセッサ）によって共有されるグローバル割込み番号空間をサポートする方が有利であると認識している。このようなグローバル割込み番号空間を提供することは、より効率的な記憶と、割込みデスティネーション間の割込みのハンドリングおよび再割当てとを容易にする。多くの場合、全体の可能な割込みの数のうち、相対的に小さな数だけが任意の所与の時間で保留されているであろうにも関わらず、システムは、多くの数または全ての保留割込みが所与の時間で保留されている状況に対処可能でなければならないことが了解されよう。
【０００７】
保留ステータスデータ割込みがハンドリングされながら効率を上げる１つの可能性は、割込みデスティネーションのうちのそれぞれ１つにそれぞれが関連付けられた複数の保留割込みキャッシュを含むとともに、それぞれの割込みデスティネーションに対して保留している割込み番号を示すデータを記憶するように構成される形式である、保留ステータスデータ記憶回路を提供することである。この方法において、大きなグローバル割込み番号空間が提供されるにも関わらず、それぞれの割込みデスティネーションに関連付けられた保留ステータスデータへの高速アクセスを提供するために使用される、相対的に小さく、効率的なキャッシュが提供される。全体としての保留ステータスデータ記憶回路は完全なグローバル割込み番号空間を記憶することができるが、保留割込みキャッシュは、保留ステータスデータのローカルコピーを特定の割込みデスティネーションに関連するものとしてキャッシュ可能である。
【０００８】
保留割込みキャッシュは、ライトバックキャッシュとして構成されてもよい。この方法において、記憶空間が保留キャッシュ内で利用可能である場合、保留割込みデータがキャッシュの補助記憶にライトバックされる必要なく受信されたときに、保留割込みデータは保留割込みキャッシュに直接書き込まれてもよい。このことは、電力消費を削減し、動作を高速化する。
【０００９】
新しいメッセージシグナル割込みが受信されて、結果としてそのキャッシュが既にフルである割込みデスティネーションに対する保留ステータスデータとなる場合、そのキャッシュに既に記憶されている保留割込みデータのうちの最低優先順位の保留割込みデータ記憶および新しい割込みは、適切な場合、割込みデータの新たに到達する部分である潜在的により高い優先順位のために補助記憶に流出して場所が空けられる(make room)。
【００１０】
同様の方法で、保留割込みキャッシュがフルではなく、かつキャッシュ内に存在せず補助記憶内に記憶された保留データステータスがある場合、最高優先順位の保留割込みデータが補助記憶から保留割込みキャッシュへフェッチされてもよい。
【００１１】
保留ステータスデータのグローバルストレージに加えて、割込みに関連付けられた優先順位およびイネーブルデータに対するグローバル記憶空間を提供することも可能である。この優先順位およびイネーブルデータは、それぞれの割込みデスティネーションによってキャッシュされてもよい。この優先順位およびイネーブルデータは、補助記憶が大容量のこの優先順位およびイネーブルデータを扱うための容量を提供しながら、このように急速な使用を可能にする。優先順位およびイネーブルデータのキャッシングは、優先順位およびイネーブルデータ内の局所性(locality)の存在も認識する。例えば、特定の割込みに対する優先順位データが優先順位キャッシュにフェッチされている場合、同じ割込みが短期間で再発生し、優先順位データが優先順位キャッシュ内に既に存在しているであろう、重要な可能性がある。
【００１２】
ある実施形態では、優先順位レベルを共有する隣接する割込み番号のグループを提供することが可能である。個々の割込み番号の粒度の最終的なレベルでの優先順位レベルを特定する能力は、多くの現実の状況においては実際には必要ではなく、隣接する割込み番号のグループのそれぞれにおいてのみ優先順位レベルが提供されることによって、記憶空間が節約されてもよい。
【００１３】
ある実施形態では、割込みデスティネーションのうちの１つにそれぞれ関連付けられ、関係している割込みデスティネーションが保留割込みをサービスする責任を有するグローバル割込み番号空間内の１つまたは複数の領域を示すように機能する複数のマッピングコントローラが設けられてもよい。この結果、それぞれの割込みデスティネーションが任意の割込み番号をハンドリングすることを可能にしながら、適切なマッピングデータがそのマッピングコントローラ内に記憶される場合にのみ、保留割込みをサービスすることができる。グローバル割込み番号空間は、プログラマブルマッピングデータを使用して割込みデスティネーション間で転換(divert)されてもよく、その結果割込みデスティネーションのそれぞれは、保留割込みデータのそのキャッシュと、割込みデスティネーションが責任を有する領域についてのサービス割込みとを維持することについての関心のみを必要とする。
【００１４】
このような実施形態において、保留ステータスデータ記憶回路は、複数の割込みデータ読み出し回路によって共有されるグローバル保留ステータスメモリを含んでもよい。このグローバル保留ステータスメモリは、保留ビットを記憶する目的で特に設けられた専用メモリであってもよく、代替的には、異なる状況においては他のデータを記憶することが可能な汎用メモリを備えた、全体としてのコンピュータシステムの汎用メモリの一部であってもよい。
【００１５】
このタイプの実施形態の文脈において、保留割込みキャッシュは、プログラマブルマッピングデータが、関連する割込みデスティネーションが責任を有することを示している、メモリのこれらの領域についての保留割込みを記憶する。所与の割込み番号に対する責任の再割当てが存在するとき、現在の割込みデスティネーションの保留割込みキャッシュ内に記憶された関連する任意の保留割込みデータは、そこから新しく責任を有する割込みデスティネーションによって受け取られてもよいグローバル保留ステータスメモリへフラッシュ(flush)バックされる。全ての割込みデスティネーションがグローバル保留ステータスメモリを共有するとともに、プログラマブルマッピングデータが現在保留割込みに対する責任を有することを示すために更新されるときに保留ステータスデータをそれらの保留割込みキャッシュに受け取ることから、責任を割り当てられた場合、グローバル保留ステータスメモリ内に既に存在する保留割込みデータは移動される必要はない。
【００１６】
特定の割込み番号に対する責任の退避(migration)が発生したとき、任意の新たに受信したメッセージシグナル割込みは、補助記憶へのフラッシュバックが任意のキャッシュされた保留割込みデータについて完了するまで、割込み変換回路によって機能停止(stall)される。
【００１７】
本願の技術の別のタイプの実施形態は、複数の割込みデスティネーションのそれぞれに対する別個の保留ステータスメモリを提供する。別個の保留ステータスメモリはグローバル割込み番号空間全体を記憶することができでてもよく、例えば、専用レジスタよりもむしろ例えばランダムアクセスメモリストレージを利用し、キャッシングのような技術を使用して速度と効率を改善することができる。
【００１８】
それぞれの割込みデスティネーションに対して設けられる別個の保留ステータスメモリは、例えば、保留ビットを記憶するために専用化された専用メモリ、または保留ビットに加えて他のデータを記憶してもよい汎用メモリの一部であってもよい。保留ステータスメモリは、関係しているデータ処理システムの汎用メモリ空間の一部であってもよい。
【００１９】
このタイプの実施形態の文脈において、割込み番号が現在の割込みデスティネーションから新しい割込みデスティネーションへ退避されたとき、現在の割込みデスティネーションに対する別個の保留ステータスメモリ内の任意の対応するエントリは、新しい割込みデスティネーションの別個の保留ステータスメモリに転送される。この結果、再割当てされるべき保留割込みデータは、別個の保留ステータスメモリから、新しく責任を有する割込み番号に対する割込みデスティネーションのステータスメモリへ転送される。
【００２０】
割込みデスティネーション間の割込み番号のそのような再割当てを実行するとき、新たに受信したメッセージシグナル割込みは、転送が完了するまで割込み変換回路によって機能停止されることが可能である。
【００２１】
別の態様から見れば、本発明は、１つまたは複数の割込みソースと、複数の割込みデスティネーションとの間でメッセージシグナル割込みを通信するための割込み通信装置であって、上記装置が、
１つまたは複数の割込みソースのうちの１つからメッセージシグナル割込みを受信するとともに、保留ステータスデータを記憶するための保留ステータスデータ記憶手段内の関連する記憶位置で保留ステータスデータのストレージにトリガをかけるための割込み変換手段であって、ここで記憶位置は、複数の割込みデスティネーションによって共有されるグローバル割込み番号空間内のメッセージシグナル割込みの割込み番号を表す、割込み変換手段と、
複数の割込みデスティネーションのそれぞれの１つにそれぞれ関連付けられ、保留ステータスデータ記憶手段からグローバル割込み番号空間内の関連する割込み番号を用いて保留ステータスデータを読み出すとともに、複数の割込みデスティネーションのうちのそれぞれの１つによって処理される割込みにトリガをかけるための複数の割込みデータ読み出し手段を備える割込み通信装置を提供する。
【００２２】
さらなる態様から見れば、本発明は、１つまたは複数の割込みソースと、複数の割込みデスティネーションとの間でメッセージシグナル割込みを通信するための方法であって、
１つまたは複数の割込みソースのうちの１つからメッセージシグナル割込みを受信するステップと、
保留ステータスデータ記憶回路内の関連する記憶位置で保留ステータスデータのストレージにトリガをかけるステップであって、記憶位置は、複数の割込みデスティネーションによって共有されるグローバル割込み番号空間内のメッセージシグナル割込みの割込み番号を表すステップと、
複数の割込みデスティネーションのうちのそれぞれの１つに対して、保留ステータスデータ記憶回路からグローバル割込み番号空間内の関連する割込み番号を用いて保留ステータスデータを読み出すステップと、
複数の割込みデスティネーションのうちのそれぞれの１つによって処理される割込みにトリガをかけるステップとを備える方法を提供する。
【００２３】
本願発明の実施形態は、添付の図面を参照して単なる例として説明される。
【図面の簡単な説明】
【００２４】
【図１】図１は、複数の割込みソース、複数の割込みデスティネーション、およびメッセージシグナル割込みを通信するための割込み通信装置を組み入れたデータ処理システムを概略的に図示する図である。
【図２】図２は、プログラマブルマッピングデータによって複数の領域に分割されたグローバル割込み番号空間および、割込み番号とグローバル保留ステータスメモリ内のビットとの関係を概略的に図示する図である。
【図３】図３は、図１の実施形態における、ある割込みデスティネーションから別の割込みデスティネーションへの割込み番号の再割当てを概略的に図示するフロー図である。
【図４】図４は、複数の割込みソース、複数の割込みデスティネーション、およびそれぞれが特定の割込みデスティネーションに専用化された、複数の別個の保留ステータスメモリを含む割込み通信装置を有するデータを処理するための装置の第２の例示的な実施形態を示す図である。
【図５】図５は、グローバル割込み番号空間を介したメッセージシグナル割込みの通信の概略的なフロー図である。
【発明を実施するための形態】
【００２５】
図１は、複数のデータ割込みソース４、６、および８ならびに複数の割込みデスティネーション１０、１２、１４、および１６を組み入れたデータ処理システム２を概略的に図示する図である。割込みデスティネーションは、典型的にはマルチプロセッサシステム内の異なるプロセッサであってもよい。これらの個々のプロセッサは処理負荷に依存して動的にパワーオンおよびパワーダウンされてもよい。プロセッサがパワーダウンされたとき、パワーダウンされたプロセッサに対する任意の保留割込みはサービスするための別のプロセッサに割当てられる必要がある。
【００２６】
割込みソース４、６、および８は、Ｕ／Ｏデバイス、ＤＭＡエンジンおよび他の周辺デバイスなどの様々な異なる形式をとってもよい。割込みソース４、６、および８は、ルートコンプレックス１８に供給されるメッセージシグナル割込みＭＳＩ−Ｘを生成する。このようなメッセージシグナル割込みは、例えば、ＰＣＩ−Ｅｘｐｒｅｓｓをサポートするシステムに知られている。それら自身におけるこのようなメッセージシグナル割込みおよびルートコンプレックス１８は、当業者によく知られているため、ここではこれ以上説明しない。
【００２７】
周知技術とは異なるメッセージシグナル割込みの一態様は、割込みデスティネーション１０、１２、１４、および１６の全てによって共有されるグローバル割込み番号空間の使用である。この結果、特定の割込みデスティネーションをそのアドレスとして特定し、その割込みデスティネーションに特有の割込み番号を与えるメッセージシグナル割込みの代わりに、より多くの数の割込み番号がグローバル割込み番号空間によって提供され、割込み変換回路２２によって異なる割込みデスティネーション１０、１２、１４、および１６に割当てられる。
【００２８】
図１に示すように、割込み変換回路２０は、異なる割込みデスティネーション１０、１２、１４、および１６が責任を有するグローバル割込み番号空間内の異なる領域を示すプログラマブルマッピングデータ２２に応答する。割込み変換回路２２は、受信したメッセージシグナル割込みがサービスされてもよいように、受信したメッセージシグナル割込みを所望の割込みデスティネーション１０、１２、１４、および１６に指示する。
【００２９】
個々の割込みデスティネーション１０、１２、１４、および１６は、それらに関連付けられた保留割込みキャッシュ２４、マッピングコントローラ２６、優先順位およびイネーブルキャッシュ２８（これは分離した個々の優先順位およびイネーブルキャッシュまたは統一された優先順位およびイネーブルキャッシュの形式であってもよい）、割込みデータ読み出し回路３２、およびキャッシュコントローラ３０をそれぞれ有する。保留割込みキャッシュ２４は、新たに受信した割込みが、保留割込みキャッシュ２４から流出またはフラッシュされない限り、（許可された空間である）保留割込みキャッシュ２４内に格納され、外のグローバル保留ステータスメモリ３４には書き込まれないようなライトバックキャッシュとして構成される。割込みデータ読み出し回路３２は、保留割込みキャッシュ２４内に記憶された保留割込みデータを読み出し、特定された割込み番号に従って割込み処理にトリガをかけるために、関連付けられた割込みデスティネーション１０、１２、１４、および１６に供給される割込み信号を生成する。
【００３０】
異なる割込み番号は、それらに関連付けられた異なる優先順位レベルを有してもよいことを了解されたい。この優先順位情報は、グローバル優先順位データ記憶回路２８、３６内に記憶されてもよい。この例における優先順位データ記憶回路は、優先順位及びイネーブルグローバルメモリ３６と組み合わされた優先順位およびイネーブルキャッシュ２８の形式をとることを了解されたい。同様の方法で、保留割込みデータに対する保留ステータスデータ記憶回路は、保留割込みキャッシュ２４およびグローバル保留ステータスメモリ３４の形式をとり、これらは保留割込みキャッシュ２４への補助記憶として稼働する。
【００３１】
キャッシュコントローラ３０は、キャッシュ２４および２８へのデータのフェッチ、キャッシュ２４および２８からのデータの流出およびキャッシュ２４および２８のフラッシュを制御する。保留割込みキャッシュ２４がフルであり、かつ新しい割込みを受信した場合、最低優先順位の割込みは保留割込みキャッシュ内に保持されて、新たに受信した割込みは、グローバル保留ステータスメモリ３４へ流出する。同様の方法で、保留割込みキャッシュ２４がフルではなく、その特定の割込みデスティネーションおよび保留割込みストア２４が責任を有する領域に対するグローバル保留ステータスメモリ内でセットされている保留割込みを示す保留ビットが存在する場合、最高優先順位の保留割込みは、そこから関係している割込みデスティネーション１０、１２、１４、および１６によってサービスされていてもよい保留割込みキャッシュ２４にフェッチバックされる。
【００３２】
マッピングコントローラ２６は、ビットフィールドを有するマッピングデータを、隣接する割込み番号の領域に対応するこれらのビットのそれぞれとともに、グローバル割込み番号空間内に記憶する。マッピングデータ内の特定のビットがセットされている場合、これは関連付けられた割込みデスティネーションが、関係しているグローバル割込み番号空間の対応する領域内の割込みをサービスする責任を有することを示す。この結果、キャッシュコントローラ３０はマッピングデータを読み出して、グローバル保留ステータスメモリ３４内に記憶された保留ビットデータのどの領域が、マッピングコントローラ２６に関連付けられた割込みデスティネーションの責任を有するかを決定してもよい。この結果、キャッシュコントローラ３０は、空間が保留割込みキャッシュ２４内に許可されるとき、その割込みデスティネーションによってサービスするための割込みデスティネーションのための特定の領域から、保留ビットによって示された保留割込みデータをフェッチする。割込みデスティネーションがパワーダウンされた場合のような、領域が割込みデスティネーション間で再割当てされたとき、プログラマブルマッピングデータは、パワーダウンされている割込みデスティネーションによって以前に管理されていれたグローバル割込み番号空間内の領域から割込みのサービスを引き継ぐ、割込みデスティネーションの新しい責任を反映するように代替される。そのような転送が発生したとき、これらの割込みが新しく責任を有する割込みデスティネーションに到達する前に、新しく責任を有する割込みデスティネーションが適切にセットされる（すなわち、これらの領域に対する責任を知っている）ように、割込み変換回路２０は関係している割込み番号の領域に対する任意の新たに受信した割込みを機能停止するように働く。
【００３３】
異なる割込みに関連付けられた優先順位およびイネーブルデータは、補助記憶として働くグローバル優先順位およびイネーブルメモリ３６を有した優先順位およびイネーブルキャッシュ２８内に記憶される。優先順位およびイネーブルキャッシュ２８は、優先順位およびイネーブルデータが必要とされる特定の割込み番号が発生した場合、同じ割込みまたは割込み番号空間における近接した割込みがその後すぐに発生する可能性が高いような、特定の優先順位およびイネーブルデータになされるアクセス内の局所性から利益を得てもよい。この結果、そのような新しい割込みに対する優先順位およびイネーブルデータは、統計的に優先順位およびイネーブルキャッシュ２８内に既に存在する可能性が高い。優先順位データは、保留割込みがサービスされる順序を制御する優先順位レベルを示す。より高い優先順位レベルを有する保留割込みは、より低い優先順位レベルの保留割込みの前にサービスされる。イネーブルデータは、特定の割込み番号がシステム全体として、または特定の割込みデスティネーションに対して有効にされているかどうかを示す。
【００３４】
図２は、グローバル割込み番号空間３８を概略的に図示する。個々の割込み番号Ｎ(４０)は、このグローバル割込み番号空間３８内に位置する。グローバル割込み番号空間は、それぞれが隣接する割込み番号から構成される複数の領域に分割される。上述したように、これらの領域のそれぞれは、プログラマブルマッピングデータ４２内のビットに対応する。プログラマブルマッピングデータは、割込みデスティネーション１０、１２、１４、および１６のそれぞれに対して供給され、割込みデスティネーションがサービスをする責任を有するのがグローバル割込み番号空間のどの領域であるかを示す。プログラマブルマッピングデータはまた、プログラマブルマッピングデータを管理し、調整する責任を有する、割込み変換回路２０のレジスタ２２内に記憶される。プログラマブルマッピングデータは、ソフトウェアの制御下、例えばオペレーティングシステムソフトウェアによってセットされてもよく、ある実施形態では、ハード接続された構成でもよい。
【００３５】
それぞれの領域内において、同じ優先順位レベルを共有する、多数の割込み番号のグループが提供される。ある実施形態では、割込み番号ごとに、個々の優先順位レベルのきめ細かいレベルで指定された優先順位レベルを有する必要はなく、むしろ、隣接する割込み番号のグループが優先順位レベルを共有することが可能である。割り込みイネーブルは、割込み番号ベースで個々の割込み番号に対してセットされてもよい。
【００３６】
また、図２は、グローバル保留ステータスメモリ３４を示す。これは、グローバル割込み番号空間３８内のそれぞれの割込み番号に対する保留ビット４４を提供する。この保留ビットがセットされている場合、関連する割込み番号からの保留割込みが存在することを示す。この結果、グローバル保留ステータスメモリ３４内の保留ビットの記憶位置は、グローバル割込み番号空間３８内の対応する割込み番号を示す。保留ビットがセットされている場合、保留割込みが存在し、保留ビットがクリアされた場合、保留割込みは存在しない。グローバル保留ステータスメモリ３４は、割込みに対する保留ステータスデータの密で効率的なストレージを提供する。
【００３７】
図３は、割込みデスティネーション１０、１２、１４、および１６の間の割込み番号の再割当てを概略的に図示するフロー図である。ステップ４６で、再割当てすべき割込み番号が存在するまで、処理をウェイトする。ステップ４８は、割込み変換回路２０が、割込み変換回路２０でそれらのさらなる割込み要求を機能停止することによって、その割込み番号へのさらなる割込み要求をブロックすることを示す。ステップ５０で、切替えられる割込み番号に関連付けられた保留割込みキャッシュ２４は、グローバル保留ステータスメモリ３４にフラッシュバックされる。ステップ５２で、現在および新しい割込みデスティネーションに対するプログラマブルマッピングデータは責任の変更を示すように更新される。図１の例示的実施形態において、割込み番号は、領域別の基準で再割当てされる（他の実施形態において、個々の割込みが再割当てされてもよい）。ステップ５４で、再割当てされた割込み番号へのさらなる割込み要求のブロックは、割込み変換回路２０によって解除される。
【００３８】
図４は第２の例示的な実施形態を示す。この例示的な実施形態は、別個の保留ステータスメモリ５６が割込みデスティネーション１０、１２、１４、および１６のそれぞれに対して設けられることを除き、図１に図示されたものと同様である。図１の実施形態にある、（読み出し回路３２などの）多くの共通コンポーネントは、明確性の目的のため、図４からは省略されているが、実際は存在している。本実施形態において、プログラマブルマッピングデータは、グローバル割込み番号空間を領域に分割して提供されず、割込みは個々の基準で割込みデスティネーション１０、１２、１４、および１６間で再割当てされてもよい。所与の割込みデスティネーション１０、１２、１４、および１６がパワーダウンされたとき、保留割込みデータはその保留割込みキャッシュ２４内に格納され、その関連する別個の保留ステータスメモリ５６が読み出され、それらの保留割込みに対する責任を引き継ぐ、割込みデスティネーションの別個の保留ステータスメモリ５６（あるいは保留割込みキャッシュ２４）へコピーされる。この例示的な実施形態は、プログラマブルマッピングデータおよびグローバル割込み番号空間の分割の必要性を回避し、それぞれが完全なグローバル割込み番号空間を記憶可能な別個の保留ステータスメモリ５６を提供する。本実施形態は、再割当てが発生したとき、保留ビットが別個の保留ステータスメモリ５６間でコピーされる必要があるという欠点がある。対照的に、図１の共有されたグローバル保留ステータスメモリ３４は、全ての保留割込みの統一されたビューを格納し、そのようなメモリ間コピーは必要ない。保留割込みキャッシュ２４および別個の保留ステータスメモリ５６内の保留ステータスデータに対するストレージの提供は、保留ステータスメモリ５６がレジスタまたはフロップではなく、効率の良いＲＡＭであってもよいように、相対的に非常に密なデータストレージであることを可能にする。別個の保留ステータスメモリ５６は、ＲＡＭの専用化されたブロックまたは本目的のために割り当てられたシステムＲＡＭの一部（すなわち、汎用メモリの一部）であってもよい。
【００３９】
図５は、メッセージシグナル割込みの通信を概略的に図示するフロー図である。ステップ５８で、メッセージシグナル割込みが受信される。ステップ６０で、関係している割込み番号に対する保留ステータスデータがグローバル割込み番号空間３８内にセットされる。この保留ステータスデータは、保留割込みキャッシュ２４、または保留ステータスメモリ３４、５６のうちの１つの中に記憶されてもよい。ステップ６２で、読み出し回路３４は、ターゲット割込みデスティネーションでの保留ステータスデータを読み出す。次に、ステップ６４で、ターゲット割込みデスティネーションでの割込みを処理し、割込みが扱われたことを示すために、保留割込みデータをクリアする。
【符号の説明】
【００４０】
２  データ処理システム
４  データ割込みソース
６  データ割込みソース
８  データ割込みソース
１０  割込みデスティネーション
１２  割込みデスティネーション
１４  割込みデスティネーション
１６  割込みデスティネーション
１８  ルートコンプレックス
２０  割込み変換回路
２２  プログラマブルマッピングデータ
２４  保留割込みキャッシュ
２６  マッピングコントローラ
２８  優先順位およびイネーブルキャッシュ
３０  キャッシュコントローラ
３２  割込みデータ読み出し回路
３４  グローバル保留ステータスメモリ
３６  グローバル優先順位およびイネーブルメモリ
３８  グローバル割込み番号空間
４０  割込み番号
４２  プログラマブルマッピングデータ
４４  保留ビット
５６  別個の保留ステータスメモリ
【図１】
2015532994.tif 000003
【図２】
2015532994.tif 000004
【図３】
2015532994.tif 000005
【図４】
2015532994.tif 000006
【図５】
2015532994.tif 000007
【手続補正書】
【提出日】平成27年6月18日(2015.6.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
図５は、メッセージシグナル割込みの通信を概略的に図示するフロー図である。ステップ５８で、メッセージシグナル割込みが受信される。ステップ６０で、関係している割込み番号に対する保留ステータスデータがグローバル割込み番号空間３８内に設定される。この保留ステータスデータは、保留割込みキャッシュ２４、または保留ステータスメモリ３４、５６のうちの１つの中に記憶されてもよい。ステップ６２で、読み出し回路３２は、ターゲット割込みデスティネーションでの保留ステータスデータを読み出す。次に、ステップ６４で、ターゲット割込みデスティネーションでの割込みを処理し、割込みが扱われたことを示すために、保留割込みデータをクリアする。
【国際調査報告】
2015532994.tif 000008
2015532994.tif 000009