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


37

質問:

  • CPUティックはどのように計算され、何を表しますか?
  • 単一いtickに等しいが10 miliseconds、いくつかのスレッドが(のために呼び出されていないと報告場合ので5 * 10 ticks = 500 ticks)これは、CPUが多分に前述のスレッドをスケジュールするにはあまりにも忙しかった意味が仕事

1
コンテキストに「CPUティック」を入れてもらえますか-おそらくフレーズのソースの段落をカットアンドペーストしてください。考えられるいくつかの答えの1つが混乱する可能性があることを心配しています。
ミック

回答:


31

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

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

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

編集:

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


CPUは各命令を実行するために一定数のクロックティックを必要としますか?
アーロン

1
@aaron:いいえ、命令の実行時間は特定のプロセッササイクル数に制限されています。特定の周波数で実行されている特定のCPU上の特定のOSを指定すると、特定の命令が実行するのに必要なティック数を計算できますが、その計算はOS / CPU /周波数/命令の他の組み合わせに対して必ずしも有効ではありません。
いんちきキホーテ

1
@Aaron:いいえ、ティックとプロセッササイクルは2つの異なる概念です。プロセッササイクルの長さは、ハードウェア(CPU周波数)によって決まります。ティックはOSによって生成され、OS(またはその設計者)が適切と考える長さを使用します。
-sleske

ゲージとしてdatetime.ticks()を使用しないでください。これは、そのオブジェクトインスタンスの日付と時刻を表すために、意図的に意図的に一定です。これは時間に依存しますが、ハードウェアティックは時間に依存しません。フレームワーク側のネーミングが悪いです。
反転

1
@sleskeうーん、違いがわかります。「ティック」は、以前はCPUサイクルの同義語であり、「CPUクロック速度に依存しない一定時間」の用語でもありました。2つの意味を持つ同じ用語。そうですか?
反転

3

編集:一言で言えばPCハードウェアから撮影:

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


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

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

CPUスケジューラは、特に優先度の高い別のスレッドが存在する場合は特に、スレッドを遅延させる可能性がありました。そのため、はい、CPUがビジー状態であった可能性があります。


4
-1ティックとプロセッササイクルが混同しています。ticksUnixシステムでは通常、1秒間に60回または100回発生し、procの速度に拘束されません。
sleske

1
私はハードウェアのダニについて話している。1HzのCPUは1ティック(サイクル)を1秒間に処理し、200Hzは1秒間に200サイクル、2GHzは20億サイクル/秒を処理できます。CPUが高速になるほど、1秒あたりのサイクル数が増えます。
反転

2
ああ、私は、一部の著者tickがの同義語として使用しているのを見ていprocessor cycleます。それでも、tick上記の回答で説明したように、私はほとんど使用されています。しかし、いつものように用語が変わると思います:-(。私は答えを編集しました。
sleske10年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.