どうなってるのやら

あゆぽっぽ。あゆぽっぽ牛乳。

疑惑のホットコーヒー

 Intelの仕様書で使われる「TjMax」が、nehalem(lynnfield等含)以降でいうところのMSR/0x1a2[23:16]だと仮定して書きます。

 ..ひとまず1a2h[23:16]自体はリードオンリーです。 coffeeLake[LGA1151]系datasheetのrev.003と005どちらにも、「factory calibrated and is not configurable」とあります。 またintelのプログラミングガイド側にも「RO(readOnly)」とあるので基本書きかえはできません。

 しかし一部のcoffeeLake(cometLakeも?)マザーには、TjMaxを'調整'する項目があるようです。 上記レジスタが「実は条件つきで上書きできる」といった話なら、特段あたまをひねることなく納得いきます。 たとえばsandyBridge/ivyBridgeのnon-k型番は条件が整えば限定的にOC可能[TB倍率再設定可]だったのですが、これらのフィーチャーはark.intel.comレベルや公式の仕様書には書かれておらず半分暗黙の秘密扱いです。 書類上の仕様と実装レベルの仕様が違っていてもおかしくはありません。。

 じゃあ逆に0x1a2が、仕様書どおりROだとしたら。 TjMaxは『別に定めるオフセット(targetOffset)が設定されていなければ』緊急クロックダウンをトリガーする値ですが、当該オフセットに有意な値が格納されている場合「その分だけ低い温度でトリガーする」とされています。 こちら(0x1a2[29:24]とか[27:24]。broadwellだと4bitsらしい?)は条件つきで書きかえ可能のようなので、結果的に緊急対応温度を下げることができるというロジックです。

 特段の設定を行っていないCL-R9000番台でTjMax=73h(115度)が観測され、その環境でマザーボードが示す'TjMax設定可能範囲'の上限が115度だといった実例があるようですが、おそらくはTjMax相当のレジスタを書きかえるものではなく、前述のオフセットを決める機能ではないでしょうか。 115未満の値を指定した場合、内部的にはtargetOffsetが調整されるものだと筆者は想像します..

 本稿のポイントは二つ:

  ・『マザーボードベンダorBIOS/UEFI上の設定ミスでTjMaxの値がおかしい』といった現象は存在しない(readOnlyなので)
  ・上記環境において、「TjMa自体は115度で正解」「'TjMax変更機能'とやらは、115度に対するオフセットをいじっているだけ」