Windows プロセッサのスケジュールの設定

 Windowsには、プロセッサのスケジュールの設定というものが、コントロールパネルに用意されている。(Windows8.1での画像を使用するが、7でも同様だ)



time slice fore crop

 上記の画像は、パフォーマンスオプションで、プロセッサのスケジュールに、『プログラム』を選択した場合のものだ。ここでの選択は、レジストリに反映される。画像下部のレジストリエディターの、データの項に表示されている、0x26が選択の結果だ。レジストリ上の所在は、レジストリエディターの窓の、最下段に明示されている。

 画像中のパフォーマンスオプションのなかに、『プロセッサのリソースをどう割り当てるかを選択します』と書かれている。プロセッサのリソースとは、CPUタイムのことで、この場合は、タイムスライスの時間の幅、という意味になる。

 0x26は、タイムスライスの間隔はショート(2Tick)で、フォアグラウンドの処理には、その3倍(6Tick)を与える、という意味になる。Tickとforeground(フォアグラウンド)の説明は、後にまわす。



time slice back crop

 上記の画像は、パフォーマンスオプションで、プロセッサのスケジュールに、『『バックグラウンドサービス』を選択した場合のものだ。ここでの選択は、レジストリに反映される。画像下部のレジストリエディターの、データの項に表示されている、0x18が選択の結果だ。

 0x18は、タイムスライスの間隔はロング(12Tick)で、どの処理に対しても扱いは変わらない、という意味になる。



 コントロールパネルで用意されている選択肢は2種類だが、レジストリーエディターで、それ以外の指定をすることもできる。

time slice short fore x2 crop

 上記の画像は、レジストリーエディターで、0x25を設定した場合のものだ。

 0x25は、タイムスライスの間隔はショート(2Tick)で、フォアグラウンドの処理には、その2倍(4Tick)を与える、という意味になる。



 レジストリ上の、数値の意味をまとめると以下のようになる。

0x20+0x08+0x02 = 0x2A = Short, Fixed (, High foreground boost).
0x20+0x08+0x01 = 0x29 = Short, Fixed (, Medium foreground boost).
0x20+0x08+0x00 = 0x28 = Short, Fixed (, No foreground boost).

0x20+0x04+0x02 = 0x26 = Short, Variable , High foreground boost.
0x20+0x04+0x01 = 0x25 = Short, Variable , Medium foreground boost.
0x20+0x04+0x00 = 0x24 = Short, Variable , No foreground boost.

0x10+0x08+0x02 = 0x1A = Long, Fixed (, High foreground boost).
0x10+0x08+0x01 = 0x19 = Long, Fixed (, Medium foreground boost).
0x10+0x08+0x00 = 0x18 = Long, Fixed (, No foreground boost).

0x10+0x04+0x02 = 0x16 = Long, Variable, High foreground boost.
0x10+0x04+0x01 = 0x15 = Long, Variable, Medium foreground boost.
0x10+0x04+0x00 = 0x14 = Long, Variable, No foreground boost.

Short = Short Quntum = 6Quantum = 2Tick
Long = Long Quantum = 36Quantum = 12Tick
High foreground boost = 3倍
Medium foreground boost = 2倍

 上記は、下記のサイトの記事をもとに作成した。

http://forums.guru3d.com/showthread.php?p=1451631#post1451631



 QuantumとForegroundについては、下記のASCII.jpの記事に詳しい説明が出ている。

http://ascii.jp/elem/000/000/672/672088/

 以下の記事には、ASCII.jpの記事のQuantumの説明を理解してから、進んでいただきたい。



clockres snip

 上記の画像は、clockresというプログラムを走らせたものだ。

 Current timer intervalが、ASCII.jpの記事にある、『タイマー割り込みの1周期(15.6ミリ秒)』だ。この値が、3Quantumであり、1Tickだということになる。

 Windowsにおける、タイムスライスの間隔を表す、ShortとLongの意味するところは、簡単な計算で求められる。

 Shortは、2*15.625で、31.25(ミリ秒)だ。

 Longは、12*15.625で、187.5(ミリ秒)だ。



timertool crop

 上記の画像は、TimerToolのものだ。このプログラムは、Crrent timer intervalを変更するものだ。こういうプログラムが存在するということは、timer intervalを変更しても、(おそらく)問題はないということを(少なくとも)暗示しているが、私は、それの変更を推奨しない。


 個人的には、実験してみた。TimerToolで、5(ミリ秒)を設定すれば、タイムスライスのinterval(間隔)は、1/3になるはずだが、そうなったのかどうかは不明だ。

 タイムスライスの間隔を確認するツールがないから、Current timer intervalの変更は確認できても、タイムスライスの間隔については確認できない。Windowsの、タイムスライスについてふれている記事は多いのだが、タイムスライスの間隔を確認する手法について言及している記事は、見たことがない。

 Timer intervalを変更して、処理の振る舞いに何か変化があれば、タイムスライスの間隔が、変化したためとも推測できるが、残念ながらそういった感触はない。変化がないのだ。換言すれば、変更する意味がない、ということにもなる。


 Timer intervalの変更について記したが、重要なのは変更することではなく、むしろ、それが変更されていないことなのだ。ネットをあたってみると、これが変更されているという事例が出てくる。timer intervalを、勝手に、変更してしまうソフト(TimerToolのことではない)が存在するということなのだが、それが問題となる場合があるからだ。

 一度、clockresを走らせて、timer intervalを確認してみたほうが良いかもしれない。常用しているソフトを走らせている最中に、clockresを走らせるという手順だ。Current timer intervalの値が、15.625msではなかったら、それらのソフトのうちのどれかが、変更しているということになる。


 clockresは、以下のサイトで入手できる、頭に、hを追加すること。

 ttps://technet.microsoft.com/ja-jp/sysinternals/bb897568.aspx


 TimerToolは、以下のサイトで入手できる。頭に、hを追加すること。

 ttps://vvvv.org/contribution/windows-system-timer-tool




 ここからは、コントロールパネルのプロセッサのスケジュール設定の話だ。

 デフォルトでは、プログラムとなっているが、そのままでよいのかという話だ。

 タイムスライスは、50年以上の歴史があり、当然それなりの理論がある。プロには理屈が必要だが、アマチュアの場合、必ずしも必要とはいえない。


 とりあえず、両方試してみて、感触の良好な方にする、というのが現実的だ。

 もっと現実的なのは、デフォルトのまま放置するということだ。


 最後の最後で、身も蓋もない話になって申し訳ないが、これが現実だ。変更で、変化が起きる場合もあるが、大方の場合、変化はないのだ。



 少々、いいかげんすぎるかも、という気がしてきたので、補足しておく。

 Celeronは、2コアで、低クロックだ。Core i7は、4コア8スレッドで、高クロックだ。デフォルトは、どちらの場合でも、『プログラム』だ。これで、良いのか? というのが、とりつきやすい切り口だ。

 答えは二つだ。YESとNOだ。面倒くさいのは、どちらも、間違いとは言えないということだ。

 そもそも、選択肢があるということ自体が、正解が一つではないことを暗示(明示というべきか?)している。正解は、使途によって変わってくる。あるいは、ケースバイケースで判断すべきだということだ。

 その限りない正解の中から、方向性の異なる二つが選択肢として用意されている。そのうちの、より当たり障りのないものが、デフォルトになっている。こう考えておいて間違いはない。

 よくわからなかったら、デフォルトのまま放置する。理屈からすれば、王道のひとつ、ということになる。



ブログランキング・にほんブログ村へ


スポンサーサイト

OC出来ないCPUの実質的な高速化

 OC可能なCPUならば、クロックアップできる。

 OC出来ないCPUの場合、クロックアップすることはできない。


 では、OC出来ないCPUの演算能力を、増強できないのかというと、そういうわけでもない。


 Windows7、Windows8では、デフォルト設定が、CPUの演算能力を、100%活用するような設定になってはいない。この設定を変更すれば、CPUの演算能力を、100%使用できるようになる。



processor dengen kanri


 上図は、コントロールパネルの、電源オプションの画面だが、最小のプロセッサの状態が、5%(デフォルト値)となっている。これを100%にすれば、CPUの演算能力を、100%引き出すことができる。

 デメリットはないのか? 当然デメリットはある。消費電力が増加するのだ。プロセッサの電源管理という括りになっているのは、そういう側面があるからだ。使用しているPCが、バッテリーでの使用を前提としたものである場合は、その点を考慮したほうが良いだろう。



5-100 stock crop


 上図は、常用しているPC(プロセッサの電源管理の設定はデフォルト値)が、典型的な稼働状態にある時にとった、HWiNFOのスクリーンプリントだ。この状態では、タスクマネージャーで、CPUの使用率を見てみると、おおかた20~25%ぐらいで推移している。HWiNFOのTotal CPU Usageでは、平均で21.5%となっている。Uncore Clockは、平均で2841MHzとなっている。このPCはi5 4670を使用したものだが、そのPCを、実質2.8GHz程度のスピードで、使用しているということになる。

 i5 4670は、最低が0.8GHzで、ベースが3.4GHz、ターボが3.8GHzのCPUだから、2.8GHzは80%程度になる。最小のプロセッサの状態を、100%に設定すれば、最低が3.4GHzで、最高が3.8GHzのCPUとして動作することになるので、ミクロで見れば、処理のスピードは向上する。マクロで見れば、上記の例の場合、変化はない。どちらでも、上出来ということではなく、どちらでも瑕疵が残るという意味でだ。


 とはいうものの、処理によっては、効果が出る場合もあるわけで、試してみても損はないだろう。変わりがなければ、元に戻せばよいだけだ。


 最後に、消費電力の増加について触れておく。このPCは、i5 4670を使用したもので、電源は80PLUS Goldのものだ。アイドル時と、CPUの使用率が100%の場合には、最小のプロセッサの状態の設定値を変更していても、消費電力に差はない。差が出るのは、その中間の場合だ。参考のため記しておくが、先の例の場合、設定値が5%の時は45~55ワット程度で、100%の時は55~65ワット程度だ。


ブログランキング・にほんブログ村へ

ドル高の原因は、米国の経常収支の赤字の減少、という説

 最近のドル高(対円だけではなく、ほとんどの通貨に対してのドル高)の原因は、米国の経常収支の赤字の減少に原因があるという見方もできるようだ。


 米国の経常収支の赤字が減少すれば、米国から流出していくドルの量が、減少する。米国以外の国々が、ドルを調達しようとした場合、新たな供給が減少してきているドルを取り合うことになるため、ドルの需給がタイトになり、ドル高へ振れてゆく。

 米国の経常収支の赤字が急減したのは、リーマンショックの後だ。ところが、その時点では、ドル高は進行しなかった。それは、米国が3度にわたる金融緩和で、ドルの供給を続けたためだ。ところが、金融緩和の終わりが見えてきたため、それに先駆けてドル高が進みだした。

 そんな内容の、ビデオがある。長さは13分程度のものだから、子細なものではない。個人的に、疑問を感じたことは、なぜリーマンショック後に、米国の経常赤字が急減したのか、ということだ。残念ながら、その件については、ビデオでは、触れられていない。オバマ政権による、意図的なものなのか、それとも、経済状況の変化に起因したものなのだろうか。


 ビデオのURLは、https://www.youtube.com/watch?v=xKrLkbPUlSo だ。


ブログランキング・にほんブログ村へ

カレンダー
プルダウン 降順 昇順 年別

01月 | 2016年02月 | 03月
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 - - - - -


RSSリンクの表示
リンク
カウンター
QRコード
QR
ブロとも申請フォーム

この人とブロともになる

最新トラックバック