各アーキテクチャイベントがプログラムされたチャネルに基づきモニタされ、前記プログラムされたチャネルを介してのみモニタ可能である複数のアーキテクチャイベントの1つがプロセッサコア内で発生したか検出する論理回路と、前記プロセッサコアの熱データを提供する前記プロセッサコアの複数の熱センサと、各カウンタが前記アーキテクチャイベントの1つの発生回数をカウントする前記プロセッサコアの複数のカウンタと、前記プロセッサコアにおいて前記複数のカウンタを接続し、前記プロセッサコアにおいて前記複数の熱センサを接続するバスと、前記アーキテクチャイベントの1つの発生に応答して、電力シーケンスを実行させる電力ユニットと、を有するプロセッサであって、前記電力ユニットは、前記複数のカウンタの少なくとも一部の値に基づき前記プロセッサコアの電力状態を変更するか判断するプロセッサ。前記アーキテクチャイベントは、1以上のカウンタに対応し、各カウンタは、ある期間中に発生したイベントの回数を示す、請求項1記載のプロセッサ。前記電力ユニットは、前記プロセッサコアの熱及び電力イベントを管理する電力制御ユニットである、請求項1記載のプロセッサ。前記バスは、各種ブランチを有し、各ブランチは、1つのプロセッサコアを該プロセッサコアのすべてのアーキテクチャイベントによりモニタする、請求項1記載のプロセッサ。前記バスは、前記アーキテクチャイベントから収集されるすべてのデータを前記電力ユニットに送信する、請求項4記載のプロセッサ。共有LLCLastLevelCacheをさらに有する、請求項1記載のプロセッサ。前記電力ユニットに結合される機能ユニットをさらに有し、前記機能ユニットに対応するカウンタは、ある期間中に発生したイベントの回数を示す、請求項1記載のプロセッサ。バス、電力ユニット、複数のプロセッサコア又はLLCは、同一の集積回路ダイにある、請求項1記載のプロセッサ。プロセッサコアにおいて、プログラムされたチャネルに基づきモニタされ、前記プログラムされたチャネルを介してのみモニタ可能であるアーキテクチャイベントの発生を示す信号を生成するステップと、電力ユニットにおいて、前記アーキテクチャイベントの発生に基づき、電力シーケンスを実行させるステップと、を有する方法であって、前記電力ユニットは、各カウンタがアーキテクチャイベントに対応する複数のカウンタの値に基づき前記プロセッサコアの電力状態を変更するか判断し、前記複数のカウンタは、サイクル毎にリタイアされる命令の個数を示すカウンタと、前記プロセッサコアにおけるある期間中のブランチ予測ミスの個数を示すカウンタと、前記プロセッサコアにおけるある期間中のTLBTranslationLookasideBufferミスの個数を示すカウンタと、前記プロセッサコアにおけるある期間中のキャッシュミスの個数を示すカウンタとを含む方法。前記電力シーケンスを実行させるステップは、リザーブ電力が利用可能である場合、前記プロセッサコアを電力アップする、請求項9記載の方法。前記電力シーケンスを実行させるステップは、リザーブ電力が利用不可である場合、アイドル状態を維持する、請求項9記載の方法。前記電力シーケンスを実行させるステップは、前記プロセッサコアを電力ダウンする、請求項9記載の方法。前記信号を生成するステップは、すべてのプロセッサコアについて行われる、請求項9記載の方法。モニタ対象となる1以上のイベントに対応するアーキテクチャイベントデータを格納するメモリと、アーキテクチャイベントがプロセッサコア内に発生したか検出する論理回路と、前記プロセッサコアの熱データを提供する前記プロセッサコアの複数の熱センサと、各カウンタが前記アーキテクチャイベントの1つの発生回数をカウントする前記プロセッサコアの複数のカウンタと、前記プロセッサコアにおいて前記複数のカウンタを接続し、前記プロセッサコアにおいて前記複数の熱センサを接続するバスと、前記アーキテクチャイベントの1つの発生に応答して、電力シーケンスを実行させる電力ユニットと、を有するシステムであって、前記アーキテクチャイベントは、プログラムされたチャネルに基づきモニタされ、前記プログラムされたチャネルを介してのみモニタ可能であり、前記電力ユニットは、前記複数のカウンタの少なくとも一部の値に基づき前記プロセッサコアの電力状態を変更するか判断するシステム。前記アーキテクチャイベントは、1以上のカウンタに対応し、各カウンタは、ある期間中に発生したイベントの回数を示す、請求項14記載のシステム。前記電力ユニットは、前記プロセッサコアの熱及び電力イベントを管理する電力制御ユニットである、請求項14記載のシステム。前記バスは、各種ブランチを有し、各ブランチは、1つのプロセッサコアを該プロセッサコアのすべてのアーキテクチャイベントによりモニタする、請求項14記載のシステム。前記バスは、前記アーキテクチャイベントから収集されるすべてのデータを前記電力ユニットに送信する、請求項17記載のシステム。共有LLCLastLevelCacheをさらに有する、請求項14記載のシステム。前記電力ユニットに結合される機能ユニットをさらに有する、請求項14記載のシステム。バス、電力ユニット、複数のプロセッサコア又はLLCは、同一の集積回路ダイにある、請求項14記載のシステム。前記メモリに結合されるオーディオ装置をさらに有する、請求項14記載のシステム。前記プロセッサコア内におけるある期間中のInstructionRetired、BranchMisprediction及びTLBTranslationLookasideBufferミスの1以上の発生回数を示す、前記アーキテクチャイベントに対応するカウンタをさらに有する、請求項1記載のプロセッサ。前記電力ユニットは、前記複数のカウンタのそれぞれが対応するカウント閾値以下である場合、前記プロセッサコアの周波数を増加させる、請求項1記載のプロセッサ。前記電力ユニットは、キャッシュミスに対応する前記複数のカウンタの1つが対応するカウント閾値を超える場合、前記プロセッサコアの周波数を減少させる、請求項1記載のプロセッサ。前記電力ユニットは、前記複数のカウンタと前記複数の熱センサとの間でコヒーレントに前記プロセッサコアの電力制御判定を実行する、請求項1記載のプロセッサ。前記バスは、複数のブランチを有し、各ブランチは、指定されたタイムスロットにおいて前記複数のカウンタのそれぞれをモニタする、請求項14記載のシステム。本発明の課題は、上記問題を解消することであり、PCUにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化を効果的に実現するプロセッサ、方法及びシステムを提供することである。上記課題を解決するため、アーキテクチャイベントがコア内で発生したか検出するバスと、前記アーキテクチャイベントの発生に応答して、電力シーケンスを実行させる電力ユニットとを有するプロセッサが提供される。さらに、アーキテクチャイベントの発生を示す信号を生成するステップと、前記アーキテクチャイベントの発生に基づき、電力シーケンスを実行させるステップとを有する方法が提供される。また、モニタ対象となる1以上のイベントに対応するアーキテクチャイベントデータを格納するメモリと、アーキテクチャイベントがコア内に発生したか検出するバスと、前記アーキテクチャイベントの発生に応答して、電力シーケンスを実行させる電力ユニットとを有するシステムが提供される。本発明によると、CUにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化を効果的に実現するプロセッサ、方法及びシステムを提供することができる。以下の説明では、限定することなく説明のため、特定の構成、アーキテクチャ、インタフェース、技術などの具体的な詳細が、本発明の各種特徴の完全な理解を提供するために提供される。しかしながら、本発明の各種特徴がこれら具体的詳細から逸脱した他の具体例により実現可能であるということは、本開示を利用した当業者に明らかとなるであろう。特定の例では、不必要な詳細により本発明の記載を不明りょうにしないように、周知の装置、回路及び方法の説明は省略される。ここに記載される実施例の一部は、イベントハンドリング処理を実行するのに利用されるかもしれない。ある実施例では、イベントは、あるアクションがロジックによってなされることを要求する又は要求しない状態を表す。さらに、なされるアクションに基づき、イベントは各種タイプに分類されるかもしれない。一実施例では、アーキテクチャイベントは、モニタリングされるイベント又は状態を表す例えば、アーキテクチャイベントに対応する情報をある状態にプログラムすることによって。ある実施例では、ソフトウェアは、ソフトウェア及び/又はハードウェアにより観察不可なアーキテクチャイベントをモニタするためのチャネルを構成するかもしれない。ある実施例では、アーキテクチャイベントは、一般にプロセッサと同じ集積回路チップ上の処理リソース又は他のロジックの内部で発生するイベント又は状態を表すかもしれない。ある実施例では、アーキテクチャイベントは、電力管理の決定を行うための1つのファクタである。アーキテクチャイベントは、ソフトウェアパフォーマンスの最適化について広く使用される。電力管理の決定を行うためにアーキテクチャイベントを考慮することによって、実施例は、OSとターボモードの何れも現在検出できていないコア実行状態を効果的に検出するかもしれない。一実施例は、既存のデザインを使用して適切な電力を決定するため、追加的な値を電力制御ユニットPCUに提供する。PCUは、熱イベントを処理し、コア毎の周波数の増減をスケジューリング又は管理する。当該実施例では、PCUにロジックが追加される。このとき、PCUは、あるコアをスケールアップする決定を行うのに利用するため、カウンタからフィードバックを取得する。プロセッサ内部のアーキテクチャイベントは、通常はプロセッサの各エリアに実現される物理的なカウンタ系列によって検出される。これらのカウンタは、EMONカウンタと呼ばれるかもしれない。EMONカウンタは、ある期間中に発生した特定のイベントの個数をカウントする各機能ユニット内にあるパフォーマンスモニタリングカウンタである。EMONカウンタには、パブリックEMONカウンタとプライベートEMONカウンタがある。パブリックEMONカウンタは、ベンダとユーザによりアクセス可能なものであり、プライベートEMONカウンタは、デバッグ処理のため内部的に利用される。パブリック及びプライベートEMONカウンタは共に、ソフトウェア及びハードウェアチューニングのため使用されるかもしれない。EMONカウンタは、アプリケーション動作と、現在のアプリケーションがプロセッサ内部でどの程度効果的に実行されているか理解するための大変有用なツールである。instructionretiredは、EMONカウンタの1つのタイプである。サイクル毎のinstructionretiredを知ることによって、システムは、プロセッサ内において現在のアプリケーションがどの程度速く実行しているか知ることとなる。サイクル毎のinstructionretiredが多くなるに従って、アプリケーションはより良好なパフォーマンスを獲得する。他のタイプのEMONカウンタは、MLC/LLCキャッシュミスである。プログラムが多くのMLC/LLCキャッシュミスを受けているということは、通常はより高度なBWとシステムとの相互接続を要求することを意味する。それはまた、大部分の時間がデータリターンの待機のため問題が失速されるため、プログラムが命令を効果的に実行していないことを意味する。branchmispredictionもまた、EMONカウンタの1つのタイプである。これは、コアが命令ストリームの間違ったブランチにおいて作業しているため、有用な作業の多くを実行していないことを示すための良好な指標となる。TLBミスはまた、EMONカウンタの1つのタイプである。MLC/LLCミスと同様に、TLBミスは通常は、データがリターンされるまでコアを失速させることを意味する。プロセッサ内には、より多数のカウンタが定義されている。例えば、インテルのP4プロセッサは、200以上のカウンタを有している。これらのカウンタの一部はパフォーマンス調整のためであり、他のものはデバッグ/検証用のものである。上述した4つのカウンタであるinstructionretired、MLC/LLCキャッシュミス、branchmisprediction及びTLBミスは、ここに記載される電力管理にとって重要なものである。しかしながら、本開示は上記カウンタに限定されるものでないことに留意すべきである。本開示は、必要に応じた数のアーキテクチャイベントをとりうる。本システムは、高帯域幅又は高リフレッシュレートを必要としないため、同一バス上にすべてのカウンタを直列的に接続可能なプッシュバス機構を利用する。図1は、本発明の一実施例によるPCUと熱センサ及びアーキテクチャイベント接続100の図を示す。8つのコア105と4つの共有されたラストレベルキャッシュLLC107を有するプロセッサを示す。これら8つのコアと4つの共有LLCとは単なる例示のため示されていることに留意すべきである。本実施例について、何れの個数のコア又はLLCも利用可能である。機能ユニット110は、コア105の間で共有されている。PCU115は、コア105により共有されるユニットの1つである。コア105内の実線により接続された正方形は、熱センサ120を表している。コア105は、コア105の過熱を防ぐため、熱センサ120を有している。シリアルプッシュバス125は、すべてのセンサ120を接続している。プッシュバス125は、様々なブランチを有するかもしれない。プッシュバス125の第1ブランチ127は、96個までのタイムスロットを占有可能であり、各タイムスロットは熱センサ120の1つについて確保されている。各コア105には、プッシュバス125の少なくとも1つのブランチ127が存在する。プッシュバス105の各ブランチ127は、すべての熱センサ120により1つのコア105をモニタリングするかもしれない。その後、プッシュバス125により熱センサ120から収集されたすべてのデータが、PCU115に送信される。各カウンタを同一のシリアルプッシュバス機構とリンクさせ、各カウンタが指定されたタイムスロットを有することによって、アーキテクチャイベントをモニタするため、同様のアプローチがなされる。破線により接続された正方形は、EMONカウンタ130である。この破線135は、シリアルプッシュバスのもう1つのブランチである。プッシュバス125の第2ブランチ135は、96個までのタイムスロットを占有可能であり、各タイムスロットは、EMONカウンタの1つについて確保される。各コア125には、プッシュバス125の少なくとも1つのブランチ135が存在する。プッシュバス125の各ブランチ135は、すべてのEMONカウンタ130により1つのコア105をモニタするかもしれない。その後、プッシュバス125によりEMONカウンタ130から収集されるすべてのデータが、PCU115に送信される。PCU115は、プッシュバス125から情報を抽出するため、極めて低いサンプリングレートしか有さず、これがすべてのセンサがナローバスを共有する1つの理由となっている。シリアルプッシュバス125は、10ビット長以下であるかもしれず、低サンプリングレートにより実行する。このため、これらのイベントをモニタするため、高帯域要求はない。1000サイクル毎にカウンタをサンプリングすれば十分であるかもしれない。PCU115の決定がアーキテクチャイベント130と熱センサ120との間で整合したものとなるように、サンプリング周波数が熱センサにより調整されるべきである。図2は、本発明の一実施例によるアーキテクチャイベント電力コントローラのための方法200のフローチャートを示す。方法200は、システムがアイドルモード205にあるとき開始される。各タイマーインターバルに到達すると、アーキテクチャイベント電力最適化ロジックAEPOLがカウントを調べ、電力アップ又は電力ダウンシーケンスが開始されるべきか判断する210。電力アップシーケンスに対して、AEPOLは、PCU115に問い合わせ、ターボモードが利用可能であるか判断する215。ターボモードが利用不可である場合、すなわち、リザーブ電力が利用不可である場合、AEPOLは、次のタイマーインターバルが到来するまでアイドルモード205に戻る。ターボモードが利用可能である場合、AEPOLは電力アップシーケンス220を開始する。電力アップシーケンスが終了すると、AEPOLは、次のタイマーインターバルまでアイドルモード205に移行する。電力ダウンシーケンスに対して、AEPOLは電力ダウンシーケンス225を開始するようPCU115に通知する。電力ダウンシーケンスが完了すると、AEPOLは、次のタイマーインターバルまでアイドルモード205に移行する。図において参照されるAEPOLは、コア毎に実現される。当該ロジックは、各コアがそれの最適な電力/パフォーマンス状態により実行されていることを保証するため、常時アーキテクチャイベントをモニタするかもしれない。一実施例では、対象となるアーキテクチャイベントカウントがカウントされ、PCU115に送信される。その後、PCU115は、各カウンタから受け取ったカウントを解析し、特定のコア105を電力アップ又は電力ダウンすべきか判断する。一実施例では、システムインターコネクト共有キャッシュ、バス制御ロジック、オンダイメモリコントロールなどがまた電力スケーリングをサポートとする場合、同じ機構がシステムインターコネクトロジックをスケーリングするのに利用可能である。ある実施例では、モニタされるすべてのEMONカウンタ130が、AEPOLの動作をより良く理解するため、一緒に参照されるべきである。例えば、低いIPCInstructionretiredPerCycleカウントは、コアが高いキャッシュミス又は高いブランチ予測ミスを受けていることを知らない場合に、コアが効果的に実行していないことを意味するものでない。テーブル1に示されるように、対象となるアーキテクチャイベントは決定を行うためグループ化される。各アーキテクチャイベントカウンタの閾値カウントがまた定義される。この閾値は、パフォーマンスがシステムのアーキテクチャに応じて異なるため、特定のアーキテクチャに対するパフォーマンス調査に基づき定義される。テーブル1では、すべての関連するアーキテクチャカウンタが低い場合、このことは、システムがシステムバウンドアクションを受けていないことを示唆する。従って、コアにおける周波数をスケーリングアップすることは、アプリケーションのパフォーマンスを向上させるのに役立つ。他方、コアがやや高いMLC/LLCミスを受けている場合、パフォーマンスがアクセス遅延によりオフチップコンポーネントにバウンドされるため、コア周波数を増大する効果はない。この状況では、システムは、コア周波数をスケーリングダウンし、有用な作業を実行している可能性がある他のコアに節約した電力を振り向けるべきである。従って、AEPOLは、パフォーマンスが向上し観察可能となるターボをオンする時点についてインテリジェント決定することを可能にし、命令を失速させているコアのパフォーマンス電力状態を微調整することにより電力消費を低下させる。コアの電力使用のより精密なゲイン制御を実行可能にするシナリオ又は他の有用なアーキテクチャイベントカウンタはより多くすることが可能であり、AEPOLロジックは、これらすべての状況に適用可能である。AEPOLの最適化によって、システムは、プロセッサへの利用可能な電力を利用するよりスマートな方法が与えられる。電力認識アーキテクチャが基板上に存在する必要がある将来のプロセッサ設計では、AEPOLは、不要なときにはエネルギーを保存する方法を提供するだけでなく、同じ電力バジェット内でさらにパフォーマンスを最適化する機会を提供する。この機構は、より精密なハードウェア調整のための新たな機会全体を開く。図3は、本発明の実施例による計算システム300のブロック図を示す。計算システム300は、インターコネクトネットワーク又はバス49を介し通信する1以上の中央処理ユニットCPU31又はプロセッサを有する。プロセッサ31は、コンピュータネットワーク48を介し通信されるデータを処理する汎用コンピュータやネットワークプロセッサなどの何れかのタイプのプロセッサ、又はRISCReducedInstructionSetComputerプロセッサ若しくはCISCComplexInstructionSetComputerプロセッサを含む他のタイプのプロセッサであってもよい。さらに、プロセッサ31は、シングル又はマルチコア設計を有してもよい。マルチコア設計によるプロセッサ31は、同一の集積回路ICダイ上に各種タイプのプロセッサコアを統合するかもしれない。また、プロセッサ31は、図1及び2を参照して説明される実施例を利用してもよい。例えば、プロセッサ31の1以上が1以上のプロセッサコア32を有してもよい。また、図1及び2を参照して説明される処理は、システム300の1以上のコンポーネントによって実行されてもよい。チップセット33はまた、インターコネクトネットワーク49と通信するかもしれない。チップセット33は、メモリコントロールハブMCH34を有する。MCH34は、メモリ41と通信するメモリコントローラ36を有する。メモリ41は、CPU31又は計算システム300に含まれる他の何れかの装置により実行される命令シーケンス及びデータを格納する。本発明の一実施例では、メモリ41は、RAMRandomAccessMemory、DRAMDynamicRAM、SDRAMSynchronousDRAM、SRAMStaticRAMなどの1以上の揮発性記憶又はメモリ装置を有する。ハードディスクなどの不揮発性メモリもまた利用可能である。複数のCPU及び/又は複数のシステムメモリなどのさらなる装置が、インターコネクトネットワーク49を介し通信可能である。MCH34はまた、グラフィックアクセラレータ42と通信するグラフィックインタフェース37を有する。本発明の一実施例では、グラフィックインタフェース37は、AGPAcceleratedGraphicsPortを介しグラフィックアクセラレータ42と通信可能である。本発明の実施例では、ビデオメモリやシステムメモリなどの記憶装置に格納されている画像のデジタル表現をディスプレイにより解釈及び表示される表示信号に変換する信号コンバータなどを介し、ディスプレイフラットパネルディスプレイなどはグラフィックインタフェース37と通信可能である。表示装置により生成される表示信号は、ディスプレイにより解釈され、その後に表示される前に、各種制御装置を通過するようにしてもよい。ハブインタフェース51は、MCH34が入出力コントロールハブICH38と通信することを可能にする。ICH38は、計算システム300の各コンポーネントと通信するI/O装置とのインタフェースを提供する。ICH38は、PCIPeripheralComponentInterconnectブリッジ、USBUniversalSerialBusコントローラなどの周辺ブリッジ又はコントローラ39を介しバス47と通信可能である。ブリッジ39は、CPU31と周辺装置との間のデータパスを提供する。他のタイプのトポロジーもまた利用可能である。また、複数のバスが、複数のブリッジ又はコントローラなどを介しICH38と通信可能である。さらに本発明の各種実施例では、ICH38と通信する他の周辺装置として、IDEIntegratedDriveElectronics若しくはSCSISmallComputerSystemInterfaceハードドライブ、USBポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー登録商標ディスクドライブ、デジタル出力サポートDVIDigitalVideoInterfaceなどがあげられる。バス47は、オーディオ装置43、1以上のディスクドライブ44及びネットワークインタフェース装置46コンピュータネットワーク48と通信すると通信可能である。他の装置がまた、バス47と通信可能である。また、本発明の一部の実施例では、各種コンポーネントネットワークインタフェース装置46などがMCH34と通信可能である。さらに、プロセッサ31とMCH34は、単一のチップを形成するよう合成されてもよい。さらに、本発明の他の実施例では、グラフィックアクセラレータ42がMCH34に含まれてもよい。さらに、計算システム300は、揮発性及び/又は不揮発性メモリ又はストレージを有してもよい。例えば、不揮発性メモリは、ROMRead-OnlyMemory、PROMProgrammableROM、EPROMErasablePROM、EEPROMElectricallyEPROM、ディスクドライブ44など、フロッピー登録商標ディスク、CD-ROMCompactDisk-ROM、DVDDigitalVersatileDisk、フラッシュメモリ、光磁気ディスク、電子命令及び/又はデータを格納可能な他のタイプの不揮発性機械可読媒体を含むものであってもよい。図4は、本発明の実施例によるポイントツーポイントPtPコンフィギュレーションにより構成される計算システム400を示す。特に、図4は、プロセッサ、メモリ及び入出力装置がいくつかのPtPインタフェースにより相互接続されるシステムを示す。図1~3を参照して説明される処理は、システム400の1以上のコンポーネントによって実行可能である。図4に示されるように、システム400は、簡単化のため2つのプロセッサ5、10しか示されていないが、複数のプロセッサを有するものであってもよい。各プロセッサ5、10は、メモリ15、20との通信を可能にするため、ローカルメモリコントローラハブMCH15、20を有するようにしてもよい。メモリ15及び/又は20は、メモリ512を参照して説明されるように、各種データを格納してもよい。プロセッサ5、10は、図3のプロセッサ31を参照して説明されるように、何れかのタイプのプロセッサであってもよい。プロセッサ5、10はそれぞれ、PtPインタフェース回路40と45を利用してPtPインタフェース93を介しデータを交換するようにしてもよい。各プロセッサ5、10は、PtPインタフェース回路65、70、75、80を使用して、各PtPインタフェース55、60を介しチップセット50によりデータをやりとりするようにしてもよい。チップセット50はまた、PtPインタフェース回路90を使用して、ハイパフォーマンスグラフィックインタフェース97を介しハイパフォーマンスグラフィック回路37とデータをやりとりするようにしてもよい。本発明の少なくとも1つの実施例は、プロセッサ5、10の内部に提供されてもよい。例えば、1以上のプロセッサコア32がプロセッサ5、10の内部に配設されてもよい。しかしながら、本発明の他の実施例は、図6のシステムによる他の回路、ロジックユニット又は装置に存在するようにしてもよい。さらに、本発明の他の実施例は、図4に示される複数の回路、ロジックユニット又は装置に分散されてもよい。チップセット50は、PtPインタフェース回路95を使用して、バス16と通信可能である。バス16は、バスブリッジ18及びI/O装置14など、それと通信する1以上の装置を有する。バス20を介し、バスブリッジ14は、キーボード/マウス22、通信装置コンピュータネットワーク48と通信可能なモデム、ネットワークインタフェース装置など、オーディオI/O装置、及び/又はデータ記憶装置28などの他の装置と通信可能である。データ記憶装置28は、プロセッサ5及び/又は10により実行可能なコード30を格納してもよい。本発明の各種実施例では、図1~4を参照して説明される処理は、ここに記載される方法を実行するようコンピュータをプログラムするのに使用される命令を格納した機械可読又はコンピュータ可読媒体などを含むコンピュータプログラムプロダクトとして提供可能なハードウェア回路など、ソフトウェア、ファームウェア、マイクロコード又は上記の組み合わせにより実現可能である。また、ロジックという用語は、例えば、ソフトウェア、ハードウェア又はソフトウェアとハードウェアの組み合わせを含むものであってもよい。機械可読媒体は、図1~4に関して説明されるような記憶装置を含むかもしれない。さらに、このようなコンピュータ可読媒体はコンピュータプログラムプロダクトとしてダウンロードされてもよく、そこでは、通信リンクバス、モデム、ネットワーク接続などを介し搬送波又は他の伝搬媒体により実現されるデータ信号を介し、リモートコンピュータサーバなどから要求元コンピュータクライアントなどにプログラムが転送される。従って、搬送波は、機械可読媒体を有するものとしてみなされる。明細書において、一実施例又はある実施例という表現は、当該実施例に関して説明される特定の機能、構成又は特徴が少なくとも1つの実現形態に含まれることを意味する。明細書の各箇所における一実施例ではという表現は、すべてが同一の実施例を参照しているかもしれないし、そうでないかもしれない。また、明細書及び請求項において、その派生語と共に結合される又は接続されるという表現が使用されるかもしれない。本発明の一部の実施例では、接続されるという表現は、2以上の要素が互いに直接物理的又は電気的に接触していることを示すのに使用されるかもしれない。結合されるという用語は、2以上の要素が互いに直接的に接触していないかもしれないが、依然として互いに協働又は相互作用することを意味する。このため、構造的特徴及び/又は方法ステップに固有の記載により実施例は説明されたが、請求された事項が記載された特定の構成又はステップに限定されるものでないということが理解されるべきである。むしろ、特定の構成及びステップは請求される事項を実現するサンプル的な形態として開示されている。