- ベストアンサー
CPUの動作謎とは?大量ファイルのコピーにおけるCPU使用率の変化について
- 大量ファイルをUSBメモリにコピーする際に、進捗バーが表示されますが、CPU使用率はほとんど変化しません。なぜCPUは休憩しているのでしょうか?
- 大量ファイルのコピー作業を行いながら、CPU使用率を確認すると、転送速度は進捗バーの表示数によって変化します。進捗バーが3つ表示されているときよりも、1つ表示されているときの方が転送速度が高いです。
- Windows 7を使用している場合でも、大量ファイルのコピーにおいてCPU使用率の変化はほとんど見られません。CPUが働けば転送が早く終わるという理屈は当てはまらないようです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ファイルのコピーにCPUパワーなんて(ほとんど)使いません。 あまり良いたとえでは無いかも知れませんが、CPUの一次キャッシュの速度はおおざっぱに言うと500GB/sくらいです。この値がCPUの本気であると仮定してください。 それに比べてUSBメモリは20MB/s位です。(細かいファイルが多いと1MB/s以下になります) その差は25000倍です。 CPUにしてみれば、自分の2万倍以上遅いデバイスの動作を眺めているだけなので、使用率は10%(多分画面描画などにほとんど使っていて、ファイルコピーは1%未満でしょう)になります。 >たくさんの仕事をしてもらった(させた)のに、なぜ、CPUは、相も変わらず、90%も休憩しているんですか? 実際に一生懸命仕事をしているのは、USBメモリのコントローラだけです。 そいつが他のデバイスに比べて異様に仕事がトロいので、他のデバイスは延々ず~~っと待たされているような状態です。 >進捗バーによると、3個出てる時より、1個だけの時の方が、転送速度は高いです。 USBメモリ……と言うよりFlashは複数の同時アクセスが極めて苦手です。 同時に一つしか仕事が出来ません。 複数のファイルコピーを同時に行うと同時アクセスが多発して、結果としてメモリの読み書きが遅くなります。 Flashの動作原理を勉強すると、よく分かると思います。%
その他の回答 (3)
- nekonynan
- ベストアンサー率31% (1565/4897)
チップセットがCPUにデータ伝送待てって指令が大部分はを占めているからそうなるのですね。 http://trendy.nikkeibp.co.jp/article/qa/yougo/20050928/113687/?rt=nocnt 大量ファイルをUSBメモリにコピー CPUからUSBにデータが転送される でも直ぐにバッファーが満タンになると、チップセットがデータの転送を許可しない A地点 でもCPUからデータ送りたいとチップセットに要求する、バッファーが空きが無いから許可しませんので待機してろとCPUに命令する・・・ A地点に延々戻る・・・ ようやく・・・バッファーが空きでたのでチップセットが・・許可する でも直ぐに満タンに成る A地点に戻る と・・CPUはほとんどチップセットとが許可しないからお待ちの処理が・・・・大部分なのでね これが正体なのですね・・・
お礼
なるほど。 ありがとうございました。
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
USBの転送速度を知ってますか? たぶんUSB 2.0を使ってると思いますが理論速度で480Mbps 一方でCPUは2GHz程度で動いてます、USBの速度の40倍です。 つまりCPUが働きたくてもデーターを受けるUSB側が待ったをかけてるのです。 CPUの速度でデータを送られてもUSBは処理できないのでCPUにデーターの送信を遅らせる様に制御されてます
お礼
なるほど。 USBが遅かったんですね。 ご回答ありがとうございました。
- maiko0318
- ベストアンサー率21% (1483/6969)
USBメモリの書き込みを待っているのです。 試しにHDDからUSBに、 もう一つはHDDからSDにコピーするとCPUは上がると思います。
お礼
そういう事でしたか。 ご回答ありがとうございました。
お礼
大変分かりやすいご解説をありがとうございました。 良く理解出来ました。 ありがとうございました。