(57)【要約】      （修正有）【課題】プロセッサが低電力状態にある場合、割り込みを受諾して、受諾を示す完了通知を返すまでに長時間がかかってしまい、その後のトランザクションの実行が遅くなってしまう可能性があるので、この遅延を解消する方法、装置を提供する。【解決手段】周辺機器からプロセッサコンプレックスにおいて入力ポストトランザクションを受信する段階と、トランザクションが割り込みトランザクションであるか否かを判断して、トランザクションが割り込みトランザクションである場合には、トランザクションを第１の待ち行列にルーティングして、トランザクションが割り込みトランザクションでない場合には、トランザクションを第２の待ち行列にルーティングする段階とを備える。【選択図】図１
2010092474.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器から、プロセッサコンプレックスの待ち行列構造において、入力ポストトランザクションを受信する段階と、
前記入力ポストトランザクションが割り込みトランザクションであるか否かを判断し、前記入力ポストトランザクションが割り込みトランザクションである場合には、前記割り込みトランザクションを前記プロセッサコンプレックスの第１の待ち行列にルーティングして、前記入力ポストトランザクションが割り込みトランザクションでない場合には、前記入力ポストトランザクションを第２の待ち行列にルーティングする段階と
を備える方法。
【請求項２】
前記割り込みトランザクションを前記第１の待ち行列にルーティングすることによって、前記プロセッサコンプレックスの少なくとも一部分が低電力状態にある場合に、割り込みではない入力ポストトランザクションおよび非ポストトランザクションは、前記割り込みトランザクションを追い越すことができるようになる
請求項１に記載の方法。
【請求項３】
前記第１の待ち行列に前記割り込みトランザクションをルーティングする段階
をさらに備え、
前記第１の待ち行列は、前記プロセッサコンプレックスに結合されているシステムメモリの専用部分である
請求項１に記載の方法。
【請求項４】
前記第１の待ち行列に前記割り込みトランザクションをルーティングする段階
をさらに備え、
前記第１の待ち行列は、前記プロセッサコンプレックスの別の待ち行列である
請求項１に記載の方法。
【請求項５】
前記プロセッサコンプレックスのＡＰＩＣ（アドバンスド・プログラマブル・インタラプト・コントローラ）が低電力状態であることによって、前記第１の待ち行列に少なくとも１つの割り込みトランザクションが格納されている間に、前記第２の待ち行列において前記入力ポストトランザクションを処理する段階
をさらに備える、請求項１に記載の方法。
【請求項６】
前記少なくとも１つの割り込みトランザクションのうち第１の割り込みトランザクションが前記第１の待ち行列に書き込まれると、前記ＡＰＩＣおよび前記プロセッサコンプレックスの少なくとも１つのコアを起動させる段階
をさらに備える、請求項５に記載の方法。
【請求項７】
前記入力ポストトランザクションに対する前記処理に応じて、前記周辺機器に対して前記プロセッサコンプレックスからデータを送信する段階
をさらに備え、
前記周辺機器は、前記入力ポストトランザクションの前記処理の結果、アンダーフロー状態になることを避け、
前記プロセッサコンプレックスの少なくとも一部分が前記低電力状態にあり、前記プロセッサコンプレックスの少なくとも１つのコアは、前記低電力状態において、電源がオフになっている
請求項５に記載の方法。
【請求項８】
前記割り込みトランザクションは、仮想レガシーワイヤーインタラプトである
請求項５に記載の方法。
【請求項９】
前記第１の待ち行列に前記割り込みトランザクションを格納することによって、前記割り込みトランザクションの後に前記プロセッサコンプレックスにおいて受信した第２の入力ポストトランザクションは、前記割り込みトランザクションを追い越すことができ、
前記プロセッサコンプレックスと前記周辺機器との間に結合されているインターコネクトの順序決めルールでは、後のポストトランザクションは先のポストトランザクションを追い越せない
請求項５に記載の方法。
【請求項１０】
プロセッサコンプレックスと、
アービタに結合されており、システムメモリと通信し合うメモリコントローラと
を備え、
前記プロセッサコンプレックスは、
周辺機器から入力ポストトランザクションを受信するインターフェースと、
前記インターフェースから前記入力ポストトランザクションを受信して、前記入力ポストトランザクションが割り込みトランザクションである場合には、保留メカニズムを利用して前記入力ポストトランザクションを処理して、前記入力ポストトランザクションが割り込みトランザクションでなければ、前記入力ポストトランザクションをポスト待ち行列に格納する、前記アービタと、
前記アービタに結合されており、命令に応じて動作を実行する複数のコアと
を有する
装置。
【請求項１１】
前記複数のコアに結合されている少なくとも１つの割り込みコントローラ
をさらに備え、
前記少なくとも１つの割り込みコントローラは、前記保留メカニズムに対応付けられているポリシーに基づいて、前記割り込みトランザクションの受信の後、起動される
請求項１０に記載の装置。
【請求項１２】
前記メモリコントローラは、前記少なくとも１つの割り込みコントローラが低電力状態にある場合に、前記ポスト待ち行列に格納されている少なくとも１つのポストトランザクションを処理し、
前記保留メカニズムの割り込み待ち行列および前記ポスト待ち行列は、互いに独立しているので、前記割り込みトランザクションの後に前記プロセッサコンプレックスにおいて受信された前記少なくとも１つのポストトランザクションは、前記割り込みトランザクションによってブロックされない
請求項１１に記載の装置。
【請求項１３】
前記保留メカニズムは、前記システムメモリの専用部分であって、前記ポスト待ち行列は前記プロセッサコンプレックス内に存在する
請求項１１に記載の装置。
【請求項１４】
前記アービタから前記割り込みトランザクションを受信して、前記割り込みトランザクションを前記システムメモリの前記専用部分に格納させるＤＭＡ（ダイレクトメモリアクセス）エンジン
をさらに備える、請求項１３に記載の装置。
【請求項１５】
前記保留メカニズムの割り込み待ち行列は、前記割り込み待ち行列にほかのエントリがない場合には、前記割り込みトランザクションに対応するエントリにおいてフラグを設定する
請求項１１に記載の装置。
【請求項１６】
前記フラグは、前記少なくとも１つの割り込みコントローラにメッセージを送らせる
請求項１５に記載の装置。
【請求項１７】
プロセッサコンプレックスと、
前記プロセッサコンプレックスに結合されているメモリと、
インターコネクトによって前記プロセッサコンプレックスに結合されており、前記プロセッサコンプレックスに入力ポストトランザクションを送信する周辺機器と
を備え、
前記プロセッサコンプレックスは、
前記周辺機器から前記入力ポストトランザクションを受信するインターフェースと、
前記インターフェースから前記入力ポストトランザクションを受信して、前記入力ポストトランザクションが割り込みトランザクションであるか否かを判断して、前記入力ポストトランザクションが割り込みトランザクションである場合には、割り込み待ち行列に前記入力ポストトランザクションを格納し、前記入力ポストトランザクションが割り込みトランザクションでない場合には、前記入力ポストトランザクションをポスト待ち行列に格納するロジックと、
前記ロジックに結合されており、命令に応じて動作を実行する複数のコアと、
前記ロジックに結合されており、前記メモリと通信し合うメモリコントローラと
を有する
システム。
【請求項１８】
少なくとも１つのコアが、第１のレイテンシ終了時間を持つ電力オフ状態になり、前記周辺機器は、エラー状態を避けるためには第２の時間内に第１のトランザクションに対する応答を受信し、
前記第２の時間は前記第１のレイテンシ終了時間より短くて、前記第１のトランザクションは、前記割り込み待ち行列に格納されている１以上の割り込みトランザクションを追い越し、前記第２の時間内に前記プロセッサコンプレックスの前記ロジックによって処理される
請求項１７に記載のシステム。
【請求項１９】
前記複数のコアに結合されている割り込みコントローラ
をさらに備え、
前記割り込みコントローラは、前記割り込みトランザクションに対応するエントリが前記割り込み待ち行列に書き込まれると、前記割り込み待ち行列からメッセージを受信し、前記ロジックは、前記割り込みコントローラが低電力状態の場合に、前記ポスト待ち行列に格納されている少なくとも１つの入力ポストトランザクションを処理する
請求項１７に記載のシステム。
【請求項２０】
前記割り込み待ち行列は、前記メモリの専用部分であり、前記ポスト待ち行列は前記プロセッサコンプレックス内にあり、
前記ロジックから前記割り込みトランザクションを受信して、前記割り込みトランザクションを前記メモリの前記専用部分に格納させるＤＭＡ（ダイレクトメモリアクセス）エンジン
をさらに備える
請求項１７に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
トランザクションの順序を決定する際の要件は通信プロトコルによって異なる。例えば、リンク用のＰＣＩｅ（ペリフェラル・コンポーネント・インターコネクト・エクスプレス：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｔ  Ｅｘｐｒｅｓｓ）（登録商標）プロトコルは、ＰＣＩｅ仕様書の基本仕様書、バージョン２．０（２００７年１月１７日公開）（以下ではＰＣＩｅ仕様書と呼ぶ）に基づいており、ポストトランザクションに関して順序決め要件を規定しており、ポストトランザクションはそれ以前のポストトランザクションを追い越すことはできないとしている。ポストトランザクションとは、トランザクションが問題なく完了した場合に完了メッセージを要求元が受信しないトランザクションである。これとは対照的に、非ポストトランザクションとは、トランザクションが正しく実行された場合には完了メッセージを受信することを要求元が期待しているトランザクションである。ＰＣＩｅリンクの順序決めルールでは、ポストトランザクションに続く複数のトランザクションは、一般的にはポストトランザクションがプロセッサコアに到達するまで、ポストトランザクションを押す必要がある。ポストトランザクションが割り込みである場合、現行のシステムでは上述したような順序決めルールに従って、該割り込みトランザクションがプロセッサのローカルＡＰＩＣ（Ａｄｖａｎｃｅｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ  Ｃｏｎｔｒｏｌｌｅｒ）内に登録されるまで、インターコネクトを介してトランザクションを押す。
【０００２】
このようなルールによれば、割り込みが確実にプロセッサに提供される一方、プロセッサが低電力状態にあるために、割り込みを受諾して、受諾を示す完了通知を返すまでに長時間がかかってしまう場合には、その後のトランザクションの実行が遅くなってしまう可能性がある。つまりプロセッサは、低電力モードにある場合には、割り込みを受け取ることができず、すぐに完了通知を返すことができない。より進化したプロセッサを備える未来のシステムでは、プロセッサコアにクロックおよび電力が提供されない電力管理状態が実現する可能性が高いと予想される。さらに、低電力状態が深まるほど、動作可能な状態に戻るまでにかかる時間が長くなる。このため、プロセッサに割り込みが登録されるために必要な時間が、かなり長くなってしまう可能性がある。また、プラットフォーム電力管理技術は、割り込みをオペレーティングシステムのタイマの数字に合わせてしまう可能性があり、複数の割り込みが一まとめにされてしまう場合がある。
【０００３】
このため、所定の通信プロトコルの順序決め要件を厳守すると、プロセッサまたはその一部が低電力状態にある時には特に、ボトルネックが発生してしまい得る。このため、割り込みによって通信サイクルを開始させるようなレイテンシによる影響が大きいデバイス、例えばプロセッサに結合されている周辺機器等は、悪影響を被ってしまう場合がある。例えば、ＵＳＢ（ユニバーサル・シリアル・バス）デバイスは、フレーム時間が約２０マイクロ秒（μｓ）である。しかし、プロセッサコアが低電力状態からウェイクアップする（目覚める）ためには、これより長い時間がかかる場合がある。このため、現行のインターコネクト順序決めルールでは、問題が発生してしまう。
【図面の簡単な説明】
【０００４】
【図１】本発明の一実施形態に係る方法を示すフローチャートである。
【０００５】
【図２】本発明の一実施形態に係るシステムの一部を示すブロック図である。
【０００６】
【図３】本発明の別の実施形態に係るプロセッサコンプレックスを示すブロック図である。
【０００７】
【図４】本発明の一実施形態に係るシステムを示すブロック図である。
【発明を実施するための形態】
【０００８】
さまざまな実施形態によると、プロセッサコンプレックスに入力される割り込みは、上述したような問題を避けるべく、ほかの入力トランザクションとは分離されるとしてよい。例えば、さまざまな周辺機器が、周辺機器コントローラハブ（ＰＣＨ）等のコントローラを介して、プロセッサコンプレックスに結合されるとしてよい。前の世代のプロセッサとは違って、本発明の実施形態に係るプロセッサコンプレックスは、取り付けられたデバイスから、マスク不可能な割り込み（ＮＭＩ）またはシステム管理割り込み（ＳＭＩ）等の割り込みを受け取るための割り込みピンを別に備えていない場合がある。これに代えて、周辺機器からのさまざまな割り込みは、プロセッサコンプレックスと周辺機器（例えば、ＰＣＨ）との間に設けられる、ポイントツーポイントインターコネクト等の標準インターコネクトによって、帯域内メッセージとして送信されるとしてよい。このような割り込みは、メッセージシグナル式割り込み（Ｍｅｓｓａｇｅ  Ｓｉｇｎａｌｅｄ  Ｉｎｔｅｒｒｕｐｔ：ＭＳＩ）または仮想レガシーワイヤ割り込み（ＶＬＷ）と呼ばれ得る。
【０００９】
割り込み以外のトランザクション（例えば、書込トランザクションおよび読出トランザクション等）も搬送するインターコネクトを介して送信される割り込みは、ポストトランザクションの形式を取るとしてよい。このため、これらのトランザクションは従来、所定の通信プロトコル、例えばＰＣＩｅプロトコルの、ポストトランザクションはほかのポストトランザクションを追い越せないというような順序決めルールを遵守している。しかし、上述したように、このような構成は、ボトルネックを生じさせる可能性があり、周辺機器の動作が望ましくない状態になってしまう場合がある。このため、さまざまな実施形態では、これらの割り込みトランザクションを処理して、その他のポストトランザクションから分離する保留メカニズムを設けることによって、このような割り込みを別個に処理するとしてよい。尚、割り込み配信のさまざまな要件によればＭＳＩ／ＶＬＷはデータポストサイクルを押し、読み出し完了はＭＳＩ／ＶＬＷを押すとされる。しかし、このような順序決めルールが満たされれば、保留メカニズムはＭＳＩ／ＶＬＷについても利用可能であり、後続のトラフィックが継続して流れるようになり、その結果ボトルネックを解消できる。
【００１０】
これらの割り込みは１以上のストレージで待機させておくことができる。こうして、コアの省電力状態をより長時間にわたって継続させることができる。このようにすることで、低電力状態がより長時間にわたって維持され、省電力が推進される。さらに、このような低電力技術は、レイテンシが高い場合がある。例えば、コア等の電力がオフにされると、より高い省電力効果を奏することができる。このようなレイテンシが高い技術を、取り付けられた周辺機器等のレイテンシに影響を受けやすいデバイスにおいて問題を起こすことなく、割り込みについても利用することができる。さまざまな実施形態によると、ポストトランザクションおよび割り込みトランザクションについて、バッファまたは待ち行列を異ならせる等、別個のストレージを設けるとしてよい。
【００１１】
このような別個のストレージを設けることに関して、別の方法で実装するとしてよい。例えば、プロセッサコンプレックスは、ポストトランザクション用の第１の待ち行列および入力ＭＳＩまたはＶＬＷ用の第２の待ち行列のように、別々のオンダイストレージを備えるとしてよい。別の実装例によると、オンチップストレージを設けるのではなく、メインメモリの一部分を割り込みトランザクションの格納専用として構成する等、オフチップストレージを設けるとしてよい。割り込みトランザクションを保留することによって、割り込みトランザクション後のトラフィックは別の待ち行列に基づいて流れ続けることになり、ボトルネックが解消される。またさらに、ＭＳＩおよびＶＬＷ用に別の独立したストレージが設けられるので、コアの省電力状態をより長時間にわたって維持することができる。つまり、レイテンシが高い低電力方法は、割り込みが待機させられていても、プロセッサコンプレックスに結合されているＵＳＢデバイスのようにレイテンシに影響を受けやすいデバイスに悪影響を及ぼすことなく、実行され得る。
【００１２】
図１は、本発明の一実施形態に係る方法を示すフローチャートである。より具体的には、方法１００は、プロセッサコンプレックスにおいてインターコネクトから受信する入力トランザクションを処理するべく利用され得る。一例を示すと、インターコネクトはダイレクトメディアインターフェース（ＤＭＩ）であってよいが、本発明の範囲はこれに限定されない。入力トランザクションは、ＰＣＨから受信されるとしてよいが、ＰＣＨは１以上の周辺機器に結合されるとしてよい。周辺機器の例を挙げると、システムの内部デバイス、または、ＵＳＢデバイス等の外部周辺機器であってよく、無線チューナ、メディアプレーヤ等であってよい。
【００１３】
図１に示すように、方法１００は、インターコネクトから入力トランザクションを受信することによって開始されるとしてよい（ブロック１１０）。例えば、プロセッサコンプレックスの入出力（Ｉ／Ｏ）インターフェースが入力トランザクションを受信するとしてよい。上述したように、これらのトランザクションは異なる種類のものであってよく、さまざまな読出トランザクションおよび書込トランザクション等のトランザクションを含む。トランザクションには、ポストトランザクションと非ポストトランザクションが含まれるとしてよい。また、ポストトランザクションのうち少なくとも一部は、ＭＳＩまたはＶＬＷ等の割り込みトランザクションであってよい。Ｉ／Ｏインターフェース、または、インターフェースに結合されているその他の入力フロー制御メカニズム、例えば、アービタは、トランザクションがポストトランザクションであるか否かを判断するとしてよい（ひし形１１５）。例えば、アービタまたはその他の構成要素は、トランザクションのパケットヘッダを分析して、ポストトランザクションであるか否かを判断するとしてよい。トランザクションは、ポストトランザクションでない場合は、非ポストトランザクション待ち行列に与えられるとしてよい（ブロック１２０）。この待ち行列は、プロセッサコンプレックスの所定のロジックブロック、例えばアンコアロジック（ｕｎｃｏｒｅ  ｌｏｇｉｃ）の一部であってよい。プロセッサコンプレックスは、コア以外にもさまざまな構成要素およびロジックを備えるとしてよい。
【００１４】
ひし形１１５において、トランザクションがポストトランザクションであると判断されると、ひし形１３０に進み、トランザクションが割り込みであるか否か、例えばメッセージシグナル式割り込みまたは仮想レガシーワイヤ割り込みであるか否か判断されるとしてよい。この判断も、メッセージヘッダを分析することによって行われるとしてよい。トランザクションが割り込みでない場合、ブロック１３５に進み、ポストトランザクションはポストトランザクション待ち行列に与えられるとしてよい。トランザクションが割り込みトランザクションであると判断される場合、割り込みトランザクション待ち行列に与えられるとしてよい（ブロック１４０）。
【００１５】
図１に示すように、ポストトランザクションと割り込みトランザクションとについて、別々の待ち行列が維持されるので、割り込みトランザクションによってその他の入力ポストトランザクションがブロックされないとしてよい。さらに後述するが、このようなトランザクションについては、ローカルＡＰＩＣ（アドバンスド・プログラマブル・インタラプト・コントローラ）、ほかの割り込みコントローラまたはプロセッサコアが低電力状態にあっても、処理が継続され得るので、ＡＰＩＣコントローラまたは１以上のコアの電源がオンに戻されるまで、割り込みトランザクションは待ち行列内にとどまらなければならない。
【００１６】
割り込み待ち行列では、エントリが格納されると、更なる処理が実行されるとしてよい。具体的には、ひし形１５０において、ローカルＡＰＩＣが低電力状態にあるか否かが判断されるとしてよい。ローカルＡＰＩＣが低電力状態にある場合、ひし形１６０に進んで、コアを低電力状態からウェイクアップさせるための所定のウェイクアップ基準を当該トランザクションが満たしているか否かを判断するとしてよい（ひし形１６０）。ポリシーの一例を挙げると、割り込みトランザクションについて格納されたエントリが、待ち行列で最初のエントリであればウェイクアップさせるというポリシーであってよい。所定のウェイクアップ基準が満たされていれば、フラグを設定して、割り込み待ち行列内に少なくとも１つのエントリがあることを示すとしてよい。さらに、ローカルＡＰＩＣおよび１以上のコアに対して、この割り込みを処理するべくウェイクアップさせるために、ウェイクアップ信号が送信されるとしてよい。これ以外にウェイクアップポリシーの例を挙げると、（ａ）最初の割り込みのエントリの後、タイマが切れれば、ウェイクアップさせる、（ｂ）待機状態の割り込みの数がしきい値を超えるとウェイクアップさせる、（ｃ）割り込み優先に基づいてウェイクアップさせる、または（ｄ）ターゲットとなるコアに応じてウェイクアップさせる、等がある。このように、方法１００は、入力されるトランザクションを適切な待ち行列に格納させて、処理を終了させる。言うまでもなく、この後でトランザクションに対してほかの処理を実行するとしてよい。具体的には、１以上のコアが通常動作モードにあると仮定すると、待ち行列からコア等のターゲットにトランザクションを送信するとしてよい。一部の実装例によると、待ち行列の出力にアービタを結合して、さまざまなトランザクションを調停して適切なロケーションに送るとしてよい。
【００１７】
これに代えて１以上のコアおよび／またはローカルＡＰＩＣが低電力状態にある場合、割り込みトランザクションは割り込み待ち行列において引き続き待機状態としてよい。しかし、ポストトランザクション待ち行列および非ポストトランザクション待ち行列のトランザクションは、コアにアクセスする必要がない限り、引き続き処理されるとしてよい。例えば、電力がオフになっていないメインメモリまたはキャッシュメモリを対象とする読出要求または書込要求については、トランザクションをトランザクション待ち行列から引き続き出力し続けて処理することができる。このため、これらの割り込みトランザクション以外のトランザクションは、割り込みトランザクションよりも後に受信されている場合もあるが、割り込み行列内に格納されている割り込みトランザクションを追い越すことができる。このようにして、周辺機器のアンダーフローまたはその他のエラー状態の発生を避けることができる。例えば、コアまたはローカルＡＰＩＣが電源オフ状態にあると仮定されたい。この状態では、電圧ランプが発生するまでの時間が長くかかってしまう場合があり、位相ロックループ（ＰＬＬ）およびその他のインターフェースを初期化して低電力状態を終了させるというタスクが追加されて、これに５０μｓから１００μｓオーダーの時間がかかる。これは、レイテンシ終了時間に対応する。周辺機器のフレーム時間は、例えば２０μｓで、レイテンシ終了時間よりも短い場合があるので、周辺機器からの信号が待機状態の割り込みトランザクションの後で止められて、この信号に対する応答が成されないと、アンダーフローが発生してしまう。このため、保留メカニズムを利用することによって、ほかの周辺機器トランザクションを周辺機器が期待するように処理できるようになり、アンダーフロー等のエラー状態が回避される。図１の実施形態に示した具体的な実装例を参照して説明したが、本発明の範囲はこれに限定されない。
【００１８】
実施形態は、多くの異なる種類のシステムおよびプロセッサにおいて実装することができる。しかし、特定の実装例は、複数のプロセッサコア、キャッシュ、対応ロジック、メモリコントローラ、インターフェースコントローラ等を有する単一ダイの集積回路である、プロセッサコンプレックスを備えるプラットフォームと共に利用され得る。
【００１９】
図２は、本発明の一実施形態に係るシステムの一部を示すブロック図である。図２に示すように、システム２００は、メモリ２６０およびＰＣＨ２８０に結合されるプロセッサコンプレックス２１０を備える。メモリ２６０は、一実施形態によると、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）であってよい。図２に示すように、プロセッサコンプレックス２１０は、複数のコア２２０ａ−２２０ｄ（コア２２０と総称する）を有するとしてよい。各コアは、対応するキャッシュメモリ２２５ａ−２２５ｄ（キャッシュ２２５と総称する）に対応付けられているとしてよい。さらに、プロセッサコンプレックス２１０はアンコアロジック２３０を有しており、アンコアロジック２３０は、特定のインターフェースロジックおよび制御ロジック等、コアにはないプロセッサのさまざまなロジックを含むとしてよい。プロセッサコンプレックス２１０はさらに、インターコネクト２４５に対するインターフェースを提供するＩ／Ｏインターフェース２４０を有する。インターコネクト２４５は、一実施形態によると、プロセッサコンプレックス２１０とＰＣＨ２８０との間に結合されているダイレクトメディアインターフェース（ＤＭＩ）または別のポイントツーポイントインターコネクトであってよい。また、プロセッサコンプレックス２１０はさらに、プロセッサコンプレックス２１０とメモリ２６０との間のインターフェースを提供する、メモリコントローラ２５０を有する。
【００２０】
さらに図２を参照して説明すると、入力される要求は、Ｉ／Ｏインターフェース２４０からアンコアロジック２３０へと与えられ、より具体的には、ロジック内のアービタ２３２等の待ち行列構造に与えられる。図２に示す実装例によると、アービタは、複数の仮想チャネルから入力トランザクションを受信するよう構成されている、仮想チャネルアービタ（ＶＣＡＲＢ）である。図示されている実施形態によると、これらの仮想チャネルは、第１の仮想チャネル（ＶＣ０）および第２の仮想チャネル（ＶＣＰ）を含むとしてよい。これらの仮想チャネルはそれぞれ、異なるトラフィッククラスの通信を搬送するとしてよく、プロセッサコンプレックス２１０内のさまざまなソースまたはその他の同様のソースから、トランザクションを受信するとしてよい。
【００２１】
アービタ２３２は、さまざまな入力トランザクションを調停するとしてよく、トランザクションの種類に基づいて選択される待ち行列にトランザクションを与えるとしてよい。図２に示す実施形態によると、対応する種類のトランザクションを受信するべく、ポストトランザクション待ち行列２３４、非ポストトランザクション待ち行列２３５、および割り込みトランザクション待ち行列２３６が用意されている。本発明の範囲はこれに限定されないが、一実施形態に係る割り込み待ち行列２３６は、少なくとも３２個のエントリを格納する深さを持つとしてよい。このように、待ち行列は、プロセッサコンプレックスのコアが低電力状態を取り得る所定期間内にインターコネクトを渡ることができる割り込みの最大数という公知の値に基づいて、サイズが決定されるとしてよい。これに対して、待ち行列２３４および２３６は、これらの待ち行列から出力される別のトランザクションを調停する外向きアービタ２３８に結合される。
【００２２】
さらに図２を参照して説明すると、プロセッサコンプレックス２１０は、ローカルＡＰＩＣ２４６を有するとしてよい。該ＡＰＩＣは、例えばアービタ２３８を介して入力される割り込みを受信するべく用いられるとしてよく、この割り込みを１以上のコアに通知するとしてよい。尚、ローカルＡＰＩＣ２４６は、プロセッサコンプレックスのコアおよびその他のロジックからは独立して制御され得る。つまり、ＡＰＩＣは独立して、低電力状態を開始および終了することができる。このため、処理すべき割り込みがない場合には、ローカルＡＰＩＣ２４６は低電力状態に入ることができる。同様に、１以上のコア２２０が低電力状態にあるとしても、ローカルＡＰＩＣ２４６は入力される割り込みを処理するべくオンに制御され得る。ＡＰＩＣは異なる方法で実装するとしてもよい。例えば、全てのコアに対して単一のＡＰＩＣを設ける代わりに、それぞれのコアにローカルＡＰＩＣを１つ対応付けるとしてもよい。この場合、ローカルＡＰＩＣが設けられるのは、コアの内部であってもよいし外部であってもよい。
【００２３】
アンコアロジック２３０のロジックは、ローカルＡＰＩＣ２４６の電力状態を制御するべく利用されるとしてよい。例えば、割り込みトランザクション待ち行列２３６が空の場合、信号、メッセージ、または電力管理ポリシーによって、ローカルＡＰＩＣ２４６が低電力状態を開始し得る。同様に、例えば、割り込みトランザクション待ち行列２３６に第１の割り込みトランザクションが書き込まれると、ローカルＡＰＩＣ２４６にウェイクアップ信号またはウェイクアップメッセージが送信されるとしてよい。図示の便宜上限られた構成要素のみを示したが、プロセッサコンプレックス２１０にはさらなる構成要素、例えば、固定機能部、その他の処理部等が追加され得るものと理解されたい。
【００２４】
図２に示したような実装例を用いると、プロセッサコンプレックスのローカルＡＰＩＣ２４６が低電力状態にあって、割り込みトランザクションが割り込み待ち行列２３６内に留まっている間も、ポストトランザクション待ち行列２３４内のトランザクションに対して処理を続行することができる。言うまでもなく、割り込み待ち行列２３６内に少なくとも１つの割り込みがあれば、ウェイクアップ信号またはウェイクアップメッセージが、割り込みを処理することを目的としてウェイクアップをトリガするべく、ＡＰＩＣおよび／またはコアのうち１以上に送信されるとしてよい。コアは、オンに制御されると、処理を実行する準備ができている旨を示すメッセージを送り、トリガ信号が、割り込みトランザクションを格納している待ち行列２３６に送信されて、割り込みトランザクションをローカルＡＰＩＣに対して、そしてコアに対して送信させる。図２の実施形態では具体的な実装例を示したが、本発明の範囲はこれに限定されない。
【００２５】
上述したように、さまざまな実装例によると、入力される割り込みトランザクションについてオンチップストレージを設けるのではなく、利用可能なオフチップストレージを利用するとしてよい。図３は、本発明の別の実施形態に係るプロセッサコンプレックスを示すブロック図である。図３に示すように、プロセッサコンプレックス２１０は、図２に示すプロセッサコンプレックスと同様の構造を持つとしてよい。しかし、図３の実装例によると、プロセッサコンプレックスのアンコアロジック２３０内に割り込みトランザクション待ち行列が別個に設けられていないことに留意されたい。図３の実施形態によると、割り込みの格納には、メモリ２６０内の専用ストレージスペース２６５を用いるとしてよい。アービタ２３２は、入力される割り込みポストトランザクションをメモリ２６０に供給するべく、ダイレクトメモリアクセス（ＤＭＡ）エンジン２４８に結合されるとしてよい。ＤＭＡエンジン２４８は、割り込みポストトランザクションを受信してメモリ２６０に格納するとしてよい。具体的には、ＤＭＡエンジン２４８は、ＭＣＨ２５０のメモリアービタ２５５と通信して、受信した割り込みを専用ストレージ２６５に供給するとしてよい。メモリアービタ２５５およびＤＭＡエンジン２４８はさらに逆の動作を実行するとしてよく、ＡＰＩＣに電源が投入されて割り込みを処理できるようになると、格納されている割り込みを取得して、アービタ２３８を介してローカルＡＰＩＣ２４６に供給するとしてよい。
【００２６】
実施形態は、数多くの異なる種類のシステムにおいて実装されるとしてよい。図４は、本発明の実施形態に係るシステムを示すブロック図である。図４に示すように、マルチプロセッサシステム５００は、ポイントツーポイントインターコネクトシステムであり、ポイントツーポイントインターコネクト５５０によって互いに結合されている第１のプロセッサ５７０および第２のプロセッサ５８０を備える。図４に示すように、プロセッサ５７０および５８０はそれぞれ、マルチコアプロセッサであってよく、第１および第２のプロセッサコアを有する（つまり、プロセッサコア５７４ａおよび５７４ｂ、ならびに、プロセッサコア５８４ａおよび５８４ｂ）。各プロセッサはさらに、アンコアロジック５７５および５８５を有するとしてよい。ロジック５７５および５８５は、ほかのポストトランザクションとは別個に割り込みトランザクションを処理する保留メカニズムを含むとしてよい。
【００２７】
図４を参照して説明を続けると、第１のプロセッサ５７０はさらに、メモリコントローラハブ（ＭＣＨ）５７２およびポイントツーポイント（Ｐ−Ｐ）インターフェース５７６および５７８を有する。同様に、第２のプロセッサ５８０は、ＭＣＨ５８２およびＰ−Ｐインターフェース５８６および５８８を有する。図４に示すように、ＭＣＨ５７２および５８２は、プロセッサを対応するメモリ、つまり、メモリ５３２およびメモリ５３４に結合している。メモリ５３２および５３４は、局所的に対応するプロセッサに取り付けられているメインメモリ（例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ））の一部分であってよい。第１のプロセッサ５７０および第２のプロセッサ５８０は、Ｐ−Ｐインターコネクト５５２および５５４を介してチップセット５９０に結合されるとしてよい。図４に示すように、チップセット５９０は、Ｐ−Ｐインターフェース５９４および５９８を有する。
【００２８】
さらに、チップセット５９０は、チップセット５９０を高性能グラフィクスエンジン５３８に結合するためのインターフェース５９２を有する。これに対して、チップセット５９０は、インターフェース５９６を介して、第１のバス５１６に結合されるとしてよい。図４に示すように、さまざまな入出力（Ｉ／Ｏ）デバイス５１４が、第１のバス５１６を第２のバス５２０に結合するバスブリッジ５１８と共に、第１のバス５１６に結合されるとしてよい。さまざまなデバイスが第２のバス５２０に結合され得るが、そのようなデバイスには、例えば、キーボード／マウス５２２、通信デバイス５２６、および、一実施形態によると、コード５３０を含み得るディスクドライブまたはその他の大容量ストレージデバイス等のデータストレージ部５２８が含まれる。さらに、オーディオＩ／Ｏ５２４は、第２のバス５２０に結合されるとしてよい。
【００２９】
限られた数の実施形態を参照して本発明を説明したが、当業者であれば数多くの変形例およびそれらの変更例に想到するであろう。本願の特許請求の範囲は、本発明の真の精神および範囲内のものとして、そのような変形例および変更例を全て含むものとする。
【図１】
2010092474.tif 000003
【図２】
2010092474.tif 000004
【図３】
2010092474.tif 000005
【図４】
2010092474.tif 000006
【外国語明細書】
2010092474.tif 000007
2010092474.tif 000008
2010092474.tif 000009
2010092474.tif 000010
2010092474.tif 000011
2010092474.tif 000012
2010092474.tif 000013
2010092474.tif 000014
2010092474.tif 000015
2010092474.tif 000016
2010092474.tif 000017
2010092474.tif 000018
2010092474.tif 000019
2010092474.tif 000020
2010092474.tif 000021
2010092474.tif 000022
2010092474.tif 000023