(57)【要約】【課題】短い待ち時間と、低い誤り性能測定能力とを提供する。【解決手段】プロセッサの性能を測定するための重み付けされたイベント計数システムおよび方法において、重み付け性能カウンタ（ＷＰＣ）は、プロセッサ内の機能部から与えられる複数のイベント信号に従って性能カウントを累積する。各イベントとプロセッサ性能との相関に従って、互いに異なる重みがイベント信号に印加される。重みは、プログラム制御で調整可能なように、プログラム可能なレジスタから与えられてもよい。イベント信号を合成して、互いに排他的なイベントは組み合わせ結果の単一のフィールドにマージさせ、同一の重みを有するイベントは小計に従ってマージさせて、イベント信号のセットのビット幅を減少させてもよい。重みは、組み合わせ結果に印加され、性能カウントを更新するために使用される。その後、性能カウントを、プロセッサの動作パラメータの調整のために、電源管理ソフトウェアまたはハードウェアが使用することができる。【選択図】図１
2008140380.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサの性能レベルを判断する方法であって、
前記プロセッサ内の互いに異なるイベントに対応する前記プロセッサ内の機能部から、複数のイベント信号を受信するステップと、
前記複数のイベント信号の総計と適合するように、性能カウンタを更新するステップであって、互いに異なる重みを、前記複数のイベント信号のうちの少なくとも２つに割り当てて、前記イベントに対応する性能計量の収集間の待ち時間が減少し、前記イベントは、前記プロセッサの性能に対する相関に従ってさらに別個に重み付けされる、前記更新するステップと、
前記性能カウンタを周期的な間隔で読み出して、性能カウントを取得するステップと
を含む、方法。
【請求項２】
前記受信および更新ステップは、前記プロセッサの各クロック周期におこなわれる、請求項１に記載の方法。
【請求項３】
前記プロセッサに入力される値と適合するように前記重みを調整するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記複数の受信イベント信号を符号化して、組み合わせ値を提供するステップと、
前記重みを前記組み合わせ値に印加して更新値を提供するステップであって、前記更新ステップは、前記更新値を前記性能カウントの現在の値に加算して次の性能カウントを取得する、ステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記符号化は、前記重みのうちの等しいものに対応する前記イベントをマージする、請求項４に記載の方法。
【請求項６】
前記符号化は、前記組み合わせ値のフィールド内のコードに従って、互いに排他的なイベントを符号化する、請求項４に記載の方法。
【請求項７】
前記性能カウントと適合するように、前記プロセッサについての電力管理数値を決定するステップと、
前記決定の結果と適合するように、前記プロセッサの動作パラメータを調整するステップと
をさらに含む、請求項１に記載の方法。
【請求項８】
プロセッサ内の複数のイベントの発生を示すための複数のイベント信号のうちの少なくとも１つの出力イベント信号をそれぞれ有する複数の機能部と、
前記複数のイベント信号を受信して、前記複数のイベント信号の状態に従って性能カウントを更新するための重み付け性能カウンタとを備え、前記複数のイベントのうちの少なくとも２つに従った前記性能カウントの変更は、互いに異なるように重み付けされる、プロセッサ。
【請求項９】
前記重み付け性能カウンタは、
前記複数のイベント信号を受信して、前記複数のイベントのうち前記プロセッサの現在の周期で生じたものを表す組み合わせ値を提供するための組み合わせ論理と、
互いに異なる重みを前記プロセッサの前記現在の周期で生じた前記重みに適合させるための重み付け論理と、
前記性能カウントを提供するために前記重み付け論理の出力を累積するための加算／累算器とを備える、請求項８に記載のプロセッサ。
【請求項１０】
前記重み付け論理は、前記互いに異なる重みがプログラム制御下で変更されてもよいプログラム可能なレジスタを備える、請求項９に記載のプロセッサ。
【請求項１１】
前記組み合わせ論理は、前記重みのうちの等しいものに対応するイベント信号をマージする、請求項９に記載のプロセッサ。
【請求項１２】
前記組み合わせ論理は、前記組み合わせ値のフィールドにおける前記イベント信号のうちで互いに排他的なものを符号化する、請求項９に記載のプロセッサ。
【請求項１３】
前記重み付け性能カウンタに応答して電力管理制御部をさらに備え、これによって、前記プロセッサの動作パラメータが、前記性能カウントに適合するように調整される、請求項８に記載のプロセッサ。
【請求項１４】
前記プロセッサは、前記重み付け性能カウンタを読み出し、かつ前記性能カウントに適合するように前記プロセッサの動作パラメータを調整するパラメータ命令を実行する、請求項８に記載のプロセッサ。
【請求項１５】
前記重み付け性能カウンタは、前記プロセッサのクロック周期毎に更新される、請求項８に記載のプロセッサ。
【請求項１６】
複数の機能部と、
前記複数の機能部で生じたイベントに従って、さらに前記イベントのうちの少なくとも２つの互いに異なるものに適用する互いに異なる重みに従って、性能計量値を更新するための手段と
を備える、プロセッサ。
【請求項１７】
前記機能部から提供されたイベント信号全体に対応するデータのビット幅を減少させるための手段をさらに備える、請求項１６に記載のプロセッサ。
【請求項１８】
更新のための前記手段は、前記プロセッサのクロック周期毎の前記性能計量値を更新する、請求項１６に記載のプロセッサ。
【請求項１９】
重み付けされた性能カウンタ回路であって、
計測中の性能計量値に対する互いに異なる効果を有するイベントに対応するイベント信号を受信するための複数のイベント入力と、
前記イベント信号の状態の組み合わせに対応する組み合わせ値を生成するための前記イベント入力に結合される状態符号化器と、
前記組み合わせ値に従った複数の互いに異なる重みを印加して、重み付けされた総合性能結果を提供するための重み付け論理と、
規則的な間隔で前記重み付けされた総合性能結果を累積するための加算器／累積器とを備え、これによって、重み付けされた性能カウントが保持される、重み付け性能カウンタ回路。
【請求項２０】
前記複数の互いに異なる重みを記憶するためのプログラム可能な重みレジスタをさらに備え、前記プログラム可能な重みレジスタは、プログラム制御に応答して、前記互いに異なる重みを調整するための入力を有する、請求項１９に記載の重み付け性能カウンタ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、プロセッサ性能計測システムに関し、より特定的には、待ち時間および誤りが低い性能計数システムに関する。
【背景技術】
【０００２】
処理部の性能計測は、典型的には、プロセッサ内の部品の使用についての情報を累積するカウンタのセットによって行われる。そのような使用情報を得ることによって、高度な電力管理アルゴリズムが、プロセッサ周波数および電圧、アイドル時間、または他のエネルギ使用制御機構などの動作条件を調整して、電力消費または損失を減少させることができる一方で、理想的には、処理性能に対する影響を最小限にすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
高精度の性能評価システムが複雑な多項式による計量に基づいて提案されているが、数多くの並行イベントを計測する必要がある。性能計測に寄与するイベントが、上述のような処理部の個別の使用である場合には、使用を計測しているカウンタが各部に提供される。そのような実施においては、数十の処理部、キャッシュ部、およびプロセッサの性能全体に寄与する他の部を有する複数のパイプラインを有することもある現代のプロセッサにおいて性能を計測するには、数多くのカウンタが必要となる。しかしながら、既存の性能計測の実施は、典型的には、計量が行われるごとに別個のカウンタが必要となり、典型的には、数多くのイベントを並行して処理することができない。したがって、そのような性能計測の実施では、電力管理制御がプロセッサの動作パラメータを変更する場合に、性能変化の正確な予測を提供することができなくなる。
【０００４】
計量毎に使用カウンタを提供する上述の手法に対する一代替策は、少ないセットのカウンタ（または単一のカウンタ）を時間多重して個別の計測を行うことである。しかしながら、そのような手法の総待ち時間は、きめの細かい制御を要するエネルギ管理システムにとって大きすぎる。さらに、内部計量による計測遅延によって、計測値に誤りが生じる。個別のカウンタを使用する場合であっても、典型的には、これらのカウンタを同時にアクセスすることはなく、これによっても、内部計量による遅延誤りおよび待ち時間の両方が生じる。
【０００５】
したがって、誤りおよび待ち時間の少ない使用情報を提供する性能計数方法およびシステムを提供することが望ましい。さらに、性能計測に寄与する計量毎にカウンタを必要としないシステムおよび方法を提供することが望ましい。
【課題を解決するための手段】
【０００６】
計量毎にカウンタを必要としない、待ち時間および誤りの少ない性能計測を提供するという目的は、重み付けされた性能カウンタ回路および方法において達成され、これらはプロセッサ内に内蔵されていてもよい。
【０００７】
重み付けされた性能カウンタは、プロセッサ内の複数の機能部において生じるイベントを示す複数のイベント信号を受信する。信号は、イベントとプロセッサの性能との相関性に従って重み付けされ、結果生じた重み付けされたイベント値が性能カウンタによって累積される。カウントは、プロセッサのクロック周期毎に累積されてもよい。重みは、プログラム制御下で調整可能なように、プログラム可能なレジスタから提供されてもよいし、または、回路内で提供される固定値であってもよい。
【０００８】
組み合わせ論理が、同一の重みを有するイベントを小計フィールドに累積して、複数のイベント信号を結合してもよい。互いに排他的なイベントは、組み合わせ結果内の単一のフィールドにマージされてもよい。
【０００９】
結果生じた重み付けされた性能カウントは、性能を最大限にするためにプロセッサの動作パラメータを調整し、電力消費を推測し、または電力消費の変化を予想するために、システム管理ソフトウェアまたはハードウェアもしくはその両方によって使用されてもよい。
【発明を実施するための最良の形態】
【００１０】
本発明の上記および他の目的、特徴、および利点は、添付の図面に示すように、以下の特に本発明の好ましい実施形態の説明から明らかだろう。
【００１１】
本発明の特徴と思われる新規の特徴を添付の請求項に記載する。しかしながら、本発明自体は、その好ましい使用態様、目的および利点と共に、例示の実施形態についての以下の詳細な説明を参照して添付の図面と共に読むと、最もよく理解されるだろう。図面において、同様の参照番号は、同様の構成要素を示す。
【００１２】
本発明は、単一の性能カウンタを使用して複数のイベント型のイベントを同時に計測することによって、少ない性能測定誤りおよび待ち時間を提供する、性能計測のための回路および方法に関する。各イベント型のシステムまたはプロセッサ性能に対する相関を正確に反映するために、イベントは、計測する前に重み付けされる。すなわち、これに基づいて、単一のプロセッサ周期または各イベントが計測される他の期間でイベントが計測される。カウンタが増分される値は、各イベント型の数およびイベント型それ自体の両方によって異なる。例えば、Ｌ１キャッシュ・ミスは、Ｌ２キャッシュ・ミスとは異なる性能ペナルティを示すので、性能カウントが異なる変化を表すように、互いに異なるように重み付けがなされることになる。イベントの総レートは、一般的には、性能に対して単調である。しかしながら、完了した命令などの他のイベントに比例したキャッシュ・ミスなどというあるイベントの増加は、性能の低下を示す。
【００１３】
プロセッサまたは他の装置／システムの性能は、別個の計測を使用して、性能との相関に従ってイベントを調節することによって、プロセッサ内の未処理の各性能依存型のイベントのカウントを結合するという、複雑な多項式による計量から判断できる。しかしながら、上述のように、そのようなイベント計測は、数多くのカウンタを必要とし、または、全体としての測定待ち時間と内部イベント・カウント遅延誤りとを生じさせる多重手法を必要とする。したがって、本発明の重み付けされた性能カウンタによってサポートされる複雑な多項式による計量は、回路領域と監視のために必要な電力との削減と、多重化手法に対する測定待ち時間と誤りとの削減と伴う、互いに異なるイベントについての性能カウントに対して異なる効果を提供することによって、改良された性能モデルを提供する。そして、結果生じた性能情報は、米国特許出願第１１／５３８１３１号である「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＩＭＰＲＯＶＩＮＧ  ＰＲＯＣＥＳＳＩＮＧ  ＰＥＲＦＯＲＭＡＮＣＥ  ＢＹ  ＵＳＩＮＧ  ＡＣＴＩＶＩＴＹ  ＦＡＣＴＯＲ  ＨＥＡＤＲＯＯＭ」に記載されているような電力管理制御システムに対する入力として印加できる。
【００１４】
今度は図面を参照して、特に図１を参照すると、本発明の一実施形態に係る、プロセッサを内蔵するシステムのブロック図が示されている。本システムは、プロセッサ・グループ８を含み、スーパー・スカラ・プロセッサを形成するブリッジ１７を介して他のプロセッサ・グループに結合されていてもよい。プロセッサ・グループ８は、システム・ローカル・メモリ１９と、２つのサービス・プロセッサ６Ａおよび６Ｂと共に様々な周辺機器１５に接続される。サービス・プロセッサ６Ａおよび６Ｂは、故障の監視、支援、およびテスト機能をプロセッサ・グループ８に対して提供し、すべてのプロセッサ１２Ａ〜１２Ｄを接続すると共に他のプロセッサ・グループへの自身の相互接続パスを有してもよい。さらに、サービス・プロセッサ６Ａおよび６Ｂのうちの１つまたは両方は、性能および電力測定／管理を行ってもよく、そのような制御を、本発明の一実施形態に係る１つ以上の重み付けされた性能カウンタから読み出された性能カウントと整合するように行ってもよい。
【００１５】
プロセッサ・グループ８の内部には、複数のプロセッサ１２Ａ〜１２Ｄがあり、それぞれ、通常、単一の部で製造され、Ｌ２キャッシュ１４およびメモリ・コントローラ１６とに結合された複数のプロセッサ・コア１０Ａおよび１０Ｂを含む。プロセッサ・コア１０Ａおよび１０Ｂは、汎用処理機能に関するデータ値に対する命令実行および動作を提供する。別個のＬ３キャッシュ１８Ａ〜１８Ｄが、各プロセッサ１２Ａ〜１２Ｄに提供される。ブリッジ１７は、システム内の他のブリッジとともに、他の処理グループを伴う広いバス上の通信を提供し、バス１１は、プロセッサ１２Ａ〜１２Ｄと、ブリッジ１７と、周辺機器１５と、Ｌ３キャッシュ１８Ａ〜１８Ｄと、システム・ローカル・メモリ１９の接続を提供する。他のグローバル・システム・メモリをブリッジ１７の外部に結合して、すべてのプロセッサ・グループによる対称的なアクセスを行ってもよい。
【００１６】
図２を参照すると、プロセッサ・コア１０Ａおよび１０Ｂと同一の特徴を有するプロセッサ・コア１０の詳細が示されている。バス・インターフェース部３３は、プロセッサ・コア１０を他のプロセッサおよび周辺機器に接続し、データ値を記憶するためのＬ１  Ｄキャッシュ３２と、プログラム命令を記憶するためのＬ１  Ｉキャッシュ３０と、キャッシュ・インターフェース部３１とを外部メモリ、プロセッサ、および他の装置に接続する。Ｌ１  Ｉキャッシュ３０は、命令フェッチ部ＩＦＵ２６と共に命令ストリームのロードを提供する。命令フェッチ部ＩＦＵ２６は、命令を予め取り出すものであり、見込みロードおよび分岐予測機能を含んでもよい。命令シーケンサ部（ＩＳＵ）２２は、一般的な演算を実行するための固定点部（ＦＸＵ）２４および浮動点演算を実行するための浮動点部（ＦＰＵ）２５などの様々な内部部品に対して発行される命令のシーケンシングを制御する。グローバル完了テーブル（ＧＣＴ）２３は、ＩＳＵ２２によって発行された命令を、命令によって対象となった特定の実行部が命令実行完了を示すまで追跡する。
【００１７】
固定点部２４および浮動点部２５は、汎用レジスタ（ＧＰＲ）２８Ａ、浮動点レジスタ（ＦＰＲ）２８Ｂ、条件レジスタ（ＣＲ）２８Ｃ、再命名バッファ２８Ｄ、カウント・レジスタ／リンク・レジスタ（ＣＴＲ／ＬＲ）２８Ｅ、および例外レジスタ（ＸＥＲ）２８Ｆなどの様々なリソースに結合される。ＧＰＲ２８ＡおよびＦＰＲ２８Ｂは、ロード記憶部（ＬＳＵ）２９によってＬ１  Ｄキャッシュ２２からロードおよび記憶されたデータ値に対してデータ値の記憶を提供する。ＣＲ２８Ｃは、条件分岐情報を記憶し、再命名バッファ２８Ｄ（様々な内部実行部に関連したいくつかの再命名部を備えてもよい）は、実行部にとってのオペランドおよび結果の記憶を提供する。ＸＥＲ２８Ｆは、分岐と固定点例外情報とを記憶し、ＣＴＲ／ＬＲ２８Ｅは、分岐リンク情報とプログラム分岐実行のためのカウント情報とを記憶する。制御論理２１は、プロセッサ・コア１０内の様々な実行部およびリソースに結合されて、実行部およびリソースの広範な制御を行うために使用される。ＳＣＯＭ／ＸＳＣＯＭインターフェース部３５は、外部サービス・プロセッサ３４Ａおよび３４Ｂに対する接続を提供する。
【００１８】
また、プロセッサ・コア１０は、通常の性能カウンタ（ＰＣｓ）３７と、本発明の一実施形態に係る重み付け性能カウンタ（ＷＰＣ）４０Ａおよび４０Ｂとのセットによって提供される性能カウント値を収集する性能監視部（ＰＭＵ）３６を含む。性能カウンタ３７を使用して、重み付け性能カウンタ４０Ａおよび４０Ｂによってカウントされない追加のイベントをカウントする。多項式の性能計量は、性能監視部３６によって計算することができる。または、性能監視部３６は、性能カウンタ３７および重み付け性能カウンタ４０Ａおよび４０Ｂから、図１の処理システム内の１つ以上のプロセッサ１２Ａ〜１２Ｄ内で実行するハイパーバイザーなどの外部ソフトウェアへ、またはサービス・プロセッサ６Ａまたは６Ｂによって実行されるサービス・プロセッサ・プログラムへのカウント値の表示を提供することができる。また、性能測定部３６、性能カウンタ３７、重み付け性能カウンタ４０Ａ，４０Ｂは、プロセッサ・コア１０の外部に位置していてもよい。例えば、図１のプロセッサ１２Ａ〜１２Ｄは、各コア１０Ａおよび１０Ｂからイベント信号が提供される性能測定部と、メモリ・コントローラ１６と、Ｌ２キャッシュ１４とをそれぞれ含んでもよい。
【００１９】
性能カウンタ３７および重み付けされた性能カウンタ４０Ａおよび４０Ｂは、プロセッサ・コア１０内部での様々なイベントの発生を信号で知らせる入力を受信する。実施形態例において、重み付け性能カウンタ４０Ａは、ＩＳＵ２２、ＩＦＵ２６、ＦＰＵ２５、およびキャッシュ・インターフェース部３１などの様々な機能処理ブロックからイベントを受信する。重み付け性能カウンタ４０Ｂは、イベントバス入力をＬＳＵ２９から受信する。性能カウンタ３７は、一般的には、プロセッサ周期数に対するイベント・カウントすべて評価を行うことができるように、プロセッサ周期をカウントするカウンタを含む。イベント監視手法例は、二重カウンタ重み付けイベント計数手法を例示しており、メモリ待ち時間に依存するイベントは、重み付け性能カウンタ４０Ｂによって計数される一方で、重み付け性能カウンタ４０Ａは、プロセッサのクロック周波数に依存するイベントをカウントする。主な電力管理手法は、プロセッサのクロック周波数および電圧を調整し、メモリ待ち時間は変更しないので、プロセッサのクロック周期のメモリ待ち時間は、プロセッサのクロック周波数が変更されると変化する。メモリ待ち時間に依存するイベントと、プロセッサのクロック周波数に依存するイベントとについての別個の重み付けされた性能カウンタ４０Ａおよび４０Ｂを使用することによって、２つの互いに異なる型のイベント上のプロセッサ周波数変化の影響を独立して評価するための機構を提供する。実施形態例は、プロセッサ周期数と、完了命令数と、メモリ階層の各レベルのミス・レートを追跡する。結果生じたカウントから、プロセッサの周波数に依存するメモリ待ち時間が識別でき、プロセッサ周波数に対する性能の推定値が、毎秒の命令または他の性能指数として判断される。そして、電力管理アルゴリズムは、周波数の結果に対する推定性能を使用して、電力管理に関する決定をその場で行うことができる。
【００２０】
図示の実施形態において、性能監視部３６は、バス・インターフェース部３３およびＳＣＯＭインターフェース３５に結合される出力を有し、重み付け性能カウンタ４０Ａおよび４０Ｂならびに性能カウンタ３７から結果生じた性能測定値を、サービス・プロセッサ６Ａおよび６Ｂのうちの１つまたはバス１１に結合された他のプロセッサによって読み出すことができる。代わりに、プログラム読み出し可能なレジスタを性能監視部３６から提供してもよい。重み付け性能カウンタ４０Ａおよび４０Ｂは、バス・インターフェース部３３およびＳＣＯＭインターフェース３５のうちの１つまたは両方にオプションとしてさらに結合される入力を有し、各イベント型の性能カウントに対する寄与を判断するのに使用される重みは、プログラム制御によって調整されてもよい。調整は、性能監視によって提供される現行の結果の判断に基づいて動的に行われてもよいし、実行中の作業負荷の型の決定と適合するように設定されてもよいし、または、性能推定において使用される固定値のさらなる改良のために提供されてもよい。
【００２１】
今度は図３を参照すると、本発明の一実施形態にかかる重み付け性能カウンタ４０の詳細であって、図２の性能カウンタ４０Ａおよび４０Ｂを実施するために使用されてもよいものが図示されている。組み合わせ論理部４２は、プロセッサ１０内の機能部から受信されたイベント信号のセット、または性能を測定中の回路またはシステムの型に従った他のイベント信号を組み合わせる。結果生じた出力数値は、イベントを組み合わせ、これは、イベント毎にフィールドを含むバイナリ数値であってもよく、または以下に詳細に述べるように、出力値のビット幅を減少させるフィールドを含んでもよい。組み合わされたイベント結果は、重みのセット｛Ｗ０’，Ｗ１’．．．ＷＮ’｝を加算器４６の入力に選択的に印加するセレクタ４５の制御入力に与えられる。加算器４６は、性能カウント・ラッチ４７の現在の値と共に組み合わされた重みを加算する。例えば、イベント０が所定のプロセッサ周期で生じ、イベント１が生じない場合に、重みＷ０がカウントに加算されるが、Ｗ１は加算されない。加算器４６は、各重み重み｛Ｗ０’，Ｗ１’．．．ＷＮ’｝を性能カウント・ラッチ４７の現在の値に加算するのに充分な幅の充分な入力を有し、セレクタ４５は、組み合わせ回路部４２の組み合わせ出力によって与えられる制御信号に従って、ゼロ値入力と各重み入力｛Ｗ０’，Ｗ１’．．．ＷＮ’。｝との間で選択をおこなう
【００２２】
重み｛Ｗ０’，Ｗ１’．．．ＷＮ’｝は、重みマッピング器４４によって決定される。重みマッピング器４４は、上述のようなプログラム制御によって設定されてもよいような重みレジスタ４３のセットにプログラムされた値を調節する。性能計測手法の分析を保存するために、イベント毎のカウントに加算される値は、重みの差が性能とイベントの発生との間の相関の差分を真に表すように、調整されなければならない。例えば、イベント重みが１という値に設定され、他のイベントが１．５という相対性能相関を有した場合、他のイベントについての相対重みは、固定点加算によっては正確に表現することができなかったはずである。したがって、重みの範囲｛Ｗ０’，Ｗ１’．．．ＷＮ’｝は、性能に対するイベントの相対相関の細かい差を表現するのに充分なほど大きくあるべきである。しかしながら、０〜３（２ビット）のような小さな重みの範囲であっても、少ない数のイベントをカウントするシステムに対して誤りの減少を提供し、ここにおいて、イベントは、一様にカウントされるか、多項式による性能計量への個々の寄与を同一に収集しないように、多重化されたやり方でカウントされる。
【００２３】
組み合わせ論理（ユニット）４２は、出力選択信号のビット幅を減少させてもよいので、セレクタ４５の複雑性およびサイズ、ならびに重み付け性能カウンタ４０を実施するのに必要な重み数をも減少させる。減少は、同一の重みを有する互いに排他的なイベントによって提供される。同一の重みで互いに排他的なイベント入力は、論理和演算によって組み合わせることができる。なぜならば、当該イベントのセットから結果生じる重みは、常にゼロか、または単一の重み値となるからである。出力選択信号のビット幅が減少するような他のやり方は、互いに排他的ではない同一の重みのイベントを加算して、同一の重みのイベントに対応するフィールドがイベント数を表す２進数であるようにすることである。この型のフィールドについて、セレクタ４５は、重み値の選択を受信して、重み値と単一のフィールドにおいて組み合わせられている同一の重みのイベント数との積を表す数を加算器４６に与えるのに充分な重み値を決定する。
【００２４】
本発明をその好ましい実施形態を参照して特に図示および説明してきたが、形式および詳細についての上記および他の変更を本発明の精神および範囲から逸脱することなく行ってもよいことは、当業者によって理解されるだろう。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態に係るプロセッサを内蔵する処理システムのブロック図である。
【図２】本発明の一実施形態に係るプロセッサ・コアのブロック図である。
【図３】本発明の一実施形態に係る重み付けされた性能カウンタの回路図である。
【符号の説明】
【００２６】
６Ａ  サービス・プロセッサＡ
６Ｂ  サービス・プロセッサＢ
８  プロセッサ・グループ
１０Ａ，１０Ｂ  コア
１２Ａ，１２Ｂ，１２Ｃ，１２Ｄ  プロセッサ
１４  Ｌ２キャッシュ
１５  周辺機器
１６  メモリ・コントローラ
１７  ブリッジ
１８Ａ，１８Ｂ，１８Ｃ，１８Ｄ  Ｌ３キャッシュ
１９  システム・ローカル・メモリ
２０Ａ，２０Ｂ，４０Ａ，４０Ｂ  ＷＰＣ（重み付け性能カウンタ）
【図１】
2008140380.tif 000003
【図２】
2008140380.tif 000004
【図３】
2008140380.tif 000005