web-dev-qa-db-ja.com

CPUティックとは何ですか?

質問:

  • CPUティックはどのように計算され、何を表しますか?
  • 単一のtick10 milisecondsに相当しますか。したがって、一部のスレッドが呼び出されなかったと報告された場合(5 * 10 ticks = 500 ticks)は、CPUがビジー状態で、前述のスレッドをスケジュールできない仕事
39
Aaron

tickは、内部システム時間を測定するための任意の単位です。通常、ティックにはOS内部のカウンターがあります。 OSのさまざまな機能で使用される現在の日時は、そのカウンターから取得されます。

ティックが表すミリ秒数はOSによって異なり、インストールごとに異なる場合もあります。 OSのメカニズムを使用して、ティックを秒に変換します。

スレッドが呼び出されていないことを報告する理由について:スレッドがどこか(待機、I/Oなど)でブロックしているかどうかによって異なります。ブロックしていない場合は、はい、OSのスケジューラーは、いつ実行するかを決定します。これは、システムがビジー状態の場合、長時間かかる可能性があります。

編集:

おそらく残念なことに、一部の作者はtickプロセッサクロックサイクルの同義語として使用していることに注意してください(例 このテキスト )。この使用法はそれほど普及していないと思いますが、それでも、まず人々が話していることを最初に確認するのが最善です。

34
sleske

編集:PCハードウェアの概要

「プロセッサクロックは、クロックサイクルまたはティックと呼ばれる時間基準信号を定期的に生成することにより、すべてのCPUおよびメモリ操作を調整します。クロック周波数はギガヘルツ(GHz)で指定されます。 1秒あたりのティック数。クロック速度は命令の実行速度を決定します。1つのティックを必要とする命令もあれば、複数のティックを必要とする命令もあり、1つのティックの間に複数のプロセッサを実行するプロセッサもあります。」


ティック間の時間はクロック速度によって決定され、実行されるOPに応じて1から多くのティックがかかります。たとえば、286クラスのCPUでは、2つの数値を乗算するために 20ティックが必要です

高性能のタイマーが必要な場合は、すべてのシステムで一定のティックに依存することはできないと思います。

特により高い優先順位を持つ別のスレッドがあった場合、CPUスケジューラーがスレッドを遅延させた可能性があります。つまり、CPUがビジー状態になっている可能性があります。

3
invert