0

Intel Westmere プロセッサを使用しています。westmere のアーキテクチャは、2 チップ上に配置された 12 個の CPU コアで構成されています。つまり、各チップには 6 つのコアが含まれています。

CPUコアの順序や番号がどのように付けられているかわかりません。私の推測では、次のいずれかになる可能性があります。

  1. コア 0、1、2、3、4、および 5 は 1 つのチップ上にあり、コア 6、7、8、9、10、および 11 は 2 番目のチップ上にあります。
  2. コア 0、2、4、6、8、および 10 は 1 つのチップ上にあり、コア 1、3、5、7、9、および 11 は 2 番目のチップ上にあります。

CPUコアの順序/番号付けを知っている人はいますか

4

2 に答える 2

0

それらは、連続するコアを取ることで可能な限り負荷が分散されるようにインターリーブされることになっています。0と1が同じチップ上にある場合、2つのコアのみを使用する単純なコードは、キャッシュの半分を浪費することになります。

したがって、番号が付けられたコアは、最初に物理CPUを代替する必要があります。可能であれば、次に別のダイを使用する必要があります。次に、単一のダイでコアを通過する必要があります。可能であれば、仮想コアを含める必要があります。

したがって、2つの物理CPU(P1、P2)、各デュアルコア(C1、C2)、および各ハイパースレッディング(V1、V2)がある場合、コアは次のようになります:P1C1V1、P2C1V1、P1C2V1、P2C2V1、P1C1V2、P2C1V2、P1C2V2 、P2C2V2

理論的根拠は、CPUトポロジを理解していないコードが、使用方法を知っている限り多くのコアを取得して、最適なパフォーマンスを得ることができるようにすることです。2つのコアしかサポートできない場合は、P1C1V1とP1C1V2ではなくP1C1V1とP2C1V1が必要です。そうしないと、キャッシュと実行ユニットが大幅に無駄になります。

于 2011-09-17T12:45:06.437 に答える