"第1ハードウェアスレッドおよび第2ハードウェアスレッドのハードウェアスレッド割込み互換性情報をトラッキングし、デバイスから出力され、前記第1ハードウェアスレッドに関連付けられたアフィニティを有する割込みを受信し、前記第2ハードウェアスレッドが前記割込みをハンドリング可能であることを前記ハードウェアスレッド割込み互換性情報が認証すると、前記割込みを前記第2ハードウェアスレッドへリダイレクトする、スレッドリマッピングロジックを備える、第1プロセッサ。前記スレッドリマッピングロジックはさらに、前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドの電力状態情報をトラッキングする、請求項1に記載の第1プロセッサ。前記第1ハードウェアスレッドから前記第2ハードウェアスレッドへの前記割込みの前記リダイレクトは、少なくとも、前記第1ハードウェアスレッドが低電力状態にあり、前記第2ハードウェアスレッドがフル動作状態にある場合、実行される、請求項1または2に記載の第1プロセッサ。前記第1ハードウェアスレッドはさらに、前記第1ハードウェアスレッドの電力状態が移行したことに応じて、前記第1ハードウェアスレッドの電力状態が変化したことを知らせる電力状態移行メッセージを、第2プロセッサへ送信する、請求項2に記載の第1プロセッサ。前記スレッドリマッピングロジックはさらに、トランスペアレントに、前記第1ハードウェアスレッドが低電力状態に移行した時に、前記デバイスに対し、プログラムされた割込みリダイレクトを行うことなく通常動作を継続させる、請求項1から4のいずれか1項に記載の第1プロセッサ。前記第2ハードウェアスレッドが前記割込みに対応する、請求項1から5のいずれか1項に記載の第1プロセッサ。前記第1ハードウェアスレッドは前記第1プロセッサ内に存在し、前記第2ハードウェアスレッドは前記第2プロセッサ内に存在し、前記電力状態移行メッセージは、前記第1プロセッサおよび前記第2プロセッサに結合されたプロセッサ間通信リンクを介して送信される、請求項4に記載の第1プロセッサ。前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドのそれぞれの前記ハードウェアスレッド割込み互換性情報および前記電力状態情報は、前記第2プロセッサ内に存在する第2スレッドリマッピングロジックによって同時にトラッキングされる、請求項7に記載の第1プロセッサ。第1ハードウェアスレッドおよび第2ハードウェアスレッドのハードウェアスレッド割込み互換性情報をトラッキングする段階と、デバイスから出力され、前記第1ハードウェアスレッドに関連付けられたアフィニティを有する割込みを受信する段階と、前記第2ハードウェアスレッドが前記割込みをハンドリング可能であることを前記ハードウェアスレッド割込み互換性情報が認証すると、前記割込みを前記第2ハードウェアスレッドへリダイレクトする段階とを備える方法。前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドの電力状態情報をトラッキングする段階をさらに備える、請求項9に記載の方法。前記割込みを前記第1ハードウェアスレッドから前記第2ハードウェアスレッドへ前記リダイレクトする段階は、少なくとも、前記第1ハードウェアスレッドが低電力状態にあり、前記第2ハードウェアスレッドがフル動作状態にある場合、実行される、請求項9または10に記載の方法。前記第1ハードウェアスレッドの電力状態が移行したことに応じて、前記第1ハードウェアスレッドの電力状態が変化したことを知らせる電力状態移行メッセージを、前記第2ハードウェアスレッドへ送信する段階をさらに備える、請求項10に記載の方法。トランスペアレントに、前記第1ハードウェアスレッドが低電力状態に移行した時に、前記デバイスに対し、プログラムされた割込みリダイレクトを行うことなく通常動作を継続させる段階をさらに備える、請求項9から12のいずれか1項に記載の方法。前記第2ハードウェアスレッドが前記割込みに対応する段階をさらに備える、請求項9から13のいずれか1項に記載の方法。前記電力状態移行メッセージを、第1プロセッサおよび第2プロセッサに結合されたプロセッサ間通信リンクを介して送信する段階をさらに備え、前記第1ハードウェアスレッドは前記第1プロセッサ内に存在し、前記第2ハードウェアスレッドは前記第2プロセッサ内に存在する、請求項12に記載の方法。前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドのそれぞれの前記ハードウェアスレッド割込み互換性情報および前記電力状態情報を、前記第2プロセッサ内に存在する第2スレッドリマッピングロジックによって同時にトラッキングする段階をさらに備える、請求項15に記載の方法。第1ハードウェアスレッドと第2ハードウェアスレッドとの間で情報を送信するハードウェアスレッド間通信リンクと、少なくとも前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドのハードウェアスレッド割込み互換性情報を格納する第1記憶装置と、少なくとも前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドの電力状態情報を格納する第2記憶装置と、第1スレッドリマッピングロジックユニットとを備え、前記第1スレッドリマッピングロジックユニットは、前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドの前記ハードウェアスレッド割込み互換性情報をトラッキングし、デバイスから出力され、前記第1ハードウェアスレッドに関連付けられたアフィニティを有する割込みを受信し、前記第2ハードウェアスレッドが前記割込みをハンドリング可能であることを前記ハードウェアスレッド割込み互換性情報が認証すると、前記割込みを前記第2ハードウェアスレッドへリダイレクトする、システム。前記第1ハードウェアスレッドから前記第2ハードウェアスレッドへの前記割込みの前記リダイレクトは、少なくとも、前記第1ハードウェアスレッドが低電力状態にあり、前記第2ハードウェアスレッドがフル動作状態にある場合、実行される、請求項17に記載のシステム。前記第1スレッドリマッピングロジックユニットはさらに、前記第1ハードウェアスレッドの電力状態が移行したことに応じて、前記第1ハードウェアスレッドの電力状態が変化したことを知らせる電力状態移行メッセージを、前記第2ハードウェアスレッドへ送信する、請求項17または18に記載のシステム。コンピュータプログラムであり、プロセッサに実行されると、前記プロセッサに第1ハードウェアスレッドおよび第2ハードウェアスレッドのハードウェアスレッド割込み互換性情報をトラッキングする手順と、デバイスから出力され、前記第1ハードウェアスレッドに関連付けられたアフィニティを含む割込みを受信する手順と、前記第2ハードウェアスレッドが前記割込みをハンドリング可能であることを前記ハードウェアスレッド割込み互換性情報が認証すると、前記割込みを前記第2ハードウェアスレッドへリダイレクトする手順とを含む動作を実行させる、コンピュータプログラム。前記動作が、前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドの電力状態情報をトラッキングする手順をさらに含む、請求項20に記載のコンピュータプログラム。前記割込みを前記第1ハードウェアスレッドから前記第2ハードウェアスレッドへ前記リダイレクトする手順は、少なくとも、前記第1ハードウェアスレッドが低電力状態にあり、前記第2ハードウェアスレッドがフル動作状態にある場合、実行される、請求項20に記載のコンピュータプログラム。前記動作が、前記第1ハードウェアスレッドの電力状態が移行したことに応じて、前記第1ハードウェアスレッドの電力状態が変化したことを知らせる電力状態移行メッセージを、前記第2ハードウェアスレッドへ送信する手順をさらに含む、請求項22に記載のコンピュータプログラム。前記動作が、前記電力状態移行メッセージを、第1プロセッサおよび第2プロセッサに結合されたプロセッサ間通信リンクを介して送信する手順をさらに含み、前記第1ハードウェアスレッドは前記第1プロセッサ内に存在し、前記第2ハードウェアスレッドは前記第2プロセッサ内に存在する、請求項23に記載のコンピュータプログラム。前記動作が、前記第1ハードウェアスレッドおよび前記第2ハードウェアスレッドのそれぞれの前記ハードウェアスレッド割込み互換性情報および前記電力状態情報を、前記第2プロセッサ内に存在する第2スレッドリマッピングロジックによって同時にトラッキングする段階をさらに含む、請求項24に記載のコンピュータ可読媒体。電力最適化割込み配信が可能なプロセッサ、システム、方法、およびコンピュータ可読媒体の実施形態を開示する。コンピュータシステムは、いくつかのハードウェアスレッドを含んでよい。ハードウェアスレッドをプロセッサ内のコアとして見なすと、各プロセッサが複数のコアを有するマルチプロセッサシステムにおいては、多くのハードウェアスレッドが存在し得る。ハードウェアスレッドは、動作を行う必要がない場合、低電力状態に移行する機能を有し得る。低電力状態にあるハードウェアスレッドの数が多くなると、コンピュータシステムの全体的な消費電力は低くなる。特定のハードウェアスレッドによる対応を必要とするI/O割込みが発生すると、ターゲットのハードウェアスレッドは、一般的に起動させられ、スリープ状態にあった当該ハードウェアスレッドのそれまでの省電力状態は解除される。よって、各ハードウェアスレッドの電力状態および各ハードウェアスレッドの割込み互換ハンドリングをトラッキングするスレッドリマッピングロジックが、コンピュータシステム内に存在してもよい。例えば、所与の割込みに対し、当該割込みをハンドリング出来るスレッドが4つあるとする。よって、その割込みが第1ハードウェアスレッドをターゲットにしており、第1ハードウェアスレッドが低電力状態にある場合、スレッドリマッピングロジックは他の、利用可能かつ当該割込みをハンドリング出来るハードウェアスレッドをサーチする。割込みをハンドリングする目的において適合するスレッドが利用可能である場合、スレッドリマッピングロジックは、当該割込みを転送/リマッピングし、他の見つけ出されたハードウェアスレッドにその割込みをハンドリングさせ、当初のターゲットのハードウェアスレッドは低電力状態を維持できるようにする。図1は、電力最適化割込み配信が可能なコンピュータシステムの一実施形態を示す。コンピュータシステム100が示されている。コンピュータシステムは、デスクトップ型、サーバ、ワークステーション、ノート型、PDA,テレビセットトップ、メディアセンター、ゲーム機、車両で用いられるような統合システム、または他のタイプのコンピュータシステムであってよい。いくつかの実施形態において、コンピュータシステム100は、プロセッサとも呼ばれる1以上の中央演算処理装置CPUを含む。多くの実施形態においては多くのCPUが存在し得るが、図1に示す実施形態では、説明を明確にするべく、CPU102のみが示されている。CPU102は、Intel登録商標CorporationのCPU、または、他のブランドのCPUであってよい。CPU102は、異なる実施形態において1以上のコアを含む。CPU102は4つのコアコア104、106、108、110を含むものとして示されている。多くの実施形態において各コアは、1以上の実行ユニット、リタイヤユニット、一式の汎用および特定用途レジスタなど、内部機能ブロックを含む。シングルスレッドコアにおいて、各コアをハードウェアスレッドと呼ぶこともある。マルチスレッドまたはハイパースレッドコアの場合、各コア内で動作するスレッドのそれぞれをハードウェアスレッドと呼ぶこともある。よって、コンピュータシステム100で実行されるいずれの1つの実行スレッドもハードウェアスレッドと呼ばれることがある。例えば図1において、各コアがシングルスレッドコアである場合、システム内には4つのハードウェアスレッド4つのコアが存在する。一方、各コアがマルチスレッドであり、同時に2つのスレッドの状態を制御する機能を有する場合、システムには8つのハードウェアスレッド4つのコアのそれぞれが2つのスレッドを有するが存在することとなる。CPU102は、キャッシュ112など1以上のキャッシュを含んでよい。示されていない多くの実施形態において、キャッシュ112以外の追加的なキャッシュが実装される。これにより、各コアの実行ユニットとメモリとの間に、複数のレベルのキャッシュが存在する。異なる実施形態において、キャッシュ112は異なる方法で分配される。さらにキャッシュ112は、異なる実施形態において、多くの異なるサイズのうちのいずれかが選ばれる。例えばキャッシュ112は、8メガバイトMBキャッシュ、16MBキャッシュなどであってよい。さらに異なる実施形態において、キャッシュは、ダイレクトマップ方式キャッシュ、フルアソシアティブ方式キャッシュ、マルチウェイセットアソシアティブ方式キャッシュ、または他のタイプのマップ方式のキャッシュであってよい。多くの実施形態において、キャッシュ112は、全てのコア間で共有される1つの大きな部分を含んでよく、または、いくつかの別々に機能するスライス例えば、各コアに対し1つのスライスに分割されてよい。キャッシュ112は、全てのコア間で共有される1つの部分を含み、コアごとに別々の機能を有するスライスであるいくつかの他の部分を含んでもよい。多くの実施形態において、CPU102は、システムメモリ116との通信のインタフェースを提供する統合システムメモリコントローラ114を含む。示されない他の実施形態においてメモリコントローラ114は、コンピュータシステム100内の他の場所に独立して設けられてもよい。システムメモリ116は、ダブルデータレートDDRダイナミックランダムアクセスメモリDRAMのようなタイプなどのDRAM、フラッシュメモリなどの不揮発性メモリ、相変化メモリPCM、または他のメモリ技術を用いたメモリなどを含んでよい。システムメモリ116は、CPU102によって処理されるデータまたは動作が実行される命令を格納する汎用メモリであってよい。さらに、コンピュータシステム100には、システムメモリから読み取り、またシステムメモリに書き込む機能を有する、ダイレクトメモリアクセスDMA可能なI/O入力/出力デバイスなどの他のデバイスが存在し得る。CPU102をシステムメモリ116と結合するリンクつまり、バス、インターコネクトなどは、データ、アドレス、制御、およびクロック情報を転送できる1以上の光学、金属または他の配線つまりラインを含む。例えばI/OコントローラハブなどのI/Oコンプレックス118は、CPU102と外部I/Oデバイスとの間の通信を可能とするI/Oインタフェース120を含む。I/Oコンプレックス118は、I/Oアダプタ122、124などの1以上のI/Oアダプタを含んでよい。I/Oアダプタは、CPU102で用いるホスト通信プロトコルを、I/Oデバイス126など特定のI/Oデバイスと互換性のあるプロトコルへ変換する。任意のI/Oアダプタが変換するプロトコルには、PeripheralComponentInterconnectPCI、UniversalSerialBusUSB、IDE、SCSIおよび1394Firewireなどが含まれる。さらに、1以上の無線プロトコルI/Oアダプタが存在してもよい。無線プロトコルの例には、Bluetooth登録商標、IEEE802.11-ベースの無線プロトコル、およびセルラープロトコルなどが含まれる。多くの実施形態において、BIOS128ベーシック入力/出力システムは、I/Oコンプレックス118と統合されるか、I/Oコンプレックス118に結合される。BIOSは、ブート処理の間にコンピュータシステムの主要なコンポーネントを初期化する命令を保持する、コンピュータシステムに格納されたファームウェアである。説明を明確にするべく示されてはいないが、CPUはグラフィックおよびネットワークトラフィックをハンドリングする高速I/Oインタフェースなどの追加的なインタフェースを有してよい。多くの実施形態において、これらの高速I/Oインタフェースは、1以上のPCI-Expressインタフェースを含んでよい。多くの実施形態において、コンピュータシステム100は、バーチャル環境に対して、バーチャルマシンVM環境内で実行される1以上のゲストオペレーティングシステムOSを提供できるハードウェアおよびソフトウェアロジックを有する。バーチャルマシンモニタVMMまたはハイパーバイザは、各VMの動作環境を分離し、各VM、並びにOSおよび当該OS内で実行されるアプリケーションが、システム内に存在する他のVMから分離され、それら他のVMを認識しないよう、システム内のロジックで実装される。例えば、いくつかの実施形態において、記憶装置116内に存在するVMM134は、VM136およびVM140、並びにそれぞれのVMで実行されるOS138およびOS142が使用するリソースを管理する。また、CPU102は、CPU102に供給される電力VCCを制御する電圧制御ロジック144を含んでよい。シームレスなバーチャル環境を作り出すべく、バーチャルI/Oが一般的に用いられる。I/Oバーチャル化ロジック130は、I/Oデバイス126などのI/Oサブシステム内のI/Oデバイスをバーチャル化し、分離する機能を提供する。いくつかの実施形態において、I/Oバーチャル化ロジック130は、Intel登録商標VT-dアーキテクチャを含む。他の実施形態において、x86またはx86以外のクラスのIOMMUセットアップなど他のタイプのメモリがマッピングドI/O技術が用いられる。I/Oデバイスが開始するデバイス転送DMAおよび割込みは、任意のVMに対してデバイスの分離を要求する主要な処理である。多くの実施形態において、I/Oバーチャル化ロジック130は、システムソフトウェアが複数のDMA保護ドメインを作成することを可能とする。保護ドメインは、システムメモリのサブセットが割り当てられる分離された環境である。用いられるソフトウェアのモデルに応じて、DMA保護ドメインは、VMに割り当てられるメモリ、或いはVM内で、またはVMM/ハイパーバイザそのものの一部として実行されるゲストOSドライバにより割り当てられるDMAメモリを表す。I/Oバーチャル化ロジック130は、システムソフトウェアが1以上のI/Oデバイスを保護ドメインに指定することを可能とする。DMAの分離は、保護ドメインに指定されていないI/Oデバイスからの、当該保護ドメインの物理メモリへのアクセスを制限することにより達成できる。割込みをハンドリングするべく、I/Oバーチャル化ロジック130は、割込みメッセージのフォーマットを、メッセージ識別子を含み実際の割込み属性を含まないDMA書き込み要求へ変更する。あらゆるDMA要求のように書き込み要求は、割込みを生成するI/Oデバイス機能の要求者IDを特定する。そしてI/Oバーチャル化ロジック130が割込み要求を受信すると、割込みは、割込みのテーブル構造を用いてリマッピングされる。割込みリマッピングテーブルの各エントリは、必要なあらゆる割込み属性例えば宛先CPU,ベクトルなどを含む、デバイスからの特有の割込みメッセージ識別子に対応する。図1に示す実施形態において、I/Oバーチャル化ロジック130はI/Oインタフェース120を介し、1以上のI/Oデバイスから要求を受信する。I/Oバーチャル化ロジック130は上述したように、要求がメモリコントローラ114へ到達する前に、これらの要求をハンドリングする。図1に示す実施形態を含む多くの実施形態において、スレッドリマッピングロジックTRL132は、I/Oバーチャル化ロジック130内に存在する。他の実施形態において、TRL132は、コンピュータシステム100内でCPU102の他の位置、また場合によっては、図2に示すように他の要素と併せてCPU102の外部に存在する。図2は、電力最適化割込み配信が可能なコンピュータシステムの他の実施形態を示す。図2に示す実施形態において、CPU102は図1に示すCPUと同様であるが、I/Oコンプレックス200がCPU102の外部に位置している点のみ異なる。I/Oコンプレックス200は、I/Oバーチャル化ロジック202およびTRL204を含む。I/Oバーチャル化ロジック202およびTRL204は、図1に示すものと同じ機能を実行するが、それらをCPU102の外部から行う点のみが異なる。I/Oアダプタ206、208も同じ機能、つまりI/Oデバイス126などの1以上のI/Oデバイスに対し通信インタフェースを提供する機能を実行する。多くの実施形態において、I/Oコンプレックス200は、システムのマザーボードに位置し、銅、光学、または他の物理的なタイプの一連のライン/配線を介してCPU102に結合された、独立したI/Oコントローラハブである。図1に戻ると、TRL132はいくつかの機能を実行する。第1に、TRL132のロジックは、各ハードウェアスレッドの現在の電力状態をトラッキングする。多くのコンピュータシステムは、ACPIAdvancedConfigurationandPowerInterface電力管理方式を実施する。ACPIにより、業界標準の形態の電力管理を行うことが可能となる。ACPIはソフトウェア、BIOS,またはハードウェア内で実行されてもよい。任意の時間においてハードウェアスレッドは、多数あるうちの1つの電力状態にあるか、または2つの電力状態間を移行している。ハードウェアスレッドがとることのできる電力状態の数は、実装方式によって異なる。例えば、ハードウェアスレッドがとりうる状態に例には、C0フル動作、C1停止、C2ストップクロック、C3スリープ、およびC4およびC6などのよりディープなスリープ状態がある。他の電力最適化状態は、MONITORまたはMWAITのスレッド命令を用いてもよい。ハードウェアスレッドがとることの出来る各電力状態は、それぞれ異なる機能性を有しており、或いはそれら機能性が欠如している。一般的に電力の節約の程度が高ければ高い程、ハードウェアスレッドがその電力状態から抜け出すにはより長い時間がかかる。I/Oデバイスから、省電力状態に移行しようとしている、または省電力状態のままでいようとするハードウェアスレッドへ送信される割込みを制限または完全に阻止することにより、一般的にシステム消費電力は節約される。問題は、デバイスがその割込みの対応を必要としていることである。よって、受信するI/Oデバイス割込みを省電力状態にない代替的なハードウェアスレッドへリダイレクトすることによって、当初のターゲットのスレッドが低電力消費状態のままでいられ、システム消費電力の節約を継続して行えるであろう。TRL132は、各種の割込みに適合するハードウェアスレッドについての情報を格納するリスト、テーブル、または他のタイプのデータ構造にアクセス可能である。言い換えると、任意のタイプの割込みに対し、対象となっている割込みに対応できる一式のハードウェアスレッドがある。例えば、特定の割込み例えば割込みタイプAがハードウェアスレッド1、2によって対応可能だとすれば、当該特定の割込みに対応する割込みタイプテーブルには、ハードウェアスレッド1、2が適合することが示されているであろう。よって、I/Oデバイス126などのI/Oデバイスは割込みAをハードウェアスレッド1へ送信し、ハードウェアスレッド1が低電力状態にある場合、TRL132は、トランスペアレントに割込みターゲットをハードウェアスレッド1からハードウェアスレッド2へリマッピングする。OSまたはVMMは、任意のタイプの割込みをハンドリングすることが出来る一式のハードウェアスレッドを構成できる。任意の割込みをハンドリング出来る当該一式のハードウェアスレッドは、スレッドアフィニティ、キャッシュ共有トポロジー、或いは他の静的なまたは動的な要因に基づいてよい。図3は、ハードウェアスレッド/割込みタイプ互換性情報のマトリックスを格納するデータ構造、および各ハードウェアスレッドの現在の電力状態を格納するデータ構造を示す。上述したように、ハードウェアスレッド/割込みタイプ互換性情報テーブルは、任意の割込みタイプをハンドリング出来る一式のスレッドに関する情報を格納する。図3に示す実施形態において、4つのコアコア0~3が存在し、スレッドリマッピングロジック300はそれらについての情報にアクセスできる。ハードウェアスレッド/割込みタイプマトリックステーブル302は、任意のタイプの割込みに対し適合するハードウェアスレッドのリストを含む。例えば、割込みタイプAは、存在する全てのハードウェアスレッドによってハンドリング可能であり、割込みタイプBは、ハードウェアスレッド0、2によってのみハンドリング可能である。ハードウェアスレッドの現在の電力状態テーブル304は、各ハードウェアスレッドの現在の電力状態を含む。例示を目的とし、テーブルは、各スレッドが起動状態にあるか、スリープ状態にあるかのみを示しており、実際には、リストには多くの状態を表す情報を表示できる。例えば、スレッドがC状態例えばC1、C2、C6などのうちのいずれの電力状態にあるかを示すことが出来る。I/Oデバイス割込み306をTRL300が受信すると、TRL300は最初にハードウェアスレッドの現在の電力状態テーブル304を参照し、ターゲットのハードウェアスレッドが起動状態にあるか、スリープ状態にあるかを確認する。ハードウェアスレッドが起動状態にある場合、TRL300はそのまま当初のターゲットのハードウェアスレッドへ割込みを送信する。一方、当初のターゲットのハードウェアスレッドが起動状態にない場合、TRL300は、ハードウェアスレッド/割込みタイプマトリックステーブル302を参照し、スレッドハンドリング互換性を確認し、受信した割込みをハンドリング出来る他のハードウェアスレッドを検索し、他のハードウェアスレッドが利用可能である場合、TRL300は当該割込みを、ハンドリング可能であり利用可能であるつまり非スリープ状態にあるスレッドへリマッピングする。多くの実施形態において、TRLはシステム内に存在する各CPUに存在するので、マルチソケットコンピュータシステムにおいては、複数のTRLが存在する。図4は、電力最適化割込み配信が可能な2ソケットコンピュータシステムの一実施形態を示す。図4に示す実施形態では、2つのCPUCPUA400、B402が存在する。さらに、各CPUは2つのコアCPUA400内にコアA0、A1、CPUB402内にコアB0、B1を含む。さらに、CPUA400はTRLA404を含み、CPUB402はTRLB406を含む。多くの実施形態において、各TRLは、ハードウェアスレッド/割込みタイプマトリックステーブル図3における302およびハードウェアスレッドの現在の電力状態テーブル図3における304の自身が用いるコピーを含む。これらのテーブルには複数のコピーがあることとなるが、これらのテーブル内の情報はそれら複数のコピー間で同一であるので、各TRLは同じ情報を有することとなる。これら2つのテーブル内の情報のミラーコピーは、各CPU上のCPU間リンクインタフェースCPUA400上のインタフェース412、CPUB402上のインタフェース414に結合されたCPU間リンク410でブロードキャストされるCPU間ブロードキャストメッセージ408内に保持される。例えば、ハードウェアスレッドが2つの電力状態間を移行する時、電力状態移行メッセージが、CPU間インターコネクトを介し、コンピュータシステムに存在する全てのTRLにブロードキャストされる。各TRLはこのメッセージを取得し、自身が格納するハードウェアスレッドの現在の電力状態テーブル図3におけるアイテム304を更新し、対象となるハードウェアスレッドが移行した新しい電力状態を表示する。いくつかの実施形態において、電力状態間を移行しているハードウェアスレッドは、自身のメッセージを全てのTRLにブロードキャストする。他の実施形態において、電力状態間を移行しているハードウェアスレッドは、ローカルのTRLに移行情報を送信し、当該ローカルのTRLは、全ての他のTRLに状態の移行をブロードキャストする。図5は、電力最適化割込み配信が可能な2ノードコンピュータシステムの一実施形態を示す。図4に示す実施形態では、2つのノードノードA、Bが存在する。ノードAは2つのCPUCPUA0、A1を含む。各CPUは、2つのコアを含む。CPUA0はコアA0a、A0bを含み、CPUA1は、コアA1a、A1bを含み、CPUB0は、コアB0a、B0bを含み、CPUB1は、コアB1a、B1bを含む。ノードA、Bは、ノード間リンク500を介し結合される。各ノードにはノードコントローラが存在する。ノードコントローラA502は、ノードAの管理をサポートし、ノードコントローラBは、ノードBの管理をサポートする。ノード間通信トラフィックは、各ノードコントローラを介してルーティングされる必要がある。よって、ハードウェアスレッドが電力状態を移行する際に送信するメッセージは、2つのノード間を繋ぐ点線で示すようにノードコントローラを介してノード間でルーティングすることが出来る。図6は、電力最適化割込み配信の処理の一実施形態のフロー図である。処理は、ハードウェア、ソフトウェア、ファームウェア、またはこれらリストアップされたタイプの処理ロジックの任意の組み合わせによって実施される処理ロジックによって実施される。処理は、処理ロジックがI/Oデバイス割込みを受信することから開始する処理ブロック600。その後処理ロジックは、割込みターゲットであるハードウェアスレッドつまり割込みがアフィニティを有するスレッドは省電力状態にあるかどうかを判断する処理ブロック602。ターゲットのハードウェアスレッドが省電力状態にない場合、処理ロジックはそのままI/Oデバイス割込みを、当初のターゲットのハードウェアスレッドへ送信する処理ブロック604。一方、ターゲットのハードウェアスレッドが省電力状態にある場合、処理ロジックは、図3に示すハードウェアスレッド/割込みタイプ互換性マトリックス302のような、処理ロジックがアクセス可能なハードウェアスレッド互換性情報に基づいて他のハードウェアスレッドが適合するかどうかを判断する処理ブロック606。図6の処理フローで示す実施形態において、適合するハードウェアスレッドがない場合、処理ロジックはターゲットのハードウェアスレッドを起動させ処理ロジック608、割込みをターゲットのハードウェアスレッドへ送信する処理ブロック604。示されない他の実施形態において、処理ロジックは命令された要求に依存して互換性のあるCPUハードウェアスレッドが利用可能となるまで割込みを保留してよい。適合するハードウェアスレッドが存在した場合、処理ロジックは当該適合するハードウェアスレッドが利用可能であるかどうか判断する処理ブロック610。例えば、適合するハードウェアスレッドが存在するが同じくディープスリープ省電力状態にあり、直ぐには利用可能ではないものとする。多くの実施形態において、省電力状態にランク付けされた順序があり、2つの適合するスレッドの両方が省電力状態にあるとすると、処理ロジックは、最もディープではない状態にあるスレッドを起動させ、よりディープなスリープ状態にあるスレッドは、そのスリープ状態を維持できる。このことにより、同時に2つの効果が得られる。第1に、より多くのシステム消費電力を節約しているよりディープなスリープ状態にあるスレッドは、程度のより高い電力節約モードのままでいられる。第2に、よりディープではないスリープ状態になるスレッドは、より短い呼び出し時間で起動状態へと移行できる。なぜなら一般的に、よりディープなスリープ状態からの起動には、より長い起動呼び出し時間が必要となるからである。図6に示す処理に戻ると、適合するハードウェアスレッドが利用可能ではない場合、処理ロジックは606に戻り、さらに他の適合するハードウェアスレッドがあるか判断する。反対に、適合するスレッドが利用可能である場合、処理ロジックはI/Oデバイス割込みを、見つけられた互換性のある代替的なハードウェアスレッドにリマッピングし処理ブロック612、リマッピングされた割込みを当該代替的なハードウェアスレッドへ送信する処理ブロック614。原則的に、処理ロジックは任意のハードウェアスレッドから他のハードウェアスレッドへ割込みをトランスペアレントにつまり、I/Oデバイスは原則的に、割込みをハンドリングするスレッドが移行したことを認識しないで移行させることが出来る。本願発明の実施形態の要素は、機械実行可能命令を格納する機械可読媒体として提供することも出来る。機械可読媒体は、フラッシュメモリ、光学ディスク、CD-ROM、DVD-ROM,ランダムアクセスメモリRAM、消去可能PROMEPROM、電気的消去可能PROMEEPROM、磁気または光学カード、伝搬媒体、または電子命令の格納に適した他のタイプの機械可読媒体が含まれ、またこれらに限定されない。上記の説明および特許請求の範囲において、含むおよび備えるなどの用語、並びにそれらの派生語を用いることがあるが、それらは互いの同義語としては用いられていない。さらに、以下の説明および特許請求の範囲において、結合および接続といった用語、並びにそれらの派生語が用いられる。これらの用語は、互いの類義語として用いられるわけではないことを理解されたい。むしろ、特定の実施形態において接続とは、2以上の要素が互いに、物理的または電気的に直接接触することを示すのに用いられる。結合とは、2以上の要素が、物理的または電気的に直接接触することを意味する場合もある。しかし、結合とは、2つ以上の要素が互いに直接接触していなくてもよく、そういった場合であっても互いに協働し、作用し、通信を行うことも意味する。上記の説明において、本願発明の実施形態を説明するべく、特定の用語を用いた。例えば、ロジックという用語は、1以上の機能を実行するハードウェア、ファームウェア、またはソフトウェア或いはこれらの任意の組み合わせを代表的に表す。例えば、ハードウェアの例には、集積回路、有限状態機械、または組み合わせロジックまでも含まれ、またこれらに限定されない。集積回路は、マイクロプロセッサ、特定用途向け集積回路、デジタル信号プロセッサ、マイクロコントローラなどのプロセッサの形態であり得る。本明細書を通じて一実施形態または実施形態などと言及した場合、それら実施形態に関連して説明した特定の特徴、構造、または特性が、本願発明の少なくとも一実施形態に含まれることを意味する。よって、本明細書の様々な個所において実施形態、一実施形態、または代替的な実施形態と2度以上言及した場合であっても、それらが必ずしも同一の実施形態を指すものではないことを強調したく、またそのことが理解されるべきである。さらに、特定の特徴、構造、または特性は、本願発明の1以上の実施形態において適切に組み合わせることが可能である。同様に、上述した本願発明の実施形態の説明において、様々な特徴が単一の実施形態、図面またはその図面の説明において、併せてグループ化された。このことは、本開示を効率的なものとし、本願発明の1以上の様々な態様の理解を促すことを目的としている。しかしこの開示方法は、特許請求される対象が、各請求項で明示されるよりも多くの特徴を要するといった意図があることを反映しているものと解釈されるべきではない。むしろ、以下の請求項から読み取れるように、本願発明の態様は、上記で開示した単一の実施形態の全てを含んでいなくても実施可能である。よって、詳細な説明に続く特許請求の範囲は、この詳細な説明に明示的に組み込まれる。"