3

Intel Skylake Xeon Gold 6126 サーバー CPU で Uncore Frequency の読み取りと設定が必要なプロジェクトに取り組んでいます (別の Haswell ベースのプロセッサでも同じことを行う必要があります)。Linux 4.15.0-134 で Ubuntu を実行しています。msrカーネルモジュールをロードしました。現在の Uncore 周波数を最初に読み取ろうとしています。私は次のことをしています:

sudo wrmsr 0x700 0x2000000000000000
sudo wrmsr 0x703 0x400000
sudo rdmsr 0x704

Intel ディスカッション スレッドで上記の解決策を見つけました

ただし、現在、アンコア周波数の最小値と最大値を変更しようとしています。そのために、最初に最小周波数を読み取ろうとしています (後で参照できるように保存するため)。

sudo rdmsr 0x620

上記は 1818 を返します。この数値が何なのかわかりません。技術文書では、最初の7 ビットをminimum frequency ratio(10 進数で 24 の値を持つ) と呼んでいます。しかし、この値が何であるかはわかりません。さらに、ドキュメントによると、ビット 8 ~ 14 にはmaximum frequency ratio. ただし、ビット 8 ~ 14 も 24 になります。

誰かがこれらの値が何であるか説明してもらえますか? そして、それらはどの値に関して計算されますか?

また、アンコア周波数を変更するには、0x620 のレジスタの適切なビットに書き込むだけでよいのでしょうか?

sudo wrmsr 0x620 0x1c18

上記の質問に関して、ご指導いただければ幸いです。

4

1 に答える 1