"プロセッサであって:前記プロセッサに係る複数のプロセッサコアのパフォーマンスに応じて情報を保管するためのストレージユニットと;前記保管された情報に基づいて、アプリケーションを実行する前記複数のプロセッサコアの第1のプロセッサコアを決定し、かつ、前記第1のプロセッサコア上で前記アプリケーションを実行するスケジュールをさせるロジックと、を含み前記ロジックは、前記第1のプロセッサコア上で前記アプリケーションのスケジュールをさせるために、オペレーティングシステムに対してデータを伝送する、ことを特徴とするプロセッサ。前記ロジックは、コンテキストスイッチの検知に応じて、前記第1のプロセッサコア上で前記アプリケーションのスケジュールをさせるために、オペレーティングシステムに対してデータを伝送する、請求項1に記載のプロセッサ。前記プロセッサに係る前記複数のプロセッサのパフォーマンスに応じて前記保管された情報は、実行パフォーマンスデータまたは電力消費パフォーマンスデータを含む、請求項1に記載のプロセッサ。前記ロジックは、収集された情報に基づいて、前記保管された情報を更新する、請求項1に記載のプロセッサ。前記ロジックは、少なくともいくつかの前記複数のプロセッサコア上における前記アプリケーションの実行パフォーマンスまたは電力消費パフォーマンスを予測する、請求項1に記載のプロセッサ。前記複数のプロセッサコアは、異種のものである、請求項1に記載のプロセッサ。前記ストレージユニットは:共有メモリー、プライベートキャッシュ、共有キャッシュ、または、専用メモリー、を含む、請求項1に記載のプロセッサ。前記保管された情報は、前記アプリケーションのプロセスコントロールブロックに保管されている、請求項1に記載のプロセッサ。前記ストレージユニットは、パフォーマンス履歴テーブルPHTを保管する、請求項1に記載のプロセッサ。前記PHTにおけるそれぞれのエントリーは、前記複数のプロセッサコアに応じて、少なくとも、プロセス識別子および命令毎の複数のサイクルを保管する、請求項9に記載のプロセッサ。前記ストレージユニットは、一つまたはそれ以上のパフォーマンスカウンターを保管する、請求項1に記載のプロセッサ。前記一つまたはそれ以上のパフォーマンスカウンターは:コアクロックサイクル、リタイアされた命令、レベル2キャッシュミス、スケジューラーストール、リソースストール、またはブランチストール、を含む、請求項11に記載のプロセッサ。方法であって:プロセッサに係る複数の異種プロセッサコアのパフォーマンスに応じて情報を保管するステップと;前記保管された情報に基づいて、アプリケーションを実行する前記複数のプロセッサコアの第1のプロセッサコアを決定するステップと;前記第1のプロセッサコアに関するデータのオペレーティングシステムに対する伝送に応じて、前記第1のプロセッサコア上で前記アプリケーションを実行するスケジュールをするステップと、を含むことを特徴とする方法。前記データの伝送は、コンテキストスイッチの検知に応じたものである、請求項13に記載の方法。前記プロセッサに係る前記複数のプロセッサのパフォーマンスに応じて前記保管された情報は、実行パフォーマンスデータまたは電力消費パフォーマンスデータを含む、請求項13に記載の方法。前記方法は、さらに、収集された情報に基づいて、前記保管された情報を更新するステップ、を含む請求項13に記載の方法。前記方法は、さらに、少なくともいくつかの前記複数のプロセッサコア上における前記アプリケーションの実行パフォーマンスまたは電力消費パフォーマンスを予測するステップ、を含む請求項13に記載の方法。前記情報を保管するステップは、前記情報を前記アプリケーションのプロセスコントロールブロックに保管する、請求項13に記載の方法。前記保管された情報は:保管されたパフォーマンス履歴テーブルPHTであって、前記PHTにおけるそれぞれのエントリーは、前記複数のプロセッサコアに応じて、少なくとも、プロセス識別子および命令毎の複数のサイクルであり;もしくは保管された一つまたはそれ以上のパフォーマンスカウンターであって、前記一つまたはそれ以上のパフォーマンスカウンターは:コアクロックサイクル、リタイアされた命令、レベル2キャッシュミス、スケジューラーストール、リソースストール、またはブランチストール、を含んでいる、請求項13に記載の方法。コンピューティングシステムであって:複数のプロセッサコアを含むプロセッサと;前記プロセッサに係る複数のプロセッサコアのパフォーマンスに応じて情報を保管するためのストレージユニットと;を含み、少なくとも一つの前記複数のプロセッサコアは、前記保管された情報に基づいて、アプリケーションを実行する前記複数のプロセッサコアの第1のプロセッサコアを決定し、かつ、前記第1のプロセッサコア上で前記アプリケーションを実行するスケジュールをさせるためのロジックを含んでおり、前記ロジックは、前記第1のプロセッサコア上で前記アプリケーションのスケジュールをさせるために、コンテキストスイッチの検知に応じて、オペレーティングシステムに対してデータを伝送する、ことを特徴とするコンピューティングシステム。前記プロセッサに係る前記複数のプロセッサのパフォーマンスに応じて前記保管された情報は、実行パフォーマンスデータまたは電力消費パフォーマンスデータを含む、請求項20に記載のコンピューティングシステム。前記ロジックは、少なくともいくつかの前記複数のプロセッサコア上における前記アプリケーションの実行パフォーマンスまたは電力消費パフォーマンスを予測する、請求項20に記載のコンピューティングシステム。前記複数のプロセッサコアは、異種のものである、請求項20に記載のコンピューティングシステム。前記ストレージユニットは、パフォーマンス履歴テーブルPHTを保管し、前記PHTにおけるそれぞれのエントリーは、前記複数のプロセッサコアに応じて、少なくとも、プロセス識別子および命令毎の複数のサイクルを保管する、請求項20に記載のコンピューティングシステム。前記ストレージユニットは、一つまたはそれ以上のパフォーマンスカウンターを保管し、前記一つまたはそれ以上のパフォーマンスカウンターは:コアクロックサイクル、リタイアされた命令、レベル2キャッシュミス、スケジューラーストール、リソースストール、またはブランチストール、を含む、請求項20に記載のコンピューティングシステム。前記コンピューティングシステムは、さらに、前記プロセッサコアに接続されたオーディオデバイスを含む、請求項20に記載のコンピューティングシステム。命令を保管するためのコンピューターで読取り可能なメディアであって、前記命令がプロセッサで実行されると:プロセッサに係る複数の異種プロセッサコアのパフォーマンスに応じて情報を保管し;前記保管された情報に基づいて、アプリケーションを実行する前記複数のプロセッサコアの第1のプロセッサコアを決定し;かつ前記第1のプロセッサコアに関するデータのオペレーティングシステムに対する伝送に応じて、前記第1のプロセッサコア上で前記アプリケーションを実行するスケジュールをする、ことを特徴とするコンピューターで読取り可能なメディア。前記命令は、コンテキストスイッチの検知に応じて、前記プロセッサに前記データの伝送をさせる、請求項27に記載のコンピューターで読取り可能なメディア。前記プロセッサに係る前記複数のプロセッサのパフォーマンスに応じて前記保管された情報は、実行パフォーマンスデータまたは電力消費パフォーマンスデータを含む、請求項27に記載のコンピューターで読取り可能なメディア。前記命令は、前記プロセッサに、少なくともいくつかの前記複数のプロセッサコア上における前記アプリケーションの実行パフォーマンスまたは電力消費パフォーマンスを予測させる、請求項27に記載のコンピューターで読取り可能なメディア。マルチプロセッサコンピューティングシステムの規模は、電力の制約によって制限されてしまう。すなわち、より多くのプロセッサがシステムに追加されるにつれて、電力消費が増加する。プロセッサに係る複数のプロセッサコアのパフォーマンス例えば、実行パフォーマンス及び/又は電力消費パフォーマンスに関する情報が、カウンター及び/又はテーブルに保管そして記録される。プロセッサにおけるロジックは、保管された情報に基づいてアプリケーションを実行すべきプロセッサを決定する以降の記載においては、種々の実施例に係る完全な理解を提供するために、数多くの具体的な詳細部分が明らかにされる。しかしながら、本発明の種々の実施例は、具体的な詳細部分が無くても実施し得るものである。他の例においては、よく知られた方法、工程、コンポーネント、そして回路は、詳細には記載されない。本発明の特定の実施例を不明瞭にしないためである。さらに、本発明の実施例に係る種々の態様が、種々の手段を使用して実行され得る。半導体集積回路ハードウェア、一つまたはそれ以上のプログラムに編成されたコンピューターで読み取り可能な命令ソフトウェア、または、ハードウェアとソフトウェアとのいくつかの組み合わせ、といったものである。この発明開示の目的のために、ロジックlogicに対する参照は、ハードウェア、ソフトウェア、または、それらのいくつかの組み合わせ、のいずれかを意味するものである。同様に、命令とマクロオペレーションuopは、ここにおいて述べるように交換可能である。チップ-マルチプロセッサCMPシステムが、例えば、サーバーやクライアントプラットフォームにとって、広まるにつれて、異種CMPが勢いを付け始めている。例えば、より小さなプロセッサコアは、より良いパフォーマンス/ワットについてのアドバンテージを提供し得る。そこで、より大きなプロセッサと一緒により小さなプロセッサを加えることは、魅力的であり得る。ここにおいて述べるように、異種CMPは、性能、エリアarea、及び/又は、電力消費が異なる一式のコアを含んでいる。そうしたプラットフォームは、いくつかの実施例においてパフォーマンスと電力効率の両方が達成できるように、種々のアプリケーションに対するより良いコンピューターリソースのマッピングを可能にする。しかしながら、異種CMPプラットフォームデザインにおける主なチャレンジの一つは、アプリケーションのスケジューリングである。例えば、複数のプロセッサコアに対する、パフォーマンス、及び/又は、電力効率を最適化するマッピングのアプリケーションである。この目的のために、一つの実施例は、異種のコア例えば、単一の集積回路ICのチップ/ダイ上における動的なスケジューリングのアプリケーションに関するものである。一つの実施例においては、2つのコンポーネントが、アプリケーションをスケジュールするために使用され得る。第1には、プロセッサコアモデル化予想方法が提供される。第2には、コアモデル化予想方法に基づいて異種プロセッサコアのためにアプリケーションをスケジュールするようにスケジューリングロジックが使用される。ここにおいて述べられる技術は、図1と図5,6を参照して述べられるプロセッサといった、パフォーマンス状態設定を伴うあらゆるタイプのプロセッサにおいて使用され得る。より特定的には、図1は、本発明の実施例に従って、コンピューティングシステム100のブロックダイヤグラムを示している。システム100は、一つまたはそれ以上のプロセッサである102-1から102-Nここにおいては、一般的にプロセッサ102として参照されるを含み得る。プロセッサ102は、相互接続ネットワークまたはバス104を介して通信できる。それぞれのプロセッサは、種々のコンポーネントを含んでおり、明確化のために、そのうちのいくつかがプロセッサ102-1に関して述べられているだけである。従って、残されたプロセッサ102-2から102-Nのそれぞれは、プロセッサ102-1に関して述べられたものと同一または類似のコンポーネントを含み得る。一つの実施例においては、プロセッサ102-1は、一つまたはそれ以上のプロセッサコア106-1から106-Mここにおいては、一般的にコア106として参照される、共有キャッシュ108、及び/又は、ルーター110を含み得る。プロセッサコア106は、単一の集積回路ICチップ上で実施され得る。さらに、チップは、一つまたはそれ以上の共有の、及び/又は、プライベートキャッシュキャッシュ108といったもの、バスまたは相互接続バスまたは相互接続ネットワーク112といったもの、メモリーコントローラー図5と図6に関して述べたようなものといったもの、または、他のコンポーネントを含み得る。同様に、コア106は、異種のものであり得る例えば、異なるサイズ、パフォーマンス特性、電力消費特性、等のここにおいて述べられたもの。一つの実施例においては、プロセッサ102-1、及び/又は、システム100の種々のコンポーネントとの間で通信するために、ルーター110が使用される。さらに、プロセッサ102-1は、一つ以上のルーター110を含み得る。さらには、プロセッサ102-1の内部または外部にある種々のコンポーネント間でデータルーティンroutingを可能にするように、数多くのルーター110が通信状態であり得る。共有キャッシュ108は、コア106といった、プロセッサ102-1の一つまたはそれ以上のコンポーネントによって利用されるデータ例えば、命令を含むを保管する。例えば、共有キャッシュは、プロセッサ102のコンポーネントによるアクセスをより速くするために、メモリー114の保管されたデータをローカルにキャッシュすることができる。一つの実施例においては、キャッシュ108は、中間レベルキャッシュレベル2L2、レベル3L3、レベル4L4、またはキャッシュの他のレベル、といったもの、最終レベルキャッシュLLC、及び/又は、これらの組み合わせを含み得る。さらに、プロセッサ102-1の種々のコンポーネントは、バス例えば、バス112、及び/又は、メモリーコントローラーまたはハブを通じて、直接的に共有キャッシュ108と通信し得る。図1に示すように、いくつかの実施例において、一つまたはそれ以上のコア106は、レベル1L1、及び/又はレベル2L2のキャッシュ116-1ここにおいては、一般的にL1/L2キャッシュ116として参照されるを含み得る。一つの実施例においては、さらに図2から4に関して以下に述べるように、それぞれのコアは、アプリケーションをシステムにおける種々のプロセッサコアに割り当てることを手助けするためのロジック120を含み得る。例えば、アプリケーションは、カウンター122システムにおける一つまたはそれ以上の他のコアのパフォーマンスを示すパフォーマンスカウンターといったものに保管された情報に基づいて、割り当てられる例えば、オペレーティングシステムOSによって。アプリケーションは、また、テーブルパフォーマンス履歴テーブルPHT124-1といったものの中にインデックスするために使用されるプロセス識別子IDに基づいて割り当てされ得る例えば、OSによって。テーブルは、共有メモリーメモリー114、及び/又は、共有キャッシュ108といったものもしくは、プライベートキャッシュ例えば、L1/L2キャッシュ116といった、プロセッサ102またはコア106例えば、PHT124-1の専用ストレージデバイスの中に保管される。テーブルは、例えば、さらに図2から4に関して以下に述べるように、アプリケーションをスケジューリングするときに、オペレーティングシステムOSに対して情報ヒントhintを提供する。いくつかの実施例においては、OSとアプリケーションは、メモリー114または図5のメモリー512および図6のメモリー610/612に保管され得る。図2は、本発明の実施例に従って、プロセッサコア106とコンピューティングシステムの他のコンポーネントの部分を示すブロックダイヤグラムである。一つの実施例においては、図2に示された矢印は、コア106を通した命令の流れ方向を示している。一つまたはそれ以上のプロセッサコアプロセッサコア106といったものは、図1に関して述べたような、単一の集積回路チップまたはダイ上で実施され得る。さらに、チップは、一つまたはそれ以上の共有キャッシュ及び/又はプライベートキャッシュ例えば、図1のキャッシュ106と108、相互接続例えば、図1の相互接続104及び/又は112、ロジック120、カウンター122、メモリーコントローラー、もしくは他のコンポーネント、を含み得る。図2に示すように、プロセッサコア106は、コア106による実行のために、命令条件分岐を伴う命令を含むをフェッチするためのフェッチユニット202を含み得る。命令は、メモリー114及び/又は図4と図5に関して述べられたメモリーデバイスといった、あらゆるストレージデバイスからフェッチされ得る。コア106は、また、フェッチされた命令をデコードするためのデコードユニット204を含み得る。例えば、デコードユニット204は、フェッチされた命令を複数のuopマクロオペレーション:macro-operationへとデコードする。加えて、コア106は、スケジュールユニット206を含み得る。スケジュールユニット206は、命令がディスパッチdispatchの用意ができるまで、デコードされた命令例えば、デコードユニット204から受け取ったものの保管に関して種々のオペレーションを実行する。例えば、デコードされた命令の全てのソース値が使用可能となるまで、である。一つの実施例においては、スケジュールユニット206は、実行のために、実行ユニット208に対して、デコードされた命令をスケジュールし、及び/又は、発行またはディスパッチすることができる。実行ユニット208は、命令がデコード例えば、デコードユニット204によってされ、そしてディスパッチ例えば、スケジュールユニット206によってされた後で、ディスパッチされた命令を実行する。一つの実施例においては、実行ユニット208は、一つまたはそれ以上の実行ユニットを含み得る。実行ユニットは、また、足し算、引き算、掛け算、及び/又は割り算といった、種々の計算オペレーションを実行することができ、一つまたはそれ以上の計算ロジックユニットALUを含み得る。一つの実施例において、コプロセッサco-processor図示なしは、実行ユニット208と協同して、種々の計算オペレーションを実行し得る。さらに、実行ユニット208は、順番を変えてアウトオブオーダーout-of-orderの命令を実行することができる。従って、プロセッサコア106は、一つの実施例においては、アウトオブオーダープロセッサであり得る。リタイアメントretirementユニット210は、命令がコミットcommitされた後で、実行された命令をリタイアさせる。一つの実施例においては、実行された命令がリタイアされると、命令の実行からコミットされているプロセッサの状態を結果として生じ、命令によって使用される物理的なレジスターは割り当てが解除、等される。コア106は、また、一つまたはそれ以上のバス例えば、バス104及び/又は112を介して、プロセッサコア106と他のコンポーネント図1に関して述べられたコンポーネントといったものとの間での通信を可能にするバスユニット214を含み得る。コア106は、また、ロジック120を含む、コア106の種々のコンポーネントによってアクセスされたデータを保管するための一つまたはそれ以上のカウンター122を含み得る。図1および図3と図4に関して述べたようにである。さらに、いくつかの実施例においては、ロジック120は、アプリケーションのパフォーマンスに絶えず注意するだけではなく、仮にシステムにおける別のコア上で実行されるとした場合の、アプリケーション実行、及び/又は、電力消費パフォーマンスを予測する例えば、カウンター122に保管された値に基づいて。この情報は、電力、パフォーマンス、エネルギー、これらの組み合わせ、等といった、種々の閾値に基づいてスケジューリングを実行するOSに対して、提供される。例えば、OS及び/又はロジック120は、考慮されているプロセッサの、種々の実行または電力消費のパフォーマンスを比較して、どのコアがより良い実行または電力消費のパフォーマンスを提供するかについて決断を下すここにおいて述べられた種々の閾値に基づいて。一つの実施例に従って、シグネチャーsignatureベースのアプローチが使用される。例えば、それぞれのアプリケーションは、システムにおける一つまたはそれ以上のコア上で実行され、アプリケーションのパフォーマンス統計は、パフォーマンス履歴テーブルPHTの中に保管され得る。パフォーマンス統計は、CPICyclesPerInstruction、MPIMissesPerInstruction、等を含み得る。例えば、サンプルの表1に示すように、それぞれの表は、3つまたはそれ以上のフィールドを有している。第1のフィールドは、プロセスIDを示し、第2のフィールドは、大コア上で実行される間のアプリケーションのCPIを保管するためのものであり、最後のフィールドは、小コア上で実行される間のアプリケーションのCPIを保管する。アプリケーションが他のコアに対してコンテキストスイッチcontextswitchされるときはいつでも、ロジック120は新しい情報を得て、PHT124を更新する。PHT124のサイズは非常に小さい。例えば、CPIだけが使用される場合は、エントリー毎に12バイトのメモリーが、履歴情報を保管するために必要である。PHT124は、また、アプリケーションのプロセスコントロールブロックPeocessControlBlock:PCBに保管され、及び/又は、アプリケーションが実行されるようにスケジュールされたときはいつでも、他のメモリー例えば、PHT124、キャッシュ106、メモリー114、キャッシュ108、等にロードされ得る。この方法論は、プロセスを越えて拡張され、プロセスの中の種々のホットスポットhotspotのために使用され得る。一旦PHTが設定されると、アプリケーションが実行するようにスケジュールされるときはいつも、ロジック120はPHTから情報を読み出し、図3に示すような既定のマトリクス電力/パフォーマンス、等といったものに基づいた最適なスケジューリング方針のために、OSに対してヒントを提供する。図3を参照すると、実施例に従って、シグネチャーベースのコアモデル化予想方法アプローチのフローチャートが示されている。いくつかの実施例においては、図1と2および図5と6に関して述べた種々のコンポーネントが、図3に関して述べた一つまたはそれ以上のオペレーションを実行するために利用され得る。図1から図3を参照すると、オペレーション302で、コンテキストスイッチにおいて、アプリケーションがロードされる例えば、プロセス制御ブロック、または、ここにおいて述べられる別のロケーションからである。オペレーション304では、ロジック120がPHTから情報を読み出す。オペレーション306では、PHT情報に基づいて、大または小プロセッサコアにとって、プロセスが最適例えば、パフォーマンスまたは電力消費目的のためにであるかどうかを決定する。次に、この情報は、オペレーション308で、OSに対して送付される実施例においては、例えば、ロジック120によって決定された電力消費、及び/又は、パフォーマンスの考慮に基づくものである。オペレーション310では、ロジック120は、さらなる履歴情報を収集し例えば、オペレーション306における最新の決定に基づいて、PHT情報を更新する。図4を参照すると、実施例に従って、パフォーマンスベースのコアモデル化予想方法アプローチのフローチャートが示されている。いくつかの実施例においては、図1と2および図5と6に関して述べた種々のコンポーネントが、図4に関して述べた一つまたはそれ以上のオペレーションを実行するために利用され得る。図1と図2および図4を参照すると、オペレーション402で、コンテキストスイッチにおいて、アプリケーションがロードされる例えば、プロセス制御ブロック、または、ここにおいて述べられる別のロケーションからである。オペレーション404では、ロジック120がパフォーマンスカウンター例えば、カウンター122に保管された値を読み出す。オペレーション406では、パフォーマンスカウンター情報に基づいて、大または小プロセッサコアにとって、プロセスが最適例えば、パフォーマンスまたは電力消費目的のためにであるかどうかを決定する。次に、この情報は、オペレーション408で、OSに対して送付される実施例においては、例えば、ロジック120によって決定された電力消費、及び/又は、パフォーマンスの考慮に基づくものである。オペレーション410では、ロジック120は、さらなる履歴情報を収集し例えば、オペレーション406における最新の決定に基づいて、パフォーマンスカウンター例えば、カウンター122を更新する。パフォーマンスカウンターベースのアプローチにおいては、いくつかの実施例に従って、大コア上でアプリケーションが実行されている間の小コア上でのアプリケーションのパフォーマンスを効果的に予想する動的モデルが使用される。その逆もまた同様である。このアプローチは、パフォーマンスカウンター例えば、カウンター122を使用し、以下の式に基づいてパフォーマンスを予想する。小コアにおけるサイクル=大コアにおけるサイクル-大コアにおけるストールサイクル小コアのイシュー幅/大コアのイシュー幅増倍係数大コアにおけるL1ミス小コアにおけるL1ミスペナルティ大コアにおけるL2ミス小コアにおけるL2ミスペナルティ一つの実施例においては、増倍係数は、L2ミスと読込/保管命令の数に基づいて経験的に引き出され得る。いくつかの実施例においては、大コアは、小コアに比べて2倍の読込/保管ユニット数を有している。さらに、いくつかの実施例において、かなりのL2ミスアプリケーションは、いくつかのワークロードにおいて観察されるようにメモリーレベルの並行処理を欠くために、大コアのアウトオブオーダー性による利益を受けられない。大コアにおけるサイクル=小コアにおけるサイクル-小コアにおけるストールサイクル大コアのイシュー幅/小コアのイシュー幅/1-ストール係数ストール係数は、一度アプリケーションを大コア上で実行し、ストールサイクルと全体サイクルのパフォーマンスデータを収集することによって引き出され得る。また、いくつかのプラットフォームは、キャッシュミス、浮動点ストール、等といった、長いレイテンシーlatencyオペレーションによるストールを特定するために、種々のパフォーマンスカウンターを含んでいる。これらのストールは、ロジック120で使用されるときに、リタイアされた読込/保管命令、L2ミス、等といった、他のカウンターと組合わされて、アプリケーションが別のコア上で実行されるとした場合に、そのアプリケーションのパフォーマンスの予測を手助けする。たとえ、プラットフォームに特定のメモリーストールカウンターが無い場合でも、プラットフォームにおける他のストールカウンターを使用して、ストールが見積もられる。スケジュールに関して、以下のロジック120によって提供されたパフォーマンス情報に基づいて、いくつかの実施例は、種々のアプリケーションを大コアと小コアに対してマップする。1単一のアプリケーションに対して、大コアの小コアに対するパフォーマンス比率がプログラム可能な値よりも大きい場合は、大コア上でアプリケーションをスケジュールし、そうでない場合は、小コア上でスケジュールする。このプログラム可能な値は、コアの中に存在しており、種々の電力/性能マトリクスに基づいて、MSRMachineStateRegisterを使用して書き込まれる。2マルチアプリケーションに対して、例えば、N個のアプリケーションがスケジュールされる必要があるときは、大コアの小コアに対するパフォーマンス比率に基づいて、アプリケーションを配列する。トップのN/2アプリケーション例えば、最大のゲインを有するアプリケーションは、大コア上でスケジュールされ、ボトムのN/2アプリケーションは、小コア上でスケジュールされる。いくつかの実施例においては、一つまたはそれ以上の以下に示すカウンターが使用され得る例えば、カウンター122:1コアクロックサイクル:このカウンターは、コアが命令を実行してアクティブactiveなときのサイクル数をカウントする2リタイアされた命令:このカウンターは、与えられたサンプル時間の間にコアがリタイアした命令の数をカウントする3L2ミス:このカウンターは、L2をミスしたメモリーリファレンスの数をカウントする4スケジューラーストール:このカウンターは、小コアが命令をスケジュールすることができなかったサイクルの数をカウントするこのカウントは、また、小コアにおけるL2ミスとL2ミスレイテンシーとの積に基づいても引き出され得る5リソースストール:このカウンターは、予約ステーション、長いレイテンシーミス、等といった、リソースが使用できないために大コアがストールしたサイクルの数をカウントする6ブランチストール:このカウンターは、ブランチの予測ミスのために失われたサイクルの全体数をカウントする図5は、本発明の一つの実施例に従って、コンピューティングシステム500のブロックダイヤグラムを示している。コンピューティングシステム500は、相互接続ネットワークまたはバス504を介して通信する一つまたはそれ以上の中央処理装置CPUまたはプロセッサを含んでいる。プロセッサ502は、一般用途プロセッサ、ネットワークプロセッサコンピューターネットワーク503上で通信されたデータを処理するもの、または他のタイプのプロセッサ縮小命令セットコンピューターRISCプロセッサ、または複合命令セットコンピューターCISCプロセッサを含むを含み得る。さらに、プロセッサ502は、単一またはマルチコアデザインであり得る。マルチコアデザインのプロセッサ502は、同一の集積回路ICダイ上で異なるタイプのプロセッサコアを統合し得る。マルチコアデザインのプロセッサ502は、また、対称もしくは非対称のマルチプロセッサとして実施され得る。一つの実施例において、一つまたはそれ以上のプロセッサ502は、図1のプロセッサと同一か類似のものであり得る。例えば、一つまたはそれ以上のプロセッサ502は、図1から図4に関して述べられたコア106を含み得る。また、図1から図4に関して述べられたオペレーションは、システム500の一つまたはそれ以上のコンポーネントによって実行され得る。チップセット506も、また、相互接続ネットワーク504と通信し得る。チップセット506は、メモリコントロールハブMCH508を含む。MCH508は、メモリー512図1におけるメモリー114と同一または類似のものと通信するメモリーコントローラー510を含み得る。メモリー512は、CPU502、またはコンピューティングシステム500に含まれる他のあらゆるデバイスによって実行され得る命令シーケンスを含むデータを保管し得る。本発明の一つの実施例においては、メモリー512は、ランダムアクセスメモリーRAM、ダイナミックRAMDRAM、シンクロナスDRAMSDRAM、スタティックRAMSRAM、または、他のタイプのストレージデバイスといった、一つまたはそれ以上の揮発性ストレージもしくはメモリーデバイスを含み得る。ハードディスク装置といった不揮発性のメモリーも、また、使用することができる。マルチCPU、及び/又は、マルチシステムメモリーといった追加的なデバイスは、相互接続ネットワーク504を介して通信し得る。MCH508は、また、ディスプレイデバイス516と通信するグラフィックインターフェイス514を含み得る。本発明の一つの実施例においては、グラフィックインターフェイス514は、アクセラレーテッドグラフィックスポートAGPを介してディスプレイデバイス516と通信し得る。本発明の実施例において、ディスプレイ516平面パネルディスプレイといったものは、例えば、ビデオメモリーまたはシステムメモリーといったストレージデバイスに保管された画像のデジタル表現を、ディスプレイ16によって解釈されて表示されるディスプレイ信号に翻訳する信号変換器を通して、グラフィックインターフェイス514と通信し得る。ディスプレイデバイスによって生成されたディスプレイ信号は、解釈される以前に種々のコントロールデバイスを通過し、後にディスプレイ516上に表示される。ハブインターフェイス518によって、MCH508と入力/出力コントロールハブICH520とは通信できる。ICH520は、コンピューティングシステム500と通信する入力/出力デバイスに対するインターフェイスを提供する。ICH520は、ペリフェラルコンポーネントインターコネクトPCIブリッジ、ユニバーサルシリアルバスUSBコントローラー、または他のタイプのペリフェラルブリッジもしくはコントローラーといった、ペリフェラルブリッジまたはコントローラー524を通じてバス522と通信し得る。ブリッジ524は、CPU502とペリフェラルデバイスとの間のデータパスdatapathを提供し得る。他のタイプのトポロジーtopologyも使用され得る。マルチバスは、また、例えば、マルチブリッジまたはコントローラーを通じて、ICH520と通信し得る。さらに、ICH520と通信する他の周辺機器が含まれ得る。本発明の種々の実施例における、インテグレーテッドドライブエレクトロニクスIDEもしくはスモールコンピューターシステムインターフェイスSCSIのハードディスクドライブ、USBポート、キーボード、マウス、パラレルポーオ、シリアルポート、フロッピー登録商標ディスクドライブ、デジタル出力サポート例えば、デジタルビデオインターフェイスDVI、または他のデバイスといったものである。バス522は、オーディオデバイス526、一つまたはそれ以上のディスクドライブ、そしてネットワークインターフェイスデバイス530コンピューターネットワーク503と通信するものと通信し得る。他のデバイスも、バス522を介して通信し得る。本発明のいくつかの実施例においては、種々のコンポーネントネットワークインターフェイスデバイス530といったものも、また、MCH508と通信することができる。加えて、プロセッサ502とMCH508とは、単一のチップを形成するように結合され得る。さらに、本発明の他の実施例においては、グラフィックアクセラレーター516が、MCH508の中に含まれ得る。さらには、コンピューティングシステム500は、揮発性、及び/又は不揮発性のメモリーまたはストレージを含み得る。例えば、不揮発性のメモリーは、以下のうち一つまたはそれ以上を含む。リードオンリーメモリーROM、プログラム可能なROMPROM、消去可能なPROMEPROM、電気的なEPROMEEPROM、ハードディスクドライブ例えば、528、フロッピー登録商標ディスク、コンパクトディスクROMCD-ROM、デジタルバーサタイルディスクDVD、フラッシュメモリー、光磁気ディスク、または、電子的データ例えば、命令を含むを保管することができる他のタイプの不揮発性で機械読取可能なメディア、である。図6は、本発明の実施例に従って、ポイント-ツー-ポイントPtP構成において配置されたコンピューティングシステム600を示している。特には、図6は、プロセッサ、メモリー、そして、入力/出力デバイスが、数多くのポイント-ツー-ポイントインターフェイスによって相互接続されているシステムを示している。図1から図5に関して述べられたオペレーションが、システム600の一つまたはそれ以上のコンポーネントによって実行され得る。図6に示すように、システム600は、数個のプロセッサを含み得るが、明確化のために、そのうち2つのプロセッサ602と604だけが表されている。それぞれのプロセッサ602と604は、メモリー610および612と通信できるように、ローカルなメモリコントロールハブMCH606および608を含み得る。メモリー610及び/又は612は、図5のメモリー512について述べたような種々のデータを保管し得る。一つの実施例においては、プロセッサ602および604は、図5に関して述べたプロセッサ502のうちの一つであり得る。プロセッサ602と604は、PtPインターフェイス回路616と618をそれぞれに使用して、ポイント-ツー-ポイントPtPインターフェイス614を介してデータを交換し得る。プロセッサ602と604は、また、PtPインターフェイス回路626,628,630、そして632を使用して、個別のPtPインターフェイス622と624を介してチップセット620とデータ交換することもできる。チップセット620は、さらに、例えば、PtPインターフェイス回路637を使用して、グラフィックインターフェイス636を介して、グラフィック回路634とデータ交換し得る。本発明の少なくとも一つの実施例が、プロセッサ602および604の中に備えられ得る。例えば、図1から図5に係るコア106が、プロセッサ602および604の中に配置される。しかしながら、本発明の他の実施例は、図6に係るシステム600中の他の回路、ロジックユニット、またはデバイスの中に存在し得る。さらに、本発明の他の実施例は、図6に示されたいくつかの回路、ロジックユニット、またはデバイスを通じて配布され得る。チップセット620は、PtPインターフェイス回路641を使用してバス640と通信することができる。バス640は、バスブリッジ642と入力/出力デバイス643といった、一つまたはそれ以上のデバイスと通信し得る。バス644を介して、バスブリッジ642は、キーボード/マウス645、通信デバイス646モデム、ネットワークインターフェイスデバイス、コンピューターネットワーク503と通信し得る他の通信デバイス、といったもの、オーディオ入力/出力デバイス、及び/又は、データ保管デバイス648といった、他のデバイスと通信できる。データ保管デバイス648は、プロセッサ602及び/又は604によって実行され得るコード649を保管する。本発明の種々の実施例において、例えば、図1から図6に関して、ここにおいて述べたオペレーションは、ハードウェア例えば、ロジック回路、ソフトウェア、ファームウェア、またはそれらの組合せとして実行され得る。それらは、例えば、ここにおいて述べたプロセスを実行するようコンピューターをプログラムするために使用される命令が保管された例えば、一時的でない機械で読取り可能、または、コンピューターで読取り可能なメディアを含む、コンピュータープログラム製品として提供され得る。機械で読取り可能なメディアは、図1から図6に関して述べたようなストレージデバイスを含み得る。加えて、こうしたコンピューターで読取り可能なメディアは、コンピュータープログラム製品としてダウンロードし得る。プログラムは、通信リンク例えば、バス、モデム、またはネットワーク接続を介してキャリアーウェーブcarrierwaveまたは他のプロパゲーションpropagationメディアにエンベットされたデータ信号として、離れたコンピューター例えば、サーバーから、要求元のコンピューター例えば、クライアントに対して転送され得る。明細書における一つの実施例oneembodiment、anembodimentまたはいくつかの実施例someembodimentsに対する参照は、実施例に関して述べられた所定の特徴、構成、または特性が、少なくとも実施において含まれ得ることを意味する。いろいろな場所で登場する一つの実施例においてinoneembodimentというフレーズは、全て同一の実施例を参照しているか、または必ずしもそうではない。同様に、明細書と特許請求の範囲において、用語結合されたcoupledおよび接続されたconnectedが、その派生語と一緒に使用されている。いくつかの実施例において、接続されたconnectedは、2つまたはそれ以上のエレメントが、物理的または電気的に直接お互いに接触していることを示すために使用され得る。結合されたcoupledは、2つまたはそれ以上のエレメントが、物理的または電気的に直接接触していることを意味している。しかしながら、結合されたcoupledは、また、2つまたはそれ以上のエレメントが、物理的または電気的に直接お互いに接触しているのではないが、それでもお互いに協働または相互作用し得ることをも意味している。従って、本発明の実施例は、構成上の特徴、及び/又は、方法論的な行為に特有な言葉で述べられてきたが、請求される重要事項は、述べられた特定の特徴または行為に限定されるものではないことが理解されるべきである。むしろ、特定の特徴と行為は、請求された重要事項の実施に係る形態の例として開示されたものである。"